{"report_id":"eb64d3d4-4ca4-44f4-a8f0-ca5fa756869b","version":0,"status":"done","tags":[],"date":"2026-07-27T07:00:28Z","url":{"schema":"https","addr":"goldenprofitstock.com/","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.53.74","port":0,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"final":{"url":{"schema":"https","addr":"goldenprofitstock.com/","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"title":"goldenprofitstock.com Home","dom":{"size":41914,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (26399)","md5":"f9c80be5efe2f2e7908cbc6464a4baa1","sha1":"7c0e9f1f6a741316015e209aaccd4280bb8140e6","sha256":"3432aeb269181b7717693d00dee9e8cb7c65d8ca5f55cd8f256814ef3c1dfcc8","sha512":"21d456fda273365aef1226c05d8ece08a4ef27ce93be2cef19159c86b92fcf060e436cc20acfb22e4e9b1c3830c864d76efec26873cd4ef89d1a3e7202ec1a98","ssdeep":"768:0yJi2qbCmmWq38FTbfsTO+hDGq3t8UtN2v3k/SR+D/5km58:FJzqbCmmWq38FTbfsTO+hDZ3t8UtAk/C","tlshash":"a513a7276784452c9c53d278f399b54ea32af688ef6259eef7c23410c2d93ff088a455","dom_hash":"domhash5a2e7b986a359100c1311ce7180015d1","first_seen":"2026-07-07T22:08:47.685476Z","last_seen":"2026-08-17T04:11:44.342918Z","times_seen":920,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"goldenprofitstock.com/","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.53.74","port":0,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T07:00:28Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":0}},"detection":{"ids":null,"analyzer":null,"urlquery":null},"summary":[{"fqdn":"goldenprofitstock.com","ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"domain_registered":"2024-01-07","domain_rank":0,"first_seen":"2026-07-27T05:43:58.102574Z","last_seen":"2026-07-27T05:43:58.102574Z","alert_count":0,"request_count":71,"received_data":3125602,"sent_data":40278,"comment":"","tags":null,"fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"FancyBox","description":"FancyBox is a tool for displaying images, html content and multi-media in a Mac-style 'lightbox' that floats overtop of web page.","website":"https://fancyapps.com/fancybox","common_platform_enumeration":"","icon":"FancyBox.svg","categories":["JavaScript libraries"]},{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"Mixitup","description":"A CSS3 and jQuery Filter \u0026 Sort Plugin.","website":"https://www.kunkalabs.com/mixitup/","common_platform_enumeration":"","icon":"kunkalabs.svg","categories":["JavaScript libraries"]},{"name":"PHP:7.4.33","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"WOW","description":"Reveal CSS animation as you scroll down a page.","website":"https://www.delac.io/WOW","common_platform_enumeration":"","icon":"","categories":["JavaScript frameworks","Web frameworks","JavaScript graphics"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]}]},{"fqdn":"widget-v3.smartsuppcdn.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":4,"received_data":329031,"sent_data":1900,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":560346,"first_seen":"2022-11-04T22:28:35Z","last_seen":"2026-07-24T15:28:31.911258Z","alert_count":0,"request_count":1,"received_data":7732,"sent_data":527,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"cointelegraph.com","ip":{"addr":"104.18.198.52","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2013-10-17","domain_rank":5961,"first_seen":"2014-04-12T22:20:56Z","last_seen":"2026-07-21T01:52:12.192637Z","alert_count":0,"request_count":1,"received_data":670,"sent_data":465,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18547,"sent_data":468,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1579,"sent_data":545,"comment":"","tags":null,"fingerprints":null},{"fqdn":"websocket-visitors.smartsupp.com","ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2012-08-25","domain_rank":411464,"first_seen":"2021-07-12T07:42:32Z","last_seen":"2026-07-24T09:04:26.067381Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":636,"comment":"","tags":null,"fingerprints":null}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/bootstrap.min.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"5869c96cc8f19086aee625d670d741f9","sha1":"430a443d74830fe9be26efca431f448c1b3740f9","sha256":"53964478a7c634e8dad34ecc303dd8048d00dce4993906de1bacf67f663486ef","sha512":"8b3b64a1bb2f9e329f02d4cd7479065630184ebaed942ee61a9ff9e1ce34c28c0eecb854458977815cf3704a8697fa8a5d096d2761f032b74b70d51da3e37f45","ssdeep":"768:o2rGy27UwlNqMl95qNmCFejhqs8snmi+CSFXfbx8Gf3Zq7Q:Jg73zhq0GvbJ3ZKQ","tlshash":"b6f28606b23031a147efb1e1525b020e7239696ee906907c78b99af53db9c48717bf3d","size":37045,"data":"","first_seen":"2023-03-07T01:02:54Z","last_seen":"2026-08-18T05:13:34.324764Z","times_seen":98098,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/color-settings.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"a723adf74aa53f3661755e2acf1cc6a3","sha1":"e4470b5f92576f469e1f8c90fe06a6a8ddd91739","sha256":"f4a5f60c327a6b3ae60a1d92c6adb14f5536aa5f5c69a4c78dbad26cf834832f","sha512":"2cb57446408efb8b79d61bbc8f2215a17bde8e14685534370c16506daa685a452398e9dfe8c1a5c6398643dba532d3cf2f1d5e59616417c59f6a5e7d72933325","ssdeep":"","tlshash":"a9218c65b3aa2ce391bb337dd47984409f351033c1068ba9b93f94840fb844e227af5e","size":1161,"data":"","first_seen":"2023-03-07T17:50:04Z","last_seen":"2026-08-03T16:28:36.577353Z","times_seen":212,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-17T23:41:13.416027Z","times_seen":8491,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"618538b4ab9639d444e962729a927f15","sha1":"dacc1f76630a9708add066819b1aabf8dce01056","sha256":"27d92130c0321dad5a03760fd5ac98a3d04ed4c94d88418fe6d50da1f7fc5cbe","sha512":"bcb6754ea246939a19a917cc0b810e1753c1b0f1a8b1b7e652128ef15dee4fc79111e4d88fe12f9188449a307e82240d0261af402d783428edfe5785c860372d","ssdeep":"1536:jYE1JVoiB9JqZdXXe2pD3PgoIiulrUdTJ5Fk/zkZ4HjL5o8srOaS9TwDhb7/Jp96:y4J+03jL5TCOauTwDhFdnCVQNLa98Hrc","tlshash":"9693d7d9b6d6706287b734a851bf410bb17aa8eab40c4c60f058c8e47e74e9d507bf2d","size":97168,"data":"","first_seen":"2023-03-07T01:12:12Z","last_seen":"2026-08-17T13:46:20.904396Z","times_seen":5792,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/popper.min.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"9b1dcd93871ac6da23becaef039b4b16","sha1":"3cf72db9816ea8cf313e6891fac2b9ad810a6fdb","sha256":"5f2a323cdac82cec5be5ee5416fec1b1f2d622c98166677215859af195ed29ad","sha512":"4f8a18119b63c6db95389d643c7951c401e0f933bb8bf8768c017e4a2ab715a494a69f2117b913eca37c1e60dcec02b3b5d5804e52e5083cb1d8e20e063e6e05","ssdeep":"384:25LFrVVVnCQvIR/CFU4hHPV4kdxXvYqo2D75zCx+vI2am3MxGpGTgd/9jt9+Db9H:INVVVnyiU41xXvlD7wx+v0xyGTgnZO9H","tlshash":"f392a2cc3294b06647e791a7a07f960eb2339875650e9410f299f2e97c30ef9913bc79","size":20498,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:26:47.052354Z","times_seen":2270,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery.mCustomScrollbar.concat.min.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"71951b246c4726520dce912a5ac7f03c","sha1":"56906b9b9f41df67063091b7a66c8584d87d748f","sha256":"dd3bda90c210c66fd618bb0c35f4b21f871ce1dae7396053cb4b3a90b3ec51b0","sha512":"ff0b38e4e02096dedcc6fb1a0899a7f8924a89e9b25bb8d712f5ffb01414641b009da55c45241ddea6440eecb7ebff11ea93318aea46ff3ff71a2e22670cb48d","ssdeep":"768:nAGHgQl8dA0unnTUOxZ5ynGi65vqjSDHR17JayK:nAGHUSnTUOxZqxjv","tlshash":"7a03f9e9370534fb12db6f5e441b010963365956a70b8870387d8cb82fb1ea622b7b6d","size":40547,"data":"","first_seen":"2023-03-07T12:05:43Z","last_seen":"2026-08-18T03:25:22.532959Z","times_seen":4337,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/appear.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"5a457d262e3c32d25c003ca412ee7fe6","sha1":"b08e23c986259073419a7068fcd36296a91b1ae4","sha256":"46fb2235bcf84086a9b939ae509ecacc01bb31c68ba94e6473e31d8adebec3eb","sha512":"826945d028efc7a9f95c22c5f4d34dfab6704b75f45e7d6fc2e93e2b42f7078aaf7b8508f9155b36dd15ca759a765fff3b4550f17e3b187e79285f63de455d53","ssdeep":"48:3l3Xwqhd24ayV+zFLAPftUIeohhR9zIreFfFoBSxMEh1u1cq6KjD4W7j9:V3XWz1zFkmDo7R9cr+YSpTocqBksj9","tlshash":"7391db4a759b2ab54877722a9f2fa20cd721513b1202c21138eede6c2f71c50a197fdc","size":4379,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:43:19.247022Z","times_seen":4236,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/wow.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"11ac4d7173a68c50169addca2ef1b827","sha1":"621284d032a248c41753e995680fc30089bd374c","sha256":"dd90fdb6538987fe7975bd43803b1c7d8d62912a371c788caec32d016e09dca8","sha512":"658888b9d89577b55798fc56451f9458ba9b4885573a96480fd9bd480cb59854769964da9a5f54feba19ba66fa6df44c79203d35f1d6d9cafd84886c58e233a4","ssdeep":"96:3GqKWTAKHF/suCdaOVEE1FnePgJqg4SImYad6Q:y30suCYOVEE7ne4JqgpIwdh","tlshash":"bbd175c9b7467036d79ba1f6873f0145a23a19acb008047cb7e984e57d348699237f38","size":6300,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:26:47.053253Z","times_seen":5602,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/script.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"d8ed427061c985cc59234e83bf2f8ead","sha1":"74dcd24ce98cde9a3d602fa980597e7fb1bea94e","sha256":"b602572345b34b39e8c50d36a63ac5d0e7d165923a84e658411dda8b76f376a6","sha512":"9c306b38855e156f57df618e2d10b98c07124eba5b319bf458ceb2d625a3e7707a06a3bacc142dfec7e79d5db9c1dfec6fe801ec2148f22a06ed94f8f913bf62","ssdeep":"384:kZIxBdLrk2eKAA/bOKuwCHJh3C6yY9kZ4dN:1k29nbOKxCHJh3UY9RdN","tlshash":"dd720ec0f7bc25b7447a3196985e75c52bad4437c84324b7f9bd11282fc871e32aae19","size":17103,"data":"","first_seen":"2024-06-18T00:47:46Z","last_seen":"2026-07-27T13:36:13.703598Z","times_seen":96,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"77bd9a76d108f897d40a662beaeab560","sha1":"66d5bbc5ec5de7addfadf50df2bbda92e49dc3dd","sha256":"771f9aa43050dfb07536dd0f32eb6998355f3391262459b60db88a2e9e108d2f","sha512":"3841be2b9716b0a0949ff5a969710f7b724354cb06bec8b529746332fd3ff764229fe909c87c479fdc3a594b9b7c1fbe8982375cfde71eafa441481284b3a0e9","ssdeep":"","tlshash":"86e0d807757c001b159b512ed3a55ac83534860f113d5e113b4641fb7eebe9c139e5d8","size":372,"data":"","first_seen":"2026-06-10T05:18:09.130474Z","last_seen":"2026-07-27T11:04:25.228684Z","times_seen":8,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"42ddf24909c2fedf75187d4f7afb92ee","sha1":"0256f4fab0d9b4b19bf2261f895ef078b5072a96","sha256":"cb050041dfe0313f2c8e595ca148419539f4824adacfc356aafd057760bfc831","sha512":"0f3722d17c5225f076b56c3fe8aec012cca7411daf255f95237df6fe315a72cb58f821e5b21dfd73b1549eca758120940b00eb28da50973fa4bb516399a6bf1d","ssdeep":"","tlshash":"eed05e1af39c472c69bb59ed0e3781c53b3d3574be099c2126195c7c0868e04512adcb","size":262,"data":"","first_seen":"2026-06-10T05:18:09.132022Z","last_seen":"2026-07-27T11:34:25.576912Z","times_seen":11,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":true,"md5":"2e901faacbe17c93b78ef0bb13962f6f","sha1":"e2c5ea1dd5799851a5813c8b1cfeb98d6cda7e31","sha256":"8933d4b43b82a688bef5c572c583cc96f8f4ab9bbd2a25f860706b43410205fc","sha512":"c292010d8f1dbc0dc71f6d5fdbdf100ea4fdc1de3629d167ebeee7b77b128324fa08cf9310e16226ba80ad45e61ba1c9cf06ed800f2f9ccaf8095fe9a2076c8d","ssdeep":"","tlshash":"55e0f13c3c348094079240f4c1fbe2383d2a30604444d80398eb896e2cf0fc97e019d4","size":416,"data":"","first_seen":"2026-07-27T05:44:01.861446Z","last_seen":"2026-07-27T11:04:25.229755Z","times_seen":4,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery.fancybox.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"6e11711058a9459a94d5a19b26a78135","sha1":"76792d5913afe035b6ccbac585b0b5e70b33aa76","sha256":"7b99eee1db728472aaa8452017a0d755f488e8d647cc0f62baf45f8ff65b95ba","sha512":"6ecbe997bc6e82fa7976a98e291ec31e043de23f0f5d06834fcc809cde8d0c3ffa0e96c734dfc0b0fbc313e405eac603540913794bb3a9a86ac56db5d2ab868a","ssdeep":"1536:26iljQs+4wETv0qwF/fwUsjuFR4amerr3txU0Me7/pby+mHWgGbAdKfW7WP83RSp:2NoETcqwF3wO/VUbZZr7WP83RSD6E3t","tlshash":"f3e3968a67bd112589333129ab8f705eb57e8423a10dd9263cad53481fc13a943f5fee","size":154104,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-18T01:56:00.833225Z","times_seen":3634,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/mixitup.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"b9088c94738c3a2c95184e45d0b5f854","sha1":"bad4f5162be5a45a8ba9a44a2af2c7a2315ba725","sha256":"1288abb45b62709defec307fb4668ece7b0259d02b4a6770da169867b29258cf","sha512":"c0c06199ad7018561244a5d8565babb57a94d99dab691a09e4b68c7ddc6ea33bdf03e7e540240bc071cd08a42c7d09f91c4ef5a75a094ffc02a3c622c99d4b97","ssdeep":"768:somWOk24dXP7o9iFz4Mjz/iNr/7B7X8lu:LmZk24dXP88FsMjzY","tlshash":"bc333ef1ef0c7ce19563e255a8aeba83f83e8033a51d8de7bc30b5142d9590a521fd25","size":52224,"data":"","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:26:47.134276Z","times_seen":1012,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/owl.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"54428880ec8df798ac3d666f5113c7ff","sha1":"9e43e74b8677f39e87f1b11be4d536c618b14bb3","sha256":"0402874ff311f284b18af9e4c453ee5bf0916a3b7335f0be52dcb54a1a31338b","sha512":"abceb872c8942d366a533c0c572e0e6e31d1b428ad2bc6fa1e746fd31811b6f8dfcd77814723adf44e1a8585436b511097576159b8eab40706b025e3158eda24","ssdeep":"1536:/PLoreUScogMjVNPP8aLMBJk8u9hKt1o619IYj1oJ0SQIOZ:/fHNPP/qJ9BoC9XplIOZ","tlshash":"e48383c5f36c261b422a31785e9e23ce713d412ad91118af7ca4e9dc28d546c836eff9","size":85303,"data":"","first_seen":"2023-03-07T01:10:42Z","last_seen":"2026-08-18T01:56:00.806668Z","times_seen":4767,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery-ui.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"8ec0db1cb8ed2395c5df4e11be0d86e9","sha1":"d91e3c65e262d7e0021a926d228b9f6ad9aef4a9","sha256":"97bca2a8204372f21c29bc2d6ceeb192eab0719f1d154e1073f04acd8d2f0064","sha512":"0bbe5fd8a7991d8f0bb43a0dff3bc1130f5e2514524fcca9dc4662815155644d44a550ba2ffd92e86177c024d28319dc28a39d007c01bfde6bdbfe3d429c8f71","ssdeep":"12288:BEebHeg/md/AHhsncaL8ata+3XIdCgTf9kDUUB:EoHhsncaL8ata+3XIBf9kDUUB","tlshash":"66b4c7d5334f226f86ea3359983a9289e63dc075d202807d789d58dd25a8c2843b7ffd","size":539425,"data":"","first_seen":"2023-03-07T12:02:47Z","last_seen":"2026-08-15T10:36:17.549831Z","times_seen":1303,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/nav-tool.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"introduction_type":"scriptElement","is_inline":false,"md5":"e28a1be506d3151bad02d20a7751f09c","sha1":"d0a106cd4d593b36c86c3740d26b6d332c740207","sha256":"e35de31330187c0f62603f8b770e2969cbc3fe0d885aa02c7dcdd6fbe5134691","sha512":"e7faae5c7937eb0e2569b90d0dd804b6f0a5c72d30f148770f36c5bde1fec88fe412be41416f91d1caf5fdf6a07059a31119673bdd003ec9f70789eeb9c84455","ssdeep":"","tlshash":"ae11aa68b830e2fd01fb631930139e40c23a0dc5ca2c1d95982019882e6bdcf41eb7fe","size":1086,"data":"","first_seen":"2023-03-07T12:02:54Z","last_seen":"2026-08-15T22:01:17.642339Z","times_seen":960,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/bootstrap.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.573Z","timestamp":1785135591573,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/bootstrap.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 18671\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:14 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"22682-68bf75d4-dae728568f4c7dc3;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389977\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 9c80b05efaf59ce2bd237930b7182ae6-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":140930,"size_decoded":19265,"mime_type":"text/css","magic":"ASCII text, with very long lines (65324)","md5":"a7022c6fa83d91db67738d6e3cd3252d","sha1":"1ae238d0c533b209ea5becf4317e13237ed3d42e","sha256":"31df1e69ea3aece8a8bae5c08bcb7f5e977cb76f886897b301355359b66a48ec","sha512":"8aa45d7fed0a30598d66076c03ef1bcf53162085d005409abcf61549523cddf7157c7d98d8f9cda282cdd386e04cda14890bc8ce27622072407083ffb80115f7","ssdeep":"1536:ux1bwyUPAy+QYYDnDEBi82NcuSEz/9OOL/gIENM6HN26e:q1MbPnTLYIENM6HN26e","tlshash":"c2d372a7f5a0312da467c61960d0bafe156f8285d7221ffaf42737644b895cb0a73e0c","first_seen":"2023-04-05T10:27:23Z","last_seen":"2026-08-18T01:56:00.828423Z","times_seen":8561,"resource_available":false,"data":"LyohCiAqIEJvb3RzdHJhcCB2NC4xLjEgKGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS8pCiAqIENvcHlyaWdodCAyMDExLTIwMTggVGhlIEJvb3RzdHJhcCBBdXRob3JzCiAqIENvcHlyaWdodCAyMDExLTIwMTggVHdpdHRlciwgSW5jLgogKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKQogKi86cm9vdHstLWJsdWU6IzAwN2JmZjstLWluZGlnbzojNjYxMGYyOy0tcHVycGxlOiM2ZjQyYzE7LS1waW5rOiNlODNlOGM7LS1yZWQ6I2RjMzU0NTstLW9yYW5nZTojZmQ3ZTE0Oy0teWVsbG93OiNmZmMxMDc7LS1ncmVlbjojMjhhNzQ1Oy0tdGVhbDojMjBjOTk3Oy0tY3lhbjojMTdhMmI4Oy0td2hpdGU6I2ZmZjstLWdyYXk6IzZjNzU3ZDstLWdyYXktZGFyazojMzQzYTQwOy0tcHJpbWFyeTojMDA3YmZmOy0tc2Vjb25kYXJ5OiM2Yzc1N2Q7LS1zdWNjZXNzOiMyOGE3NDU7LS1pbmZvOiMxN2EyYjg7LS13YXJuaW5nOiNmZmMxMDc7LS1kYW5nZXI6I2RjMzU0NTstLWxpZ2h0OiNmOGY5ZmE7LS1kYXJrOiMzNDNhNDA7LS1icmVha3BvaW50LXhzOjA7LS1icmVha3BvaW50LXNtOjU3NnB4Oy0tYnJlYWtwb2ludC1tZDo3NjhweDstLWJyZWFrcG9pbnQtbGc6OTkycHg7LS1icmVha3BvaW50LXhsOjEyMDBweDstLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjstLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTpTRk1vbm8tUmVndWxhcixNZW5sbyxNb25hY28sQ29uc29sYXMsIkxpYmVyYXRpb24gTW9ubyIsIkNvdXJpZXIgTmV3Iixtb25vc3BhY2V9Kiw6OmFmdGVyLDo6YmVmb3Jle2JveC1zaXppbmc6Ym9yZGVyLWJveH1odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7bGluZS1oZWlnaHQ6MS4xNTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstbXMtdGV4dC1zaXplLWFkanVzdDoxMDAlOy1tcy1vdmVyZmxvdy1zdHlsZTpzY3JvbGxiYXI7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fUAtbXMtdmlld3BvcnR7d2lkdGg6ZGV2aWNlLXdpZHRofWFydGljbGUsYXNpZGUsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGhlYWRlcixoZ3JvdXAsbWFpbixuYXYsc2VjdGlvbntkaXNwbGF5OmJsb2NrfWJvZHl7bWFyZ2luOjA7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjtmb250LXNpemU6MXJlbTtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6I2ZmZn1bdGFiaW5kZXg9Ii0xIl06Zm9jdXN7b3V0bGluZTowIWltcG9ydGFudH1ocntib3gtc2l6aW5nOmNvbnRlbnQtYm94O2hlaWdodDowO292ZXJmbG93OnZpc2libGV9aDEsaDIsaDMsaDQsaDUsaDZ7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjVyZW19cHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbToxcmVtfWFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sYWJiclt0aXRsZV17dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTstd2Via2l0LXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgZG90dGVkO2N1cnNvcjpoZWxwO2JvcmRlci1ib3R0b206MH1hZGRyZXNze21hcmdpbi1ib3R0b206MXJlbTtmb250LXN0eWxlOm5vcm1hbDtsaW5lLWhlaWdodDppbmhlcml0fWRsLG9sLHVse21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW19b2wgb2wsb2wgdWwsdWwgb2wsdWwgdWx7bWFyZ2luLWJvdHRvbTowfWR0e2ZvbnQtd2VpZ2h0OjcwMH1kZHttYXJnaW4tYm90dG9tOi41cmVtO21hcmdpbi1sZWZ0OjB9YmxvY2txdW90ZXttYXJnaW46MCAwIDFyZW19ZGZue2ZvbnQtc3R5bGU6aXRhbGljfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OmJvbGRlcn1zbWFsbHtmb250LXNpemU6ODAlfXN1YixzdXB7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjc1JTtsaW5lLWhlaWdodDowO3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfXN1Yntib3R0b206LS4yNWVtfXN1cHt0b3A6LS41ZW19YXtjb2xvcjojMDA3YmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDpvYmplY3RzfWE6aG92ZXJ7Y29sb3I6IzAwNTZiMzt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfWE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pe2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6Zm9jdXMsYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSk6aG92ZXJ7Y29sb3I6aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246bm9uZX1hOm5vdChbaHJlZl0pOm5vdChbdGFiaW5kZXhdKTpmb2N1c3tvdXRsaW5lOjB9Y29kZSxrYmQscHJlLHNhbXB7Zm9udC1mYW1pbHk6U0ZNb25vLVJlZ3VsYXIsTWVubG8sTW9uYWNvLENvbnNvbGFzLCJMaWJlcmF0aW9uIE1vbm8iLCJDb3VyaWVyIE5ldyIsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19cHJle21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjFyZW07b3ZlcmZsb3c6YXV0bzstbXMtb3ZlcmZsb3ctc3R5bGU6c2Nyb2xsYmFyfWZpZ3VyZXttYXJnaW46MCAwIDFyZW19aW1ne3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItc3R5bGU6bm9uZX1zdmc6bm90KDpyb290KXtvdmVyZmxvdzpoaWRkZW59dGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWNhcHRpb257cGFkZGluZy10b3A6Ljc1cmVtO3BhZGRpbmctYm90dG9tOi43NXJlbTtjb2xvcjojNmM3NTdkO3RleHQtYWxpZ246bGVmdDtjYXB0aW9uLXNpZGU6Ym90dG9tfXRoe3RleHQtYWxpZ246aW5oZXJpdH1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tYm90dG9tOi41cmVtfWJ1dHRvbntib3JkZXItcmFkaXVzOjB9YnV0dG9uOmZvY3Vze291dGxpbmU6MXB4IGRvdHRlZDtvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcn1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe21hcmdpbjowO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdH1idXR0b24saW5wdXR7b3ZlcmZsb3c6dmlzaWJsZX1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9W3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF0sYnV0dG9uLGh0bWwgW3R5cGU9YnV0dG9uXXstd2Via2l0LWFwcGVhcmFuY2U6YnV0dG9ufVt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIsYnV0dG9uOjotbW96LWZvY3VzLWlubmVye3BhZGRpbmc6MDtib3JkZXItc3R5bGU6bm9uZX1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWlucHV0W3R5cGU9ZGF0ZV0saW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0saW5wdXRbdHlwZT1tb250aF0saW5wdXRbdHlwZT10aW1lXXstd2Via2l0LWFwcGVhcmFuY2U6bGlzdGJveH10ZXh0YXJlYXtvdmVyZmxvdzphdXRvO3Jlc2l6ZTp2ZXJ0aWNhbH1maWVsZHNldHttaW4td2lkdGg6MDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjB9bGVnZW5ke2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOjA7bWFyZ2luLWJvdHRvbTouNXJlbTtmb250LXNpemU6MS41cmVtO2xpbmUtaGVpZ2h0OmluaGVyaXQ7Y29sb3I6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3JtYWx9cHJvZ3Jlc3N7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9ue2hlaWdodDphdXRvfVt0eXBlPXNlYXJjaF17b3V0bGluZS1vZmZzZXQ6LTJweDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Ojotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbntmb250OmluaGVyaXQ7LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1vdXRwdXR7ZGlzcGxheTppbmxpbmUtYmxvY2t9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbTtjdXJzb3I6cG9pbnRlcn10ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9W2hpZGRlbl17ZGlzcGxheTpub25lIWltcG9ydGFudH0uaDEsLmgyLC5oMywuaDQsLmg1LC5oNixoMSxoMixoMyxoNCxoNSxoNnttYXJnaW4tYm90dG9tOi41cmVtO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC13ZWlnaHQ6NTAwO2xpbmUtaGVpZ2h0OjEuMjtjb2xvcjppbmhlcml0fS5oMSxoMXtmb250LXNpemU6Mi41cmVtfS5oMixoMntmb250LXNpemU6MnJlbX0uaDMsaDN7Zm9udC1zaXplOjEuNzVyZW19Lmg0LGg0e2ZvbnQtc2l6ZToxLjVyZW19Lmg1LGg1e2ZvbnQtc2l6ZToxLjI1cmVtfS5oNixoNntmb250LXNpemU6MXJlbX0ubGVhZHtmb250LXNpemU6MS4yNXJlbTtmb250LXdlaWdodDozMDB9LmRpc3BsYXktMXtmb250LXNpemU6NnJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTJ7Zm9udC1zaXplOjUuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTN7Zm9udC1zaXplOjQuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfS5kaXNwbGF5LTR7Zm9udC1zaXplOjMuNXJlbTtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS4yfWhye21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW07Ym9yZGVyOjA7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMSl9LnNtYWxsLHNtYWxse2ZvbnQtc2l6ZTo4MCU7Zm9udC13ZWlnaHQ6NDAwfS5tYXJrLG1hcmt7cGFkZGluZzouMmVtO2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30ubGlzdC11bnN0eWxlZHtwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5le3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1pbmxpbmUtaXRlbXtkaXNwbGF5OmlubGluZS1ibG9ja30ubGlzdC1pbmxpbmUtaXRlbTpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDouNXJlbX0uaW5pdGlhbGlzbXtmb250LXNpemU6OTAlO3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZX0uYmxvY2txdW90ZXttYXJnaW4tYm90dG9tOjFyZW07Zm9udC1zaXplOjEuMjVyZW19LmJsb2NrcXVvdGUtZm9vdGVye2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjgwJTtjb2xvcjojNmM3NTdkfS5ibG9ja3F1b3RlLWZvb3Rlcjo6YmVmb3Jle2NvbnRlbnQ6IlwyMDE0IFwwMEEwIn0uaW1nLWZsdWlke21heC13aWR0aDoxMDAlO2hlaWdodDphdXRvfS5pbWctdGh1bWJuYWlse3BhZGRpbmc6LjI1cmVtO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTY7Ym9yZGVyLXJhZGl1czouMjVyZW07bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99LmZpZ3VyZXtkaXNwbGF5OmlubGluZS1ibG9ja30uZmlndXJlLWltZ3ttYXJnaW4tYm90dG9tOi41cmVtO2xpbmUtaGVpZ2h0OjF9LmZpZ3VyZS1jYXB0aW9ue2ZvbnQtc2l6ZTo5MCU7Y29sb3I6IzZjNzU3ZH1jb2Rle2ZvbnQtc2l6ZTo4Ny41JTtjb2xvcjojZTgzZThjO3dvcmQtYnJlYWs6YnJlYWstd29yZH1hPmNvZGV7Y29sb3I6aW5oZXJpdH1rYmR7cGFkZGluZzouMnJlbSAuNHJlbTtmb250LXNpemU6ODcuNSU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMTI1Mjk7Ym9yZGVyLXJhZGl1czouMnJlbX1rYmQga2Jke3BhZGRpbmc6MDtmb250LXNpemU6MTAwJTtmb250LXdlaWdodDo3MDB9cHJle2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjg3LjUlO2NvbG9yOiMyMTI1Mjl9cHJlIGNvZGV7Zm9udC1zaXplOmluaGVyaXQ7Y29sb3I6aW5oZXJpdDt3b3JkLWJyZWFrOm5vcm1hbH0ucHJlLXNjcm9sbGFibGV7bWF4LWhlaWdodDozNDBweDtvdmVyZmxvdy15OnNjcm9sbH0uY29udGFpbmVye3dpZHRoOjEwMCU7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5jb250YWluZXJ7bWF4LXdpZHRoOjU0MHB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lcnttYXgtd2lkdGg6NzIwcHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuY29udGFpbmVye21heC13aWR0aDo5NjBweH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuY29udGFpbmVye21heC13aWR0aDoxMTQwcHh9fS5jb250YWluZXItZmx1aWR7d2lkdGg6MTAwJTtwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b30ucm93e2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9Lm5vLWd1dHRlcnN7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MH0ubm8tZ3V0dGVycz4uY29sLC5uby1ndXR0ZXJzPltjbGFzcyo9Y29sLV17cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfS5jb2wsLmNvbC0xLC5jb2wtMTAsLmNvbC0xMSwuY29sLTEyLC5jb2wtMiwuY29sLTMsLmNvbC00LC5jb2wtNSwuY29sLTYsLmNvbC03LC5jb2wtOCwuY29sLTksLmNvbC1hdXRvLC5jb2wtbGcsLmNvbC1sZy0xLC5jb2wtbGctMTAsLmNvbC1sZy0xMSwuY29sLWxnLTEyLC5jb2wtbGctMiwuY29sLWxnLTMsLmNvbC1sZy00LC5jb2wtbGctNSwuY29sLWxnLTYsLmNvbC1sZy03LC5jb2wtbGctOCwuY29sLWxnLTksLmNvbC1sZy1hdXRvLC5jb2wtbWQsLmNvbC1tZC0xLC5jb2wtbWQtMTAsLmNvbC1tZC0xMSwuY29sLW1kLTEyLC5jb2wtbWQtMiwuY29sLW1kLTMsLmNvbC1tZC00LC5jb2wtbWQtNSwuY29sLW1kLTYsLmNvbC1tZC03LC5jb2wtbWQtOCwuY29sLW1kLTksLmNvbC1tZC1hdXRvLC5jb2wtc20sLmNvbC1zbS0xLC5jb2wtc20tMTAsLmNvbC1zbS0xMSwuY29sLXNtLTEyLC5jb2wtc20tMiwuY29sLXNtLTMsLmNvbC1zbS00LC5jb2wtc20tNSwuY29sLXNtLTYsLmNvbC1zbS03LC5jb2wtc20tOCwuY29sLXNtLTksLmNvbC1zbS1hdXRvLC5jb2wteGwsLmNvbC14bC0xLC5jb2wteGwtMTAsLmNvbC14bC0xMSwuY29sLXhsLTEyLC5jb2wteGwtMiwuY29sLXhsLTMsLmNvbC14bC00LC5jb2wteGwtNSwuY29sLXhsLTYsLmNvbC14bC03LC5jb2wteGwtOCwuY29sLXhsLTksLmNvbC14bC1hdXRve3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7bWluLWhlaWdodDoxcHg7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4fS5jb2x7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uY29sLWF1dG97LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDpub25lfS5jb2wtMXstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtMnstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtM3stbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wtNHstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtNXstbXMtZmxleDowIDAgNDEuNjY2NjY3JTtmbGV4OjAgMCA0MS42NjY2NjclO21heC13aWR0aDo0MS42NjY2NjclfS5jb2wtNnstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wtN3stbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtOHstbXMtZmxleDowIDAgNjYuNjY2NjY3JTtmbGV4OjAgMCA2Ni42NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjclfS5jb2wtOXstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtMTB7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLTExey1tcy1mbGV4OjAgMCA5MS42NjY2NjclO2ZsZXg6MCAwIDkxLjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NyV9LmNvbC0xMnstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci1maXJzdHstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbGFzdHstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXItMHstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLTF7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5vcmRlci0yey1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXItM3stbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLTR7LW1zLWZsZXgtb3JkZXI6NDtvcmRlcjo0fS5vcmRlci01ey1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXItNnstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLTd7LW1zLWZsZXgtb3JkZXI6NztvcmRlcjo3fS5vcmRlci04ey1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXItOXstbXMtZmxleC1vcmRlcjo5O29yZGVyOjl9Lm9yZGVyLTEwey1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci0xMXstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXItMTJ7LW1zLWZsZXgtb3JkZXI6MTI7b3JkZXI6MTJ9Lm9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzJX0ub2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY3JX0ub2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMlfS5vZmZzZXQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjclfS5vZmZzZXQtNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMyV9Lm9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NyV9Lm9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMyV9Lm9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjclfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY29sLXNtey1tcy1mbGV4LXByZWZlcnJlZC1zaXplOjA7ZmxleC1iYXNpczowOy1tcy1mbGV4LXBvc2l0aXZlOjE7ZmxleC1ncm93OjE7bWF4LXdpZHRoOjEwMCV9LmNvbC1zbS1hdXRvey1tcy1mbGV4OjAgMCBhdXRvO2ZsZXg6MCAwIGF1dG87d2lkdGg6YXV0bzttYXgtd2lkdGg6bm9uZX0uY29sLXNtLTF7LW1zLWZsZXg6MCAwIDguMzMzMzMzJTtmbGV4OjAgMCA4LjMzMzMzMyU7bWF4LXdpZHRoOjguMzMzMzMzJX0uY29sLXNtLTJ7LW1zLWZsZXg6MCAwIDE2LjY2NjY2NyU7ZmxleDowIDAgMTYuNjY2NjY3JTttYXgtd2lkdGg6MTYuNjY2NjY3JX0uY29sLXNtLTN7LW1zLWZsZXg6MCAwIDI1JTtmbGV4OjAgMCAyNSU7bWF4LXdpZHRoOjI1JX0uY29sLXNtLTR7LW1zLWZsZXg6MCAwIDMzLjMzMzMzMyU7ZmxleDowIDAgMzMuMzMzMzMzJTttYXgtd2lkdGg6MzMuMzMzMzMzJX0uY29sLXNtLTV7LW1zLWZsZXg6MCAwIDQxLjY2NjY2NyU7ZmxleDowIDAgNDEuNjY2NjY3JTttYXgtd2lkdGg6NDEuNjY2NjY3JX0uY29sLXNtLTZ7LW1zLWZsZXg6MCAwIDUwJTtmbGV4OjAgMCA1MCU7bWF4LXdpZHRoOjUwJX0uY29sLXNtLTd7LW1zLWZsZXg6MCAwIDU4LjMzMzMzMyU7ZmxleDowIDAgNTguMzMzMzMzJTttYXgtd2lkdGg6NTguMzMzMzMzJX0uY29sLXNtLTh7LW1zLWZsZXg6MCAwIDY2LjY2NjY2NyU7ZmxleDowIDAgNjYuNjY2NjY3JTttYXgtd2lkdGg6NjYuNjY2NjY3JX0uY29sLXNtLTl7LW1zLWZsZXg6MCAwIDc1JTtmbGV4OjAgMCA3NSU7bWF4LXdpZHRoOjc1JX0uY29sLXNtLTEwey1tcy1mbGV4OjAgMCA4My4zMzMzMzMlO2ZsZXg6MCAwIDgzLjMzMzMzMyU7bWF4LXdpZHRoOjgzLjMzMzMzMyV9LmNvbC1zbS0xMXstbXMtZmxleDowIDAgOTEuNjY2NjY3JTtmbGV4OjAgMCA5MS42NjY2NjclO21heC13aWR0aDo5MS42NjY2NjclfS5jb2wtc20tMTJ7LW1zLWZsZXg6MCAwIDEwMCU7ZmxleDowIDAgMTAwJTttYXgtd2lkdGg6MTAwJX0ub3JkZXItc20tZmlyc3R7LW1zLWZsZXgtb3JkZXI6LTE7b3JkZXI6LTF9Lm9yZGVyLXNtLWxhc3R7LW1zLWZsZXgtb3JkZXI6MTM7b3JkZXI6MTN9Lm9yZGVyLXNtLTB7LW1zLWZsZXgtb3JkZXI6MDtvcmRlcjowfS5vcmRlci1zbS0xey1tcy1mbGV4LW9yZGVyOjE7b3JkZXI6MX0ub3JkZXItc20tMnstbXMtZmxleC1vcmRlcjoyO29yZGVyOjJ9Lm9yZGVyLXNtLTN7LW1zLWZsZXgtb3JkZXI6MztvcmRlcjozfS5vcmRlci1zbS00ey1tcy1mbGV4LW9yZGVyOjQ7b3JkZXI6NH0ub3JkZXItc20tNXstbXMtZmxleC1vcmRlcjo1O29yZGVyOjV9Lm9yZGVyLXNtLTZ7LW1zLWZsZXgtb3JkZXI6NjtvcmRlcjo2fS5vcmRlci1zbS03ey1tcy1mbGV4LW9yZGVyOjc7b3JkZXI6N30ub3JkZXItc20tOHstbXMtZmxleC1vcmRlcjo4O29yZGVyOjh9Lm9yZGVyLXNtLTl7LW1zLWZsZXgtb3JkZXI6OTtvcmRlcjo5fS5vcmRlci1zbS0xMHstbXMtZmxleC1vcmRlcjoxMDtvcmRlcjoxMH0ub3JkZXItc20tMTF7LW1zLWZsZXgtb3JkZXI6MTE7b3JkZXI6MTF9Lm9yZGVyLXNtLTEyey1tcy1mbGV4LW9yZGVyOjEyO29yZGVyOjEyfS5vZmZzZXQtc20tMHttYXJnaW4tbGVmdDowfS5vZmZzZXQtc20tMXttYXJnaW4tbGVmdDo4LjMzMzMzMyV9Lm9mZnNldC1zbS0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NyV9Lm9mZnNldC1zbS0ze21hcmdpbi1sZWZ0OjI1JX0ub2Zmc2V0LXNtLTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzJX0ub2Zmc2V0LXNtLTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY3JX0ub2Zmc2V0LXNtLTZ7bWFyZ2luLWxlZnQ6NTAlfS5vZmZzZXQtc20tN3ttYXJnaW4tbGVmdDo1OC4zMzMzMzMlfS5vZmZzZXQtc20tOHttYXJnaW4tbGVmdDo2Ni42NjY2NjclfS5vZmZzZXQtc20tOXttYXJnaW4tbGVmdDo3NSV9Lm9mZnNldC1zbS0xMHttYXJnaW4tbGVmdDo4My4zMzMzMzMlfS5vZmZzZXQtc20tMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY3JX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb2wtbWR7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6MDtmbGV4LWJhc2lzOjA7LW1zLWZsZXgtcG9zaXRpdmU6MTtmbGV4LWdyb3c6MTttYXgtd2lkdGg6MTAwJX0uY29sLW1kLWF1dG97LW1zLWZsZXg6MCAwIGF1dG87ZmxleDowIDAgYXV0bzt3aWR0aDphdXRvO21heC13aWR0aDpub25lfS5jb2wtbWQtMXstbXMtZmxleDowIDAgOC4zMzMzMzMlO2ZsZXg6MCAwIDguMzMzMzMzJTttYXgtd2lkdGg6OC4zMzMzMzMlfS5jb2wtbWQtMnstbXMtZmxleDowIDAgMTYuNjY2NjY3JTtmbGV4OjAgMCAxNi42NjY2NjclO21heC13aWR0aDoxNi42NjY2NjclfS5jb2wtbWQtM3stbXMtZmxleDowIDAgMjUlO2ZsZXg6MCAwIDI1JTttYXgtd2lkdGg6MjUlfS5jb2wtbWQtNHstbXMtZmxleDowIDAgMzMuMzMzMzMzJTtmbGV4OjAgMCAzMy4zMzMzMzMlO21heC13aWR0aDozMy4zMzMzMzMlfS5jb2wtbWQtNXstbXMtZmxleDowIDAgNDEuNjY2NjY3JTtmbGV4OjAgMCA0MS42NjY2NjclO21heC13aWR0aDo0MS42NjY2NjclfS5jb2wtbWQtNnstbXMtZmxleDowIDAgNTAlO2ZsZXg6MCAwIDUwJTttYXgtd2lkdGg6NTAlfS5jb2wtbWQtN3stbXMtZmxleDowIDAgNTguMzMzMzMzJTtmbGV4OjAgMCA1OC4zMzMzMzMlO21heC13aWR0aDo1OC4zMzMzMzMlfS5jb2wtbWQtOHstbXMtZmxleDowIDAgNjYuNjY2NjY3JTtmbGV4OjAgMCA2Ni42NjY2NjclO21heC13aWR0aDo2Ni42NjY2NjclfS5jb2wtbWQtOXstbXMtZmxleDowIDAgNzUlO2ZsZXg6MCAwIDc1JTttYXgtd2lkdGg6NzUlfS5jb2wtbWQtMTB7LW1zLWZsZXg6MCAwIDgzLjMzMzMzMyU7ZmxleDowIDAgODMuMzMzMzMzJTttYXgtd2lkdGg6ODMuMzMzMzMzJX0uY29sLW1kLTExey1tcy1mbGV4OjAgMCA5MS42NjY2NjclO2ZsZXg6MCAwIDkxLjY2NjY2NyU7bWF4LXdpZHRoOjkxLjY2NjY2NyV9LmNvbC1tZC0xMnstbXMtZmxleDowIDAgMTAwJTtmbGV4OjAgMCAxMDAlO21heC13aWR0aDoxMDAlfS5vcmRlci1tZC1maXJzdHstbXMtZmxleC1vcmRlcjotMTtvcmRlcjotMX0ub3JkZXItbWQtbGFzdHstbXMtZmxleC1vcmRlcjoxMztvcmRlcjoxM30ub3JkZXItbWQtMHstbXMtZmxleC1vcmRlcjowO29yZGVyOjB9Lm9yZGVyLW1kLTF7LW1zLWZsZXgtb3JkZXI6MTtvcmRlcjoxfS5vcmRlci1tZC0yey1tcy1mbGV4LW9yZGVyOjI7b3JkZXI6Mn0ub3JkZXItbWQtM3stbXMtZmxleC1vcmRlcjozO29yZGVyOjN9Lm9yZGVyLW1kLTR7LW1zLWZsZXgtb3JkZXI6NDtvcmRlcjo0fS5vcmRlci1tZC01ey1tcy1mbGV4LW9yZGVyOjU7b3JkZXI6NX0ub3JkZXItbWQtNnstbXMtZmxleC1vcmRlcjo2O29yZGVyOjZ9Lm9yZGVyLW1kLTd7LW1zLWZsZXgtb3JkZXI6NztvcmRlcjo3fS5vcmRlci1tZC04ey1tcy1mbGV4LW9yZGVyOjg7b3JkZXI6OH0ub3JkZXItbWQtOXstbXMtZmxleC1vcmRlcjo5O29yZGVyOjl9Lm9yZGVyLW1kLTEwey1tcy1mbGV4LW9yZGVyOjEwO29yZGVyOjEwfS5vcmRlci1tZC0xMXstbXMtZmxleC1vcmRlcjoxMTtvcmRlcjoxMX0ub3JkZXItbWQtMTJ7LW1zLWZsZXgtb3JkZXI6MTI7b3JkZXI6MTJ9Lm9mZnNldC1tZC0we21hcmdpbi1sZWZ0OjB9Lm9mZnNldC1tZC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzJX0ub2Zmc2V0LW1kLTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY3JX0ub2Zmc2V0LW1kLTN7bWFyZ2luLWxlZnQ6MjUlfS5vZmZzZXQtbWQtNHttYXJnaW4tbGVmdDozMy4zMzMzMzMlfS5vZmZzZXQtbWQtNXttYXJnaW4tbGVmdDo0MS42NjY2NjclfS5vZmZzZXQtbWQtNnttYXJnaW4tbGVmdDo1MCV9Lm9mZnNldC1tZC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMyV9Lm9mZnNldC1tZC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NyV9Lm9mZnNldC1tZC05e21hcmdpbi1sZWZ0Ojc1JX0ub2Zmc2V0LW1kLTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMyV9Lm9mZnNldC1tZC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjclfX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmNvbC1sZ3stbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5jb2wtbGctYXV0b3stbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC1sZy0xey1tcy1mbGV4OjAgMCA4LjMzMzMzMyU7ZmxleDowIDAgOC4zMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMyV9LmNvbC1sZy0yey1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC1sZy0zey1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC1sZy00ey1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LmNvbC1sZy01ey1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC1sZy02ey1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC1sZy03ey1tcy1mbGV4OjAgMCA1OC4zMzMzMzMlO2ZsZXg6MCAwIDU4LjMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMyV9LmNvbC1sZy04ey1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC1sZy05ey1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC1sZy0xMHstbXMtZmxleDowIDAgODMuMzMzMzMzJTtmbGV4OjAgMCA4My4zMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMlfS5jb2wtbGctMTF7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLWxnLTEyey1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLWxnLWZpcnN0ey1tcy1mbGV4LW9yZGVyOi0xO29yZGVyOi0xfS5vcmRlci1sZy1sYXN0ey1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci1sZy0wey1tcy1mbGV4LW9yZGVyOjA7b3JkZXI6MH0ub3JkZXItbGctMXstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLWxnLTJ7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci1sZy0zey1tcy1mbGV4LW9yZGVyOjM7b3JkZXI6M30ub3JkZXItbGctNHstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLWxnLTV7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci1sZy02ey1tcy1mbGV4LW9yZGVyOjY7b3JkZXI6Nn0ub3JkZXItbGctN3stbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLWxnLTh7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci1sZy05ey1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXItbGctMTB7LW1zLWZsZXgtb3JkZXI6MTA7b3JkZXI6MTB9Lm9yZGVyLWxnLTExey1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci1sZy0xMnstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LWxnLTB7bWFyZ2luLWxlZnQ6MH0ub2Zmc2V0LWxnLTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQtbGctMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQtbGctM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC1sZy00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC1sZy01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC1sZy02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LWxnLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LWxnLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LWxnLTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQtbGctMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LWxnLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbC14bHstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO21heC13aWR0aDoxMDAlfS5jb2wteGwtYXV0b3stbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvO3dpZHRoOmF1dG87bWF4LXdpZHRoOm5vbmV9LmNvbC14bC0xey1tcy1mbGV4OjAgMCA4LjMzMzMzMyU7ZmxleDowIDAgOC4zMzMzMzMlO21heC13aWR0aDo4LjMzMzMzMyV9LmNvbC14bC0yey1tcy1mbGV4OjAgMCAxNi42NjY2NjclO2ZsZXg6MCAwIDE2LjY2NjY2NyU7bWF4LXdpZHRoOjE2LjY2NjY2NyV9LmNvbC14bC0zey1tcy1mbGV4OjAgMCAyNSU7ZmxleDowIDAgMjUlO21heC13aWR0aDoyNSV9LmNvbC14bC00ey1tcy1mbGV4OjAgMCAzMy4zMzMzMzMlO2ZsZXg6MCAwIDMzLjMzMzMzMyU7bWF4LXdpZHRoOjMzLjMzMzMzMyV9LmNvbC14bC01ey1tcy1mbGV4OjAgMCA0MS42NjY2NjclO2ZsZXg6MCAwIDQxLjY2NjY2NyU7bWF4LXdpZHRoOjQxLjY2NjY2NyV9LmNvbC14bC02ey1tcy1mbGV4OjAgMCA1MCU7ZmxleDowIDAgNTAlO21heC13aWR0aDo1MCV9LmNvbC14bC03ey1tcy1mbGV4OjAgMCA1OC4zMzMzMzMlO2ZsZXg6MCAwIDU4LjMzMzMzMyU7bWF4LXdpZHRoOjU4LjMzMzMzMyV9LmNvbC14bC04ey1tcy1mbGV4OjAgMCA2Ni42NjY2NjclO2ZsZXg6MCAwIDY2LjY2NjY2NyU7bWF4LXdpZHRoOjY2LjY2NjY2NyV9LmNvbC14bC05ey1tcy1mbGV4OjAgMCA3NSU7ZmxleDowIDAgNzUlO21heC13aWR0aDo3NSV9LmNvbC14bC0xMHstbXMtZmxleDowIDAgODMuMzMzMzMzJTtmbGV4OjAgMCA4My4zMzMzMzMlO21heC13aWR0aDo4My4zMzMzMzMlfS5jb2wteGwtMTF7LW1zLWZsZXg6MCAwIDkxLjY2NjY2NyU7ZmxleDowIDAgOTEuNjY2NjY3JTttYXgtd2lkdGg6OTEuNjY2NjY3JX0uY29sLXhsLTEyey1tcy1mbGV4OjAgMCAxMDAlO2ZsZXg6MCAwIDEwMCU7bWF4LXdpZHRoOjEwMCV9Lm9yZGVyLXhsLWZpcnN0ey1tcy1mbGV4LW9yZGVyOi0xO29yZGVyOi0xfS5vcmRlci14bC1sYXN0ey1tcy1mbGV4LW9yZGVyOjEzO29yZGVyOjEzfS5vcmRlci14bC0wey1tcy1mbGV4LW9yZGVyOjA7b3JkZXI6MH0ub3JkZXIteGwtMXstbXMtZmxleC1vcmRlcjoxO29yZGVyOjF9Lm9yZGVyLXhsLTJ7LW1zLWZsZXgtb3JkZXI6MjtvcmRlcjoyfS5vcmRlci14bC0zey1tcy1mbGV4LW9yZGVyOjM7b3JkZXI6M30ub3JkZXIteGwtNHstbXMtZmxleC1vcmRlcjo0O29yZGVyOjR9Lm9yZGVyLXhsLTV7LW1zLWZsZXgtb3JkZXI6NTtvcmRlcjo1fS5vcmRlci14bC02ey1tcy1mbGV4LW9yZGVyOjY7b3JkZXI6Nn0ub3JkZXIteGwtN3stbXMtZmxleC1vcmRlcjo3O29yZGVyOjd9Lm9yZGVyLXhsLTh7LW1zLWZsZXgtb3JkZXI6ODtvcmRlcjo4fS5vcmRlci14bC05ey1tcy1mbGV4LW9yZGVyOjk7b3JkZXI6OX0ub3JkZXIteGwtMTB7LW1zLWZsZXgtb3JkZXI6MTA7b3JkZXI6MTB9Lm9yZGVyLXhsLTExey1tcy1mbGV4LW9yZGVyOjExO29yZGVyOjExfS5vcmRlci14bC0xMnstbXMtZmxleC1vcmRlcjoxMjtvcmRlcjoxMn0ub2Zmc2V0LXhsLTB7bWFyZ2luLWxlZnQ6MH0ub2Zmc2V0LXhsLTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMlfS5vZmZzZXQteGwtMnttYXJnaW4tbGVmdDoxNi42NjY2NjclfS5vZmZzZXQteGwtM3ttYXJnaW4tbGVmdDoyNSV9Lm9mZnNldC14bC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMyV9Lm9mZnNldC14bC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NyV9Lm9mZnNldC14bC02e21hcmdpbi1sZWZ0OjUwJX0ub2Zmc2V0LXhsLTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzJX0ub2Zmc2V0LXhsLTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY3JX0ub2Zmc2V0LXhsLTl7bWFyZ2luLWxlZnQ6NzUlfS5vZmZzZXQteGwtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzJX0ub2Zmc2V0LXhsLTExe21hcmdpbi1sZWZ0OjkxLjY2NjY2NyV9fS50YWJsZXt3aWR0aDoxMDAlO21heC13aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MXJlbTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS50YWJsZSB0ZCwudGFibGUgdGh7cGFkZGluZzouNzVyZW07dmVydGljYWwtYWxpZ246dG9wO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZWUyZTZ9LnRhYmxlIHRoZWFkIHRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZSB0Ym9keSt0Ym9keXtib3JkZXItdG9wOjJweCBzb2xpZCAjZGVlMmU2fS50YWJsZSAudGFibGV7YmFja2dyb3VuZC1jb2xvcjojZmZmfS50YWJsZS1zbSB0ZCwudGFibGUtc20gdGh7cGFkZGluZzouM3JlbX0udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2fS50YWJsZS1ib3JkZXJlZCB0aGVhZCB0ZCwudGFibGUtYm9yZGVyZWQgdGhlYWQgdGh7Ym9yZGVyLWJvdHRvbS13aWR0aDoycHh9LnRhYmxlLWJvcmRlcmxlc3MgdGJvZHkrdGJvZHksLnRhYmxlLWJvcmRlcmxlc3MgdGQsLnRhYmxlLWJvcmRlcmxlc3MgdGgsLnRhYmxlLWJvcmRlcmxlc3MgdGhlYWQgdGh7Ym9yZGVyOjB9LnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KX0udGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZS1wcmltYXJ5LC50YWJsZS1wcmltYXJ5PnRkLC50YWJsZS1wcmltYXJ5PnRoe2JhY2tncm91bmQtY29sb3I6I2I4ZGFmZn0udGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojOWZjZGZmfS50YWJsZS1ob3ZlciAudGFibGUtcHJpbWFyeTpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXByaW1hcnk6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojOWZjZGZmfS50YWJsZS1zZWNvbmRhcnksLnRhYmxlLXNlY29uZGFyeT50ZCwudGFibGUtc2Vjb25kYXJ5PnRoe2JhY2tncm91bmQtY29sb3I6I2Q2ZDhkYn0udGFibGUtaG92ZXIgLnRhYmxlLXNlY29uZGFyeTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjOGNiY2Z9LnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1zZWNvbmRhcnk6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmfS50YWJsZS1zdWNjZXNzLC50YWJsZS1zdWNjZXNzPnRkLC50YWJsZS1zdWNjZXNzPnRoe2JhY2tncm91bmQtY29sb3I6I2MzZTZjYn0udGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYjFkZmJifS50YWJsZS1ob3ZlciAudGFibGUtc3VjY2Vzczpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXN1Y2Nlc3M6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjFkZmJifS50YWJsZS1pbmZvLC50YWJsZS1pbmZvPnRkLC50YWJsZS1pbmZvPnRoe2JhY2tncm91bmQtY29sb3I6I2JlZTVlYn0udGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS50YWJsZS1ob3ZlciAudGFibGUtaW5mbzpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWluZm86aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS50YWJsZS13YXJuaW5nLC50YWJsZS13YXJuaW5nPnRkLC50YWJsZS13YXJuaW5nPnRoe2JhY2tncm91bmQtY29sb3I6I2ZmZWViYX0udGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS50YWJsZS1ob3ZlciAudGFibGUtd2FybmluZzpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLXdhcm5pbmc6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZmZlOGExfS50YWJsZS1kYW5nZXIsLnRhYmxlLWRhbmdlcj50ZCwudGFibGUtZGFuZ2VyPnRoe2JhY2tncm91bmQtY29sb3I6I2Y1YzZjYn0udGFibGUtaG92ZXIgLnRhYmxlLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmMWIwYjd9LnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1kYW5nZXI6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZjFiMGI3fS50YWJsZS1saWdodCwudGFibGUtbGlnaHQ+dGQsLnRhYmxlLWxpZ2h0PnRoe2JhY2tncm91bmQtY29sb3I6I2ZkZmRmZX0udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VjZWNmNn0udGFibGUtaG92ZXIgLnRhYmxlLWxpZ2h0OmhvdmVyPnRkLC50YWJsZS1ob3ZlciAudGFibGUtbGlnaHQ6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojZWNlY2Y2fS50YWJsZS1kYXJrLC50YWJsZS1kYXJrPnRkLC50YWJsZS1kYXJrPnRoe2JhY2tncm91bmQtY29sb3I6I2M2YzhjYX0udGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS50YWJsZS1ob3ZlciAudGFibGUtZGFyazpob3Zlcj50ZCwudGFibGUtaG92ZXIgLnRhYmxlLWRhcms6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjojYjliYmJlfS50YWJsZS1hY3RpdmUsLnRhYmxlLWFjdGl2ZT50ZCwudGFibGUtYWN0aXZlPnRoe2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDc1KX0udGFibGUtaG92ZXIgLnRhYmxlLWFjdGl2ZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA3NSl9LnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXI+dGQsLnRhYmxlLWhvdmVyIC50YWJsZS1hY3RpdmU6aG92ZXI+dGh7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNzUpfS50YWJsZSAudGhlYWQtZGFyayB0aHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzIxMjUyOTtib3JkZXItY29sb3I6IzMyMzgzZX0udGFibGUgLnRoZWFkLWxpZ2h0IHRoe2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1jb2xvcjojZGVlMmU2fS50YWJsZS1kYXJre2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjEyNTI5fS50YWJsZS1kYXJrIHRkLC50YWJsZS1kYXJrIHRoLC50YWJsZS1kYXJrIHRoZWFkIHRoe2JvcmRlci1jb2xvcjojMzIzODNlfS50YWJsZS1kYXJrLnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS50YWJsZS1kYXJrLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA1KX0udGFibGUtZGFyay50YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjA3NSl9QG1lZGlhIChtYXgtd2lkdGg6NTc1Ljk4cHgpey50YWJsZS1yZXNwb25zaXZlLXNte2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtvdmVyZmxvdy14OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcn0udGFibGUtcmVzcG9uc2l2ZS1zbT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9fUBtZWRpYSAobWF4LXdpZHRoOjc2Ny45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS1tZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmUtbWQ+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX1AbWVkaWEgKG1heC13aWR0aDo5OTEuOThweCl7LnRhYmxlLXJlc3BvbnNpdmUtbGd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO292ZXJmbG93LXg6YXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDstbXMtb3ZlcmZsb3ctc3R5bGU6LW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyfS50YWJsZS1yZXNwb25zaXZlLWxnPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH19QG1lZGlhIChtYXgtd2lkdGg6MTE5OS45OHB4KXsudGFibGUtcmVzcG9uc2l2ZS14bHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmUteGw+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfX0udGFibGUtcmVzcG9uc2l2ZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7b3ZlcmZsb3cteDphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXJ9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVke2JvcmRlcjowfS5mb3JtLWNvbnRyb2x7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07Zm9udC1zaXplOjFyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM0OTUwNTc7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW07dHJhbnNpdGlvbjpib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXR9QG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuZm9ybS1jb250cm9se3RyYW5zaXRpb246bm9uZX19LmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5mb3JtLWNvbnRyb2w6Zm9jdXN7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uZm9ybS1jb250cm9sOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6IzZjNzU3ZDtvcGFjaXR5OjF9LmZvcm0tY29udHJvbDo6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6OnBsYWNlaG9sZGVye2NvbG9yOiM2Yzc1N2Q7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQsLmZvcm0tY29udHJvbFtyZWFkb25seV17YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO29wYWNpdHk6MX1zZWxlY3QuZm9ybS1jb250cm9sOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKXtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KX1zZWxlY3QuZm9ybS1jb250cm9sOmZvY3VzOjotbXMtdmFsdWV7Y29sb3I6IzQ5NTA1NztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmZvcm0tY29udHJvbC1maWxlLC5mb3JtLWNvbnRyb2wtcmFuZ2V7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5jb2wtZm9ybS1sYWJlbHtwYWRkaW5nLXRvcDpjYWxjKC4zNzVyZW0gKyAxcHgpO3BhZGRpbmctYm90dG9tOmNhbGMoLjM3NXJlbSArIDFweCk7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OjEuNX0uY29sLWZvcm0tbGFiZWwtbGd7cGFkZGluZy10b3A6Y2FsYyguNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguNXJlbSArIDFweCk7Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6MS41fS5jb2wtZm9ybS1sYWJlbC1zbXtwYWRkaW5nLXRvcDpjYWxjKC4yNXJlbSArIDFweCk7cGFkZGluZy1ib3R0b206Y2FsYyguMjVyZW0gKyAxcHgpO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNX0uZm9ybS1jb250cm9sLXBsYWludGV4dHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZy10b3A6LjM3NXJlbTtwYWRkaW5nLWJvdHRvbTouMzc1cmVtO21hcmdpbi1ib3R0b206MDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MXB4IDB9LmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLWxnLC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbC1zbSwuaW5wdXQtZ3JvdXAtbGc+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmJ0biwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFwcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+LmZvcm0tY29udHJvbC1wbGFpbnRleHQuYnRuLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uZm9ybS1jb250cm9sLXBsYWludGV4dC5pbnB1dC1ncm91cC10ZXh0e3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uZm9ybS1jb250cm9sLXNtLC5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e3BhZGRpbmc6LjI1cmVtIC41cmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4ycmVtfS5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPnNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYXBwZW5kPnNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLXByZXBlbmQ+c2VsZWN0LmJ0bjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1wcmVwZW5kPnNlbGVjdC5pbnB1dC1ncm91cC10ZXh0Om5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtc20+c2VsZWN0LmZvcm0tY29udHJvbDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksc2VsZWN0LmZvcm0tY29udHJvbC1zbTpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSl7aGVpZ2h0OmNhbGMoMS44MTI1cmVtICsgMnB4KX0uZm9ybS1jb250cm9sLWxnLC5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYXBwZW5kPi5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmlucHV0LWdyb3VwLXRleHQsLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5idG4sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPi5pbnB1dC1ncm91cC10ZXh0e3BhZGRpbmc6LjVyZW0gMXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czouM3JlbX0uaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuYnRuOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSwuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFwcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1wcmVwZW5kPnNlbGVjdC5idG46bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtcHJlcGVuZD5zZWxlY3QuaW5wdXQtZ3JvdXAtdGV4dDpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSksLmlucHV0LWdyb3VwLWxnPnNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pLHNlbGVjdC5mb3JtLWNvbnRyb2wtbGc6bm90KFtzaXplXSk6bm90KFttdWx0aXBsZV0pe2hlaWdodDpjYWxjKDIuODc1cmVtICsgMnB4KX0uZm9ybS1ncm91cHttYXJnaW4tYm90dG9tOjFyZW19LmZvcm0tdGV4dHtkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6LjI1cmVtfS5mb3JtLXJvd3tkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7bWFyZ2luLXJpZ2h0Oi01cHg7bWFyZ2luLWxlZnQ6LTVweH0uZm9ybS1yb3c+LmNvbCwuZm9ybS1yb3c+W2NsYXNzKj1jb2wtXXtwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLWxlZnQ6NXB4fS5mb3JtLWNoZWNre3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1sZWZ0OjEuMjVyZW19LmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDouM3JlbTttYXJnaW4tbGVmdDotMS4yNXJlbX0uZm9ybS1jaGVjay1pbnB1dDpkaXNhYmxlZH4uZm9ybS1jaGVjay1sYWJlbHtjb2xvcjojNmM3NTdkfS5mb3JtLWNoZWNrLWxhYmVse21hcmdpbi1ib3R0b206MH0uZm9ybS1jaGVjay1pbmxpbmV7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDowO21hcmdpbi1yaWdodDouNzVyZW19LmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0e3Bvc2l0aW9uOnN0YXRpYzttYXJnaW4tdG9wOjA7bWFyZ2luLXJpZ2h0Oi4zMTI1cmVtO21hcmdpbi1sZWZ0OjB9LnZhbGlkLWZlZWRiYWNre2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO21hcmdpbi10b3A6LjI1cmVtO2ZvbnQtc2l6ZTo4MCU7Y29sb3I6IzI4YTc0NX0udmFsaWQtdG9vbHRpcHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTt6LWluZGV4OjU7ZGlzcGxheTpub25lO21heC13aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07bWFyZ2luLXRvcDouMXJlbTtmb250LXNpemU6Ljg3NXJlbTtsaW5lLWhlaWdodDoxO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDQwLDE2Nyw2OSwuOCk7Ym9yZGVyLXJhZGl1czouMnJlbX0uY3VzdG9tLXNlbGVjdC5pcy12YWxpZCwuZm9ybS1jb250cm9sLmlzLXZhbGlkLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OnZhbGlkLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6dmFsaWR7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmN1c3RvbS1zZWxlY3QuaXMtdmFsaWQ6Zm9jdXMsLmZvcm0tY29udHJvbC5pcy12YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZDpmb2N1cywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sOnZhbGlkOmZvY3Vze2JvcmRlci1jb2xvcjojMjhhNzQ1O2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjI1KX0uY3VzdG9tLXNlbGVjdC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1zZWxlY3QuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLmZvcm0tY29udHJvbC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmZvcm0tY29udHJvbC5pcy12YWxpZH4udmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6dmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDp2YWxpZH4udmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5mb3JtLWNvbnRyb2wtZmlsZS5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmZvcm0tY29udHJvbC1maWxlLmlzLXZhbGlkfi52YWxpZC10b29sdGlwLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2wtZmlsZTp2YWxpZH4udmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbC1maWxlOnZhbGlkfi52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR+LmZvcm0tY2hlY2stbGFiZWwsLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWR+LmZvcm0tY2hlY2stbGFiZWx7Y29sb3I6IzI4YTc0NX0uZm9ybS1jaGVjay1pbnB1dC5pcy12YWxpZH4udmFsaWQtZmVlZGJhY2ssLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6dmFsaWR+LnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNoZWNrLWlucHV0OnZhbGlkfi52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVse2NvbG9yOiMyOGE3NDV9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiM3MWRkOGF9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywuY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OnZhbGlkfi52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtdmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6dmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiMzNGNlNTd9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLXZhbGlkOmZvY3Vzfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tY29udHJvbC1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3gtc2hhZG93OjAgMCAwIDFweCAjZmZmLDAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC4yNSl9LmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LmN1c3RvbS1maWxlLWxhYmVse2JvcmRlci1jb2xvcjojMjhhNzQ1fS5jdXN0b20tZmlsZS1pbnB1dC5pcy12YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWw6OmJlZm9yZSwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOmluaGVyaXR9LmN1c3RvbS1maWxlLWlucHV0LmlzLXZhbGlkfi52YWxpZC1mZWVkYmFjaywuY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWR+LnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OnZhbGlkfi52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6dmFsaWR+LnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWZpbGUtaW5wdXQuaXMtdmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDp2YWxpZDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWx7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuMjUpfS5pbnZhbGlkLWZlZWRiYWNre2Rpc3BsYXk6bm9uZTt3aWR0aDoxMDAlO21hcmdpbi10b3A6LjI1cmVtO2ZvbnQtc2l6ZTo4MCU7Y29sb3I6I2RjMzU0NX0uaW52YWxpZC10b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMDAlO3otaW5kZXg6NTtkaXNwbGF5Om5vbmU7bWF4LXdpZHRoOjEwMCU7cGFkZGluZzouNXJlbTttYXJnaW4tdG9wOi4xcmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjE7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjIwLDUzLDY5LC44KTtib3JkZXItcmFkaXVzOi4ycmVtfS5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQsLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlke2JvcmRlci1jb2xvcjojZGMzNTQ1fS5jdXN0b20tc2VsZWN0LmlzLWludmFsaWQ6Zm9jdXMsLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkOmZvY3VzLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tc2VsZWN0OmludmFsaWQ6Zm9jdXMsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkOmZvY3Vze2JvcmRlci1jb2xvcjojZGMzNTQ1O2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMjAsNTMsNjksLjI1KX0uY3VzdG9tLXNlbGVjdC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tc2VsZWN0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwuZm9ybS1jb250cm9sLmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1zZWxlY3Q6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLXNlbGVjdDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmZvcm0tY29udHJvbDppbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC53YXMtdmFsaWRhdGVkIC5mb3JtLWNvbnRyb2w6aW52YWxpZH4uaW52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmZvcm0tY29udHJvbC1maWxlLmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmZvcm0tY29udHJvbC1maWxlLmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWZpbGU6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuZm9ybS1jb250cm9sLWZpbGU6aW52YWxpZH4uaW52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4uZm9ybS1jaGVjay1sYWJlbCwud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5mb3JtLWNoZWNrLWxhYmVse2NvbG9yOiNkYzM1NDV9LmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywuZm9ybS1jaGVjay1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmZvcm0tY2hlY2staW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuZm9ybS1jaGVjay1pbnB1dDppbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXB7ZGlzcGxheTpibG9ja30uY3VzdG9tLWNvbnRyb2wtaW5wdXQuaXMtaW52YWxpZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWwsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVse2NvbG9yOiNkYzM1NDV9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjojZWZhMmE5fS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLWZlZWRiYWNrLC5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkfi5pbnZhbGlkLXRvb2x0aXAsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWR+LmludmFsaWQtdG9vbHRpcHtkaXNwbGF5OmJsb2NrfS5jdXN0b20tY29udHJvbC1pbnB1dC5pcy1pbnZhbGlkOmNoZWNrZWR+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Y2hlY2tlZH4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtiYWNrZ3JvdW5kLWNvbG9yOiNlNDYwNmR9LmN1c3RvbS1jb250cm9sLWlucHV0LmlzLWludmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1jb250cm9sLWlucHV0OmludmFsaWQ6Zm9jdXN+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7Ym94LXNoYWRvdzowIDAgMCAxcHggI2ZmZiwwIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuMjUpfS5jdXN0b20tZmlsZS1pbnB1dC5pcy1pbnZhbGlkfi5jdXN0b20tZmlsZS1sYWJlbCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZH4uY3VzdG9tLWZpbGUtbGFiZWx7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUsLndhcy12YWxpZGF0ZWQgLmN1c3RvbS1maWxlLWlucHV0OmludmFsaWR+LmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmV7Ym9yZGVyLWNvbG9yOmluaGVyaXR9LmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtZmVlZGJhY2ssLmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWR+LmludmFsaWQtdG9vbHRpcCwud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC1mZWVkYmFjaywud2FzLXZhbGlkYXRlZCAuY3VzdG9tLWZpbGUtaW5wdXQ6aW52YWxpZH4uaW52YWxpZC10b29sdGlwe2Rpc3BsYXk6YmxvY2t9LmN1c3RvbS1maWxlLWlucHV0LmlzLWludmFsaWQ6Zm9jdXN+LmN1c3RvbS1maWxlLWxhYmVsLC53YXMtdmFsaWRhdGVkIC5jdXN0b20tZmlsZS1pbnB1dDppbnZhbGlkOmZvY3Vzfi5jdXN0b20tZmlsZS1sYWJlbHtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC4yNSl9LmZvcm0taW5saW5le2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LmZvcm0taW5saW5lIC5mb3JtLWNoZWNre3dpZHRoOjEwMCV9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mb3JtLWlubGluZSBsYWJlbHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWlubGluZSAuZm9ybS1ncm91cHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleDowIDAgYXV0bztmbGV4OjAgMCBhdXRvOy1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sLXBsYWludGV4dHtkaXNwbGF5OmlubGluZS1ibG9ja30uZm9ybS1pbmxpbmUgLmN1c3RvbS1zZWxlY3QsLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5mb3JtLWlubGluZSAuZm9ybS1jaGVja3tkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy1tcy1mbGV4LXBhY2s6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6YXV0bztwYWRkaW5nLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmZvcm0tY2hlY2staW5wdXR7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLXRvcDowO21hcmdpbi1yaWdodDouMjVyZW07bWFyZ2luLWxlZnQ6MH0uZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sey1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZm9ybS1pbmxpbmUgLmN1c3RvbS1jb250cm9sLWxhYmVse21hcmdpbi1ib3R0b206MH19LmJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXdlaWdodDo0MDA7dGV4dC1hbGlnbjpjZW50ZXI7d2hpdGUtc3BhY2U6bm93cmFwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4yNXJlbTt0cmFuc2l0aW9uOmNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dH1AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5idG57dHJhbnNpdGlvbjpub25lfX0uYnRuOmZvY3VzLC5idG46aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJ0bi5mb2N1cywuYnRuOmZvY3Vze291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC4yNSl9LmJ0bi5kaXNhYmxlZCwuYnRuOmRpc2FibGVke29wYWNpdHk6LjY1fS5idG46bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCl7Y3Vyc29yOnBvaW50ZXJ9LmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmV7YmFja2dyb3VuZC1pbWFnZTpub25lfWEuYnRuLmRpc2FibGVkLGZpZWxkc2V0OmRpc2FibGVkIGEuYnRue3BvaW50ZXItZXZlbnRzOm5vbmV9LmJ0bi1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tcHJpbWFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwNjlkOTtib3JkZXItY29sb3I6IzAwNjJjY30uYnRuLXByaW1hcnkuZm9jdXMsLmJ0bi1wcmltYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjUpfS5idG4tcHJpbWFyeS5kaXNhYmxlZCwuYnRuLXByaW1hcnk6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyLWNvbG9yOiMwMDdiZmZ9LmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDYyY2M7Ym9yZGVyLWNvbG9yOiMwMDVjYmZ9LmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuNSl9LmJ0bi1zZWNvbmRhcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM2Yzc1N2Q7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1zZWNvbmRhcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1YTYyNjg7Ym9yZGVyLWNvbG9yOiM1NDViNjJ9LmJ0bi1zZWNvbmRhcnkuZm9jdXMsLmJ0bi1zZWNvbmRhcnk6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYnRuLXNlY29uZGFyeS5kaXNhYmxlZCwuYnRuLXNlY29uZGFyeTpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzU0NWI2Mjtib3JkZXItY29sb3I6IzRlNTU1Yn0uYnRuLXNlY29uZGFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tc2Vjb25kYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMTA4LDExNywxMjUsLjUpfS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLXN1Y2Nlc3M6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMTg4Mzg7Ym9yZGVyLWNvbG9yOiMxZTdlMzR9LmJ0bi1zdWNjZXNzLmZvY3VzLC5idG4tc3VjY2Vzczpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC41KX0uYnRuLXN1Y2Nlc3MuZGlzYWJsZWQsLmJ0bi1zdWNjZXNzOmRpc2FibGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1O2JvcmRlci1jb2xvcjojMjhhNzQ1fS5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWU3ZTM0O2JvcmRlci1jb2xvcjojMWM3NDMwfS5idG4tc3VjY2Vzczpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSg0MCwxNjcsNjksLjUpfS5idG4taW5mb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLWluZm86aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxMzg0OTY7Ym9yZGVyLWNvbG9yOiMxMTdhOGJ9LmJ0bi1pbmZvLmZvY3VzLC5idG4taW5mbzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi1pbmZvLmRpc2FibGVkLC5idG4taW5mbzpkaXNhYmxlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzExN2E4Yjtib3JkZXItY29sb3I6IzEwNzA3Zn0uYnRuLWluZm86bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4taW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi13YXJuaW5ne2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4td2FybmluZzpob3Zlcntjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2UwYTgwMDtib3JkZXItY29sb3I6I2QzOWUwMH0uYnRuLXdhcm5pbmcuZm9jdXMsLmJ0bi13YXJuaW5nOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTUsMTkzLDcsLjUpfS5idG4td2FybmluZy5kaXNhYmxlZCwuYnRuLXdhcm5pbmc6ZGlzYWJsZWR7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmMxMDc7Ym9yZGVyLWNvbG9yOiNmZmMxMDd9LmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNkMzllMDA7Ym9yZGVyLWNvbG9yOiNjNjk1MDB9LmJ0bi13YXJuaW5nOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDI1NSwxOTMsNywuNSl9LmJ0bi1kYW5nZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1kYW5nZXI6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNjODIzMzM7Ym9yZGVyLWNvbG9yOiNiZDIxMzB9LmJ0bi1kYW5nZXIuZm9jdXMsLmJ0bi1kYW5nZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1kYW5nZXIuZGlzYWJsZWQsLmJ0bi1kYW5nZXI6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNiZDIxMzA7Ym9yZGVyLWNvbG9yOiNiMjFmMmR9LmJ0bi1kYW5nZXI6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1saWdodHtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLWxpZ2h0OmhvdmVye2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZTJlNmVhO2JvcmRlci1jb2xvcjojZGFlMGU1fS5idG4tbGlnaHQuZm9jdXMsLmJ0bi1saWdodDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tbGlnaHQuZGlzYWJsZWQsLmJ0bi1saWdodDpkaXNhYmxlZHtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2RhZTBlNTtib3JkZXItY29sb3I6I2QzZDlkZn0uYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLWxpZ2h0LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tZGFya3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLWRhcms6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMzI3MmI7Ym9yZGVyLWNvbG9yOiMxZDIxMjR9LmJ0bi1kYXJrLmZvY3VzLC5idG4tZGFyazpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTIsNTgsNjQsLjUpfS5idG4tZGFyay5kaXNhYmxlZCwuYnRuLWRhcms6ZGlzYWJsZWR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzNDNhNDA7Ym9yZGVyLWNvbG9yOiMzNDNhNDB9LmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tZGFyay5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxZDIxMjQ7Ym9yZGVyLWNvbG9yOiMxNzFhMWR9LmJ0bi1kYXJrOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tZGFyay5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDUyLDU4LDY0LC41KX0uYnRuLW91dGxpbmUtcHJpbWFyeXtjb2xvcjojMDA3YmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tb3V0bGluZS1wcmltYXJ5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5idG4tb3V0bGluZS1wcmltYXJ5LmZvY3VzLC5idG4tb3V0bGluZS1wcmltYXJ5OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjUpfS5idG4tb3V0bGluZS1wcmltYXJ5LmRpc2FibGVkLC5idG4tb3V0bGluZS1wcmltYXJ5OmRpc2FibGVke2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0uYnRuLW91dGxpbmUtcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC41KX0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5e2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiM2Yzc1N2R9LmJ0bi1vdXRsaW5lLXNlY29uZGFyeTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZDtib3JkZXItY29sb3I6IzZjNzU3ZH0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmZvY3VzLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDEwOCwxMTcsMTI1LC41KX0uYnRuLW91dGxpbmUtc2Vjb25kYXJ5LmRpc2FibGVkLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkO2JvcmRlci1jb2xvcjojNmM3NTdkfS5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1zZWNvbmRhcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1zZWNvbmRhcnkuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgxMDgsMTE3LDEyNSwuNSl9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3N7Y29sb3I6IzI4YTc0NTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLW91dGxpbmUtc3VjY2Vzczpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NTtib3JkZXItY29sb3I6IzI4YTc0NX0uYnRuLW91dGxpbmUtc3VjY2Vzcy5mb2N1cywuYnRuLW91dGxpbmUtc3VjY2Vzczpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNDAsMTY3LDY5LC41KX0uYnRuLW91dGxpbmUtc3VjY2Vzcy5kaXNhYmxlZCwuYnRuLW91dGxpbmUtc3VjY2VzczpkaXNhYmxlZHtjb2xvcjojMjhhNzQ1O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyOGE3NDU7Ym9yZGVyLWNvbG9yOiMyOGE3NDV9LmJ0bi1vdXRsaW5lLXN1Y2Nlc3M6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlOmZvY3VzLC5idG4tb3V0bGluZS1zdWNjZXNzOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDQwLDE2Nyw2OSwuNSl9LmJ0bi1vdXRsaW5lLWluZm97Y29sb3I6IzE3YTJiODtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLW91dGxpbmUtaW5mbzpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiODtib3JkZXItY29sb3I6IzE3YTJiOH0uYnRuLW91dGxpbmUtaW5mby5mb2N1cywuYnRuLW91dGxpbmUtaW5mbzpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjMsMTYyLDE4NCwuNSl9LmJ0bi1vdXRsaW5lLWluZm8uZGlzYWJsZWQsLmJ0bi1vdXRsaW5lLWluZm86ZGlzYWJsZWR7Y29sb3I6IzE3YTJiODtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsLnNob3c+LmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4O2JvcmRlci1jb2xvcjojMTdhMmI4fS5idG4tb3V0bGluZS1pbmZvOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtaW5mbzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmU6Zm9jdXMsLnNob3c+LmJ0bi1vdXRsaW5lLWluZm8uZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyMywxNjIsMTg0LC41KX0uYnRuLW91dGxpbmUtd2FybmluZ3tjb2xvcjojZmZjMTA3O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4tb3V0bGluZS13YXJuaW5nOmhvdmVye2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3O2JvcmRlci1jb2xvcjojZmZjMTA3fS5idG4tb3V0bGluZS13YXJuaW5nLmZvY3VzLC5idG4tb3V0bGluZS13YXJuaW5nOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNTUsMTkzLDcsLjUpfS5idG4tb3V0bGluZS13YXJuaW5nLmRpc2FibGVkLC5idG4tb3V0bGluZS13YXJuaW5nOmRpc2FibGVke2NvbG9yOiNmZmMxMDc7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2ZmYzEwNztib3JkZXItY29sb3I6I2ZmYzEwN30uYnRuLW91dGxpbmUtd2FybmluZzpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLXdhcm5pbmc6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjU1LDE5Myw3LC41KX0uYnRuLW91dGxpbmUtZGFuZ2Vye2NvbG9yOiNkYzM1NDU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyLWNvbG9yOiNkYzM1NDV9LmJ0bi1vdXRsaW5lLWRhbmdlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NTtib3JkZXItY29sb3I6I2RjMzU0NX0uYnRuLW91dGxpbmUtZGFuZ2VyLmZvY3VzLC5idG4tb3V0bGluZS1kYW5nZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDIyMCw1Myw2OSwuNSl9LmJ0bi1vdXRsaW5lLWRhbmdlci5kaXNhYmxlZCwuYnRuLW91dGxpbmUtZGFuZ2VyOmRpc2FibGVke2NvbG9yOiNkYzM1NDU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSwuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2RjMzU0NTtib3JkZXItY29sb3I6I2RjMzU0NX0uYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZTpmb2N1cywuYnRuLW91dGxpbmUtZGFuZ2VyOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjIwLDUzLDY5LC41KX0uYnRuLW91dGxpbmUtbGlnaHR7Y29sb3I6I2Y4ZjlmYTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6I2Y4ZjlmYX0uYnRuLW91dGxpbmUtbGlnaHQ6aG92ZXJ7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmE7Ym9yZGVyLWNvbG9yOiNmOGY5ZmF9LmJ0bi1vdXRsaW5lLWxpZ2h0LmZvY3VzLC5idG4tb3V0bGluZS1saWdodDpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoMjQ4LDI0OSwyNTAsLjUpfS5idG4tb3V0bGluZS1saWdodC5kaXNhYmxlZCwuYnRuLW91dGxpbmUtbGlnaHQ6ZGlzYWJsZWR7Y29sb3I6I2Y4ZjlmYTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSwuc2hvdz4uYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xle2NvbG9yOiMyMTI1Mjk7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhO2JvcmRlci1jb2xvcjojZjhmOWZhfS5idG4tb3V0bGluZS1saWdodDpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWxpZ2h0Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpmb2N1cywuc2hvdz4uYnRuLW91dGxpbmUtbGlnaHQuZHJvcGRvd24tdG9nZ2xlOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgLjJyZW0gcmdiYSgyNDgsMjQ5LDI1MCwuNSl9LmJ0bi1vdXRsaW5lLWRhcmt7Y29sb3I6IzM0M2E0MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLW91dGxpbmUtZGFyazpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLW91dGxpbmUtZGFyay5mb2N1cywuYnRuLW91dGxpbmUtZGFyazpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTIsNTgsNjQsLjUpfS5idG4tb3V0bGluZS1kYXJrLmRpc2FibGVkLC5idG4tb3V0bGluZS1kYXJrOmRpc2FibGVke2NvbG9yOiMzNDNhNDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLC5zaG93Pi5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MDtib3JkZXItY29sb3I6IzM0M2E0MH0uYnRuLW91dGxpbmUtZGFyazpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmU6Zm9jdXMsLmJ0bi1vdXRsaW5lLWRhcms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmZvY3VzLC5zaG93Pi5idG4tb3V0bGluZS1kYXJrLmRyb3Bkb3duLXRvZ2dsZTpmb2N1c3tib3gtc2hhZG93OjAgMCAwIC4ycmVtIHJnYmEoNTIsNTgsNjQsLjUpfS5idG4tbGlua3tmb250LXdlaWdodDo0MDA7Y29sb3I6IzAwN2JmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5idG4tbGluazpob3Zlcntjb2xvcjojMDA1NmIzO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1saW5rLmZvY3VzLC5idG4tbGluazpmb2N1c3t0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3gtc2hhZG93Om5vbmV9LmJ0bi1saW5rLmRpc2FibGVkLC5idG4tbGluazpkaXNhYmxlZHtjb2xvcjojNmM3NTdkO3BvaW50ZXItZXZlbnRzOm5vbmV9LmJ0bi1ncm91cC1sZz4uYnRuLC5idG4tbGd7cGFkZGluZzouNXJlbSAxcmVtO2ZvbnQtc2l6ZToxLjI1cmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4zcmVtfS5idG4tZ3JvdXAtc20+LmJ0biwuYnRuLXNte3BhZGRpbmc6LjI1cmVtIC41cmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOi4ycmVtfS5idG4tYmxvY2t7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tdG9wOi41cmVtfWlucHV0W3R5cGU9YnV0dG9uXS5idG4tYmxvY2ssaW5wdXRbdHlwZT1yZXNldF0uYnRuLWJsb2NrLGlucHV0W3R5cGU9c3VibWl0XS5idG4tYmxvY2t7d2lkdGg6MTAwJX0uZmFkZXt0cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXJ9QG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsuZmFkZXt0cmFuc2l0aW9uOm5vbmV9fS5mYWRlOm5vdCguc2hvdyl7b3BhY2l0eTowfS5jb2xsYXBzZTpub3QoLnNob3cpe2Rpc3BsYXk6bm9uZX0uY29sbGFwc2luZ3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpoZWlnaHQgLjM1cyBlYXNlfUBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmNvbGxhcHNpbmd7dHJhbnNpdGlvbjpub25lfX0uZHJvcGRvd24sLmRyb3BsZWZ0LC5kcm9wcmlnaHQsLmRyb3B1cHtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGRvd24tdG9nZ2xlOjphZnRlcntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDowO2hlaWdodDowO21hcmdpbi1sZWZ0Oi4yNTVlbTt2ZXJ0aWNhbC1hbGlnbjouMjU1ZW07Y29udGVudDoiIjtib3JkZXItdG9wOi4zZW0gc29saWQ7Ym9yZGVyLXJpZ2h0Oi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTowO2JvcmRlci1sZWZ0Oi4zZW0gc29saWQgdHJhbnNwYXJlbnR9LmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7ei1pbmRleDoxMDAwO2Rpc3BsYXk6bm9uZTtmbG9hdDpsZWZ0O21pbi13aWR0aDoxMHJlbTtwYWRkaW5nOi41cmVtIDA7bWFyZ2luOi4xMjVyZW0gMCAwO2ZvbnQtc2l6ZToxcmVtO2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjpsZWZ0O2xpc3Qtc3R5bGU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTUpO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5kcm9wZG93bi1tZW51LXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wdXAgLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCU7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206LjEyNXJlbX0uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbTtjb250ZW50OiIiO2JvcmRlci10b3A6MDtib3JkZXItcmlnaHQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOi4zZW0gc29saWQ7Ym9yZGVyLWxlZnQ6LjNlbSBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcHVwIC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3ByaWdodCAuZHJvcGRvd24tbWVudXt0b3A6MDtyaWdodDphdXRvO2xlZnQ6MTAwJTttYXJnaW4tdG9wOjA7bWFyZ2luLWxlZnQ6LjEyNXJlbX0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbTtjb250ZW50OiIiO2JvcmRlci10b3A6LjNlbSBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6MDtib3JkZXItYm90dG9tOi4zZW0gc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWxlZnQ6LjNlbSBzb2xpZH0uZHJvcHJpZ2h0IC5kcm9wZG93bi10b2dnbGU6ZW1wdHk6OmFmdGVye21hcmdpbi1sZWZ0OjB9LmRyb3ByaWdodCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlcnt2ZXJ0aWNhbC1hbGlnbjowfS5kcm9wbGVmdCAuZHJvcGRvd24tbWVudXt0b3A6MDtyaWdodDoxMDAlO2xlZnQ6YXV0bzttYXJnaW4tdG9wOjA7bWFyZ2luLXJpZ2h0Oi4xMjVyZW19LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6LjI1NWVtO3ZlcnRpY2FsLWFsaWduOi4yNTVlbTtjb250ZW50OiIifS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlOjphZnRlcntkaXNwbGF5Om5vbmV9LmRyb3BsZWZ0IC5kcm9wZG93bi10b2dnbGU6OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDowO2hlaWdodDowO21hcmdpbi1yaWdodDouMjU1ZW07dmVydGljYWwtYWxpZ246LjI1NWVtO2NvbnRlbnQ6IiI7Ym9yZGVyLXRvcDouM2VtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDouM2VtIHNvbGlkO2JvcmRlci1ib3R0b206LjNlbSBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTplbXB0eTo6YWZ0ZXJ7bWFyZ2luLWxlZnQ6MH0uZHJvcGxlZnQgLmRyb3Bkb3duLXRvZ2dsZTo6YmVmb3Jle3ZlcnRpY2FsLWFsaWduOjB9LmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePWJvdHRvbV0sLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePWxlZnRdLC5kcm9wZG93bi1tZW51W3gtcGxhY2VtZW50Xj1yaWdodF0sLmRyb3Bkb3duLW1lbnVbeC1wbGFjZW1lbnRePXRvcF17cmlnaHQ6YXV0bztib3R0b206YXV0b30uZHJvcGRvd24tZGl2aWRlcntoZWlnaHQ6MDttYXJnaW46LjVyZW0gMDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXRvcDoxcHggc29saWQgI2U5ZWNlZn0uZHJvcGRvd24taXRlbXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzouMjVyZW0gMS41cmVtO2NsZWFyOmJvdGg7Zm9udC13ZWlnaHQ6NDAwO2NvbG9yOiMyMTI1Mjk7dGV4dC1hbGlnbjppbmhlcml0O3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowfS5kcm9wZG93bi1pdGVtOmZvY3VzLC5kcm9wZG93bi1pdGVtOmhvdmVye2NvbG9yOiMxNjE4MWI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjhmOWZhfS5kcm9wZG93bi1pdGVtLmFjdGl2ZSwuZHJvcGRvd24taXRlbTphY3RpdmV7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9LmRyb3Bkb3duLWl0ZW0uZGlzYWJsZWQsLmRyb3Bkb3duLWl0ZW06ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5kcm9wZG93bi1tZW51LnNob3d7ZGlzcGxheTpibG9ja30uZHJvcGRvd24taGVhZGVye2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAxLjVyZW07bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZTouODc1cmVtO2NvbG9yOiM2Yzc1N2Q7d2hpdGUtc3BhY2U6bm93cmFwfS5kcm9wZG93bi1pdGVtLXRleHR7ZGlzcGxheTpibG9jaztwYWRkaW5nOi4yNXJlbSAxLjVyZW07Y29sb3I6IzIxMjUyOX0uYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWx7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3g7ZGlzcGxheTppbmxpbmUtZmxleDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLC5idG4tZ3JvdXA+LmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTstbXMtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpob3ZlciwuYnRuLWdyb3VwPi5idG46aG92ZXJ7ei1pbmRleDoxfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi5hY3RpdmUsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmFjdGl2ZSwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46Zm9jdXMsLmJ0bi1ncm91cD4uYnRuLmFjdGl2ZSwuYnRuLWdyb3VwPi5idG46YWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjpmb2N1c3t6LWluZGV4OjF9LmJ0bi1ncm91cCAuYnRuKy5idG4sLmJ0bi1ncm91cCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLXRvb2xiYXJ7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cHt3aWR0aDphdXRvfS5idG4tZ3JvdXA+LmJ0bjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cD4uYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk+LmJ0biwuYnRuLWdyb3VwPi5idG46bm90KDpmaXJzdC1jaGlsZCl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctcmlnaHQ6LjU2MjVyZW07cGFkZGluZy1sZWZ0Oi41NjI1cmVtfS5kcm9wZG93bi10b2dnbGUtc3BsaXQ6OmFmdGVyLC5kcm9wcmlnaHQgLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdDo6YWZ0ZXIsLmRyb3B1cCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjphZnRlcnttYXJnaW4tbGVmdDowfS5kcm9wbGVmdCAuZHJvcGRvd24tdG9nZ2xlLXNwbGl0OjpiZWZvcmV7bWFyZ2luLXJpZ2h0OjB9LmJ0bi1ncm91cC1zbT4uYnRuKy5kcm9wZG93bi10b2dnbGUtc3BsaXQsLmJ0bi1zbSsuZHJvcGRvd24tdG9nZ2xlLXNwbGl0e3BhZGRpbmctcmlnaHQ6LjM3NXJlbTtwYWRkaW5nLWxlZnQ6LjM3NXJlbX0uYnRuLWdyb3VwLWxnPi5idG4rLmRyb3Bkb3duLXRvZ2dsZS1zcGxpdCwuYnRuLWxnKy5kcm9wZG93bi10b2dnbGUtc3BsaXR7cGFkZGluZy1yaWdodDouNzVyZW07cGFkZGluZy1sZWZ0Oi43NXJlbX0uYnRuLWdyb3VwLXZlcnRpY2Fsey1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy1tcy1mbGV4LWFsaWduOnN0YXJ0O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uYnRuLWdyb3VwLXZlcnRpY2FsIC5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbCAuYnRuLWdyb3Vwe3dpZHRoOjEwMCV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLXRvcDotMXB4O21hcmdpbi1sZWZ0OjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCk+LmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXAtdG9nZ2xlPi5idG4sLmJ0bi1ncm91cC10b2dnbGU+LmJ0bi1ncm91cD4uYnRue21hcmdpbi1ib3R0b206MH0uYnRuLWdyb3VwLXRvZ2dsZT4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4gaW5wdXRbdHlwZT1yYWRpb10sLmJ0bi1ncm91cC10b2dnbGU+LmJ0bi1ncm91cD4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLC5idG4tZ3JvdXAtdG9nZ2xlPi5idG4tZ3JvdXA+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXXtwb3NpdGlvbjphYnNvbHV0ZTtjbGlwOnJlY3QoMCwwLDAsMCk7cG9pbnRlci1ldmVudHM6bm9uZX0uaW5wdXQtZ3JvdXB7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LWFsaWduOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaDt3aWR0aDoxMDAlfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9se3Bvc2l0aW9uOnJlbGF0aXZlOy1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG87d2lkdGg6MSU7bWFyZ2luLWJvdHRvbTowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6Zm9jdXMsLmlucHV0LWdyb3VwPi5jdXN0b20tc2VsZWN0OmZvY3VzLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOmZvY3Vze3otaW5kZXg6M30uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tZmlsZSwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlKy5jdXN0b20tc2VsZWN0LC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGUrLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmN1c3RvbS1maWxlLC5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdCsuY3VzdG9tLXNlbGVjdCwuaW5wdXQtZ3JvdXA+LmN1c3RvbS1zZWxlY3QrLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbCsuY3VzdG9tLWZpbGUsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmN1c3RvbS1zZWxlY3QsLmlucHV0LWdyb3VwPi5mb3JtLWNvbnRyb2wrLmZvcm0tY29udHJvbHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uZm9ybS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGV7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6bGFzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLC5pbnB1dC1ncm91cD4uY3VzdG9tLWZpbGU6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uaW5wdXQtZ3JvdXA+LmN1c3RvbS1maWxlOm5vdCg6Zmlyc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5pbnB1dC1ncm91cC1hcHBlbmQsLmlucHV0LWdyb3VwLXByZXBlbmR7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXh9LmlucHV0LWdyb3VwLWFwcGVuZCAuYnRuLC5pbnB1dC1ncm91cC1wcmVwZW5kIC5idG57cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyfS5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bisuYnRuLC5pbnB1dC1ncm91cC1hcHBlbmQgLmJ0bisuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtYXBwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5idG4sLmlucHV0LWdyb3VwLWFwcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuYnRuKy5idG4sLmlucHV0LWdyb3VwLXByZXBlbmQgLmJ0bisuaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXAtcHJlcGVuZCAuaW5wdXQtZ3JvdXAtdGV4dCsuYnRuLC5pbnB1dC1ncm91cC1wcmVwZW5kIC5pbnB1dC1ncm91cC10ZXh0Ky5pbnB1dC1ncm91cC10ZXh0e21hcmdpbi1sZWZ0Oi0xcHh9LmlucHV0LWdyb3VwLXByZXBlbmR7bWFyZ2luLXJpZ2h0Oi0xcHh9LmlucHV0LWdyb3VwLWFwcGVuZHttYXJnaW4tbGVmdDotMXB4fS5pbnB1dC1ncm91cC10ZXh0e2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7cGFkZGluZzouMzc1cmVtIC43NXJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjFyZW07Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNDk1MDU3O3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyOjFweCBzb2xpZCAjY2VkNGRhO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5pbnB1dC1ncm91cC10ZXh0IGlucHV0W3R5cGU9cmFkaW9de21hcmdpbi10b3A6MH0uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ6bGFzdC1jaGlsZD4uaW5wdXQtZ3JvdXAtdGV4dDpub3QoOmxhc3QtY2hpbGQpLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCk+LmJ0biwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpPi5pbnB1dC1ncm91cC10ZXh0LC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuLC5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1hcHBlbmQ+LmJ0biwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uaW5wdXQtZ3JvdXAtdGV4dCwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLXByZXBlbmQ6Zmlyc3QtY2hpbGQ+LmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCksLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmlucHV0LWdyb3VwPi5pbnB1dC1ncm91cC1wcmVwZW5kOm5vdCg6Zmlyc3QtY2hpbGQpPi5pbnB1dC1ncm91cC10ZXh0e2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmN1c3RvbS1jb250cm9se3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWluLWhlaWdodDoxLjVyZW07cGFkZGluZy1sZWZ0OjEuNXJlbX0uY3VzdG9tLWNvbnRyb2wtaW5saW5le2Rpc3BsYXk6LW1zLWlubGluZS1mbGV4Ym94O2Rpc3BsYXk6aW5saW5lLWZsZXg7bWFyZ2luLXJpZ2h0OjFyZW19LmN1c3RvbS1jb250cm9sLWlucHV0e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7b3BhY2l0eTowfS5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmfS5jdXN0b20tY29udHJvbC1pbnB1dDpmb2N1c34uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3gtc2hhZG93OjAgMCAwIDFweCAjZmZmLDAgMCAwIC4ycmVtIHJnYmEoMCwxMjMsMjU1LC4yNSl9LmN1c3RvbS1jb250cm9sLWlucHV0OmFjdGl2ZX4uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2IzZDdmZn0uY3VzdG9tLWNvbnRyb2wtaW5wdXQ6ZGlzYWJsZWR+LmN1c3RvbS1jb250cm9sLWxhYmVse2NvbG9yOiM2Yzc1N2R9LmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZn0uY3VzdG9tLWNvbnRyb2wtbGFiZWx7cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbTowfS5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMjVyZW07bGVmdDotMS41cmVtO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtwb2ludGVyLWV2ZW50czpub25lO2NvbnRlbnQ6IiI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2JhY2tncm91bmQtY29sb3I6I2RlZTJlNn0uY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDouMjVyZW07bGVmdDotMS41cmVtO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtjb250ZW50OiIiO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjUwJSA1MCV9LmN1c3RvbS1jaGVja2JveCAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3JkZXItcmFkaXVzOi4yNXJlbX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzAwN2JmZn0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGZpbGw9JyUyM2ZmZicgZD0nTTYuNTY0Ljc1bC0zLjU5IDMuNjEyLTEuNTM4LTEuNTVMMCA0LjI2IDIuOTc0IDcuMjUgOCAyLjE5M3onLyUzRSUzQy9zdmclM0UiKX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzAwN2JmZn0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDppbmRldGVybWluYXRlfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nJTIzZmZmJyBkPSdNMCAyaDQnLyUzRSUzQy9zdmclM0UiKX0uY3VzdG9tLWNoZWNrYm94IC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDEyMywyNTUsLjUpfS5jdXN0b20tY2hlY2tib3ggLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkOmluZGV0ZXJtaW5hdGV+LmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTIzLDI1NSwuNSl9LmN1c3RvbS1yYWRpbyAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZXtib3JkZXItcmFkaXVzOjUwJX0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6IzAwN2JmZn0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0UiKX0uY3VzdG9tLXJhZGlvIC5jdXN0b20tY29udHJvbC1pbnB1dDpkaXNhYmxlZDpjaGVja2Vkfi5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDEyMywyNTUsLjUpfS5jdXN0b20tc2VsZWN0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OmNhbGMoMi4yNXJlbSArIDJweCk7cGFkZGluZzouMzc1cmVtIDEuNzVyZW0gLjM3NXJlbSAuNzVyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM0OTUwNTc7dmVydGljYWwtYWxpZ246bWlkZGxlO2JhY2tncm91bmQ6I2ZmZiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNSclM0UlM0NwYXRoIGZpbGw9JyUyMzM0M2E0MCcgZD0nTTIgMEwwIDJoNHptMCA1TDAgM2g0eicvJTNFJTNDL3N2ZyUzRSIpIG5vLXJlcGVhdCByaWdodCAuNzVyZW0gY2VudGVyO2JhY2tncm91bmQtc2l6ZTo4cHggMTBweDtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW07LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5jdXN0b20tc2VsZWN0OmZvY3Vze2JvcmRlci1jb2xvcjojODBiZGZmO291dGxpbmU6MDtib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA1cHggcmdiYSgxMjgsMTg5LDI1NSwuNSl9LmN1c3RvbS1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZXtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY3VzdG9tLXNlbGVjdFttdWx0aXBsZV0sLmN1c3RvbS1zZWxlY3Rbc2l6ZV06bm90KFtzaXplPSIxIl0pe2hlaWdodDphdXRvO3BhZGRpbmctcmlnaHQ6Ljc1cmVtO2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uY3VzdG9tLXNlbGVjdDpkaXNhYmxlZHtjb2xvcjojNmM3NTdkO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZn0uY3VzdG9tLXNlbGVjdDo6LW1zLWV4cGFuZHtvcGFjaXR5OjB9LmN1c3RvbS1zZWxlY3Qtc217aGVpZ2h0OmNhbGMoMS44MTI1cmVtICsgMnB4KTtwYWRkaW5nLXRvcDouMzc1cmVtO3BhZGRpbmctYm90dG9tOi4zNzVyZW07Zm9udC1zaXplOjc1JX0uY3VzdG9tLXNlbGVjdC1sZ3toZWlnaHQ6Y2FsYygyLjg3NXJlbSArIDJweCk7cGFkZGluZy10b3A6LjM3NXJlbTtwYWRkaW5nLWJvdHRvbTouMzc1cmVtO2ZvbnQtc2l6ZToxMjUlfS5jdXN0b20tZmlsZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMDAlO2hlaWdodDpjYWxjKDIuMjVyZW0gKyAycHgpO21hcmdpbi1ib3R0b206MH0uY3VzdG9tLWZpbGUtaW5wdXR7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO3dpZHRoOjEwMCU7aGVpZ2h0OmNhbGMoMi4yNXJlbSArIDJweCk7bWFyZ2luOjA7b3BhY2l0eTowfS5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWx7Ym9yZGVyLWNvbG9yOiM4MGJkZmY7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5jdXN0b20tZmlsZS1pbnB1dDpmb2N1c34uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVye2JvcmRlci1jb2xvcjojODBiZGZmfS5jdXN0b20tZmlsZS1pbnB1dDpsYW5nKGVuKX4uY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVye2NvbnRlbnQ6IkJyb3dzZSJ9LmN1c3RvbS1maWxlLWxhYmVse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7bGVmdDowO3otaW5kZXg6MTtoZWlnaHQ6Y2FsYygyLjI1cmVtICsgMnB4KTtwYWRkaW5nOi4zNzVyZW0gLjc1cmVtO2xpbmUtaGVpZ2h0OjEuNTtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czouMjVyZW19LmN1c3RvbS1maWxlLWxhYmVsOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO3otaW5kZXg6MztkaXNwbGF5OmJsb2NrO2hlaWdodDoyLjI1cmVtO3BhZGRpbmc6LjM3NXJlbSAuNzVyZW07bGluZS1oZWlnaHQ6MS41O2NvbG9yOiM0OTUwNTc7Y29udGVudDoiQnJvd3NlIjtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNjZWQ0ZGE7Ym9yZGVyLXJhZGl1czowIC4yNXJlbSAuMjVyZW0gMH0uY3VzdG9tLXJhbmdle3dpZHRoOjEwMCU7cGFkZGluZy1sZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LmN1c3RvbS1yYW5nZTpmb2N1c3tvdXRsaW5lOjB9LmN1c3RvbS1yYW5nZTo6LW1vei1mb2N1cy1vdXRlcntib3JkZXI6MH0uY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYnt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO21hcmdpbi10b3A6LS4yNXJlbTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxcmVtOy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uY3VzdG9tLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYjpmb2N1c3tvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAxcHggI2ZmZiwwIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5jdXN0b20tcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNiM2Q3ZmZ9LmN1c3RvbS1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7d2lkdGg6MTAwJTtoZWlnaHQ6LjVyZW07Y29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjojZGVlMmU2O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjFyZW19LmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10aHVtYnt3aWR0aDoxcmVtO2hlaWdodDoxcmVtO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXI6MDtib3JkZXItcmFkaXVzOjFyZW07LW1vei1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lfS5jdXN0b20tcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWI6Zm9jdXN7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLXJhbmdlOjotbW96LXJhbmdlLXRodW1iOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNiM2Q3ZmZ9LmN1c3RvbS1yYW5nZTo6LW1vei1yYW5nZS10cmFja3t3aWR0aDoxMDAlO2hlaWdodDouNXJlbTtjb2xvcjp0cmFuc3BhcmVudDtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNkZWUyZTY7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MXJlbX0uY3VzdG9tLXJhbmdlOjotbXMtdGh1bWJ7d2lkdGg6MXJlbTtoZWlnaHQ6MXJlbTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czoxcmVtO2FwcGVhcmFuY2U6bm9uZX0uY3VzdG9tLXJhbmdlOjotbXMtdGh1bWI6Zm9jdXN7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgMXB4ICNmZmYsMCAwIDAgLjJyZW0gcmdiYSgwLDEyMywyNTUsLjI1KX0uY3VzdG9tLXJhbmdlOjotbXMtdGh1bWI6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2IzZDdmZn0uY3VzdG9tLXJhbmdlOjotbXMtdHJhY2t7d2lkdGg6MTAwJTtoZWlnaHQ6LjVyZW07Y29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXdpZHRoOi41cmVtfS5jdXN0b20tcmFuZ2U6Oi1tcy1maWxsLWxvd2Vye2JhY2tncm91bmQtY29sb3I6I2RlZTJlNjtib3JkZXItcmFkaXVzOjFyZW19LmN1c3RvbS1yYW5nZTo6LW1zLWZpbGwtdXBwZXJ7bWFyZ2luLXJpZ2h0OjE1cHg7YmFja2dyb3VuZC1jb2xvcjojZGVlMmU2O2JvcmRlci1yYWRpdXM6MXJlbX0ubmF2e2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZTpub25lfS5uYXYtbGlua3tkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjVyZW0gMXJlbX0ubmF2LWxpbms6Zm9jdXMsLm5hdi1saW5rOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXYtbGluay5kaXNhYmxlZHtjb2xvcjojNmM3NTdkfS5uYXYtdGFic3tib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGVlMmU2fS5uYXYtdGFicyAubmF2LWl0ZW17bWFyZ2luLWJvdHRvbTotMXB4fS5uYXYtdGFicyAubmF2LWxpbmt7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW19Lm5hdi10YWJzIC5uYXYtbGluazpmb2N1cywubmF2LXRhYnMgLm5hdi1saW5rOmhvdmVye2JvcmRlci1jb2xvcjojZTllY2VmICNlOWVjZWYgI2RlZTJlNn0ubmF2LXRhYnMgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOiM2Yzc1N2Q7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9Lm5hdi10YWJzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGluaywubmF2LXRhYnMgLm5hdi1saW5rLmFjdGl2ZXtjb2xvcjojNDk1MDU3O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2RlZTJlNiAjZGVlMmU2ICNmZmZ9Lm5hdi10YWJzIC5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6LTFweDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubmF2LXBpbGxzIC5uYXYtbGlua3tib3JkZXItcmFkaXVzOi4yNXJlbX0ubmF2LXBpbGxzIC5uYXYtbGluay5hY3RpdmUsLm5hdi1waWxscyAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmZ9Lm5hdi1maWxsIC5uYXYtaXRlbXstbXMtZmxleDoxIDEgYXV0bztmbGV4OjEgMSBhdXRvO3RleHQtYWxpZ246Y2VudGVyfS5uYXYtanVzdGlmaWVkIC5uYXYtaXRlbXstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTowO2ZsZXgtYmFzaXM6MDstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxO3RleHQtYWxpZ246Y2VudGVyfS50YWItY29udGVudD4udGFiLXBhbmV7ZGlzcGxheTpub25lfS50YWItY29udGVudD4uYWN0aXZle2Rpc3BsYXk6YmxvY2t9Lm5hdmJhcntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47cGFkZGluZzouNXJlbSAxcmVtfS5uYXZiYXI+LmNvbnRhaW5lciwubmF2YmFyPi5jb250YWluZXItZmx1aWR7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtcGFjazpqdXN0aWZ5O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5uYXZiYXItYnJhbmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6LjMxMjVyZW07cGFkZGluZy1ib3R0b206LjMxMjVyZW07bWFyZ2luLXJpZ2h0OjFyZW07Zm9udC1zaXplOjEuMjVyZW07bGluZS1oZWlnaHQ6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3dyYXB9Lm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWJyYW5kOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXZiYXItbmF2e2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3BhZGRpbmctbGVmdDowO21hcmdpbi1ib3R0b206MDtsaXN0LXN0eWxlOm5vbmV9Lm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0ubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjpzdGF0aWM7ZmxvYXQ6bm9uZX0ubmF2YmFyLXRleHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7cGFkZGluZy10b3A6LjVyZW07cGFkZGluZy1ib3R0b206LjVyZW19Lm5hdmJhci1jb2xsYXBzZXstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZToxMDAlO2ZsZXgtYmFzaXM6MTAwJTstbXMtZmxleC1wb3NpdGl2ZToxO2ZsZXgtZ3JvdzoxOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9Lm5hdmJhci10b2dnbGVye3BhZGRpbmc6LjI1cmVtIC43NXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOi4yNXJlbX0ubmF2YmFyLXRvZ2dsZXI6Zm9jdXMsLm5hdmJhci10b2dnbGVyOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXZiYXItdG9nZ2xlcjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn0ubmF2YmFyLXRvZ2dsZXItaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxLjVlbTtoZWlnaHQ6MS41ZW07dmVydGljYWwtYWxpZ246bWlkZGxlO2NvbnRlbnQ6IiI7YmFja2dyb3VuZDpuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlfUBtZWRpYSAobWF4LXdpZHRoOjU3NS45OHB4KXsubmF2YmFyLWV4cGFuZC1zbT4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDowO3BhZGRpbmctbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm5hdmJhci1leHBhbmQtc217LW1zLWZsZXgtZmxvdzpyb3cgbm93cmFwO2ZsZXgtZmxvdzpyb3cgbm93cmFwOy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXZ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQtc20gLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kLXNtPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtc20+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kLXNtIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZC1zbSAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfX1AbWVkaWEgKG1heC13aWR0aDo3NjcuOThweCl7Lm5hdmJhci1leHBhbmQtbWQ+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItZXhwYW5kLW1key1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2ey1tcy1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93fS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5kcm9wZG93bi1tZW51e3Bvc2l0aW9uOmFic29sdXRlfS5uYXZiYXItZXhwYW5kLW1kIC5uYXZiYXItbmF2IC5uYXYtbGlua3twYWRkaW5nLXJpZ2h0Oi41cmVtO3BhZGRpbmctbGVmdDouNXJlbX0ubmF2YmFyLWV4cGFuZC1tZD4uY29udGFpbmVyLC5uYXZiYXItZXhwYW5kLW1kPi5jb250YWluZXItZmx1aWR7LW1zLWZsZXgtd3JhcDpub3dyYXA7ZmxleC13cmFwOm5vd3JhcH0ubmF2YmFyLWV4cGFuZC1tZCAubmF2YmFyLWNvbGxhcHNle2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7LW1zLWZsZXgtcHJlZmVycmVkLXNpemU6YXV0bztmbGV4LWJhc2lzOmF1dG99Lm5hdmJhci1leHBhbmQtbWQgLm5hdmJhci10b2dnbGVye2Rpc3BsYXk6bm9uZX19QG1lZGlhIChtYXgtd2lkdGg6OTkxLjk4cHgpey5uYXZiYXItZXhwYW5kLWxnPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubmF2YmFyLWV4cGFuZC1sZ3stbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LW1zLWZsZXgtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdnstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC1sZyAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQtbGc+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC1sZz4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQtbGcgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLWxnIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9fUBtZWRpYSAobWF4LXdpZHRoOjExOTkuOThweCl7Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlke3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsubmF2YmFyLWV4cGFuZC14bHstbXMtZmxleC1mbG93OnJvdyBub3dyYXA7ZmxleC1mbG93OnJvdyBub3dyYXA7LW1zLWZsZXgtcGFjazpzdGFydDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdnstbXMtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0ubmF2YmFyLWV4cGFuZC14bCAubmF2YmFyLW5hdiAubmF2LWxpbmt7cGFkZGluZy1yaWdodDouNXJlbTtwYWRkaW5nLWxlZnQ6LjVyZW19Lm5hdmJhci1leHBhbmQteGw+LmNvbnRhaW5lciwubmF2YmFyLWV4cGFuZC14bD4uY29udGFpbmVyLWZsdWlkey1tcy1mbGV4LXdyYXA6bm93cmFwO2ZsZXgtd3JhcDpub3dyYXB9Lm5hdmJhci1leHBhbmQteGwgLm5hdmJhci1jb2xsYXBzZXtkaXNwbGF5Oi1tcy1mbGV4Ym94IWltcG9ydGFudDtkaXNwbGF5OmZsZXghaW1wb3J0YW50Oy1tcy1mbGV4LXByZWZlcnJlZC1zaXplOmF1dG87ZmxleC1iYXNpczphdXRvfS5uYXZiYXItZXhwYW5kLXhsIC5uYXZiYXItdG9nZ2xlcntkaXNwbGF5Om5vbmV9fS5uYXZiYXItZXhwYW5key1tcy1mbGV4LWZsb3c6cm93IG5vd3JhcDtmbGV4LWZsb3c6cm93IG5vd3JhcDstbXMtZmxleC1wYWNrOnN0YXJ0O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXZ7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdztmbGV4LWRpcmVjdGlvbjpyb3d9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGV9Lm5hdmJhci1leHBhbmQgLm5hdmJhci1uYXYgLm5hdi1saW5re3BhZGRpbmctcmlnaHQ6LjVyZW07cGFkZGluZy1sZWZ0Oi41cmVtfS5uYXZiYXItZXhwYW5kPi5jb250YWluZXIsLm5hdmJhci1leHBhbmQ+LmNvbnRhaW5lci1mbHVpZHstbXMtZmxleC13cmFwOm5vd3JhcDtmbGV4LXdyYXA6bm93cmFwfS5uYXZiYXItZXhwYW5kIC5uYXZiYXItY29sbGFwc2V7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudDstbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTphdXRvO2ZsZXgtYmFzaXM6YXV0b30ubmF2YmFyLWV4cGFuZCAubmF2YmFyLXRvZ2dsZXJ7ZGlzcGxheTpub25lfS5uYXZiYXItbGlnaHQgLm5hdmJhci1icmFuZHtjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItYnJhbmQ6Zm9jdXMsLm5hdmJhci1saWdodCAubmF2YmFyLWJyYW5kOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjkpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5re2NvbG9yOnJnYmEoMCwwLDAsLjUpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVye2NvbG9yOnJnYmEoMCwwLDAsLjcpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOnJnYmEoMCwwLDAsLjMpfS5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLnNob3csLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRvZ2dsZXJ7Y29sb3I6cmdiYSgwLDAsMCwuNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5uYXZiYXItbGlnaHQgLm5hdmJhci10b2dnbGVyLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDAsIDAsIDAsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFIil9Lm5hdmJhci1saWdodCAubmF2YmFyLXRleHR7Y29sb3I6cmdiYSgwLDAsMCwuNSl9Lm5hdmJhci1saWdodCAubmF2YmFyLXRleHQgYXtjb2xvcjpyZ2JhKDAsMCwwLC45KX0ubmF2YmFyLWxpZ2h0IC5uYXZiYXItdGV4dCBhOmZvY3VzLC5uYXZiYXItbGlnaHQgLm5hdmJhci10ZXh0IGE6aG92ZXJ7Y29sb3I6cmdiYSgwLDAsMCwuOSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItYnJhbmR7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWRhcmsgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjojZmZmfS5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAubmF2LWxpbmt7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSl9Lm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rOmhvdmVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KX0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLm5hdi1saW5rLmRpc2FibGVke2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KX0ubmF2YmFyLWRhcmsgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LC5uYXZiYXItZGFyayAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmt7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVye2NvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO2JvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4xKX0ubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggc3Ryb2tlPSdyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM0UlM0Mvc3ZnJTNFIil9Lm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dHtjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGF7Y29sb3I6I2ZmZn0ubmF2YmFyLWRhcmsgLm5hdmJhci10ZXh0IGE6Zm9jdXMsLm5hdmJhci1kYXJrIC5uYXZiYXItdGV4dCBhOmhvdmVye2NvbG9yOiNmZmZ9LmNhcmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bWluLXdpZHRoOjA7d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpib3JkZXItYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KTtib3JkZXItcmFkaXVzOi4yNXJlbX0uY2FyZD5ocnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5jYXJkPi5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5jYXJkPi5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0uY2FyZC1ib2R5ey1tcy1mbGV4OjEgMSBhdXRvO2ZsZXg6MSAxIGF1dG87cGFkZGluZzoxLjI1cmVtfS5jYXJkLXRpdGxle21hcmdpbi1ib3R0b206Ljc1cmVtfS5jYXJkLXN1YnRpdGxle21hcmdpbi10b3A6LS4zNzVyZW07bWFyZ2luLWJvdHRvbTowfS5jYXJkLXRleHQ6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9LmNhcmQtbGluazpob3Zlcnt0ZXh0LWRlY29yYXRpb246bm9uZX0uY2FyZC1saW5rKy5jYXJkLWxpbmt7bWFyZ2luLWxlZnQ6MS4yNXJlbX0uY2FyZC1oZWFkZXJ7cGFkZGluZzouNzVyZW0gMS4yNXJlbTttYXJnaW4tYm90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMyk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KX0uY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpIDAgMH0uY2FyZC1oZWFkZXIrLmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjB9LmNhcmQtZm9vdGVye3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wMyk7Ym9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KX0uY2FyZC1mb290ZXI6bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgMCBjYWxjKC4yNXJlbSAtIDFweCkgY2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkLWhlYWRlci10YWJze21hcmdpbi1yaWdodDotLjYyNXJlbTttYXJnaW4tYm90dG9tOi0uNzVyZW07bWFyZ2luLWxlZnQ6LS42MjVyZW07Ym9yZGVyLWJvdHRvbTowfS5jYXJkLWhlYWRlci1waWxsc3ttYXJnaW4tcmlnaHQ6LS42MjVyZW07bWFyZ2luLWxlZnQ6LS42MjVyZW19LmNhcmQtaW1nLW92ZXJsYXl7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7cGFkZGluZzoxLjI1cmVtfS5jYXJkLWltZ3t3aWR0aDoxMDAlO2JvcmRlci1yYWRpdXM6Y2FsYyguMjVyZW0gLSAxcHgpfS5jYXJkLWltZy10b3B7d2lkdGg6MTAwJTtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czpjYWxjKC4yNXJlbSAtIDFweCl9LmNhcmQtaW1nLWJvdHRvbXt3aWR0aDoxMDAlO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOmNhbGMoLjI1cmVtIC0gMXB4KX0uY2FyZC1kZWNre2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5jYXJkLWRlY2sgLmNhcmR7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1kZWNrey1tcy1mbGV4LWZsb3c6cm93IHdyYXA7ZmxleC1mbG93OnJvdyB3cmFwO21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tbGVmdDotMTVweH0uY2FyZC1kZWNrIC5jYXJke2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4OjEgMCAwJTtmbGV4OjEgMCAwJTstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjttYXJnaW4tcmlnaHQ6MTVweDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6MTVweH19LmNhcmQtZ3JvdXB7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmNhcmQtZ3JvdXA+LmNhcmR7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1ncm91cHstbXMtZmxleC1mbG93OnJvdyB3cmFwO2ZsZXgtZmxvdzpyb3cgd3JhcH0uY2FyZC1ncm91cD4uY2FyZHstbXMtZmxleDoxIDAgMCU7ZmxleDoxIDAgMCU7bWFyZ2luLWJvdHRvbTowfS5jYXJkLWdyb3VwPi5jYXJkKy5jYXJke21hcmdpbi1sZWZ0OjA7Ym9yZGVyLWxlZnQ6MH0uY2FyZC1ncm91cD4uY2FyZDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaGVhZGVyLC5jYXJkLWdyb3VwPi5jYXJkOmZpcnN0LWNoaWxkIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpmaXJzdC1jaGlsZCAuY2FyZC1mb290ZXIsLmNhcmQtZ3JvdXA+LmNhcmQ6Zmlyc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOmxhc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWhlYWRlciwuY2FyZC1ncm91cD4uY2FyZDpsYXN0LWNoaWxkIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowfS5jYXJkLWdyb3VwPi5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOmxhc3QtY2hpbGQgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmNhcmQtZ3JvdXA+LmNhcmQ6b25seS1jaGlsZHtib3JkZXItcmFkaXVzOi4yNXJlbX0uY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWhlYWRlciwuY2FyZC1ncm91cD4uY2FyZDpvbmx5LWNoaWxkIC5jYXJkLWltZy10b3B7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtfS5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGQgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOm9ubHktY2hpbGQgLmNhcmQtaW1nLWJvdHRvbXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW19LmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpe2JvcmRlci1yYWRpdXM6MH0uY2FyZC1ncm91cD4uY2FyZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkgLmNhcmQtZm9vdGVyLC5jYXJkLWdyb3VwPi5jYXJkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpvbmx5LWNoaWxkKSAuY2FyZC1oZWFkZXIsLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWltZy1ib3R0b20sLmNhcmQtZ3JvdXA+LmNhcmQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKTpub3QoOm9ubHktY2hpbGQpIC5jYXJkLWltZy10b3B7Ym9yZGVyLXJhZGl1czowfX0uY2FyZC1jb2x1bW5zIC5jYXJke21hcmdpbi1ib3R0b206Ljc1cmVtfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuY2FyZC1jb2x1bW5zey13ZWJraXQtY29sdW1uLWNvdW50OjM7LW1vei1jb2x1bW4tY291bnQ6Mztjb2x1bW4tY291bnQ6Mzstd2Via2l0LWNvbHVtbi1nYXA6MS4yNXJlbTstbW96LWNvbHVtbi1nYXA6MS4yNXJlbTtjb2x1bW4tZ2FwOjEuMjVyZW07b3JwaGFuczoxO3dpZG93czoxfS5jYXJkLWNvbHVtbnMgLmNhcmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJX19LmFjY29yZGlvbiAuY2FyZDpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKXtib3JkZXItYm90dG9tOjA7Ym9yZGVyLXJhZGl1czowfS5hY2NvcmRpb24gLmNhcmQ6bm90KDpmaXJzdC1vZi10eXBlKSAuY2FyZC1oZWFkZXI6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowfS5hY2NvcmRpb24gLmNhcmQ6Zmlyc3Qtb2YtdHlwZXtib3JkZXItYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmFjY29yZGlvbiAuY2FyZDpsYXN0LW9mLXR5cGV7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9LmJyZWFkY3J1bWJ7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtd3JhcDp3cmFwO2ZsZXgtd3JhcDp3cmFwO3BhZGRpbmc6Ljc1cmVtIDFyZW07bWFyZ2luLWJvdHRvbToxcmVtO2xpc3Qtc3R5bGU6bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLXJhZGl1czouMjVyZW19LmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVte3BhZGRpbmctbGVmdDouNXJlbX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06OmJlZm9yZXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLXJpZ2h0Oi41cmVtO2NvbG9yOiM2Yzc1N2Q7Y29udGVudDoiLyJ9LmJyZWFkY3J1bWItaXRlbSsuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmV7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0uYnJlYWRjcnVtYi1pdGVtKy5icmVhZGNydW1iLWl0ZW06aG92ZXI6OmJlZm9yZXt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnJlYWRjcnVtYi1pdGVtLmFjdGl2ZXtjb2xvcjojNmM3NTdkfS5wYWdpbmF0aW9ue2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4O3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZTtib3JkZXItcmFkaXVzOi4yNXJlbX0ucGFnZS1saW5re3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7cGFkZGluZzouNXJlbSAuNzVyZW07bWFyZ2luLWxlZnQ6LTFweDtsaW5lLWhlaWdodDoxLjI1O2NvbG9yOiMwMDdiZmY7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RlZTJlNn0ucGFnZS1saW5rOmhvdmVye3otaW5kZXg6Mjtjb2xvcjojMDA1NmIzO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2U5ZWNlZjtib3JkZXItY29sb3I6I2RlZTJlNn0ucGFnZS1saW5rOmZvY3Vze3otaW5kZXg6MjtvdXRsaW5lOjA7Ym94LXNoYWRvdzowIDAgMCAuMnJlbSByZ2JhKDAsMTIzLDI1NSwuMjUpfS5wYWdlLWxpbms6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCl7Y3Vyc29yOnBvaW50ZXJ9LnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5re21hcmdpbi1sZWZ0OjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW19LnBhZ2UtaXRlbTpsYXN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6LjI1cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4yNXJlbX0ucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5re3otaW5kZXg6MTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZjtib3JkZXItY29sb3I6IzAwN2JmZn0ucGFnZS1pdGVtLmRpc2FibGVkIC5wYWdlLWxpbmt7Y29sb3I6IzZjNzU3ZDtwb2ludGVyLWV2ZW50czpub25lO2N1cnNvcjphdXRvO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItY29sb3I6I2RlZTJlNn0ucGFnaW5hdGlvbi1sZyAucGFnZS1saW5re3BhZGRpbmc6Ljc1cmVtIDEuNXJlbTtmb250LXNpemU6MS4yNXJlbTtsaW5lLWhlaWdodDoxLjV9LnBhZ2luYXRpb24tbGcgLnBhZ2UtaXRlbTpmaXJzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjNyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouM3JlbX0ucGFnaW5hdGlvbi1sZyAucGFnZS1pdGVtOmxhc3QtY2hpbGQgLnBhZ2UtbGlua3tib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouM3JlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouM3JlbX0ucGFnaW5hdGlvbi1zbSAucGFnZS1saW5re3BhZGRpbmc6LjI1cmVtIC41cmVtO2ZvbnQtc2l6ZTouODc1cmVtO2xpbmUtaGVpZ2h0OjEuNX0ucGFnaW5hdGlvbi1zbSAucGFnZS1pdGVtOmZpcnN0LWNoaWxkIC5wYWdlLWxpbmt7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czouMnJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4ycmVtfS5wYWdpbmF0aW9uLXNtIC5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5re2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4ycmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOi4ycmVtfS5iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOi4yNWVtIC40ZW07Zm9udC1zaXplOjc1JTtmb250LXdlaWdodDo3MDA7bGluZS1oZWlnaHQ6MTt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Ym9yZGVyLXJhZGl1czouMjVyZW19LmJhZGdlOmVtcHR5e2Rpc3BsYXk6bm9uZX0uYnRuIC5iYWRnZXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweH0uYmFkZ2UtcGlsbHtwYWRkaW5nLXJpZ2h0Oi42ZW07cGFkZGluZy1sZWZ0Oi42ZW07Ym9yZGVyLXJhZGl1czoxMHJlbX0uYmFkZ2UtcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2JmZn0uYmFkZ2UtcHJpbWFyeVtocmVmXTpmb2N1cywuYmFkZ2UtcHJpbWFyeVtocmVmXTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzAwNjJjY30uYmFkZ2Utc2Vjb25kYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNmM3NTdkfS5iYWRnZS1zZWNvbmRhcnlbaHJlZl06Zm9jdXMsLmJhZGdlLXNlY29uZGFyeVtocmVmXTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzU0NWI2Mn0uYmFkZ2Utc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4YTc0NX0uYmFkZ2Utc3VjY2Vzc1tocmVmXTpmb2N1cywuYmFkZ2Utc3VjY2Vzc1tocmVmXTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzFlN2UzNH0uYmFkZ2UtaW5mb3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzE3YTJiOH0uYmFkZ2UtaW5mb1tocmVmXTpmb2N1cywuYmFkZ2UtaW5mb1tocmVmXTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzExN2E4Yn0uYmFkZ2Utd2FybmluZ3tjb2xvcjojMjEyNTI5O2JhY2tncm91bmQtY29sb3I6I2ZmYzEwN30uYmFkZ2Utd2FybmluZ1tocmVmXTpmb2N1cywuYmFkZ2Utd2FybmluZ1tocmVmXTpob3Zlcntjb2xvcjojMjEyNTI5O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2QzOWUwMH0uYmFkZ2UtZGFuZ2Vye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZGMzNTQ1fS5iYWRnZS1kYW5nZXJbaHJlZl06Zm9jdXMsLmJhZGdlLWRhbmdlcltocmVmXTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2JkMjEzMH0uYmFkZ2UtbGlnaHR7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmF9LmJhZGdlLWxpZ2h0W2hyZWZdOmZvY3VzLC5iYWRnZS1saWdodFtocmVmXTpob3Zlcntjb2xvcjojMjEyNTI5O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2RhZTBlNX0uYmFkZ2UtZGFya3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM0M2E0MH0uYmFkZ2UtZGFya1tocmVmXTpmb2N1cywuYmFkZ2UtZGFya1tocmVmXTpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6IzFkMjEyNH0uanVtYm90cm9ue3BhZGRpbmc6MnJlbSAxcmVtO21hcmdpbi1ib3R0b206MnJlbTtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWY7Ym9yZGVyLXJhZGl1czouM3JlbX1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lmp1bWJvdHJvbntwYWRkaW5nOjRyZW0gMnJlbX19Lmp1bWJvdHJvbi1mbHVpZHtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjA7Ym9yZGVyLXJhZGl1czowfS5hbGVydHtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOi43NXJlbSAxLjI1cmVtO21hcmdpbi1ib3R0b206MXJlbTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6LjI1cmVtfS5hbGVydC1oZWFkaW5ne2NvbG9yOmluaGVyaXR9LmFsZXJ0LWxpbmt7Zm9udC13ZWlnaHQ6NzAwfS5hbGVydC1kaXNtaXNzaWJsZXtwYWRkaW5nLXJpZ2h0OjRyZW19LmFsZXJ0LWRpc21pc3NpYmxlIC5jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07Y29sb3I6aW5oZXJpdH0uYWxlcnQtcHJpbWFyeXtjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6I2NjZTVmZjtib3JkZXItY29sb3I6I2I4ZGFmZn0uYWxlcnQtcHJpbWFyeSBocntib3JkZXItdG9wLWNvbG9yOiM5ZmNkZmZ9LmFsZXJ0LXByaW1hcnkgLmFsZXJ0LWxpbmt7Y29sb3I6IzAwMjc1Mn0uYWxlcnQtc2Vjb25kYXJ5e2NvbG9yOiMzODNkNDE7YmFja2dyb3VuZC1jb2xvcjojZTJlM2U1O2JvcmRlci1jb2xvcjojZDZkOGRifS5hbGVydC1zZWNvbmRhcnkgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYzhjYmNmfS5hbGVydC1zZWNvbmRhcnkgLmFsZXJ0LWxpbmt7Y29sb3I6IzIwMjMyNn0uYWxlcnQtc3VjY2Vzc3tjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2Q0ZWRkYTtib3JkZXItY29sb3I6I2MzZTZjYn0uYWxlcnQtc3VjY2VzcyBocntib3JkZXItdG9wLWNvbG9yOiNiMWRmYmJ9LmFsZXJ0LXN1Y2Nlc3MgLmFsZXJ0LWxpbmt7Y29sb3I6IzBiMmUxM30uYWxlcnQtaW5mb3tjb2xvcjojMGM1NDYwO2JhY2tncm91bmQtY29sb3I6I2QxZWNmMTtib3JkZXItY29sb3I6I2JlZTVlYn0uYWxlcnQtaW5mbyBocntib3JkZXItdG9wLWNvbG9yOiNhYmRkZTV9LmFsZXJ0LWluZm8gLmFsZXJ0LWxpbmt7Y29sb3I6IzA2MmMzM30uYWxlcnQtd2FybmluZ3tjb2xvcjojODU2NDA0O2JhY2tncm91bmQtY29sb3I6I2ZmZjNjZDtib3JkZXItY29sb3I6I2ZmZWViYX0uYWxlcnQtd2FybmluZyBocntib3JkZXItdG9wLWNvbG9yOiNmZmU4YTF9LmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmt7Y29sb3I6IzUzM2YwM30uYWxlcnQtZGFuZ2Vye2NvbG9yOiM3MjFjMjQ7YmFja2dyb3VuZC1jb2xvcjojZjhkN2RhO2JvcmRlci1jb2xvcjojZjVjNmNifS5hbGVydC1kYW5nZXIgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZjFiMGI3fS5hbGVydC1kYW5nZXIgLmFsZXJ0LWxpbmt7Y29sb3I6IzQ5MTIxN30uYWxlcnQtbGlnaHR7Y29sb3I6IzgxODE4MjtiYWNrZ3JvdW5kLWNvbG9yOiNmZWZlZmU7Ym9yZGVyLWNvbG9yOiNmZGZkZmV9LmFsZXJ0LWxpZ2h0IGhye2JvcmRlci10b3AtY29sb3I6I2VjZWNmNn0uYWxlcnQtbGlnaHQgLmFsZXJ0LWxpbmt7Y29sb3I6IzY4Njg2OH0uYWxlcnQtZGFya3tjb2xvcjojMWIxZTIxO2JhY2tncm91bmQtY29sb3I6I2Q2ZDhkOTtib3JkZXItY29sb3I6I2M2YzhjYX0uYWxlcnQtZGFyayBocntib3JkZXItdG9wLWNvbG9yOiNiOWJiYmV9LmFsZXJ0LWRhcmsgLmFsZXJ0LWxpbmt7Y29sb3I6IzA0MDUwNX1ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjFyZW0gMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19QGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246MXJlbSAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX0ucHJvZ3Jlc3N7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjFyZW07b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTouNzVyZW07YmFja2dyb3VuZC1jb2xvcjojZTllY2VmO2JvcmRlci1yYWRpdXM6LjI1cmVtfS5wcm9ncmVzcy1iYXJ7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmY7dHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZX1AbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2Upey5wcm9ncmVzcy1iYXJ7dHJhbnNpdGlvbjpub25lfX0ucHJvZ3Jlc3MtYmFyLXN0cmlwZWR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtc2l6ZToxcmVtIDFyZW19LnByb2dyZXNzLWJhci1hbmltYXRlZHstd2Via2l0LWFuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDFzIGxpbmVhciBpbmZpbml0ZX0ubWVkaWF7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtYWxpZ246c3RhcnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0ubWVkaWEtYm9keXstbXMtZmxleDoxO2ZsZXg6MX0ubGlzdC1ncm91cHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjB9Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb257d2lkdGg6MTAwJTtjb2xvcjojNDk1MDU3O3RleHQtYWxpZ246aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojNDk1MDU3O3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2Y4ZjlmYX0ubGlzdC1ncm91cC1pdGVtLWFjdGlvbjphY3RpdmV7Y29sb3I6IzIxMjUyOTtiYWNrZ3JvdW5kLWNvbG9yOiNlOWVjZWZ9Lmxpc3QtZ3JvdXAtaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6Ljc1cmVtIDEuMjVyZW07bWFyZ2luLWJvdHRvbTotMXB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSl9Lmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW19Lmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW07Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW19Lmxpc3QtZ3JvdXAtaXRlbTpmb2N1cywubGlzdC1ncm91cC1pdGVtOmhvdmVye3otaW5kZXg6MTt0ZXh0LWRlY29yYXRpb246bm9uZX0ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLC5saXN0LWdyb3VwLWl0ZW06ZGlzYWJsZWR7Y29sb3I6IzZjNzU3ZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmV7ei1pbmRleDoyO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDA3YmZmO2JvcmRlci1jb2xvcjojMDA3YmZmfS5saXN0LWdyb3VwLWZsdXNoIC5saXN0LWdyb3VwLWl0ZW17Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWxlZnQ6MDtib3JkZXItcmFkaXVzOjB9Lmxpc3QtZ3JvdXAtZmx1c2g6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjB9Lmxpc3QtZ3JvdXAtZmx1c2g6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbTowfS5saXN0LWdyb3VwLWl0ZW0tcHJpbWFyeXtjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6I2I4ZGFmZn0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMDA0MDg1O2JhY2tncm91bmQtY29sb3I6IzlmY2RmZn0ubGlzdC1ncm91cC1pdGVtLXByaW1hcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDQwODU7Ym9yZGVyLWNvbG9yOiMwMDQwODV9Lmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnl7Y29sb3I6IzM4M2Q0MTtiYWNrZ3JvdW5kLWNvbG9yOiNkNmQ4ZGJ9Lmxpc3QtZ3JvdXAtaXRlbS1zZWNvbmRhcnkubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXNlY29uZGFyeS5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMzODNkNDE7YmFja2dyb3VuZC1jb2xvcjojYzhjYmNmfS5saXN0LWdyb3VwLWl0ZW0tc2Vjb25kYXJ5Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzgzZDQxO2JvcmRlci1jb2xvcjojMzgzZDQxfS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzc3tjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2MzZTZjYn0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojMTU1NzI0O2JhY2tncm91bmQtY29sb3I6I2IxZGZiYn0ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MubGlzdC1ncm91cC1pdGVtLWFjdGlvbi5hY3RpdmV7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMxNTU3MjQ7Ym9yZGVyLWNvbG9yOiMxNTU3MjR9Lmxpc3QtZ3JvdXAtaXRlbS1pbmZve2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojYmVlNWVifS5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uOmhvdmVye2NvbG9yOiMwYzU0NjA7YmFja2dyb3VuZC1jb2xvcjojYWJkZGU1fS5saXN0LWdyb3VwLWl0ZW0taW5mby5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzBjNTQ2MDtib3JkZXItY29sb3I6IzBjNTQ2MH0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6Izg1NjQwNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmVlYmF9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6Izg1NjQwNDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmU4YTF9Lmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojODU2NDA0O2JvcmRlci1jb2xvcjojODU2NDA0fS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2Vye2NvbG9yOiM3MjFjMjQ7YmFja2dyb3VuZC1jb2xvcjojZjVjNmNifS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpob3Zlcntjb2xvcjojNzIxYzI0O2JhY2tncm91bmQtY29sb3I6I2YxYjBiN30ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzcyMWMyNDtib3JkZXItY29sb3I6IzcyMWMyNH0ubGlzdC1ncm91cC1pdGVtLWxpZ2h0e2NvbG9yOiM4MTgxODI7YmFja2dyb3VuZC1jb2xvcjojZmRmZGZlfS5saXN0LWdyb3VwLWl0ZW0tbGlnaHQubGlzdC1ncm91cC1pdGVtLWFjdGlvbjpmb2N1cywubGlzdC1ncm91cC1pdGVtLWxpZ2h0Lmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzgxODE4MjtiYWNrZ3JvdW5kLWNvbG9yOiNlY2VjZjZ9Lmxpc3QtZ3JvdXAtaXRlbS1saWdodC5saXN0LWdyb3VwLWl0ZW0tYWN0aW9uLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzgxODE4Mjtib3JkZXItY29sb3I6IzgxODE4Mn0ubGlzdC1ncm91cC1pdGVtLWRhcmt7Y29sb3I6IzFiMWUyMTtiYWNrZ3JvdW5kLWNvbG9yOiNjNmM4Y2F9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb246aG92ZXJ7Y29sb3I6IzFiMWUyMTtiYWNrZ3JvdW5kLWNvbG9yOiNiOWJiYmV9Lmxpc3QtZ3JvdXAtaXRlbS1kYXJrLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24uYWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMWIxZTIxO2JvcmRlci1jb2xvcjojMWIxZTIxfS5jbG9zZXtmbG9hdDpyaWdodDtmb250LXNpemU6MS41cmVtO2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxO2NvbG9yOiMwMDA7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO29wYWNpdHk6LjV9LmNsb3NlOmZvY3VzLC5jbG9zZTpob3Zlcntjb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lO29wYWNpdHk6Ljc1fS5jbG9zZTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKXtjdXJzb3I6cG9pbnRlcn1idXR0b24uY2xvc2V7cGFkZGluZzowO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjA7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9Lm1vZGFsLW9wZW57b3ZlcmZsb3c6aGlkZGVufS5tb2RhbHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjEwNTA7ZGlzcGxheTpub25lO292ZXJmbG93OmhpZGRlbjtvdXRsaW5lOjB9Lm1vZGFsLW9wZW4gLm1vZGFse292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0b30ubW9kYWwtZGlhbG9ne3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOmF1dG87bWFyZ2luOi41cmVtO3BvaW50ZXItZXZlbnRzOm5vbmV9Lm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZ3t0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0LC13ZWJraXQtdHJhbnNmb3JtIC4zcyBlYXNlLW91dDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSl9QG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246cmVkdWNlKXsubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9ne3RyYW5zaXRpb246bm9uZX19Lm1vZGFsLnNob3cgLm1vZGFsLWRpYWxvZ3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9Lm1vZGFsLWRpYWxvZy1jZW50ZXJlZHtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6Y2FsYygxMDAlIC0gKC41cmVtICogMikpfS5tb2RhbC1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uO3dpZHRoOjEwMCU7cG9pbnRlci1ldmVudHM6YXV0bztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMik7Ym9yZGVyLXJhZGl1czouM3JlbTtvdXRsaW5lOjB9Lm1vZGFsLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6MTA0MDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9Lm1vZGFsLWJhY2tkcm9wLmZhZGV7b3BhY2l0eTowfS5tb2RhbC1iYWNrZHJvcC5zaG93e29wYWNpdHk6LjV9Lm1vZGFsLWhlYWRlcntkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1hbGlnbjpzdGFydDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0Oy1tcy1mbGV4LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjFyZW07Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U5ZWNlZjtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4zcmVtO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4zcmVtfS5tb2RhbC1oZWFkZXIgLmNsb3Nle3BhZGRpbmc6MXJlbTttYXJnaW46LTFyZW0gLTFyZW0gLTFyZW0gYXV0b30ubW9kYWwtdGl0bGV7bWFyZ2luLWJvdHRvbTowO2xpbmUtaGVpZ2h0OjEuNX0ubW9kYWwtYm9keXtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtZmxleDoxIDEgYXV0bztmbGV4OjEgMSBhdXRvO3BhZGRpbmc6MXJlbX0ubW9kYWwtZm9vdGVye2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtcGFjazplbmQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kO3BhZGRpbmc6MXJlbTtib3JkZXItdG9wOjFweCBzb2xpZCAjZTllY2VmfS5tb2RhbC1mb290ZXI+Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0ubW9kYWwtZm9vdGVyPjpub3QoOmxhc3QtY2hpbGQpe21hcmdpbi1yaWdodDouMjVyZW19Lm1vZGFsLXNjcm9sbGJhci1tZWFzdXJle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOTk5OXB4O3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6c2Nyb2xsfUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsubW9kYWwtZGlhbG9ne21heC13aWR0aDo1MDBweDttYXJnaW46MS43NXJlbSBhdXRvfS5tb2RhbC1kaWFsb2ctY2VudGVyZWR7bWluLWhlaWdodDpjYWxjKDEwMCUgLSAoMS43NXJlbSAqIDIpKX0ubW9kYWwtc217bWF4LXdpZHRoOjMwMHB4fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm1vZGFsLWxne21heC13aWR0aDo4MDBweH19LnRvb2x0aXB7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDcwO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsIlNlZ29lIFVJIixSb2JvdG8sIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmLCJBcHBsZSBDb2xvciBFbW9qaSIsIlNlZ29lIFVJIEVtb2ppIiwiU2Vnb2UgVUkgU3ltYm9sIjtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS41O3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3aGl0ZS1zcGFjZTpub3JtYWw7bGluZS1icmVhazphdXRvO2ZvbnQtc2l6ZTouODc1cmVtO3dvcmQtd3JhcDpicmVhay13b3JkO29wYWNpdHk6MH0udG9vbHRpcC5zaG93e29wYWNpdHk6Ljl9LnRvb2x0aXAgLmFycm93e3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6LjhyZW07aGVpZ2h0Oi40cmVtfS50b29sdGlwIC5hcnJvdzo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdLC5icy10b29sdGlwLXRvcHtwYWRkaW5nOi40cmVtIDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3csLmJzLXRvb2x0aXAtdG9wIC5hcnJvd3tib3R0b206MH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdzo6YmVmb3JlLC5icy10b29sdGlwLXRvcCAuYXJyb3c6OmJlZm9yZXt0b3A6MDtib3JkZXItd2lkdGg6LjRyZW0gLjRyZW0gMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdLC5icy10b29sdGlwLXJpZ2h0e3BhZGRpbmc6MCAuNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LC5icy10b29sdGlwLXJpZ2h0IC5hcnJvd3tsZWZ0OjA7d2lkdGg6LjRyZW07aGVpZ2h0Oi44cmVtfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSAuYXJyb3c6OmJlZm9yZSwuYnMtdG9vbHRpcC1yaWdodCAuYXJyb3c6OmJlZm9yZXtyaWdodDowO2JvcmRlci13aWR0aDouNHJlbSAuNHJlbSAuNHJlbSAwO2JvcmRlci1yaWdodC1jb2xvcjojMDAwfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0sLmJzLXRvb2x0aXAtYm90dG9te3BhZGRpbmc6LjRyZW0gMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdywuYnMtdG9vbHRpcC1ib3R0b20gLmFycm93e3RvcDowfS5icy10b29sdGlwLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtYm90dG9tIC5hcnJvdzo6YmVmb3Jle2JvdHRvbTowO2JvcmRlci13aWR0aDowIC40cmVtIC40cmVtO2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSwuYnMtdG9vbHRpcC1sZWZ0e3BhZGRpbmc6MCAuNHJlbX0uYnMtdG9vbHRpcC1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3csLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3d7cmlnaHQ6MDt3aWR0aDouNHJlbTtoZWlnaHQ6LjhyZW19LmJzLXRvb2x0aXAtYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjpiZWZvcmUsLmJzLXRvb2x0aXAtbGVmdCAuYXJyb3c6OmJlZm9yZXtsZWZ0OjA7Ym9yZGVyLXdpZHRoOi40cmVtIDAgLjRyZW0gLjRyZW07Ym9yZGVyLWxlZnQtY29sb3I6IzAwMH0udG9vbHRpcC1pbm5lcnttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzouMjVyZW0gLjVyZW07Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czouMjVyZW19LnBvcG92ZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3otaW5kZXg6MTA2MDtkaXNwbGF5OmJsb2NrO21heC13aWR0aDoyNzZweDtmb250LWZhbWlseTotYXBwbGUtc3lzdGVtLEJsaW5rTWFjU3lzdGVtRm9udCwiU2Vnb2UgVUkiLFJvYm90bywiSGVsdmV0aWNhIE5ldWUiLEFyaWFsLHNhbnMtc2VyaWYsIkFwcGxlIENvbG9yIEVtb2ppIiwiU2Vnb2UgVUkgRW1vamkiLCJTZWdvZSBVSSBTeW1ib2wiO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjU7dGV4dC1hbGlnbjpsZWZ0O3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1zaGFkb3c6bm9uZTt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLWJyZWFrOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3doaXRlLXNwYWNlOm5vcm1hbDtsaW5lLWJyZWFrOmF1dG87Zm9udC1zaXplOi44NzVyZW07d29yZC13cmFwOmJyZWFrLXdvcmQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6LjNyZW19LnBvcG92ZXIgLmFycm93e3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MXJlbTtoZWlnaHQ6LjVyZW07bWFyZ2luOjAgLjNyZW19LnBvcG92ZXIgLmFycm93OjphZnRlciwucG9wb3ZlciAuYXJyb3c6OmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTtkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiI7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdLC5icy1wb3BvdmVyLXRvcHttYXJnaW4tYm90dG9tOi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXRvcF0gLmFycm93LC5icy1wb3BvdmVyLXRvcCAuYXJyb3d7Ym90dG9tOmNhbGMoKC41cmVtICsgMXB4KSAqIC0xKX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj10b3BdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci10b3AgLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci10b3AgLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOi41cmVtIC41cmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci10b3AgLmFycm93OjpiZWZvcmV7Ym90dG9tOjA7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49dG9wXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLXRvcCAuYXJyb3c6OmFmdGVye2JvdHRvbToxcHg7Ym9yZGVyLXRvcC1jb2xvcjojZmZmfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePXJpZ2h0XSwuYnMtcG9wb3Zlci1yaWdodHttYXJnaW4tbGVmdDouNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93LC5icy1wb3BvdmVyLXJpZ2h0IC5hcnJvd3tsZWZ0OmNhbGMoKC41cmVtICsgMXB4KSAqIC0xKTt3aWR0aDouNXJlbTtoZWlnaHQ6MXJlbTttYXJnaW46LjNyZW0gMH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1yaWdodCAuYXJyb3c6OmJlZm9yZXtib3JkZXItd2lkdGg6LjVyZW0gLjVyZW0gLjVyZW0gMH0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1yaWdodF0gLmFycm93OjpiZWZvcmUsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjpiZWZvcmV7bGVmdDowO2JvcmRlci1yaWdodC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49cmlnaHRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItcmlnaHQgLmFycm93OjphZnRlcntsZWZ0OjFweDtib3JkZXItcmlnaHQtY29sb3I6I2ZmZn0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dLC5icy1wb3BvdmVyLWJvdHRvbXttYXJnaW4tdG9wOi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLmFycm93LC5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3d7dG9wOmNhbGMoKC41cmVtICsgMXB4KSAqIC0xKX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1ib3R0b21dIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjpiZWZvcmV7Ym9yZGVyLXdpZHRoOjAgLjVyZW0gLjVyZW0gLjVyZW19LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1ib3R0b20gLmFycm93OjpiZWZvcmV7dG9wOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49Ym90dG9tXSAuYXJyb3c6OmFmdGVyLC5icy1wb3BvdmVyLWJvdHRvbSAuYXJyb3c6OmFmdGVye3RvcDoxcHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWJvdHRvbV0gLnBvcG92ZXItaGVhZGVyOjpiZWZvcmUsLmJzLXBvcG92ZXItYm90dG9tIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6NTAlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MXJlbTttYXJnaW4tbGVmdDotLjVyZW07Y29udGVudDoiIjtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZjdmN2Y3fS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdLC5icy1wb3BvdmVyLWxlZnR7bWFyZ2luLXJpZ2h0Oi41cmVtfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdywuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvd3tyaWdodDpjYWxjKCguNXJlbSArIDFweCkgKiAtMSk7d2lkdGg6LjVyZW07aGVpZ2h0OjFyZW07bWFyZ2luOi4zcmVtIDB9LmJzLXBvcG92ZXItYXV0b1t4LXBsYWNlbWVudF49bGVmdF0gLmFycm93OjphZnRlciwuYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmJlZm9yZXtib3JkZXItd2lkdGg6LjVyZW0gMCAuNXJlbSAuNXJlbX0uYnMtcG9wb3Zlci1hdXRvW3gtcGxhY2VtZW50Xj1sZWZ0XSAuYXJyb3c6OmJlZm9yZSwuYnMtcG9wb3Zlci1sZWZ0IC5hcnJvdzo6YmVmb3Jle3JpZ2h0OjA7Ym9yZGVyLWxlZnQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5icy1wb3BvdmVyLWF1dG9beC1wbGFjZW1lbnRePWxlZnRdIC5hcnJvdzo6YWZ0ZXIsLmJzLXBvcG92ZXItbGVmdCAuYXJyb3c6OmFmdGVye3JpZ2h0OjFweDtib3JkZXItbGVmdC1jb2xvcjojZmZmfS5wb3BvdmVyLWhlYWRlcntwYWRkaW5nOi41cmVtIC43NXJlbTttYXJnaW4tYm90dG9tOjA7Zm9udC1zaXplOjFyZW07Y29sb3I6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtib3JkZXItdG9wLWxlZnQtcmFkaXVzOmNhbGMoLjNyZW0gLSAxcHgpO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOmNhbGMoLjNyZW0gLSAxcHgpfS5wb3BvdmVyLWhlYWRlcjplbXB0eXtkaXNwbGF5Om5vbmV9LnBvcG92ZXItYm9keXtwYWRkaW5nOi41cmVtIC43NXJlbTtjb2xvcjojMjEyNTI5fS5jYXJvdXNlbHtwb3NpdGlvbjpyZWxhdGl2ZX0uY2Fyb3VzZWwtaW5uZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtvdmVyZmxvdzpoaWRkZW59LmNhcm91c2VsLWl0ZW17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpub25lOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTt0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlO3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlO3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlLC13ZWJraXQtdHJhbnNmb3JtIC42cyBlYXNlOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC1wZXJzcGVjdGl2ZToxMDAwcHg7cGVyc3BlY3RpdmU6MTAwMHB4fUBtZWRpYSBzY3JlZW4gYW5kIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOnJlZHVjZSl7LmNhcm91c2VsLWl0ZW17dHJhbnNpdGlvbjpub25lfX0uY2Fyb3VzZWwtaXRlbS1uZXh0LC5jYXJvdXNlbC1pdGVtLXByZXYsLmNhcm91c2VsLWl0ZW0uYWN0aXZle2Rpc3BsYXk6YmxvY2t9LmNhcm91c2VsLWl0ZW0tbmV4dCwuY2Fyb3VzZWwtaXRlbS1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowfS5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfUBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSl7LmNhcm91c2VsLWl0ZW0tbmV4dC5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWl0ZW0tcHJldi5jYXJvdXNlbC1pdGVtLXJpZ2h0ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfX0uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQsLmNhcm91c2VsLWl0ZW0tbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpfUBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSl7LmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXJpZ2h0LC5jYXJvdXNlbC1pdGVtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9fS5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1pdGVtLXByZXZ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpfUBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSl7LmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWl0ZW0tcHJldnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApfX0uY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbXtvcGFjaXR5OjA7dHJhbnNpdGlvbi1kdXJhdGlvbjouNnM7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLW5leHQuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCwuY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS5hY3RpdmV7b3BhY2l0eToxfS5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1sZWZ0LC5jYXJvdXNlbC1mYWRlIC5hY3RpdmUuY2Fyb3VzZWwtaXRlbS1yaWdodHtvcGFjaXR5OjB9LmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXByZXYsLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dCwuY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfUBzdXBwb3J0cyAoKC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSBvciAodHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkKSl7LmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQsLmNhcm91c2VsLWZhZGUgLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLXByZXYsLmNhcm91c2VsLWZhZGUgLmNhcm91c2VsLWl0ZW0tbmV4dCwuY2Fyb3VzZWwtZmFkZSAuY2Fyb3VzZWwtaXRlbS1wcmV2LC5jYXJvdXNlbC1mYWRlIC5jYXJvdXNlbC1pdGVtLmFjdGl2ZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19LmNhcm91c2VsLWNvbnRyb2wtbmV4dCwuY2Fyb3VzZWwtY29udHJvbC1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2JvdHRvbTowO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LW1zLWZsZXgtcGFjazpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt3aWR0aDoxNSU7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtvcGFjaXR5Oi41fS5jYXJvdXNlbC1jb250cm9sLW5leHQ6Zm9jdXMsLmNhcm91c2VsLWNvbnRyb2wtbmV4dDpob3ZlciwuY2Fyb3VzZWwtY29udHJvbC1wcmV2OmZvY3VzLC5jYXJvdXNlbC1jb250cm9sLXByZXY6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtvdXRsaW5lOjA7b3BhY2l0eTouOX0uY2Fyb3VzZWwtY29udHJvbC1wcmV2e2xlZnQ6MH0uY2Fyb3VzZWwtY29udHJvbC1uZXh0e3JpZ2h0OjB9LmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLC5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJX0uY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nJTIzZmZmJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRSIpfS5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSclMjNmZmYnIHZpZXdCb3g9JzAgMCA4IDgnJTNFJTNDcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM0UlM0Mvc3ZnJTNFIil9LmNhcm91c2VsLWluZGljYXRvcnN7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtib3R0b206MTBweDtsZWZ0OjA7ei1pbmRleDoxNTtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmctbGVmdDowO21hcmdpbi1yaWdodDoxNSU7bWFyZ2luLWxlZnQ6MTUlO2xpc3Qtc3R5bGU6bm9uZX0uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaXtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtZmxleDowIDEgYXV0bztmbGV4OjAgMSBhdXRvO3dpZHRoOjMwcHg7aGVpZ2h0OjNweDttYXJnaW4tcmlnaHQ6M3B4O21hcmdpbi1sZWZ0OjNweDt0ZXh0LWluZGVudDotOTk5cHg7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KX0uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaTo6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTBweDtsZWZ0OjA7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTBweDtjb250ZW50OiIifS5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206LTEwcHg7bGVmdDowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwcHg7Y29udGVudDoiIn0uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZle2JhY2tncm91bmQtY29sb3I6I2ZmZn0uY2Fyb3VzZWwtY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxNSU7Ym90dG9tOjIwcHg7bGVmdDoxNSU7ei1pbmRleDoxMDtwYWRkaW5nLXRvcDoyMHB4O3BhZGRpbmctYm90dG9tOjIwcHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcn0uYWxpZ24tYmFzZWxpbmV7dmVydGljYWwtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi10b3B7dmVydGljYWwtYWxpZ246dG9wIWltcG9ydGFudH0uYWxpZ24tbWlkZGxle3ZlcnRpY2FsLWFsaWduOm1pZGRsZSFpbXBvcnRhbnR9LmFsaWduLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b20haW1wb3J0YW50fS5hbGlnbi10ZXh0LWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjp0ZXh0LWJvdHRvbSFpbXBvcnRhbnR9LmFsaWduLXRleHQtdG9we3ZlcnRpY2FsLWFsaWduOnRleHQtdG9wIWltcG9ydGFudH0uYmctcHJpbWFyeXtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdiZmYhaW1wb3J0YW50fWEuYmctcHJpbWFyeTpmb2N1cyxhLmJnLXByaW1hcnk6aG92ZXIsYnV0dG9uLmJnLXByaW1hcnk6Zm9jdXMsYnV0dG9uLmJnLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6IzZjNzU3ZCFpbXBvcnRhbnR9YS5iZy1zZWNvbmRhcnk6Zm9jdXMsYS5iZy1zZWNvbmRhcnk6aG92ZXIsYnV0dG9uLmJnLXNlY29uZGFyeTpmb2N1cyxidXR0b24uYmctc2Vjb25kYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzU0NWI2MiFpbXBvcnRhbnR9LmJnLXN1Y2Nlc3N7YmFja2dyb3VuZC1jb2xvcjojMjhhNzQ1IWltcG9ydGFudH1hLmJnLXN1Y2Nlc3M6Zm9jdXMsYS5iZy1zdWNjZXNzOmhvdmVyLGJ1dHRvbi5iZy1zdWNjZXNzOmZvY3VzLGJ1dHRvbi5iZy1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzFlN2UzNCFpbXBvcnRhbnR9LmJnLWluZm97YmFja2dyb3VuZC1jb2xvcjojMTdhMmI4IWltcG9ydGFudH1hLmJnLWluZm86Zm9jdXMsYS5iZy1pbmZvOmhvdmVyLGJ1dHRvbi5iZy1pbmZvOmZvY3VzLGJ1dHRvbi5iZy1pbmZvOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzExN2E4YiFpbXBvcnRhbnR9LmJnLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmZjMTA3IWltcG9ydGFudH1hLmJnLXdhcm5pbmc6Zm9jdXMsYS5iZy13YXJuaW5nOmhvdmVyLGJ1dHRvbi5iZy13YXJuaW5nOmZvY3VzLGJ1dHRvbi5iZy13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2QzOWUwMCFpbXBvcnRhbnR9LmJnLWRhbmdlcntiYWNrZ3JvdW5kLWNvbG9yOiNkYzM1NDUhaW1wb3J0YW50fWEuYmctZGFuZ2VyOmZvY3VzLGEuYmctZGFuZ2VyOmhvdmVyLGJ1dHRvbi5iZy1kYW5nZXI6Zm9jdXMsYnV0dG9uLmJnLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNiZDIxMzAhaW1wb3J0YW50fS5iZy1saWdodHtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY5ZmEhaW1wb3J0YW50fWEuYmctbGlnaHQ6Zm9jdXMsYS5iZy1saWdodDpob3ZlcixidXR0b24uYmctbGlnaHQ6Zm9jdXMsYnV0dG9uLmJnLWxpZ2h0OmhvdmVye2JhY2tncm91bmQtY29sb3I6I2RhZTBlNSFpbXBvcnRhbnR9LmJnLWRhcmt7YmFja2dyb3VuZC1jb2xvcjojMzQzYTQwIWltcG9ydGFudH1hLmJnLWRhcms6Zm9jdXMsYS5iZy1kYXJrOmhvdmVyLGJ1dHRvbi5iZy1kYXJrOmZvY3VzLGJ1dHRvbi5iZy1kYXJrOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzFkMjEyNCFpbXBvcnRhbnR9LmJnLXdoaXRle2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLXRyYW5zcGFyZW50e2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQhaW1wb3J0YW50fS5ib3JkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLXRvcHtib3JkZXItdG9wOjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLXJpZ2h0e2JvcmRlci1yaWdodDoxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZTJlNiFpbXBvcnRhbnR9LmJvcmRlci1sZWZ0e2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGVlMmU2IWltcG9ydGFudH0uYm9yZGVyLTB7Ym9yZGVyOjAhaW1wb3J0YW50fS5ib3JkZXItdG9wLTB7Ym9yZGVyLXRvcDowIWltcG9ydGFudH0uYm9yZGVyLXJpZ2h0LTB7Ym9yZGVyLXJpZ2h0OjAhaW1wb3J0YW50fS5ib3JkZXItYm90dG9tLTB7Ym9yZGVyLWJvdHRvbTowIWltcG9ydGFudH0uYm9yZGVyLWxlZnQtMHtib3JkZXItbGVmdDowIWltcG9ydGFudH0uYm9yZGVyLXByaW1hcnl7Ym9yZGVyLWNvbG9yOiMwMDdiZmYhaW1wb3J0YW50fS5ib3JkZXItc2Vjb25kYXJ5e2JvcmRlci1jb2xvcjojNmM3NTdkIWltcG9ydGFudH0uYm9yZGVyLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiMyOGE3NDUhaW1wb3J0YW50fS5ib3JkZXItaW5mb3tib3JkZXItY29sb3I6IzE3YTJiOCFpbXBvcnRhbnR9LmJvcmRlci13YXJuaW5ne2JvcmRlci1jb2xvcjojZmZjMTA3IWltcG9ydGFudH0uYm9yZGVyLWRhbmdlcntib3JkZXItY29sb3I6I2RjMzU0NSFpbXBvcnRhbnR9LmJvcmRlci1saWdodHtib3JkZXItY29sb3I6I2Y4ZjlmYSFpbXBvcnRhbnR9LmJvcmRlci1kYXJre2JvcmRlci1jb2xvcjojMzQzYTQwIWltcG9ydGFudH0uYm9yZGVyLXdoaXRle2JvcmRlci1jb2xvcjojZmZmIWltcG9ydGFudH0ucm91bmRlZHtib3JkZXItcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtdG9we2JvcmRlci10b3AtbGVmdC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLXJpZ2h0e2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudH0ucm91bmRlZC1ib3R0b217Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6LjI1cmVtIWltcG9ydGFudDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnR9LnJvdW5kZWQtbGVmdHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbSFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czouMjVyZW0haW1wb3J0YW50fS5yb3VuZGVkLWNpcmNsZXtib3JkZXItcmFkaXVzOjUwJSFpbXBvcnRhbnR9LnJvdW5kZWQtMHtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50fS5jbGVhcmZpeDo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO2NvbnRlbnQ6IiJ9LmQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1mbGV4e2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtaW5saW5lLWZsZXh7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsuZC1zbS1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtc20taW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1zbS1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLXNtLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLXNtLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLXNtLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtc20tdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLXNtLWZsZXh7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1zbS1pbmxpbmUtZmxleHtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZC1tZC1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtbWQtaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1tZC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLW1kLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLW1kLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLW1kLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtbWQtdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLW1kLWZsZXh7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1tZC1pbmxpbmUtZmxleHtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZC1sZy1ub25le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmQtbGctaW5saW5le2Rpc3BsYXk6aW5saW5lIWltcG9ydGFudH0uZC1sZy1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fS5kLWxnLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5kLWxnLXRhYmxle2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fS5kLWxnLXRhYmxlLXJvd3tkaXNwbGF5OnRhYmxlLXJvdyFpbXBvcnRhbnR9LmQtbGctdGFibGUtY2VsbHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fS5kLWxnLWZsZXh7ZGlzcGxheTotbXMtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTpmbGV4IWltcG9ydGFudH0uZC1sZy1pbmxpbmUtZmxleHtkaXNwbGF5Oi1tcy1pbmxpbmUtZmxleGJveCFpbXBvcnRhbnQ7ZGlzcGxheTppbmxpbmUtZmxleCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmQteGwtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLXhsLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQteGwtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC14bC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC14bC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC14bC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXhsLXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC14bC1mbGV4e2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQteGwtaW5saW5lLWZsZXh7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX1AbWVkaWEgcHJpbnR7LmQtcHJpbnQtbm9uZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5kLXByaW50LWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9LmQtcHJpbnQtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH0uZC1wcmludC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH0uZC1wcmludC10YWJsZXtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH0uZC1wcmludC10YWJsZS1yb3d7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fS5kLXByaW50LXRhYmxlLWNlbGx7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH0uZC1wcmludC1mbGV4e2Rpc3BsYXk6LW1zLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnR9LmQtcHJpbnQtaW5saW5lLWZsZXh7ZGlzcGxheTotbXMtaW5saW5lLWZsZXhib3ghaW1wb3J0YW50O2Rpc3BsYXk6aW5saW5lLWZsZXghaW1wb3J0YW50fX0uZW1iZWQtcmVzcG9uc2l2ZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbn0uZW1iZWQtcmVzcG9uc2l2ZTo6YmVmb3Jle2Rpc3BsYXk6YmxvY2s7Y29udGVudDoiIn0uZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLC5lbWJlZC1yZXNwb25zaXZlIGlmcmFtZSwuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsLmVtYmVkLXJlc3BvbnNpdmUgdmlkZW97cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOjB9LmVtYmVkLXJlc3BvbnNpdmUtMjFieTk6OmJlZm9yZXtwYWRkaW5nLXRvcDo0Mi44NTcxNDMlfS5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5OjpiZWZvcmV7cGFkZGluZy10b3A6NTYuMjUlfS5lbWJlZC1yZXNwb25zaXZlLTRieTM6OmJlZm9yZXtwYWRkaW5nLXRvcDo3NSV9LmVtYmVkLXJlc3BvbnNpdmUtMWJ5MTo6YmVmb3Jle3BhZGRpbmctdG9wOjEwMCV9LmZsZXgtcm93ey1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgtY29sdW1uey1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtcm93LXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtY29sdW1uLXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtZmlsbHstbXMtZmxleDoxIDEgYXV0byFpbXBvcnRhbnQ7ZmxleDoxIDEgYXV0byFpbXBvcnRhbnR9LmZsZXgtZ3Jvdy0wey1tcy1mbGV4LXBvc2l0aXZlOjAhaW1wb3J0YW50O2ZsZXgtZ3JvdzowIWltcG9ydGFudH0uZmxleC1ncm93LTF7LW1zLWZsZXgtcG9zaXRpdmU6MSFpbXBvcnRhbnQ7ZmxleC1ncm93OjEhaW1wb3J0YW50fS5mbGV4LXNocmluay0wey1tcy1mbGV4LW5lZ2F0aXZlOjAhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjAhaW1wb3J0YW50fS5mbGV4LXNocmluay0xey1tcy1mbGV4LW5lZ2F0aXZlOjEhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjEhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc3RhcnR7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtZW5key1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyey1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWJldHdlZW57LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtc3RhcnR7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1lbmR7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWNlbnRlcnstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWJhc2VsaW5ley1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXN0cmV0Y2h7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYtYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9QG1lZGlhIChtaW4td2lkdGg6NTc2cHgpey5mbGV4LXNtLXJvd3stbXMtZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50fS5mbGV4LXNtLWNvbHVtbnstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50fS5mbGV4LXNtLXJvdy1yZXZlcnNley1tcy1mbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXNtLWNvbHVtbi1yZXZlcnNley1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXNtLXdyYXB7LW1zLWZsZXgtd3JhcDp3cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnR9LmZsZXgtc20tbm93cmFwey1tcy1mbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudDtmbGV4LXdyYXA6bm93cmFwIWltcG9ydGFudH0uZmxleC1zbS13cmFwLXJldmVyc2V7LW1zLWZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwLXJldmVyc2UhaW1wb3J0YW50fS5mbGV4LXNtLWZpbGx7LW1zLWZsZXg6MSAxIGF1dG8haW1wb3J0YW50O2ZsZXg6MSAxIGF1dG8haW1wb3J0YW50fS5mbGV4LXNtLWdyb3ctMHstbXMtZmxleC1wb3NpdGl2ZTowIWltcG9ydGFudDtmbGV4LWdyb3c6MCFpbXBvcnRhbnR9LmZsZXgtc20tZ3Jvdy0xey1tcy1mbGV4LXBvc2l0aXZlOjEhaW1wb3J0YW50O2ZsZXgtZ3JvdzoxIWltcG9ydGFudH0uZmxleC1zbS1zaHJpbmstMHstbXMtZmxleC1uZWdhdGl2ZTowIWltcG9ydGFudDtmbGV4LXNocmluazowIWltcG9ydGFudH0uZmxleC1zbS1zaHJpbmstMXstbXMtZmxleC1uZWdhdGl2ZToxIWltcG9ydGFudDtmbGV4LXNocmluazoxIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLXN0YXJ0ey1tcy1mbGV4LXBhY2s6c3RhcnQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWVuZHstbXMtZmxleC1wYWNrOmVuZCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXNtLWNlbnRlcnstbXMtZmxleC1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1zbS1iZXR3ZWVuey1tcy1mbGV4LXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtc20tYXJvdW5key1tcy1mbGV4LXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXNtLXN0YXJ0ey1tcy1mbGV4LWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24taXRlbXMtc20tZW5key1tcy1mbGV4LWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1jZW50ZXJ7LW1zLWZsZXgtYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1pdGVtczpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1iYXNlbGluZXstbXMtZmxleC1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1zbS1zdHJldGNoey1tcy1mbGV4LWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWl0ZW1zOnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLXN0YXJ0ey1tcy1mbGV4LWxpbmUtcGFjazpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1lbmR7LW1zLWZsZXgtbGluZS1wYWNrOmVuZCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtc20tY2VudGVyey1tcy1mbGV4LWxpbmUtcGFjazpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1zbS1iZXR3ZWVuey1tcy1mbGV4LWxpbmUtcGFjazpqdXN0aWZ5IWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWJldHdlZW4haW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLWFyb3VuZHstbXMtZmxleC1saW5lLXBhY2s6ZGlzdHJpYnV0ZSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXNtLXN0cmV0Y2h7LW1zLWZsZXgtbGluZS1wYWNrOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc20tYXV0b3stbXMtZmxleC1pdGVtLWFsaWduOmF1dG8haW1wb3J0YW50O2FsaWduLXNlbGY6YXV0byFpbXBvcnRhbnR9LmFsaWduLXNlbGYtc20tc3RhcnR7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LXN0YXJ0IWltcG9ydGFudH0uYWxpZ24tc2VsZi1zbS1lbmR7LW1zLWZsZXgtaXRlbS1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWNlbnRlcnstbXMtZmxleC1pdGVtLWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLWJhc2VsaW5ley1tcy1mbGV4LWl0ZW0tYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLXNlbGY6YmFzZWxpbmUhaW1wb3J0YW50fS5hbGlnbi1zZWxmLXNtLXN0cmV0Y2h7LW1zLWZsZXgtaXRlbS1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1zZWxmOnN0cmV0Y2ghaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmZsZXgtbWQtcm93ey1tcy1mbGV4LWRpcmVjdGlvbjpyb3chaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnR9LmZsZXgtbWQtY29sdW1uey1tcy1mbGV4LWRpcmVjdGlvbjpjb2x1bW4haW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnR9LmZsZXgtbWQtcm93LXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtY29sdW1uLXJldmVyc2V7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudDtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtd3JhcHstbXMtZmxleC13cmFwOndyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDp3cmFwIWltcG9ydGFudH0uZmxleC1tZC1ub3dyYXB7LW1zLWZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50O2ZsZXgtd3JhcDpub3dyYXAhaW1wb3J0YW50fS5mbGV4LW1kLXdyYXAtcmV2ZXJzZXstbXMtZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAtcmV2ZXJzZSFpbXBvcnRhbnR9LmZsZXgtbWQtZmlsbHstbXMtZmxleDoxIDEgYXV0byFpbXBvcnRhbnQ7ZmxleDoxIDEgYXV0byFpbXBvcnRhbnR9LmZsZXgtbWQtZ3Jvdy0wey1tcy1mbGV4LXBvc2l0aXZlOjAhaW1wb3J0YW50O2ZsZXgtZ3JvdzowIWltcG9ydGFudH0uZmxleC1tZC1ncm93LTF7LW1zLWZsZXgtcG9zaXRpdmU6MSFpbXBvcnRhbnQ7ZmxleC1ncm93OjEhaW1wb3J0YW50fS5mbGV4LW1kLXNocmluay0wey1tcy1mbGV4LW5lZ2F0aXZlOjAhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjAhaW1wb3J0YW50fS5mbGV4LW1kLXNocmluay0xey1tcy1mbGV4LW5lZ2F0aXZlOjEhaW1wb3J0YW50O2ZsZXgtc2hyaW5rOjEhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtc3RhcnR7LW1zLWZsZXgtcGFjazpzdGFydCFpbXBvcnRhbnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtZW5key1tcy1mbGV4LXBhY2s6ZW5kIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbWQtY2VudGVyey1tcy1mbGV4LXBhY2s6Y2VudGVyIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LW1kLWJldHdlZW57LW1zLWZsZXgtcGFjazpqdXN0aWZ5IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1tZC1hcm91bmR7LW1zLWZsZXgtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbWQtc3RhcnR7LW1zLWZsZXgtYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1tZC1lbmR7LW1zLWZsZXgtYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1pdGVtczpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLWNlbnRlcnstbXMtZmxleC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLWJhc2VsaW5ley1tcy1mbGV4LWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1pdGVtczpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLW1kLXN0cmV0Y2h7LW1zLWZsZXgtYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6c3RyZXRjaCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtc3RhcnR7LW1zLWZsZXgtbGluZS1wYWNrOnN0YXJ0IWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWVuZHstbXMtZmxleC1saW5lLXBhY2s6ZW5kIWltcG9ydGFudDthbGlnbi1jb250ZW50OmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1tZC1jZW50ZXJ7LW1zLWZsZXgtbGluZS1wYWNrOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LW1kLWJldHdlZW57LW1zLWZsZXgtbGluZS1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYmV0d2VlbiFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtYXJvdW5key1tcy1mbGV4LWxpbmUtcGFjazpkaXN0cmlidXRlIWltcG9ydGFudDthbGlnbi1jb250ZW50OnNwYWNlLWFyb3VuZCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbWQtc3RyZXRjaHstbXMtZmxleC1saW5lLXBhY2s6c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1hdXRvey1tcy1mbGV4LWl0ZW0tYWxpZ246YXV0byFpbXBvcnRhbnQ7YWxpZ24tc2VsZjphdXRvIWltcG9ydGFudH0uYWxpZ24tc2VsZi1tZC1zdGFydHstbXMtZmxleC1pdGVtLWFsaWduOnN0YXJ0IWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtc3RhcnQhaW1wb3J0YW50fS5hbGlnbi1zZWxmLW1kLWVuZHstbXMtZmxleC1pdGVtLWFsaWduOmVuZCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpmbGV4LWVuZCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtY2VudGVyey1tcy1mbGV4LWl0ZW0tYWxpZ246Y2VudGVyIWltcG9ydGFudDthbGlnbi1zZWxmOmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtYmFzZWxpbmV7LW1zLWZsZXgtaXRlbS1hbGlnbjpiYXNlbGluZSFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpiYXNlbGluZSFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbWQtc3RyZXRjaHstbXMtZmxleC1pdGVtLWFsaWduOnN0cmV0Y2ghaW1wb3J0YW50O2FsaWduLXNlbGY6c3RyZXRjaCFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZmxleC1sZy1yb3d7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC1sZy1jb2x1bW57LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC1sZy1yb3ctcmV2ZXJzZXstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1sZy1jb2x1bW4tcmV2ZXJzZXstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1sZy13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LWxnLW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgtbGctd3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uZmxleC1sZy1maWxsey1tcy1mbGV4OjEgMSBhdXRvIWltcG9ydGFudDtmbGV4OjEgMSBhdXRvIWltcG9ydGFudH0uZmxleC1sZy1ncm93LTB7LW1zLWZsZXgtcG9zaXRpdmU6MCFpbXBvcnRhbnQ7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5mbGV4LWxnLWdyb3ctMXstbXMtZmxleC1wb3NpdGl2ZToxIWltcG9ydGFudDtmbGV4LWdyb3c6MSFpbXBvcnRhbnR9LmZsZXgtbGctc2hyaW5rLTB7LW1zLWZsZXgtbmVnYXRpdmU6MCFpbXBvcnRhbnQ7ZmxleC1zaHJpbms6MCFpbXBvcnRhbnR9LmZsZXgtbGctc2hyaW5rLTF7LW1zLWZsZXgtbmVnYXRpdmU6MSFpbXBvcnRhbnQ7ZmxleC1zaHJpbms6MSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1zdGFydHstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1lbmR7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC1sZy1jZW50ZXJ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQtbGctYmV0d2VlbnstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LWxnLWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy1sZy1zdGFydHstbXMtZmxleC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLWxnLWVuZHstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctY2VudGVyey1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctYmFzZWxpbmV7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMtbGctc3RyZXRjaHstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LWxnLWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQtbGctYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC1sZy1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLWxnLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYtbGctZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi1sZy1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuZmxleC14bC1yb3d7LW1zLWZsZXgtZGlyZWN0aW9uOnJvdyFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246cm93IWltcG9ydGFudH0uZmxleC14bC1jb2x1bW57LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbiFpbXBvcnRhbnQ7ZmxleC1kaXJlY3Rpb246Y29sdW1uIWltcG9ydGFudH0uZmxleC14bC1yb3ctcmV2ZXJzZXstbXMtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlIWltcG9ydGFudH0uZmxleC14bC1jb2x1bW4tcmV2ZXJzZXstbXMtZmxleC1kaXJlY3Rpb246Y29sdW1uLXJldmVyc2UhaW1wb3J0YW50O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlIWltcG9ydGFudH0uZmxleC14bC13cmFwey1tcy1mbGV4LXdyYXA6d3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOndyYXAhaW1wb3J0YW50fS5mbGV4LXhsLW5vd3JhcHstbXMtZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnQ7ZmxleC13cmFwOm5vd3JhcCFpbXBvcnRhbnR9LmZsZXgteGwtd3JhcC1yZXZlcnNley1tcy1mbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudDtmbGV4LXdyYXA6d3JhcC1yZXZlcnNlIWltcG9ydGFudH0uZmxleC14bC1maWxsey1tcy1mbGV4OjEgMSBhdXRvIWltcG9ydGFudDtmbGV4OjEgMSBhdXRvIWltcG9ydGFudH0uZmxleC14bC1ncm93LTB7LW1zLWZsZXgtcG9zaXRpdmU6MCFpbXBvcnRhbnQ7ZmxleC1ncm93OjAhaW1wb3J0YW50fS5mbGV4LXhsLWdyb3ctMXstbXMtZmxleC1wb3NpdGl2ZToxIWltcG9ydGFudDtmbGV4LWdyb3c6MSFpbXBvcnRhbnR9LmZsZXgteGwtc2hyaW5rLTB7LW1zLWZsZXgtbmVnYXRpdmU6MCFpbXBvcnRhbnQ7ZmxleC1zaHJpbms6MCFpbXBvcnRhbnR9LmZsZXgteGwtc2hyaW5rLTF7LW1zLWZsZXgtbmVnYXRpdmU6MSFpbXBvcnRhbnQ7ZmxleC1zaHJpbms6MSFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1zdGFydHstbXMtZmxleC1wYWNrOnN0YXJ0IWltcG9ydGFudDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1lbmR7LW1zLWZsZXgtcGFjazplbmQhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpmbGV4LWVuZCFpbXBvcnRhbnR9Lmp1c3RpZnktY29udGVudC14bC1jZW50ZXJ7LW1zLWZsZXgtcGFjazpjZW50ZXIhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpjZW50ZXIhaW1wb3J0YW50fS5qdXN0aWZ5LWNvbnRlbnQteGwtYmV0d2VlbnstbXMtZmxleC1wYWNrOmp1c3RpZnkhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uanVzdGlmeS1jb250ZW50LXhsLWFyb3VuZHstbXMtZmxleC1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQhaW1wb3J0YW50fS5hbGlnbi1pdGVtcy14bC1zdGFydHstbXMtZmxleC1hbGlnbjpzdGFydCFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWl0ZW1zLXhsLWVuZHstbXMtZmxleC1hbGlnbjplbmQhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtY2VudGVyey1tcy1mbGV4LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7YWxpZ24taXRlbXM6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtYmFzZWxpbmV7LW1zLWZsZXgtYWxpZ246YmFzZWxpbmUhaW1wb3J0YW50O2FsaWduLWl0ZW1zOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24taXRlbXMteGwtc3RyZXRjaHstbXMtZmxleC1hbGlnbjpzdHJldGNoIWltcG9ydGFudDthbGlnbi1pdGVtczpzdHJldGNoIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1zdGFydHstbXMtZmxleC1saW5lLXBhY2s6c3RhcnQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtZW5key1tcy1mbGV4LWxpbmUtcGFjazplbmQhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6ZmxleC1lbmQhaW1wb3J0YW50fS5hbGlnbi1jb250ZW50LXhsLWNlbnRlcnstbXMtZmxleC1saW5lLXBhY2s6Y2VudGVyIWltcG9ydGFudDthbGlnbi1jb250ZW50OmNlbnRlciFpbXBvcnRhbnR9LmFsaWduLWNvbnRlbnQteGwtYmV0d2VlbnstbXMtZmxleC1saW5lLXBhY2s6anVzdGlmeSFpbXBvcnRhbnQ7YWxpZ24tY29udGVudDpzcGFjZS1iZXR3ZWVuIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1hcm91bmR7LW1zLWZsZXgtbGluZS1wYWNrOmRpc3RyaWJ1dGUhaW1wb3J0YW50O2FsaWduLWNvbnRlbnQ6c3BhY2UtYXJvdW5kIWltcG9ydGFudH0uYWxpZ24tY29udGVudC14bC1zdHJldGNoey1tcy1mbGV4LWxpbmUtcGFjazpzdHJldGNoIWltcG9ydGFudDthbGlnbi1jb250ZW50OnN0cmV0Y2ghaW1wb3J0YW50fS5hbGlnbi1zZWxmLXhsLWF1dG97LW1zLWZsZXgtaXRlbS1hbGlnbjphdXRvIWltcG9ydGFudDthbGlnbi1zZWxmOmF1dG8haW1wb3J0YW50fS5hbGlnbi1zZWxmLXhsLXN0YXJ0ey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RhcnQhaW1wb3J0YW50O2FsaWduLXNlbGY6ZmxleC1zdGFydCFpbXBvcnRhbnR9LmFsaWduLXNlbGYteGwtZW5key1tcy1mbGV4LWl0ZW0tYWxpZ246ZW5kIWltcG9ydGFudDthbGlnbi1zZWxmOmZsZXgtZW5kIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1jZW50ZXJ7LW1zLWZsZXgtaXRlbS1hbGlnbjpjZW50ZXIhaW1wb3J0YW50O2FsaWduLXNlbGY6Y2VudGVyIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1iYXNlbGluZXstbXMtZmxleC1pdGVtLWFsaWduOmJhc2VsaW5lIWltcG9ydGFudDthbGlnbi1zZWxmOmJhc2VsaW5lIWltcG9ydGFudH0uYWxpZ24tc2VsZi14bC1zdHJldGNoey1tcy1mbGV4LWl0ZW0tYWxpZ246c3RyZXRjaCFpbXBvcnRhbnQ7YWxpZ24tc2VsZjpzdHJldGNoIWltcG9ydGFudH19LmZsb2F0LWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7LmZsb2F0LXNtLWxlZnR7ZmxvYXQ6bGVmdCFpbXBvcnRhbnR9LmZsb2F0LXNtLXJpZ2h0e2Zsb2F0OnJpZ2h0IWltcG9ydGFudH0uZmxvYXQtc20tbm9uZXtmbG9hdDpub25lIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mbG9hdC1tZC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC1tZC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LW1kLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZmxvYXQtbGctbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uZmxvYXQtbGctcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50fS5mbG9hdC1sZy1ub25le2Zsb2F0Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5mbG9hdC14bC1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5mbG9hdC14bC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LmZsb2F0LXhsLW5vbmV7ZmxvYXQ6bm9uZSFpbXBvcnRhbnR9fS5wb3NpdGlvbi1zdGF0aWN7cG9zaXRpb246c3RhdGljIWltcG9ydGFudH0ucG9zaXRpb24tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fS5wb3NpdGlvbi1hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZSFpbXBvcnRhbnR9LnBvc2l0aW9uLWZpeGVke3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudH0ucG9zaXRpb24tc3RpY2t5e3Bvc2l0aW9uOi13ZWJraXQtc3RpY2t5IWltcG9ydGFudDtwb3NpdGlvbjpzdGlja3khaW1wb3J0YW50fS5maXhlZC10b3B7cG9zaXRpb246Zml4ZWQ7dG9wOjA7cmlnaHQ6MDtsZWZ0OjA7ei1pbmRleDoxMDMwfS5maXhlZC1ib3R0b217cG9zaXRpb246Zml4ZWQ7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxMDMwfUBzdXBwb3J0cyAoKHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246c3RpY2t5KSl7LnN0aWNreS10b3B7cG9zaXRpb246LXdlYmtpdC1zdGlja3k7cG9zaXRpb246c3RpY2t5O3RvcDowO3otaW5kZXg6MTAyMH19LnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlcjowfS5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsLnNyLW9ubHktZm9jdXNhYmxlOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvO3doaXRlLXNwYWNlOm5vcm1hbH0uc2hhZG93LXNte2JveC1zaGFkb3c6MCAuMTI1cmVtIC4yNXJlbSByZ2JhKDAsMCwwLC4wNzUpIWltcG9ydGFudH0uc2hhZG93e2JveC1zaGFkb3c6MCAuNXJlbSAxcmVtIHJnYmEoMCwwLDAsLjE1KSFpbXBvcnRhbnR9LnNoYWRvdy1sZ3tib3gtc2hhZG93OjAgMXJlbSAzcmVtIHJnYmEoMCwwLDAsLjE3NSkhaW1wb3J0YW50fS5zaGFkb3ctbm9uZXtib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50fS53LTI1e3dpZHRoOjI1JSFpbXBvcnRhbnR9LnctNTB7d2lkdGg6NTAlIWltcG9ydGFudH0udy03NXt3aWR0aDo3NSUhaW1wb3J0YW50fS53LTEwMHt3aWR0aDoxMDAlIWltcG9ydGFudH0udy1hdXRve3dpZHRoOmF1dG8haW1wb3J0YW50fS5oLTI1e2hlaWdodDoyNSUhaW1wb3J0YW50fS5oLTUwe2hlaWdodDo1MCUhaW1wb3J0YW50fS5oLTc1e2hlaWdodDo3NSUhaW1wb3J0YW50fS5oLTEwMHtoZWlnaHQ6MTAwJSFpbXBvcnRhbnR9LmgtYXV0b3toZWlnaHQ6YXV0byFpbXBvcnRhbnR9Lm13LTEwMHttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnR9Lm1oLTEwMHttYXgtaGVpZ2h0OjEwMCUhaW1wb3J0YW50fS5tLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC0wLC5teS0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLTAsLm14LTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi0wLC5teS0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLTAsLm14LTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0tMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQtMSwubXktMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLTEsLm14LTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLTEsLm15LTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC0xLC5teC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0tMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC0yLC5teS0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci0yLC5teC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLTIsLm15LTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLTIsLm14LTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC0zLC5teS0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLTMsLm14LTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi0zLC5teS0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLTMsLm14LTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0tNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQtNCwubXktNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLTQsLm14LTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLTQsLm15LTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC00LC5teC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0tNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LTUsLm15LTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXItNSwubXgtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLTUsLm15LTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwtNSwubXgtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LTAsLnB5LTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLTAsLnB4LTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGItMCwucHktMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwtMCwucHgtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LTEsLnB5LTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHItMSwucHgtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLTEsLnB5LTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwtMSwucHgtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC0yLC5weS0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHItMiwucHgtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGItMiwucHktMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLTIsLnB4LTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LTMsLnB5LTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLTMsLnB4LTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGItMywucHktM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwtMywucHgtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LTQsLnB5LTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHItNCwucHgtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLTQsLnB5LTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwtNCwucHgtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LTUsLnB5LTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLTUsLnB4LTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGItNSwucHktNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwtNSwucHgtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0tYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LWF1dG8sLm15LWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXItYXV0bywubXgtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLWF1dG8sLm15LWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwtYXV0bywubXgtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH1AbWVkaWEgKG1pbi13aWR0aDo1NzZweCl7Lm0tc20tMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LXNtLTAsLm15LXNtLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItc20tMCwubXgtc20tMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLXNtLTAsLm15LXNtLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtc20tMCwubXgtc20tMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1zbS0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1zbS0xLC5teS1zbS0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItc20tMSwubXgtc20tMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItc20tMSwubXktc20tMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTEsLm14LXNtLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1zbS0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LXNtLTIsLm15LXNtLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLXNtLTIsLm14LXNtLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItc20tMiwubXktc20tMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtc20tMiwubXgtc20tMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tc20tM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LXNtLTMsLm15LXNtLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItc20tMywubXgtc20tM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLXNtLTMsLm15LXNtLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtc20tMywubXgtc20tM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1zbS00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1zbS00LC5teS1zbS00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItc20tNCwubXgtc20tNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItc20tNCwubXktc20tNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLXNtLTQsLm14LXNtLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1zbS01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtc20tNSwubXktc20tNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1zbS01LC5teC1zbS01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItc20tNSwubXktc20tNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1zbS01LC5teC1zbS01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLXNtLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtc20tMCwucHktc20tMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItc20tMCwucHgtc20tMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1zbS0wLC5weS1zbS0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1zbS0wLC5weC1zbS0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1zbS0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtc20tMSwucHktc20tMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1zbS0xLC5weC1zbS0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItc20tMSwucHktc20tMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1zbS0xLC5weC1zbS0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLXNtLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LXNtLTIsLnB5LXNtLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1zbS0yLC5weC1zbS0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1zbS0yLC5weS1zbS0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtc20tMiwucHgtc20tMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLXNtLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtc20tMywucHktc20tM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItc20tMywucHgtc20tM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1zbS0zLC5weS1zbS0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1zbS0zLC5weC1zbS0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1zbS00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtc20tNCwucHktc20tNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1zbS00LC5weC1zbS00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItc20tNCwucHktc20tNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1zbS00LC5weC1zbS00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLXNtLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtc20tNSwucHktc20tNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItc20tNSwucHgtc20tNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1zbS01LC5weS1zbS01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1zbS01LC5weC1zbS01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1zbS1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItc20tYXV0bywubXktc20tYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1zbS1hdXRvLC5teC1zbS1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm0tbWQtMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LW1kLTAsLm15LW1kLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbWQtMCwubXgtbWQtMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLW1kLTAsLm15LW1kLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbWQtMCwubXgtbWQtMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1tZC0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1tZC0xLC5teS1tZC0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbWQtMSwubXgtbWQtMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbWQtMSwubXktbWQtMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTEsLm14LW1kLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1tZC0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LW1kLTIsLm15LW1kLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLW1kLTIsLm14LW1kLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbWQtMiwubXktbWQtMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbWQtMiwubXgtbWQtMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbWQtM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LW1kLTMsLm15LW1kLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbWQtMywubXgtbWQtM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLW1kLTMsLm15LW1kLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbWQtMywubXgtbWQtM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1tZC00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1tZC00LC5teS1tZC00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbWQtNCwubXgtbWQtNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbWQtNCwubXktbWQtNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLW1kLTQsLm14LW1kLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1tZC01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbWQtNSwubXktbWQtNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1tZC01LC5teC1tZC01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbWQtNSwubXktbWQtNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1tZC01LC5teC1tZC01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLW1kLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtbWQtMCwucHktbWQtMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItbWQtMCwucHgtbWQtMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1tZC0wLC5weS1tZC0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1tZC0wLC5weC1tZC0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1tZC0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtbWQtMSwucHktbWQtMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1tZC0xLC5weC1tZC0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItbWQtMSwucHktbWQtMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1tZC0xLC5weC1tZC0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLW1kLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LW1kLTIsLnB5LW1kLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1tZC0yLC5weC1tZC0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1tZC0yLC5weS1tZC0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtbWQtMiwucHgtbWQtMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLW1kLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtbWQtMywucHktbWQtM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItbWQtMywucHgtbWQtM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1tZC0zLC5weS1tZC0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1tZC0zLC5weC1tZC0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1tZC00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtbWQtNCwucHktbWQtNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1tZC00LC5weC1tZC00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItbWQtNCwucHktbWQtNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1tZC00LC5weC1tZC00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLW1kLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtbWQtNSwucHktbWQtNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItbWQtNSwucHgtbWQtNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1tZC01LC5weS1tZC01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1tZC01LC5weC1tZC01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1tZC1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbWQtYXV0bywubXktbWQtYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1tZC1hdXRvLC5teC1tZC1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7Lm0tbGctMHttYXJnaW46MCFpbXBvcnRhbnR9Lm10LWxnLTAsLm15LWxnLTB7bWFyZ2luLXRvcDowIWltcG9ydGFudH0ubXItbGctMCwubXgtbGctMHttYXJnaW4tcmlnaHQ6MCFpbXBvcnRhbnR9Lm1iLWxnLTAsLm15LWxnLTB7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ubWwtbGctMCwubXgtbGctMHttYXJnaW4tbGVmdDowIWltcG9ydGFudH0ubS1sZy0xe21hcmdpbjouMjVyZW0haW1wb3J0YW50fS5tdC1sZy0xLC5teS1sZy0xe21hcmdpbi10b3A6LjI1cmVtIWltcG9ydGFudH0ubXItbGctMSwubXgtbGctMXttYXJnaW4tcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ubWItbGctMSwubXktbGctMXttYXJnaW4tYm90dG9tOi4yNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTEsLm14LWxnLTF7bWFyZ2luLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ubS1sZy0ye21hcmdpbjouNXJlbSFpbXBvcnRhbnR9Lm10LWxnLTIsLm15LWxnLTJ7bWFyZ2luLXRvcDouNXJlbSFpbXBvcnRhbnR9Lm1yLWxnLTIsLm14LWxnLTJ7bWFyZ2luLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ubWItbGctMiwubXktbGctMnttYXJnaW4tYm90dG9tOi41cmVtIWltcG9ydGFudH0ubWwtbGctMiwubXgtbGctMnttYXJnaW4tbGVmdDouNXJlbSFpbXBvcnRhbnR9Lm0tbGctM3ttYXJnaW46MXJlbSFpbXBvcnRhbnR9Lm10LWxnLTMsLm15LWxnLTN7bWFyZ2luLXRvcDoxcmVtIWltcG9ydGFudH0ubXItbGctMywubXgtbGctM3ttYXJnaW4tcmlnaHQ6MXJlbSFpbXBvcnRhbnR9Lm1iLWxnLTMsLm15LWxnLTN7bWFyZ2luLWJvdHRvbToxcmVtIWltcG9ydGFudH0ubWwtbGctMywubXgtbGctM3ttYXJnaW4tbGVmdDoxcmVtIWltcG9ydGFudH0ubS1sZy00e21hcmdpbjoxLjVyZW0haW1wb3J0YW50fS5tdC1sZy00LC5teS1sZy00e21hcmdpbi10b3A6MS41cmVtIWltcG9ydGFudH0ubXItbGctNCwubXgtbGctNHttYXJnaW4tcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ubWItbGctNCwubXktbGctNHttYXJnaW4tYm90dG9tOjEuNXJlbSFpbXBvcnRhbnR9Lm1sLWxnLTQsLm14LWxnLTR7bWFyZ2luLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ubS1sZy01e21hcmdpbjozcmVtIWltcG9ydGFudH0ubXQtbGctNSwubXktbGctNXttYXJnaW4tdG9wOjNyZW0haW1wb3J0YW50fS5tci1sZy01LC5teC1sZy01e21hcmdpbi1yaWdodDozcmVtIWltcG9ydGFudH0ubWItbGctNSwubXktbGctNXttYXJnaW4tYm90dG9tOjNyZW0haW1wb3J0YW50fS5tbC1sZy01LC5teC1sZy01e21hcmdpbi1sZWZ0OjNyZW0haW1wb3J0YW50fS5wLWxnLTB7cGFkZGluZzowIWltcG9ydGFudH0ucHQtbGctMCwucHktbGctMHtwYWRkaW5nLXRvcDowIWltcG9ydGFudH0ucHItbGctMCwucHgtbGctMHtwYWRkaW5nLXJpZ2h0OjAhaW1wb3J0YW50fS5wYi1sZy0wLC5weS1sZy0we3BhZGRpbmctYm90dG9tOjAhaW1wb3J0YW50fS5wbC1sZy0wLC5weC1sZy0we3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0ucC1sZy0xe3BhZGRpbmc6LjI1cmVtIWltcG9ydGFudH0ucHQtbGctMSwucHktbGctMXtwYWRkaW5nLXRvcDouMjVyZW0haW1wb3J0YW50fS5wci1sZy0xLC5weC1sZy0xe3BhZGRpbmctcmlnaHQ6LjI1cmVtIWltcG9ydGFudH0ucGItbGctMSwucHktbGctMXtwYWRkaW5nLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5wbC1sZy0xLC5weC1sZy0xe3BhZGRpbmctbGVmdDouMjVyZW0haW1wb3J0YW50fS5wLWxnLTJ7cGFkZGluZzouNXJlbSFpbXBvcnRhbnR9LnB0LWxnLTIsLnB5LWxnLTJ7cGFkZGluZy10b3A6LjVyZW0haW1wb3J0YW50fS5wci1sZy0yLC5weC1sZy0ye3BhZGRpbmctcmlnaHQ6LjVyZW0haW1wb3J0YW50fS5wYi1sZy0yLC5weS1sZy0ye3BhZGRpbmctYm90dG9tOi41cmVtIWltcG9ydGFudH0ucGwtbGctMiwucHgtbGctMntwYWRkaW5nLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5wLWxnLTN7cGFkZGluZzoxcmVtIWltcG9ydGFudH0ucHQtbGctMywucHktbGctM3twYWRkaW5nLXRvcDoxcmVtIWltcG9ydGFudH0ucHItbGctMywucHgtbGctM3twYWRkaW5nLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5wYi1sZy0zLC5weS1sZy0ze3BhZGRpbmctYm90dG9tOjFyZW0haW1wb3J0YW50fS5wbC1sZy0zLC5weC1sZy0ze3BhZGRpbmctbGVmdDoxcmVtIWltcG9ydGFudH0ucC1sZy00e3BhZGRpbmc6MS41cmVtIWltcG9ydGFudH0ucHQtbGctNCwucHktbGctNHtwYWRkaW5nLXRvcDoxLjVyZW0haW1wb3J0YW50fS5wci1sZy00LC5weC1sZy00e3BhZGRpbmctcmlnaHQ6MS41cmVtIWltcG9ydGFudH0ucGItbGctNCwucHktbGctNHtwYWRkaW5nLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5wbC1sZy00LC5weC1sZy00e3BhZGRpbmctbGVmdDoxLjVyZW0haW1wb3J0YW50fS5wLWxnLTV7cGFkZGluZzozcmVtIWltcG9ydGFudH0ucHQtbGctNSwucHktbGctNXtwYWRkaW5nLXRvcDozcmVtIWltcG9ydGFudH0ucHItbGctNSwucHgtbGctNXtwYWRkaW5nLXJpZ2h0OjNyZW0haW1wb3J0YW50fS5wYi1sZy01LC5weS1sZy01e3BhZGRpbmctYm90dG9tOjNyZW0haW1wb3J0YW50fS5wbC1sZy01LC5weC1sZy01e3BhZGRpbmctbGVmdDozcmVtIWltcG9ydGFudH0ubS1sZy1hdXRve21hcmdpbjphdXRvIWltcG9ydGFudH0ubXQtbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tdG9wOmF1dG8haW1wb3J0YW50fS5tci1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1yaWdodDphdXRvIWltcG9ydGFudH0ubWItbGctYXV0bywubXktbGctYXV0b3ttYXJnaW4tYm90dG9tOmF1dG8haW1wb3J0YW50fS5tbC1sZy1hdXRvLC5teC1sZy1hdXRve21hcmdpbi1sZWZ0OmF1dG8haW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5tLXhsLTB7bWFyZ2luOjAhaW1wb3J0YW50fS5tdC14bC0wLC5teS14bC0we21hcmdpbi10b3A6MCFpbXBvcnRhbnR9Lm1yLXhsLTAsLm14LXhsLTB7bWFyZ2luLXJpZ2h0OjAhaW1wb3J0YW50fS5tYi14bC0wLC5teS14bC0we21hcmdpbi1ib3R0b206MCFpbXBvcnRhbnR9Lm1sLXhsLTAsLm14LXhsLTB7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnR9Lm0teGwtMXttYXJnaW46LjI1cmVtIWltcG9ydGFudH0ubXQteGwtMSwubXkteGwtMXttYXJnaW4tdG9wOi4yNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTEsLm14LXhsLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTEsLm15LXhsLTF7bWFyZ2luLWJvdHRvbTouMjVyZW0haW1wb3J0YW50fS5tbC14bC0xLC5teC14bC0xe21hcmdpbi1sZWZ0Oi4yNXJlbSFpbXBvcnRhbnR9Lm0teGwtMnttYXJnaW46LjVyZW0haW1wb3J0YW50fS5tdC14bC0yLC5teS14bC0ye21hcmdpbi10b3A6LjVyZW0haW1wb3J0YW50fS5tci14bC0yLC5teC14bC0ye21hcmdpbi1yaWdodDouNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTIsLm15LXhsLTJ7bWFyZ2luLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTIsLm14LXhsLTJ7bWFyZ2luLWxlZnQ6LjVyZW0haW1wb3J0YW50fS5tLXhsLTN7bWFyZ2luOjFyZW0haW1wb3J0YW50fS5tdC14bC0zLC5teS14bC0ze21hcmdpbi10b3A6MXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTMsLm14LXhsLTN7bWFyZ2luLXJpZ2h0OjFyZW0haW1wb3J0YW50fS5tYi14bC0zLC5teS14bC0ze21hcmdpbi1ib3R0b206MXJlbSFpbXBvcnRhbnR9Lm1sLXhsLTMsLm14LXhsLTN7bWFyZ2luLWxlZnQ6MXJlbSFpbXBvcnRhbnR9Lm0teGwtNHttYXJnaW46MS41cmVtIWltcG9ydGFudH0ubXQteGwtNCwubXkteGwtNHttYXJnaW4tdG9wOjEuNXJlbSFpbXBvcnRhbnR9Lm1yLXhsLTQsLm14LXhsLTR7bWFyZ2luLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9Lm1iLXhsLTQsLm15LXhsLTR7bWFyZ2luLWJvdHRvbToxLjVyZW0haW1wb3J0YW50fS5tbC14bC00LC5teC14bC00e21hcmdpbi1sZWZ0OjEuNXJlbSFpbXBvcnRhbnR9Lm0teGwtNXttYXJnaW46M3JlbSFpbXBvcnRhbnR9Lm10LXhsLTUsLm15LXhsLTV7bWFyZ2luLXRvcDozcmVtIWltcG9ydGFudH0ubXIteGwtNSwubXgteGwtNXttYXJnaW4tcmlnaHQ6M3JlbSFpbXBvcnRhbnR9Lm1iLXhsLTUsLm15LXhsLTV7bWFyZ2luLWJvdHRvbTozcmVtIWltcG9ydGFudH0ubWwteGwtNSwubXgteGwtNXttYXJnaW4tbGVmdDozcmVtIWltcG9ydGFudH0ucC14bC0we3BhZGRpbmc6MCFpbXBvcnRhbnR9LnB0LXhsLTAsLnB5LXhsLTB7cGFkZGluZy10b3A6MCFpbXBvcnRhbnR9LnByLXhsLTAsLnB4LXhsLTB7cGFkZGluZy1yaWdodDowIWltcG9ydGFudH0ucGIteGwtMCwucHkteGwtMHtwYWRkaW5nLWJvdHRvbTowIWltcG9ydGFudH0ucGwteGwtMCwucHgteGwtMHtwYWRkaW5nLWxlZnQ6MCFpbXBvcnRhbnR9LnAteGwtMXtwYWRkaW5nOi4yNXJlbSFpbXBvcnRhbnR9LnB0LXhsLTEsLnB5LXhsLTF7cGFkZGluZy10b3A6LjI1cmVtIWltcG9ydGFudH0ucHIteGwtMSwucHgteGwtMXtwYWRkaW5nLXJpZ2h0Oi4yNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTEsLnB5LXhsLTF7cGFkZGluZy1ib3R0b206LjI1cmVtIWltcG9ydGFudH0ucGwteGwtMSwucHgteGwtMXtwYWRkaW5nLWxlZnQ6LjI1cmVtIWltcG9ydGFudH0ucC14bC0ye3BhZGRpbmc6LjVyZW0haW1wb3J0YW50fS5wdC14bC0yLC5weS14bC0ye3BhZGRpbmctdG9wOi41cmVtIWltcG9ydGFudH0ucHIteGwtMiwucHgteGwtMntwYWRkaW5nLXJpZ2h0Oi41cmVtIWltcG9ydGFudH0ucGIteGwtMiwucHkteGwtMntwYWRkaW5nLWJvdHRvbTouNXJlbSFpbXBvcnRhbnR9LnBsLXhsLTIsLnB4LXhsLTJ7cGFkZGluZy1sZWZ0Oi41cmVtIWltcG9ydGFudH0ucC14bC0ze3BhZGRpbmc6MXJlbSFpbXBvcnRhbnR9LnB0LXhsLTMsLnB5LXhsLTN7cGFkZGluZy10b3A6MXJlbSFpbXBvcnRhbnR9LnByLXhsLTMsLnB4LXhsLTN7cGFkZGluZy1yaWdodDoxcmVtIWltcG9ydGFudH0ucGIteGwtMywucHkteGwtM3twYWRkaW5nLWJvdHRvbToxcmVtIWltcG9ydGFudH0ucGwteGwtMywucHgteGwtM3twYWRkaW5nLWxlZnQ6MXJlbSFpbXBvcnRhbnR9LnAteGwtNHtwYWRkaW5nOjEuNXJlbSFpbXBvcnRhbnR9LnB0LXhsLTQsLnB5LXhsLTR7cGFkZGluZy10b3A6MS41cmVtIWltcG9ydGFudH0ucHIteGwtNCwucHgteGwtNHtwYWRkaW5nLXJpZ2h0OjEuNXJlbSFpbXBvcnRhbnR9LnBiLXhsLTQsLnB5LXhsLTR7cGFkZGluZy1ib3R0b206MS41cmVtIWltcG9ydGFudH0ucGwteGwtNCwucHgteGwtNHtwYWRkaW5nLWxlZnQ6MS41cmVtIWltcG9ydGFudH0ucC14bC01e3BhZGRpbmc6M3JlbSFpbXBvcnRhbnR9LnB0LXhsLTUsLnB5LXhsLTV7cGFkZGluZy10b3A6M3JlbSFpbXBvcnRhbnR9LnByLXhsLTUsLnB4LXhsLTV7cGFkZGluZy1yaWdodDozcmVtIWltcG9ydGFudH0ucGIteGwtNSwucHkteGwtNXtwYWRkaW5nLWJvdHRvbTozcmVtIWltcG9ydGFudH0ucGwteGwtNSwucHgteGwtNXtwYWRkaW5nLWxlZnQ6M3JlbSFpbXBvcnRhbnR9Lm0teGwtYXV0b3ttYXJnaW46YXV0byFpbXBvcnRhbnR9Lm10LXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLXRvcDphdXRvIWltcG9ydGFudH0ubXIteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tcmlnaHQ6YXV0byFpbXBvcnRhbnR9Lm1iLXhsLWF1dG8sLm15LXhsLWF1dG97bWFyZ2luLWJvdHRvbTphdXRvIWltcG9ydGFudH0ubWwteGwtYXV0bywubXgteGwtYXV0b3ttYXJnaW4tbGVmdDphdXRvIWltcG9ydGFudH19LnRleHQtbW9ub3NwYWNle2ZvbnQtZmFtaWx5OlNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcywiTGliZXJhdGlvbiBNb25vIiwiQ291cmllciBOZXciLG1vbm9zcGFjZX0udGV4dC1qdXN0aWZ5e3RleHQtYWxpZ246anVzdGlmeSFpbXBvcnRhbnR9LnRleHQtbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcCFpbXBvcnRhbnR9LnRleHQtdHJ1bmNhdGV7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fUBtZWRpYSAobWluLXdpZHRoOjU3NnB4KXsudGV4dC1zbS1sZWZ0e3RleHQtYWxpZ246bGVmdCFpbXBvcnRhbnR9LnRleHQtc20tcmlnaHR7dGV4dC1hbGlnbjpyaWdodCFpbXBvcnRhbnR9LnRleHQtc20tY2VudGVye3RleHQtYWxpZ246Y2VudGVyIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey50ZXh0LW1kLWxlZnR7dGV4dC1hbGlnbjpsZWZ0IWltcG9ydGFudH0udGV4dC1tZC1yaWdodHt0ZXh0LWFsaWduOnJpZ2h0IWltcG9ydGFudH0udGV4dC1tZC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXIhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LnRleHQtbGctbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LWxnLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LWxnLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnRleHQteGwtbGVmdHt0ZXh0LWFsaWduOmxlZnQhaW1wb3J0YW50fS50ZXh0LXhsLXJpZ2h0e3RleHQtYWxpZ246cmlnaHQhaW1wb3J0YW50fS50ZXh0LXhsLWNlbnRlcnt0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnR9fS50ZXh0LWxvd2VyY2FzZXt0ZXh0LXRyYW5zZm9ybTpsb3dlcmNhc2UhaW1wb3J0YW50fS50ZXh0LXVwcGVyY2FzZXt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UhaW1wb3J0YW50fS50ZXh0LWNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZSFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LWxpZ2h0e2ZvbnQtd2VpZ2h0OjMwMCFpbXBvcnRhbnR9LmZvbnQtd2VpZ2h0LW5vcm1hbHtmb250LXdlaWdodDo0MDAhaW1wb3J0YW50fS5mb250LXdlaWdodC1ib2xke2ZvbnQtd2VpZ2h0OjcwMCFpbXBvcnRhbnR9LmZvbnQtaXRhbGlje2ZvbnQtc3R5bGU6aXRhbGljIWltcG9ydGFudH0udGV4dC13aGl0ZXtjb2xvcjojZmZmIWltcG9ydGFudH0udGV4dC1wcmltYXJ5e2NvbG9yOiMwMDdiZmYhaW1wb3J0YW50fWEudGV4dC1wcmltYXJ5OmZvY3VzLGEudGV4dC1wcmltYXJ5OmhvdmVye2NvbG9yOiMwMDYyY2MhaW1wb3J0YW50fS50ZXh0LXNlY29uZGFyeXtjb2xvcjojNmM3NTdkIWltcG9ydGFudH1hLnRleHQtc2Vjb25kYXJ5OmZvY3VzLGEudGV4dC1zZWNvbmRhcnk6aG92ZXJ7Y29sb3I6IzU0NWI2MiFpbXBvcnRhbnR9LnRleHQtc3VjY2Vzc3tjb2xvcjojMjhhNzQ1IWltcG9ydGFudH1hLnRleHQtc3VjY2Vzczpmb2N1cyxhLnRleHQtc3VjY2Vzczpob3Zlcntjb2xvcjojMWU3ZTM0IWltcG9ydGFudH0udGV4dC1pbmZve2NvbG9yOiMxN2EyYjghaW1wb3J0YW50fWEudGV4dC1pbmZvOmZvY3VzLGEudGV4dC1pbmZvOmhvdmVye2NvbG9yOiMxMTdhOGIhaW1wb3J0YW50fS50ZXh0LXdhcm5pbmd7Y29sb3I6I2ZmYzEwNyFpbXBvcnRhbnR9YS50ZXh0LXdhcm5pbmc6Zm9jdXMsYS50ZXh0LXdhcm5pbmc6aG92ZXJ7Y29sb3I6I2QzOWUwMCFpbXBvcnRhbnR9LnRleHQtZGFuZ2Vye2NvbG9yOiNkYzM1NDUhaW1wb3J0YW50fWEudGV4dC1kYW5nZXI6Zm9jdXMsYS50ZXh0LWRhbmdlcjpob3Zlcntjb2xvcjojYmQyMTMwIWltcG9ydGFudH0udGV4dC1saWdodHtjb2xvcjojZjhmOWZhIWltcG9ydGFudH1hLnRleHQtbGlnaHQ6Zm9jdXMsYS50ZXh0LWxpZ2h0OmhvdmVye2NvbG9yOiNkYWUwZTUhaW1wb3J0YW50fS50ZXh0LWRhcmt7Y29sb3I6IzM0M2E0MCFpbXBvcnRhbnR9YS50ZXh0LWRhcms6Zm9jdXMsYS50ZXh0LWRhcms6aG92ZXJ7Y29sb3I6IzFkMjEyNCFpbXBvcnRhbnR9LnRleHQtYm9keXtjb2xvcjojMjEyNTI5IWltcG9ydGFudH0udGV4dC1tdXRlZHtjb2xvcjojNmM3NTdkIWltcG9ydGFudH0udGV4dC1ibGFjay01MHtjb2xvcjpyZ2JhKDAsMCwwLC41KSFpbXBvcnRhbnR9LnRleHQtd2hpdGUtNTB7Y29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSkhaW1wb3J0YW50fS50ZXh0LWhpZGV7Zm9udDowLzAgYTtjb2xvcjp0cmFuc3BhcmVudDt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjB9LnZpc2libGV7dmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudH0uaW52aXNpYmxle3Zpc2liaWxpdHk6aGlkZGVuIWltcG9ydGFudH1AbWVkaWEgcHJpbnR7Kiw6OmFmdGVyLDo6YmVmb3Jle3RleHQtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9YTpub3QoLmJ0bil7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hYmJyW3RpdGxlXTo6YWZ0ZXJ7Y29udGVudDoiICgiIGF0dHIodGl0bGUpICIpIn1wcmV7d2hpdGUtc3BhY2U6cHJlLXdyYXAhaW1wb3J0YW50fWJsb2NrcXVvdGUscHJle2JvcmRlcjoxcHggc29saWQgI2FkYjViZDtwYWdlLWJyZWFrLWluc2lkZTphdm9pZH10aGVhZHtkaXNwbGF5OnRhYmxlLWhlYWRlci1ncm91cH1pbWcsdHJ7cGFnZS1icmVhay1pbnNpZGU6YXZvaWR9aDIsaDMscHtvcnBoYW5zOjM7d2lkb3dzOjN9aDIsaDN7cGFnZS1icmVhay1hZnRlcjphdm9pZH1AcGFnZXtzaXplOmEzfWJvZHl7bWluLXdpZHRoOjk5MnB4IWltcG9ydGFudH0uY29udGFpbmVye21pbi13aWR0aDo5OTJweCFpbXBvcnRhbnR9Lm5hdmJhcntkaXNwbGF5Om5vbmV9LmJhZGdle2JvcmRlcjoxcHggc29saWQgIzAwMH0udGFibGV7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlIWltcG9ydGFudH0udGFibGUgdGQsLnRhYmxlIHRoe2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRhYmxlLWJvcmRlcmVkIHRkLC50YWJsZS1ib3JkZXJlZCB0aHtib3JkZXI6MXB4IHNvbGlkICNkZWUyZTYhaW1wb3J0YW50fS50YWJsZS1kYXJre2NvbG9yOmluaGVyaXR9LnRhYmxlLWRhcmsgdGJvZHkrdGJvZHksLnRhYmxlLWRhcmsgdGQsLnRhYmxlLWRhcmsgdGgsLnRhYmxlLWRhcmsgdGhlYWQgdGh7Ym9yZGVyLWNvbG9yOiNkZWUyZTZ9LnRhYmxlIC50aGVhZC1kYXJrIHRoe2NvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbG9yOiNkZWUyZTZ9fQovKiMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAubWluLmNzcy5tYXAgKi8="}},"time_used":58,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":12,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/jquery.mCustomScrollbar.min.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.863Z","timestamp":1785135591863,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/jquery.mCustomScrollbar.min.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 3672\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"a79b-68bf75d4-c7bb21ae0df99a4a;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 2721296245dda6e670b7a4d594056ff4-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":42907,"size_decoded":4264,"mime_type":"text/css","magic":"ASCII text, with very long lines (42907), with no line terminators","md5":"48ced4b8591f0e0216bf4a44926cbbb2","sha1":"ecd34b4c09645b415c5a4535c51e18d008931204","sha256":"2cd8d308a8b1ab19dd60121e4bb462c5a217aab38f28b7c625698939b1902385","sha512":"f47852fdcd24874903889a567de2a26354931d1ec92beb84b28c81560dfbd5c8d256e0ae7fd168dc197827ec0f72c7b72a3266a69425ce0b2b2334983cbab609","ssdeep":"768:VStyRbNRmYdFZFt6vw7R01rnk6BcxL+zhRNxA5l2ng7ytcKaWDxQ:VStyRnmYdFZFt6+R9","tlshash":"0413179a2a4336dffa4f447dbb81379a11fc37834552166cb0d758a4ab88bf7a439402","first_seen":"2023-04-07T02:43:29Z","last_seen":"2026-08-18T03:25:22.527731Z","times_seen":2039,"resource_available":false,"data":"Lm1DdXN0b21TY3JvbGxiYXJ7LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lfS5tQ3VzdG9tU2Nyb2xsYmFyLm1DU19ub19zY3JvbGxiYXIsLm1DdXN0b21TY3JvbGxiYXIubUNTX3RvdWNoX2FjdGlvbnstbXMtdG91Y2gtYWN0aW9uOmF1dG87dG91Y2gtYWN0aW9uOmF1dG99Lm1DdXN0b21TY3JvbGxCb3h7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlO21heC13aWR0aDoxMDAlO291dGxpbmU6MDtkaXJlY3Rpb246bHRyfS5tQ1NCX2NvbnRhaW5lcntvdmVyZmxvdzpoaWRkZW47d2lkdGg6YXV0bztoZWlnaHQ6YXV0b30ubUNTQl9pbnNpZGU+Lm1DU0JfY29udGFpbmVye21hcmdpbi1yaWdodDozMHB4fS5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVue21hcmdpbi1yaWdodDowfS5tQ1MtZGlyLXJ0bD4ubUNTQl9pbnNpZGU+Lm1DU0JfY29udGFpbmVye21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjMwcHh9Lm1DUy1kaXItcnRsPi5tQ1NCX2luc2lkZT4ubUNTQl9jb250YWluZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbnttYXJnaW4tbGVmdDowfS5tQ1NCX3Njcm9sbFRvb2xze3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjE2cHg7aGVpZ2h0OmF1dG87bGVmdDphdXRvO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7b3BhY2l0eTouNzU7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTc1KSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT03NSkifS5tQ1NCX291dHNpZGUrLm1DU0Jfc2Nyb2xsVG9vbHN7cmlnaHQ6LTI2cHh9Lm1DUy1kaXItcnRsPi5tQ1NCX2luc2lkZT4ubUNTQl9zY3JvbGxUb29scywubUNTLWRpci1ydGw+Lm1DU0Jfb3V0c2lkZSsubUNTQl9zY3JvbGxUb29sc3tyaWdodDphdXRvO2xlZnQ6MH0ubUNTLWRpci1ydGw+Lm1DU0Jfb3V0c2lkZSsubUNTQl9zY3JvbGxUb29sc3tsZWZ0Oi0yNnB4fS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7aGVpZ2h0OmF1dG99Lm1DU0Jfc2Nyb2xsVG9vbHMgYSsubUNTQl9kcmFnZ2VyQ29udGFpbmVye21hcmdpbjoyMHB4IDB9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MnB4O2hlaWdodDoxMDAlO21hcmdpbjowIGF1dG87LXdlYmtpdC1ib3JkZXItcmFkaXVzOjE2cHg7LW1vei1ib3JkZXItcmFkaXVzOjE2cHg7Ym9yZGVyLXJhZGl1czoxNnB4fS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJ7Y3Vyc29yOnBvaW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6MzBweDt6LWluZGV4OjF9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo0cHg7aGVpZ2h0OjEwMCU7bWFyZ2luOjAgYXV0bzstd2Via2l0LWJvcmRlci1yYWRpdXM6MTZweDstbW96LWJvcmRlci1yYWRpdXM6MTZweDtib3JkZXItcmFkaXVzOjE2cHg7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjEycHh9Lm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDo4cHh9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoyMHB4O3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbjowIGF1dG87Y3Vyc29yOnBvaW50ZXJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntib3R0b206MH0ubUNTQl9ob3Jpem9udGFsLm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lcnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tYm90dG9tOjMwcHh9Lm1DU0JfaG9yaXpvbnRhbC5tQ1NCX291dHNpZGU+Lm1DU0JfY29udGFpbmVye21pbi1oZWlnaHQ6MTAwJX0ubUNTQl9ob3Jpem9udGFsPi5tQ1NCX2NvbnRhaW5lci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVue21hcmdpbi1ib3R0b206MH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7d2lkdGg6YXV0bztoZWlnaHQ6MTZweDt0b3A6YXV0bztyaWdodDowO2JvdHRvbTowO2xlZnQ6MH0ubUN1c3RvbVNjcm9sbEJveCsubUNTQl9zY3JvbGxUb29scysubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsLm1DdXN0b21TY3JvbGxCb3grLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse2JvdHRvbTotMjZweH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgYSsubUNTQl9kcmFnZ2VyQ29udGFpbmVye21hcmdpbjowIDIwcHh9Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjJweDttYXJnaW46N3B4IDB9Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJ7d2lkdGg6MzBweDtoZWlnaHQ6MTAwJTtsZWZ0OjB9Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O21hcmdpbjo2cHggYXV0b30ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2hlaWdodDoxMnB4O21hcmdpbjoycHggYXV0b30ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQrLm1DU0JfZHJhZ2dlclJhaWwsLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbHtoZWlnaHQ6OHB4O21hcmdpbjo0cHggMH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uTGVmdCwubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHR7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoyMHB4O2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjttYXJnaW46MCBhdXRvO2N1cnNvcjpwb2ludGVyfS5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9idXR0b25MZWZ0e2xlZnQ6MH0ubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfYnV0dG9uUmlnaHR7cmlnaHQ6MH0ubUNTQl9jb250YWluZXJfd3JhcHBlcntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO292ZXJmbG93OmhpZGRlbjt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDttYXJnaW4tcmlnaHQ6MzBweDttYXJnaW4tYm90dG9tOjMwcHh9Lm1DU0JfY29udGFpbmVyX3dyYXBwZXI+Lm1DU0JfY29udGFpbmVye3BhZGRpbmctcmlnaHQ6MzBweDtwYWRkaW5nLWJvdHRvbTozMHB4fS5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWw+Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHtib3R0b206MjBweH0ubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsPi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtyaWdodDoyMHB4fS5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeC5tQ1NfeF9oaWRkZW4rLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHtib3R0b206MH0ubUNTLWRpci1ydGw+Lm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlPi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCwubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3kubUNTX3lfaGlkZGVuKy5tQ1NCX3Njcm9sbFRvb2xzfi5tQ1NCX3Njcm9sbFRvb2xzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbHtyaWdodDowfS5tQ1MtZGlyLXJ0bD4ubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGU+Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse2xlZnQ6MjBweH0ubUNTLWRpci1ydGw+Lm1DdXN0b21TY3JvbGxCb3gubUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsLm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVyLm1DU19ub19zY3JvbGxiYXJfeS5tQ1NfeV9oaWRkZW4rLm1DU0Jfc2Nyb2xsVG9vbHN+Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse2xlZnQ6MH0ubUNTLWRpci1ydGw+Lm1DU0JfaW5zaWRlPi5tQ1NCX2NvbnRhaW5lcl93cmFwcGVye21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjMwcHh9Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbj4ubUNTQl9jb250YWluZXJ7cGFkZGluZy1yaWdodDowOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVuPi5tQ1NCX2NvbnRhaW5lcntwYWRkaW5nLWJvdHRvbTowOy13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH0ubUN1c3RvbVNjcm9sbEJveC5tQ1NCX3ZlcnRpY2FsX2hvcml6b250YWwubUNTQl9pbnNpZGU+Lm1DU0JfY29udGFpbmVyX3dyYXBwZXIubUNTX25vX3Njcm9sbGJhcl95Lm1DU195X2hpZGRlbnttYXJnaW4tcmlnaHQ6MDttYXJnaW4tbGVmdDowfS5tQ3VzdG9tU2Nyb2xsQm94Lm1DU0JfdmVydGljYWxfaG9yaXpvbnRhbC5tQ1NCX2luc2lkZT4ubUNTQl9jb250YWluZXJfd3JhcHBlci5tQ1Nfbm9fc2Nyb2xsYmFyX3gubUNTX3hfaGlkZGVue21hcmdpbi1ib3R0b206MH0ubUNTQl9zY3JvbGxUb29scywubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dH0ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyX2JhciwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlclJhaWwsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJfYmFyey13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxvcGFjaXR5IC4ycyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDstbW96LXRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Utb3V0IC4ycyxoZWlnaHQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tbGVmdCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1yaWdodCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi10b3AgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tYm90dG9tIC4ycyBlYXNlLW91dCAuMnMsb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQsYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZS1vdXQgLjJzLGhlaWdodCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1sZWZ0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLXRvcCAuMnMgZWFzZS1vdXQgLjJzLG1hcmdpbi1ib3R0b20gLjJzIGVhc2Utb3V0IC4ycyxvcGFjaXR5IC4ycyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIC4ycyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOndpZHRoIC4ycyBlYXNlLW91dCAuMnMsaGVpZ2h0IC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLWxlZnQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tcmlnaHQgLjJzIGVhc2Utb3V0IC4ycyxtYXJnaW4tdG9wIC4ycyBlYXNlLW91dCAuMnMsbWFyZ2luLWJvdHRvbSAuMnMgZWFzZS1vdXQgLjJzLG9wYWNpdHkgLjJzIGVhc2UtaW4tb3V0LGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW4tb3V0fS5tQ1MtYXV0b0hpZGU+Lm1DdXN0b21TY3JvbGxCb3g+Lm1DU0Jfc2Nyb2xsVG9vbHMsLm1DUy1hdXRvSGlkZT4ubUN1c3RvbVNjcm9sbEJveH4ubUNTQl9zY3JvbGxUb29sc3tvcGFjaXR5OjA7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTApIn0ubUNTLWF1dG9IaWRlOmhvdmVyPi5tQ3VzdG9tU2Nyb2xsQm94Pi5tQ1NCX3Njcm9sbFRvb2xzLC5tQ1MtYXV0b0hpZGU6aG92ZXI+Lm1DdXN0b21TY3JvbGxCb3h+Lm1DU0Jfc2Nyb2xsVG9vbHMsLm1DdXN0b21TY3JvbGxCb3g6aG92ZXI+Lm1DU0Jfc2Nyb2xsVG9vbHMsLm1DdXN0b21TY3JvbGxCb3g6aG92ZXJ+Lm1DU0Jfc2Nyb2xsVG9vbHMsLm1DdXN0b21TY3JvbGxiYXI+Lm1DdXN0b21TY3JvbGxCb3g+Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19vbkRyYWcsLm1DdXN0b21TY3JvbGxiYXI+Lm1DdXN0b21TY3JvbGxCb3h+Lm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19vbkRyYWd7b3BhY2l0eToxO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT0xMDApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTEwMCkifS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQpO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT00MCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9NDApIn0ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjc1KTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9NzUpIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTc1KSJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC44NSk7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTg1KSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT04NSkifS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9OTApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTkwKSJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtaW1hZ2U6dXJsKG1DU0JfYnV0dG9ucy5odG1sKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7b3BhY2l0eTouNDtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9NDApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTQwKSJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIwcHh9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTQwcHh9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC01NnB4fS5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd246aG92ZXIsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDpob3ZlciwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodDpob3ZlciwubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcDpob3ZlcntvcGFjaXR5Oi43NTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9NzUpIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTc1KSJ9Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bjphY3RpdmUsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdDphY3RpdmUsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQ6YWN0aXZlLC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwOmFjdGl2ZXtvcGFjaXR5Oi45O2ZpbHRlcjoiYWxwaGEob3BhY2l0eT05MCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9OTApIn0ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xNSl9Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43NSl9Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg1KX0ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IDB9Lm1DUy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0yMHB4fS5tQ1MtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNDBweH0ubUNTLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC01NnB4fS5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6NHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoxcHg7LW1vei1ib3JkZXItcmFkaXVzOjFweDtib3JkZXItcmFkaXVzOjFweH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDo0cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoxcHg7LW1vei1ib3JkZXItcmFkaXVzOjFweDtib3JkZXItcmFkaXVzOjFweH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O21hcmdpbjo2cHggYXV0b30ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KX0ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuOSl9Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAwfS5tQ1MtbGlnaHQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjBweH0ubUNTLWxpZ2h0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggLTQwcHh9Lm1DUy1saWdodC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtNTZweH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoxcHg7LW1vei1ib3JkZXItcmFkaXVzOjFweDtib3JkZXItcmFkaXVzOjFweH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNzUpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoxcHg7LW1vei1ib3JkZXItcmFkaXVzOjFweDtib3JkZXItcmFkaXVzOjFweH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODUpfS5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAwfS5tQ1MtZGFyay0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMjBweH0ubUNTLWRhcmstMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTQwcHh9Lm1DUy1kYXJrLTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtNTZweH0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6NHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjEpOy13ZWJraXQtYm9yZGVyLXJhZGl1czoycHg7LW1vei1ib3JkZXItcmFkaXVzOjJweDtib3JkZXItcmFkaXVzOjJweH0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjZweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSk7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDstbW96LWJvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6MnB4fS5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O21hcmdpbjo2cHggMH0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDoxMDAlO2hlaWdodDo2cHg7bWFyZ2luOjVweCBhdXRvfS5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KX0ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KX0ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAwfS5tQ1MtbGlnaHQtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTIwcHh9Lm1DUy1saWdodC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjBweCAtNDBweH0ubUNTLWxpZ2h0LXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjBweCAtNTZweH0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKTstd2Via2l0LWJvcmRlci1yYWRpdXM6MnB4Oy1tb3otYm9yZGVyLXJhZGl1czoycHg7Ym9yZGVyLXJhZGl1czoycHh9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43NSk7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjJweDstbW96LWJvcmRlci1yYWRpdXM6MnB4O2JvcmRlci1yYWRpdXM6MnB4fS5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODUpfS5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC45KX0ubUNTLWRhcmstdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IDB9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0yMHB4fS5tQ1MtZGFyay10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTAwcHggLTQwcHh9Lm1DUy1kYXJrLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTAwcHggLTU2cHh9Lm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6MnB4fS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWxpZ2h0LXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEwMCV9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1saWdodC10aGluLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjEwMCU7aGVpZ2h0OjJweDttYXJnaW46N3B4IGF1dG99Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xNSl9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KX0ubUNTLWRhcmstdGhpbi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODUpfS5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtZGFyay10aGluLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IDB9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTIwcHh9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTQwcHh9Lm1DUy1kYXJrLXRoaW4ubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC01NnB4fS5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjE1KX0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIsLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIsLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJ7aGVpZ2h0OjE0cHh9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjE0cHg7bWFyZ2luOjAgMXB4fS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2Vye3dpZHRoOjE0cHh9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7aGVpZ2h0OjE0cHg7bWFyZ2luOjFweCAwfS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7bWFyZ2luOi0xcHggMH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQrLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkKy5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjRweH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcjpob3ZlciAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2hlaWdodDoxNnB4O3dpZHRoOjE2cHg7bWFyZ2luOjAgLTFweH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkKy5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWx7aGVpZ2h0OjRweDttYXJnaW46NnB4IDB9Lm1DUy1yb3VuZGVkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjowIC03MnB4fS5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjowIC05MnB4fS5tQ1Mtcm91bmRlZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMTJweH0ubUNTLXJvdW5kZWQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTEyOHB4fS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43NSl9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xNSl9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjg1KX0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5tQ1Mtcm91bmRlZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNzJweH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtOTJweH0ubUNTLXJvdW5kZWQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTEycHh9Lm1DUy1yb3VuZGVkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xMjhweH0ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDo0cHh9Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXJ9Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFJQ0FZQUFBREVENzZMQUFBQU5FbEVRVlFZVjJOa0lBQVlpVmJ3Ly85L1k2RGlNMUFOSm95TWpHZEJiTGdKUUFYL2tVMERLZ0RMa2FRQXZ4VzRIRXZRRndDUmN4SUpLMVh6bkFBQUFBQkpSVTVFcmtKZ2dnPT0pO2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdC15O29wYWNpdHk6LjM7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTMwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT0zMCkifS5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHtoZWlnaHQ6NHB4O21hcmdpbjo2cHggMDtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0ubUNTLXJvdW5kZWQtZG90cy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTcycHh9Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3due2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTkycHh9Lm1DUy1yb3VuZGVkLWRvdHMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTIwcHggLTExMnB4fS5tQ1Mtcm91bmRlZC1kb3RzLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjBweCAtMTI4cHh9Lm1DUy1yb3VuZGVkLWRvdHMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQWdBQUFBSUNBWUFBQURFRDc2TEFBQUFMRWxFUVZRWVYyTmtJQUFZU1ZGZ0RGUjhCcXJCQkVpZkJiR1JUZmlQWmhwWWppUUZCSzNBNmw2Q3ZnQUFFOWtHQ2QxbXZnRUFBQUFBU1VWT1JLNUNZSUk9KX0ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNzJweH0ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC05MnB4fS5tQ1Mtcm91bmRlZC1kb3RzLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTEwMHB4IC0xMTJweH0ubUNTLXJvdW5kZWQtZG90cy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTAwcHggLTEyOHB4fS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteTtiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AscmlnaHQgdG9wLGNvbG9yLXN0b3AoMCxyZ2JhKDI1NSwyNTUsMjU1LC41KSksY29sb3Itc3RvcCgxMDAlLHJnYmEoMjU1LDI1NSwyNTUsMCkpKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDI1NSwyNTUsMjU1LC41KSAwLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSl9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1yZXBlYXQ6cmVwZWF0LXg7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsbGVmdCB0b3AsbGVmdCBib3R0b20sY29sb3Itc3RvcCgwLHJnYmEoMjU1LDI1NSwyNTUsLjUpKSxjb2xvci1zdG9wKDEwMCUscmdiYSgyNTUsMjU1LDI1NSwwKSkpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMjU1LDI1NSwyNTUsLjUpIDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LW1zLWxpbmVhci1ncmFkaWVudCh0b3AscmdiYSgyNTUsMjU1LDI1NSwuNSkgMCxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDI1NSwyNTUsMjU1LC41KSAwLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSl9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlcntoZWlnaHQ6NzBweH0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlcnt3aWR0aDo3MHB4fS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzLC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc3tvcGFjaXR5OjE7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTMwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT0zMCkifS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsey13ZWJraXQtYm9yZGVyLXJhZGl1czoxNnB4Oy1tb3otYm9yZGVyLXJhZGl1czoxNnB4O2JvcmRlci1yYWRpdXM6MTZweH0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6OHB4O2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6aW5zZXQgMXB4IDAgMXB4IHJnYmEoMCwwLDAsLjUpLGluc2V0IC0xcHggMCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMil9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiM1NTV9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcnt3aWR0aDo4cHh9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDoxMDAlO2hlaWdodDo4cHg7bWFyZ2luOjRweCAwO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjUpLGluc2V0IDAgLTFweCAxcHggcmdiYSgyNTUsMjU1LDI1NSwuMil9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6MTAwJTtoZWlnaHQ6OHB4O21hcmdpbjo0cHggYXV0b30ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXB7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtNzJweH0ubUNTLTNkLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC05MnB4fS5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTQwcHggLTExMnB4fS5tQ1MtM2QubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MHB4IC0xMjhweH0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKTtib3gtc2hhZG93Omluc2V0IDFweCAwIDFweCByZ2JhKDAsMCwwLC4xKX0ubUNTLTNkLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpfS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC03MnB4fS5tQ1MtM2QtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTkycHh9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtMTEycHh9Lm1DUy0zZC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTEyOHB4fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc3tvcGFjaXR5OjE7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTMwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT0zMCkifS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzLC5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJDb250YWluZXIsLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyQ29udGFpbmVyey13ZWJraXQtYm9yZGVyLXJhZGl1czo3cHg7LW1vei1ib3JkZXItcmFkaXVzOjdweDtib3JkZXItcmFkaXVzOjdweH0ubUNTQl9pbnNpZGUrLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsLm1DU0JfaW5zaWRlKy5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHtyaWdodDoxcHh9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwsLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2Fse2JveC1zaGFkb3c6aW5zZXQgMXB4IDAgMXB4IHJnYmEoMCwwLDAsLjEpLGluc2V0IDAgMCAxNHB4IHJnYmEoMCwwLDAsLjUpfS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWx7Ym90dG9tOjFweDtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4xKSxpbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLC41KX0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyey13ZWJraXQtYm9yZGVyLXJhZGl1czo1cHg7LW1vei1ib3JkZXItcmFkaXVzOjVweDtib3JkZXItcmFkaXVzOjVweDtib3gtc2hhZG93Omluc2V0IDFweCAwIDAgcmdiYSgyNTUsMjU1LDI1NSwuNCk7d2lkdGg6MTJweDttYXJnaW46MnB4O3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDphdXRvO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowfS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC40KTtoZWlnaHQ6MTJweDt3aWR0aDphdXRvfS5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtM2QtdGhpY2subUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzU1NX0ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSk7Ym94LXNoYWRvdzppbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLDAsMCwuMSl9Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTcycHh9Lm1DUy0zZC10aGljay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtOTJweH0ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MHB4IC0xMTJweH0ubUNTLTNkLXRoaWNrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtMTI4cHh9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHN7Ym94LXNoYWRvdzppbnNldCAwIDAgMTRweCByZ2JhKDAsMCwwLC4yKX0ubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpLGluc2V0IDAgMCAxNHB4IHJnYmEoMCwwLDAsLjIpfS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7Ym94LXNoYWRvdzppbnNldCAxcHggMCAwIHJnYmEoMjU1LDI1NSwyNTUsLjQpLGluc2V0IC0xcHggMCAwIHJnYmEoMCwwLDAsLjIpfS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2Jhcntib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuNCksaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMil9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLTNkLXRoaWNrLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiM3Nzd9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlckNvbnRhaW5lcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSk7Ym94LXNoYWRvdzppbnNldCAxcHggMXB4IDE2cHggcmdiYSgwLDAsMCwuMSl9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC03MnB4fS5tQ1MtM2QtdGhpY2stZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTkycHh9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjBweCAtMTEycHh9Lm1DUy0zZC10aGljay1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTEyOHB4fS5tQ1NCX291dHNpZGUrLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCwubUNTQl9vdXRzaWRlKy5tQ1MtbWluaW1hbC5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2Fse3JpZ2h0OjA7bWFyZ2luOjEycHggMH0ubUN1c3RvbVNjcm9sbEJveC5tQ1MtbWluaW1hbCsubUNTQl9zY3JvbGxUb29scysubUNTQl9zY3JvbGxUb29scy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwsLm1DdXN0b21TY3JvbGxCb3gubUNTLW1pbmltYWwrLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLC5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsLWRhcmsrLm1DU0Jfc2Nyb2xsVG9vbHMrLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsLC5tQ3VzdG9tU2Nyb2xsQm94Lm1DUy1taW5pbWFsLWRhcmsrLm1DU0Jfc2Nyb2xsVG9vbHMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFse2JvdHRvbTowO21hcmdpbjowIDEycHh9Lm1DUy1kaXItcnRsPi5tQ1NCX291dHNpZGUrLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbCwubUNTLWRpci1ydGw+Lm1DU0Jfb3V0c2lkZSsubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc192ZXJ0aWNhbHtsZWZ0OjA7cmlnaHQ6YXV0b30ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIC5tQ1NCX2RyYWdnZXIsLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwgLm1DU0JfZHJhZ2dlcntoZWlnaHQ6NTBweH0ubUNTLW1pbmltYWwtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciwubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJ7d2lkdGg6NTBweH0ubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjIpO2ZpbHRlcjoiYWxwaGEob3BhY2l0eT0yMCkiOy1tcy1maWx0ZXI6ImFscGhhKG9wYWNpdHk9MjApIn0ubUNTLW1pbmltYWwubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1taW5pbWFsLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7ZmlsdGVyOiJhbHBoYShvcGFjaXR5PTUwKSI7LW1zLWZpbHRlcjoiYWxwaGEob3BhY2l0eT01MCkifS5tQ1MtbWluaW1hbC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9MjApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTIwKSJ9Lm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1taW5pbWFsLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KTtmaWx0ZXI6ImFscGhhKG9wYWNpdHk9NTApIjstbXMtZmlsdGVyOiJhbHBoYShvcGFjaXR5PTUwKSJ9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDo2cHg7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMil9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7d2lkdGg6NnB4fS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWxpZ2h0LTMubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbHt3aWR0aDoxMDAlO2hlaWdodDo2cHg7bWFyZ2luOjVweCAwfS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyQ29udGFpbmVyOmhvdmVyIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsLm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnX2V4cGFuZCAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWdfZXhwYW5kZWQrLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfdmVydGljYWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MTJweH0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZ19leHBhbmRlZCsubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbC5tQ1NCX3Njcm9sbFRvb2xzX29uRHJhZ19leHBhbmQgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnX2V4cGFuZGVkKy5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwubUNTQl9zY3JvbGxUb29sc19vbkRyYWdfZXhwYW5kIC5tQ1NCX2RyYWdnZXJDb250YWluZXI6aG92ZXIgLm1DU0JfZHJhZ2dlclJhaWx7aGVpZ2h0OjEycHg7bWFyZ2luOjJweCAwfS5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTcycHh9Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC05MnB4fS5tQ1MtbGlnaHQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtMTEycHh9Lm1DUy1saWdodC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtMTI4cHh9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KX0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODUpfS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lm1DUy1kYXJrLTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKX0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwe2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC03MnB4fS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtOTJweH0ubUNTLWRhcmstMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTExMnB4fS5tQ1MtZGFyay0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTEyOHB4fS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7d2lkdGg6MTJweDtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4yKX0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye3dpZHRoOjZweDttYXJnaW46M3B4IDVweDtwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6YXV0bzt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2hlaWdodDo2cHg7bWFyZ2luOjVweCAzcHg7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6YXV0bzt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MH0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzX2hvcml6b250YWwgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIC5tQ1NCX2RyYWdnZXJSYWlse3dpZHRoOjEwMCU7aGVpZ2h0OjEycHg7bWFyZ2luOjJweCAwfS5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblVwLC5tQ1MtaW5zZXQubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC03MnB4fS5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93biwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uRG93bntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC05MnB4fS5tQ1MtaW5zZXQtMi5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkxlZnQsLm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00MHB4IC0xMTJweH0ubUNTLWluc2V0LTIubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwubUNTLWluc2V0LTMubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25SaWdodCwubUNTLWluc2V0Lm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotNDBweCAtMTI4cHh9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjc1KX0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6aG92ZXIgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuODUpfS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXIsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjphY3RpdmUgLm1DU0JfZHJhZ2dlcl9iYXJ7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuOSl9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyUmFpbCwubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlsLC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uVXAsLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcCwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25VcHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtNzJweH0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd24sLm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25Eb3duLC5tQ1MtaW5zZXQtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvbkRvd257YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTkycHh9Lm1DUy1pbnNldC0yLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0LC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uTGVmdCwubUNTLWluc2V0LWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9idXR0b25MZWZ0e2JhY2tncm91bmQtcG9zaXRpb246LTEyMHB4IC0xMTJweH0ubUNTLWluc2V0LTItZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2J1dHRvblJpZ2h0LC5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHQsLm1DUy1pbnNldC1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfYnV0dG9uUmlnaHR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTIwcHggLTEyOHB4fS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWwsLm1DUy1pbnNldC0yLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItY29sb3I6I2ZmZjtib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMik7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5tQ1MtaW5zZXQtMi1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7Ym9yZGVyLWNvbG9yOiMwMDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjIpfS5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXJSYWlse2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjYpfS5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlclJhaWx7YmFja2dyb3VuZC1jb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNil9Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC43NSl9Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlcjpob3ZlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44NSl9Lm1DUy1pbnNldC0zLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlci5tQ1NCX2RyYWdnZXJfb25EcmFnIC5tQ1NCX2RyYWdnZXJfYmFyLC5tQ1MtaW5zZXQtMy5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjkpfS5tQ1MtaW5zZXQtMy1kYXJrLm1DU0Jfc2Nyb2xsVG9vbHMgLm1DU0JfZHJhZ2dlciAubUNTQl9kcmFnZ2VyX2JhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC43NSl9Lm1DUy1pbnNldC0zLWRhcmsubUNTQl9zY3JvbGxUb29scyAubUNTQl9kcmFnZ2VyOmhvdmVyIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjg1KX0ubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXIubUNTQl9kcmFnZ2VyX29uRHJhZyAubUNTQl9kcmFnZ2VyX2JhciwubUNTLWluc2V0LTMtZGFyay5tQ1NCX3Njcm9sbFRvb2xzIC5tQ1NCX2RyYWdnZXI6YWN0aXZlIC5tQ1NCX2RyYWdnZXJfYmFye2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpfQ=="}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":53,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/background/pattern-7.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.163Z","timestamp":1785135592163,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/background/pattern-7.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 12624\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: b5785343304c59c3992695dfcc4197e9-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":12624,"size_decoded":12967,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"b1b11ee79380802f2ef0efede48c82af","sha1":"562814cf39fb9f5a46cd85d345ede8385306a3d8","sha256":"16180429f112f90424bd950e635a264042d3e57dfa93bf7fce74ac796dfd9acf","sha512":"ee16039bbf4a840a4f475a67bdcb59a1536d75a71a433fb98003e4e991b66991bcf0c87fe791d75c05ff2e4ac62c1d6c22164b4198d86f566e72261b52964499","ssdeep":"192:8ArQjI8bNg/VlKOzBQfaxb9Jpij6jiXJQ8G5Ax9qc2/Ien5QIzz+xntER82Y1Y:8tte/Xxbxb9JpiWjUu1f3Iey2+xPY","tlshash":"15429e8be4821a8ee47dcef89602790c62e075931654c7f638e118a33fddb53d468b99","first_seen":"2026-07-27T05:44:01.841094Z","last_seen":"2026-07-27T11:04:25.225113Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":45,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/use11.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.455Z","timestamp":1785135592455,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/use11.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 68694\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 2081401064ec490b4a9785fc16ff97a6-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":68694,"size_decoded":69037,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"0e2c1a87cd4f002c9e804737ac656ab4","sha1":"ca95b83d2c97726ee5a2cc4e4e87603b5e2a8b15","sha256":"3df0e55a109519660b9ce2033566d0abd7c3e985a33bd29f2b497b299bd72897","sha512":"76f464d581f8a270ad859cb686b4cdb4c54662cfd1a12e7a28039e8a6fd94106a1cb75a23724c60c89fd627184d056129075b3eb6792359867a9231ff8355183","ssdeep":"1536:b7j+2Zmcojy8CHDxymlDf//2mxcWKNra0RXFf2LDjFv7Qev2:bfZmh2PHDQmlDXbxJKNr1E9To","tlshash":"ca630252bada537fc32e5f7fa12a94f046b54de3c3168b60d9a41dd03e1e23008e58a5","first_seen":"2026-07-27T05:44:01.837822Z","last_seen":"2026-07-27T11:04:25.217356Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":48,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/logo.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.802Z","timestamp":1785135591802,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /logo.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 8156\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 0e10e1f0cc6dcdfd2ddfe8eec4fbd153-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.014\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":8156,"size_decoded":8498,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"66184cb477c74c3c821a4de23fd07a92","sha1":"1655765f02801030e986b8eb06935445cf02664b","sha256":"869fd9c01b1d8a9f48d9f89c3410ad141ec8b651360b2bc0b404952ef41637f4","sha512":"2032643e972810ace237b108a15dd3cb1db9bfb229e9ed9b6c13523d541107847194c9ebe010b33d4d88d3da83f5454936ab9493b9aab58ea5f0c5bdadfd6b19","ssdeep":"192:zq0zpz+cGcr5NNeLEvQ3nRh7apweDkk+SV:zq0VNGcr5NNe/nn7swI1V","tlshash":"67f1bf01e7f8e9fdc83139be98990fd3c21f91c9624415a1c8915a877d6a3823e7838e","first_seen":"2026-07-27T05:44:01.852249Z","last_seen":"2026-07-27T11:04:25.211062Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":86,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":64,"receive":22,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/style.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.574Z","timestamp":1785135591574,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/style.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 28174\r\ncache-control: public, max-age=604800\r\nexpires: Thu, 30 Jul 2026 11:10:01 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"3e746-68bf75d4-d0bddc4a90852efc;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 330590\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: cc3ca2f7bc5e6a06d11b184ab6c66589-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.019\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":255814,"size_decoded":28768,"mime_type":"text/css","magic":"ASCII text","md5":"c37ec82a03a187cddb49463b5596de08","sha1":"48354edf28b7238f3362c74c260a19e26488ea49","sha256":"1ecc908606c600d1d2d03b1b732792ff4b09119ffc116afe9d58e5afcbc17c06","sha512":"fe5254081e3e9ace897d613debd4f6e2e13f2f896aa740cfdca0b2f129d61a90c46cea0ae215368f82e8ce234c36ae8dcf58384ac1407a2705a12faa5c412ed7","ssdeep":"1536:Z458DWIsuvOfLcVq1XlcQpmvRH8Bj7R+c1Ey8RuhVZ2HQ958DCd58DF58DjV/04e:Z/vxcljWvt","tlshash":"394443a255212408a21bd358bbc576992e3d9093ed3f0e5eb3567a2dc7823d91133fce","first_seen":"2025-10-19T08:46:52.171716Z","last_seen":"2026-07-27T11:34:25.569921Z","times_seen":8,"resource_available":false,"data":"LyogU29sdmEgSFRNTCBUZW1wbGF0ZSovCgovKioqKioqKioqKioqIFRBQkxFIE9GIENPTlRFTlRTICoqKioqKioqKioqKioqKgoxLiBGb250cwoyLiBSZXNldAozLiBHbG9iYWwKNC4gTWFpbiBIZWFkZXIgLyBTdHlsZSBUd28gLyBTdHlsZSBUaHJlZQo1LiBNYWluIFNsaWRlcgo2LiBXZWxjb21lIFNlY3Rpb24KNy4gU2VydmljZXMgU2VjdGlvbgo4LiBDYWxsIFRvIEFjdGlvbiBTZWN0aW9uCjkuIFByb2plY3RzIFNlY3Rpb24KMTAuIENhbGwgVG8gQWN0aW9uIFNlY3Rpb24gVHdvCjExLiBFeHBlcnQgU2VjdGlvbgoxMi4gQ2xpZW50cyBTZWN0aW9uCjEzLiBUd28gRnVsbHdpZHRoIENvbHVtbiBTZWN0aW9uCjE0LiBDbGllbnRzIFNlY3Rpb24gLyBTdHlsZSBUd28KMTUuIE1haW4gRm9vdGVyIC8gU3R5bGUgVHdvIC8gU3R5bGUgVGhyZWUKMTYuIEluZHVzdHJpYWwgU2VjdGlvbgoxNy4gQ2hvb3NlIFNlY3Rpb24KMTguIFByb2Nlc3MgU2VjdGlvbgoxOS4gRnVsbFdpZHRoIFByb2Nlc3MgU2VjdGlvbgoyMC4gRmFxIFNlY3Rpb24KMjEuIFRlc3RpbW9uaWFsIFNlY3Rpb24KMjIuIEJsb2dzIFNlY3Rpb24KMjMuIE5ld3NMZXR0ZXIgU2VjdGlvbiAvIFN0eWxlIFR3bwoyNC4gRmVhdHVyZSBTZWN0aW9uCjI1LiBDb3VudGVyIFNlY3Rpb24KMjYuIFByaWNpbmcgU2VjdGlvbgoyNy4gQ29udGFjdCBGb3JtIFNlY3Rpb24KMjguIFBhZ2UgVGl0bGUKMjkuIENvbW1pbmcgU29vbiBTZWN0aW9uCjMwLiBTZXJ2aWNlcyBTaW5nbGUgU2VjdGlvbgozMS4gUHJvamVjdCBEZXRhaWwgU2VjdGlvbgozMi4gU2hvcCBJdGVtcwozMy4gU2hvcGluZyBDYXJ0IFNlY3Rpb24KMzQuIENoZWNrb3V0IFNlY3Rpb24KMzUuIFNob3AgRGV0YWlsIFNlY3Rpb24KMzYuIE91ciBCbG9ncyBTZWN0aW9uCjM3LiBCbG9nIERldGFpbCBTZWN0aW9uCjM4LiBTaWRlYmFyIFdpZGdldHMKMzkuIENvbnRhY3QgSW5mbyBTZWN0aW9uCjQwLiBNYXAgU2VjdGlvbgoKKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KCkBpbXBvcnQgdXJsKCcuLi9leHRlcm5hbGU5MmFlOTJhLmh0bWw/bGluaz1odHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9SGluZCtTaWxpZ3VyaTo0MDAsNTAwLDYwMCw3MDB8UG9wcGluczozMDAsNDAwLDUwMCw2MDAsNzAwLDgwMCw5MDAmYW1wO2Rpc3BsYXk9c3dhcCcpOwoKLyogZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsKZm9udC1mYW1pbHk6ICdIaW5kIFNpbGlndXJpJywgc2Fucy1zZXJpZjsgKi8KCkBpbXBvcnQgdXJsKCdmb250LWF3ZXNvbWUuY3NzJyk7CkBpbXBvcnQgdXJsKCdmbGF0aWNvbi5jc3MnKTsKQGltcG9ydCB1cmwoJ2FuaW1hdGUuY3NzJyk7CkBpbXBvcnQgdXJsKCdvd2wuY3NzJyk7CkBpbXBvcnQgdXJsKCdqcXVlcnktdWkuY3NzJyk7CkBpbXBvcnQgdXJsKCdjdXN0b20tYW5pbWF0ZS5jc3MnKTsKQGltcG9ydCB1cmwoJ2pxdWVyeS5mYW5jeWJveC5taW4uY3NzJyk7CkBpbXBvcnQgdXJsKCdqcXVlcnkuYm9vdHN0cmFwLXRvdWNoc3Bpbi5jc3MnKTsKQGltcG9ydCB1cmwoJ2pxdWVyeS5tQ3VzdG9tU2Nyb2xsYmFyLm1pbi5jc3MnKTsKCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJUmVzZXQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAqKiovCiAKKiB7CgltYXJnaW46MHB4OwoJcGFkZGluZzowcHg7Cglib3JkZXI6bm9uZTsKCW91dGxpbmU6bm9uZTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglHbG9iYWwgU2V0dGluZ3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAqKiovCgpib2R5IHsKCWZvbnQtZmFtaWx5OiAnSGluZCBTaWxpZ3VyaScsIHNhbnMtc2VyaWY7Cglmb250LXNpemU6MTRweDsKCWNvbG9yOiM3Nzc3Nzc7CglsaW5lLWhlaWdodDoxLjdlbTsKCWZvbnQtd2VpZ2h0OjQwMDsKCWJhY2tncm91bmQ6I2ZmZmZmZjsKCS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwoJLW1vei1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7Cn0KCi5ib3JkZXJlZC1sYXlvdXQgLnBhZ2Utd3JhcHBlcnsKCXBhZGRpbmc6MHB4IDUwcHggMHB4Owp9CgphewoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7CgljdXJzb3I6cG9pbnRlcjsKCWNvbG9yOiNjMjJhMmE7Cn0KCmJ1dHRvbnsKCWN1cnNvcjpwb2ludGVyOwoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7CglvdXRsaW5lOm5vbmUgIWltcG9ydGFudDsKfQoKYTpob3ZlcixhOmZvY3VzLGE6dmlzaXRlZHsKCXRleHQtZGVjb3JhdGlvbjpub25lOwoJb3V0bGluZTpub25lICFpbXBvcnRhbnQ7Cn0KCmgxLGgyLGgzLGg0LGg1LGg2IHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC13ZWlnaHQ6bm9ybWFsOwoJbWFyZ2luOjBweDsKCWJhY2tncm91bmQ6bm9uZTsKCWxpbmUtaGVpZ2h0OjEuNmVtOwoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsKfQoKaW5wdXQsYnV0dG9uLHNlbGVjdCx0ZXh0YXJlYXsKCQp9Cgp0ZXh0YXJlYXsKCW92ZXJmbG93OmhpZGRlbjsKfQoKcHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbGluZS1oZWlnaHQ6MS44ZW07CQp9CgouYXV0by1jb250YWluZXJ7Cglwb3NpdGlvbjpzdGF0aWM7CgltYXgtd2lkdGg6MTIwMHB4OwoJcGFkZGluZzowcHggMTVweDsKCW1hcmdpbjowIGF1dG87Cn0KCi5tZWRpdW0tY29udGFpbmVyewoJbWF4LXdpZHRoOjg1MHB4Owp9CgoucGFnZS13cmFwcGVyewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW46MCBhdXRvOwoJd2lkdGg6MTAwJTsKCW1pbi13aWR0aDozMDBweDsKfQoKdWwsbGl7CglsaXN0LXN0eWxlOm5vbmU7CglwYWRkaW5nOjBweDsKCW1hcmdpbjowcHg7CQp9CgppbWd7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCW1heC13aWR0aDoxMDAlOwp9CgoudGhlbWUtYnRuewoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLmNlbnRlcmVkewoJdGV4dC1hbGlnbjpjZW50ZXI7CQp9CgovKiBUeXBvZ3JhcGh5ICovCgpoMXsKCWZvbnQtc2l6ZTo2MHB4Owp9CgpoMnsKCWZvbnQtc2l6ZTozNnB4Owp9CgpoM3sKCWZvbnQtc2l6ZToyOHB4Owp9CgpoNHsKCWZvbnQtc2l6ZToyMHB4Owp9CgpoNXsKCWZvbnQtc2l6ZToyMHB4Owp9CgpoNnsKCWZvbnQtc2l6ZToxOHB4Owp9CgovKiBMaXN0IFN0eWxlIE9uZSAqLwoKLmxpc3Qtc3R5bGUtb25lewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5saXN0LXN0eWxlLW9uZSBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJbWFyZ2luLWJvdHRvbToxNXB4OwoJcGFkZGluZy1sZWZ0OjM1cHg7CglsaW5lLWhlaWdodDogMS44ZW07Cn0KCi5saXN0LXN0eWxlLW9uZSBsaSAuaWNvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJY29sb3I6IzBGNzY2RTsKCWZvbnQtc2l6ZToyMHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi8qIExpc3QgU3R5bGUgVGhyZWUgKi8KCi5saXN0LXN0eWxlLXRocmVlewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5saXN0LXN0eWxlLXRocmVlIGxpewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDo2MDA7CgltYXJnaW4tYm90dG9tOjEwcHg7CglwYWRkaW5nLWxlZnQ6MzBweDsKCWxpbmUtaGVpZ2h0OiAxLjZlbTsKfQoKLmxpc3Qtc3R5bGUtdGhyZWUgbGk6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OidcZjAwYyc7CglsZWZ0OjBweDsKCXRvcDowcHg7Cglmb250LXdlaWdodDo0MDA7Cgljb2xvcjojMEY3NjZFOwoJZm9udC1zaXplOjE2cHg7Cglmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsKfQoKLyogTGlzdCBTdHlsZSBUd28gKi8KCi5saXN0LXN0eWxlLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgoubGlzdC1zdHlsZS10d28gbGl7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKCWZvbnQtd2VpZ2h0OjQwMDsKCW1hcmdpbi1ib3R0b206MTVweDsKCXBhZGRpbmctbGVmdDo4MHB4OwoJbGluZS1oZWlnaHQ6IDEuOGVtOwp9CgoubGlzdC1zdHlsZS10d28gbGkgc3Ryb25newoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDo3MDA7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjI0cHg7CglkaXNwbGF5OmJsb2NrOwoJbWFyZ2luLWJvdHRvbTozcHg7Cn0KCi5saXN0LXN0eWxlLXR3byBsaSAuaWNvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6NTBweDsKCWhlaWdodDo1MHB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToyMHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDo1MHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAsICNEMTY0MUEpLCBjb2xvci1zdG9wKDEwMCwgIzBGNzY2RSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKfQoKLmxpc3Qtc3R5bGUtdHdvLnN0eWxlLXR3byBsaSBzdHJvbmd7Cgljb2xvcjojMDAwMDAwOwp9CgoubGlzdC1zdHlsZS10d28uc3R5bGUtdHdvIGxpewoJY29sb3I6IzY2NjY2NjsKfQoKLypCdG4gU3R5bGUgT25lKi8KCi5idG4tc3R5bGUtb25lewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJZm9udC1zaXplOiAxNnB4OwoJbGluZS1oZWlnaHQ6IDMwcHg7Cgljb2xvcjogI2ZmZmZmZjsKCWZvbnQtd2VpZ2h0OiA2MDA7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDpub25lOwoJYm9yZGVyLXJhZGl1czowcHg7CglwYWRkaW5nOiAxNXB4IDQ0cHggMTVweDsKCXRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMwRjc2NkUgMCUsICMyNDIzMzQgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMwRjc2NkUgMCUsICMyNDIzMzQgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMEY3NjZFIDAlLCAjMjQyMzM0IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjMEY3NjZFKSwgY29sb3Itc3RvcCgxMDAsICMyNDIzMzQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzBGNzY2RSAwJSwgIzI0MjMzNCAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwRjc2NkUgMCUsICMyNDIzMzQgMTAwJSk7Cglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOwp9CgouYnRuLXN0eWxlLW9uZTpiZWZvcmV7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgljb250ZW50OiAnJzsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHotaW5kZXg6IDE7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNEMTY0MUEpLCBjb2xvci1zdG9wKDEwMCwgIzBGNzY2RSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKfQoKLmJ0bi1zdHlsZS1vbmUgLnR4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJei1pbmRleDoxOwp9CgouYnRuLXN0eWxlLW9uZTpob3Zlcjo6YmVmb3JlewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7Cn0KCi5idG4tc3R5bGUtb25lOmhvdmVyewoJY29sb3I6ICNmZmZmZmY7Cn0KCi8qIEJ0biBTdHlsZSBUd28gKi8KCi5idG4tc3R5bGUtdHdvewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJZm9udC1zaXplOiAxNnB4OwoJbGluZS1oZWlnaHQ6IDMwcHg7Cgljb2xvcjogI2ZmZmZmZjsKCXBhZGRpbmc6IDEwcHggMzJweCAxMHB4OwoJZm9udC13ZWlnaHQ6IDQwMDsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOm5vbmU7CglsZXR0ZXItc3BhY2luZzoxcHg7Cglib3JkZXItcmFkaXVzOjUwcHg7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwoJYm9yZGVyOjJweCBzb2xpZCAjZmZmZmZmOwoJCn0KCi5idG4tc3R5bGUtdHdvOmJlZm9yZXsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWNvbnRlbnQ6ICcnOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzIyYTJhOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7Cn0KCi5idG4tc3R5bGUtdHdvIC50eHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXotaW5kZXg6MTsKfQoKLmJ0bi1zdHlsZS10d286aG92ZXI6OmJlZm9yZXsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwp9CgouYnRuLXN0eWxlLXR3bzpob3ZlcnsKCWNvbG9yOiAjZmZmZmZmOwoJYm9yZGVyLWNvbG9yOiNjMjJhMmE7Cn0KCi8qIEJ0biBTdHlsZSBUaHJlZSAqLwoKLmJ0bi1zdHlsZS10aHJlZXsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCWZvbnQtc2l6ZTogMTZweDsKCWxpbmUtaGVpZ2h0OiAzMHB4OwoJY29sb3I6ICNmZmZmZmY7Cglmb250LXdlaWdodDogNDAwOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6bm9uZTsKCWJvcmRlci1yYWRpdXM6MHB4OwoJcGFkZGluZzogMTRweCA0NHB4IDE0cHg7Cgl0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMEY3NjZFIDAlLCAjMjQyMzM0IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMEY3NjZFIDAlLCAjMjQyMzM0IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzBGNzY2RSAwJSwgIzI0MjMzNCAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgIzBGNzY2RSksIGNvbG9yLXN0b3AoMTAwLCAjMjQyMzM0KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMwRjc2NkUgMCUsICMyNDIzMzQgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMEY3NjZFIDAlLCAjMjQyMzM0IDEwMCUpOwoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsKfQoKLmJ0bi1zdHlsZS10aHJlZTpiZWZvcmV7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgljb250ZW50OiAnJzsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHotaW5kZXg6IDE7CiAgICBvcGFjaXR5OiAwOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNEMTY0MUEpLCBjb2xvci1zdG9wKDEwMCwgIzBGNzY2RSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKfQoKLmJ0bi1zdHlsZS10aHJlZSAudHh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjE7Cn0KCi5idG4tc3R5bGUtdGhyZWU6aG92ZXI6OmJlZm9yZXsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwp9CgouYnRuLXN0eWxlLXRocmVlOmhvdmVyewoJY29sb3I6ICNmZmZmZmY7Cn0KCi8qIEJ0biBTdHlsZSBGb3VyICovCgouYnRuLXN0eWxlLWZvdXJ7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cglmb250LXNpemU6IDE4cHg7CglsaW5lLWhlaWdodDogMzBweDsKCWNvbG9yOiAjZmZmZmZmOwoJZm9udC13ZWlnaHQ6IDYwMDsKCW92ZXJmbG93OiBoaWRkZW47CgliYWNrZ3JvdW5kOm5vbmU7Cglib3JkZXItcmFkaXVzOjBweDsKCXBhZGRpbmc6IDI1cHggNTJweCAyNXB4OwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA5MTQ5NCAwJSwgIzMxNDFmZSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA5MTQ5NCAwJSwgIzMxNDFmZSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAsICMwOTE0OTQpLCBjb2xvci1zdG9wKDEwMCwgIzMxNDFmZSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA5MTQ5NCAwJSwgIzMxNDFmZSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzA5MTQ5NCAwJSwgIzMxNDFmZSAxMDAlKTsKfQoKLmJ0bi1zdHlsZS1mb3VyOmJlZm9yZXsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWNvbnRlbnQ6ICcnOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwOTE0OTQgMCUsICMzMTQxRkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyaWdodCwgIzA5MTQ5NCAwJSwgIzMxNDFGRSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgIzA5MTQ5NCAwJSwgIzMxNDFGRSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAsICMwOTE0OTQpLCBjb2xvci1zdG9wKDEwMCwgIzMxNDFGRSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwOTE0OTQgMCUsICMzMTQxRkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgIzA5MTQ5NCAwJSwgIzMxNDFGRSAxMDAlKTsKfQoKLmJ0bi1zdHlsZS1mb3VyIC50eHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXotaW5kZXg6MTsKfQoKLmJ0bi1zdHlsZS1mb3VyOmhvdmVyOjpiZWZvcmV7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKfQoKLmJ0bi1zdHlsZS1mb3VyOmhvdmVyewoJY29sb3I6ICNmZmZmZmY7Cn0KCi8qIEJ0biBTdHlsZSBGaXZlICovCgouYnRuLXN0eWxlLWZpdmV7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cglmb250LXNpemU6IDE2cHg7CglsaW5lLWhlaWdodDogMzBweDsKCWNvbG9yOiAjMDkxMzk0OwoJcGFkZGluZzogMTJweCAzOHB4IDEycHg7Cglmb250LXdlaWdodDogNjAwOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6bm9uZTsKCWxldHRlci1zcGFjaW5nOjFweDsKCWJvcmRlci1yYWRpdXM6MHB4OwoJdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKCWJvcmRlcjoycHggc29saWQgIzMyNDFmZjsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKfQoKLmJ0bi1zdHlsZS1maXZlOmJlZm9yZXsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWNvbnRlbnQ6ICcnOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI0MWZmOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7Cn0KCi5idG4tc3R5bGUtZml2ZSAudHh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjE7Cn0KCi5idG4tc3R5bGUtZml2ZTpob3Zlcjo6YmVmb3JlewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7Cn0KCi5idG4tc3R5bGUtZml2ZTpob3ZlcnsKCWNvbG9yOiAjZmZmZmZmOwoJYm9yZGVyLWNvbG9yOiMzMjQxZmY7Cn0KCi8qIEJ0biBTdHlsZSBTaXggKi8KCi5idG4tc3R5bGUtc2l4ewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJZm9udC1zaXplOiAxOHB4OwoJbGluZS1oZWlnaHQ6IDMwcHg7Cgljb2xvcjogI2ZmZmZmZjsKCWZvbnQtd2VpZ2h0OiA2MDA7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDpub25lOwoJYm9yZGVyLXJhZGl1czowcHg7CglwYWRkaW5nOiAxNHB4IDQ2cHggMTRweDsKCXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDkxNDk0IDAlLCAjMzE0MWZlIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjMDkxNDk0KSwgY29sb3Itc3RvcCgxMDAsICMzMTQxZmUpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7Cn0KCi5idG4tc3R5bGUtc2l4OmJlZm9yZXsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWNvbnRlbnQ6ICcnOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwOTE0OTQgMCUsICMzMTQxRkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyaWdodCwgIzA5MTQ5NCAwJSwgIzMxNDFGRSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgIzA5MTQ5NCAwJSwgIzMxNDFGRSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAsICMwOTE0OTQpLCBjb2xvci1zdG9wKDEwMCwgIzMxNDFGRSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwOTE0OTQgMCUsICMzMTQxRkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgIzA5MTQ5NCAwJSwgIzMxNDFGRSAxMDAlKTsKfQoKLmJ0bi1zdHlsZS1zaXggLnR4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJei1pbmRleDoxOwp9CgouYnRuLXN0eWxlLXNpeDpob3Zlcjo6YmVmb3JlewogICAgb3BhY2l0eTogMTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7Cn0KCi5idG4tc3R5bGUtc2l4OmhvdmVyewoJY29sb3I6ICNmZmZmZmY7Cn0KCi8qIEJ0biBTdHlsZSBTZXZlbiAqLwoKLmJ0bi1zdHlsZS1zZXZlbnsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCWZvbnQtc2l6ZTogMTZweDsKCWxpbmUtaGVpZ2h0OiAzMHB4OwoJY29sb3I6ICMxODIxMmU7CglwYWRkaW5nOiAxMnB4IDM4cHggMTJweDsKCWZvbnQtd2VpZ2h0OiA2MDA7CglvdmVyZmxvdzogaGlkZGVuOwoJYmFja2dyb3VuZDpub25lOwoJbGV0dGVyLXNwYWNpbmc6MXB4OwoJYm9yZGVyLXJhZGl1czowcHg7Cgl0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwp9CgouYnRuLXN0eWxlLXNldmVuOmJlZm9yZXsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWNvbnRlbnQ6ICcnOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTgyMTJlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIHRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMiwgMSk7Cn0KCi5idG4tc3R5bGUtc2V2ZW4gLnR4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJei1pbmRleDoxOwp9CgouYnRuLXN0eWxlLXNldmVuOmhvdmVyOjpiZWZvcmV7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKfQoKLmJ0bi1zdHlsZS1zZXZlbjpob3ZlcnsKCWNvbG9yOiAjZmZmZmZmOwp9CgovKiBCdG4gU3R5bGUgRWlnaHQgKi8KCi5idG4tc3R5bGUtZWlnaHR7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cglmb250LXNpemU6IDE0cHg7CglsaW5lLWhlaWdodDogMzBweDsKCWNvbG9yOiAjMzI0MWZmOwoJcGFkZGluZzogMTFweCAzNHB4IDExcHg7Cglmb250LXdlaWdodDogNjAwOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6bm9uZTsKCWxldHRlci1zcGFjaW5nOjFweDsKCWJvcmRlci1yYWRpdXM6MHB4OwoJdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7Cglib3JkZXI6MXB4IHNvbGlkICMwOTEzOTQ7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cn0KCi5idG4tc3R5bGUtZWlnaHQ6YmVmb3JlewoJcG9zaXRpb246IGFic29sdXRlOwoJY29udGVudDogJyc7CiAgICB0b3A6IDA7CiAgICBsZWZ0OiAwOwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICB6LWluZGV4OiAxOwogICAgb3BhY2l0eTogMDsKICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKfQoKLmJ0bi1zdHlsZS1laWdodCAudHh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjE7Cn0KCi5idG4tc3R5bGUtZWlnaHQ6aG92ZXI6OmJlZm9yZXsKICAgIG9wYWNpdHk6IDE7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwp9CgouYnRuLXN0eWxlLWVpZ2h0OmhvdmVyewoJY29sb3I6ICNmZmZmZmY7Cglib3JkZXItY29sb3I6IzIyMjIyMjsKfQoKLyogQnRuIFN0eWxlIE5pbmUgKi8KCi5idG4tc3R5bGUtbmluZXsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCWZvbnQtc2l6ZTogMTZweDsKCWxpbmUtaGVpZ2h0OiAzMHB4OwoJY29sb3I6ICNmZmZmZmY7Cglmb250LXdlaWdodDogNjAwOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6bm9uZTsKCWJvcmRlci1yYWRpdXM6NnB4OwoJcGFkZGluZzoxNXB4IDQ0cHggMTVweDsKCXRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMEY3NjZFIDAlLCAjMjUyNDM1IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzBGNzY2RSAwJSwgIzI1MjQzNSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMEY3NjZFIDAlLCAjMjUyNDM1IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgIzBGNzY2RSksIGNvbG9yLXN0b3AoMTAwLCAjMjUyNDM1KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMEY3NjZFIDAlLCAjMjUyNDM1IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMEY3NjZFIDAlLCAjMjUyNDM1IDEwMCUpOwoJZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZjsKfQoKLmJ0bi1zdHlsZS1uaW5lOmJlZm9yZXsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWNvbnRlbnQ6ICcnOwogICAgdG9wOiAwOwogICAgbGVmdDogMDsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgei1pbmRleDogMTsKICAgIG9wYWNpdHk6IDA7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yLCAxKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwRjc2NkUgMCUsICM1RTNDMUEgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChyaWdodCwgIzBGNzY2RSAwJSwgIzVFM0MxQSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgIzBGNzY2RSAwJSwgIzVFM0MxQSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCByaWdodCB0b3AsIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAsICMwRjc2NkUpLCBjb2xvci1zdG9wKDEwMCwgIzVFM0MxQSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwRjc2NkUgMCUsICM1RTNDMUEgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgIzBGNzY2RSAwJSwgIzVFM0MxQSAxMDAlKTsKfQoKLmJ0bi1zdHlsZS1uaW5lIC50eHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXotaW5kZXg6MTsKfQoKLmJ0bi1zdHlsZS1uaW5lOmhvdmVyOjpiZWZvcmV7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKfQoKLmJ0bi1zdHlsZS1uaW5lOmhvdmVyewoJY29sb3I6ICNmZmZmZmY7Cn0KCi5idG4tc3R5bGUtbmluZS5zdHlsZS10d297Cglib3JkZXItcmFkaXVzOjBweDsKfQoKLyogQnRuIFN0eWxlIFRlbiAqLwoKLmJ0bi1zdHlsZS10ZW57Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cglmb250LXNpemU6IDE2cHg7CglsaW5lLWhlaWdodDogMzBweDsKCWNvbG9yOiAjMjQyMzM0OwoJcGFkZGluZzogMTJweCAzOHB4IDEycHg7Cglmb250LXdlaWdodDogNjAwOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6bm9uZTsKCWJvcmRlci1yYWRpdXM6MnB4OwoJdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOwp9CgouYnRuLXN0eWxlLXRlbjpiZWZvcmV7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgljb250ZW50OiAnJzsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHotaW5kZXg6IDE7CiAgICBvcGFjaXR5OiAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIsIDEpOwp9CgouYnRuLXN0eWxlLXRlbiAudHh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjE7Cn0KCi5idG4tc3R5bGUtdGVuOmhvdmVyOjpiZWZvcmV7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKfQoKLmJ0bi1zdHlsZS10ZW46aG92ZXJ7Cgljb2xvcjogI2ZmZmZmZjsKfQoKLyogQnRuIFN0eWxlIEVsZXZlbiAqLwoKLmJ0bi1zdHlsZS1lbGV2ZW57Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cglmb250LXNpemU6IDE0cHg7CglsaW5lLWhlaWdodDogMzBweDsKCWNvbG9yOiAjZmZmZmZmOwoJcGFkZGluZzogMTFweCAzNHB4IDExcHg7Cglmb250LXdlaWdodDogNjAwOwoJb3ZlcmZsb3c6IGhpZGRlbjsKCWJhY2tncm91bmQ6bm9uZTsKCWxldHRlci1zcGFjaW5nOjFweDsKCWJvcmRlci1yYWRpdXM6MnB4OwoJdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7Cglib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7Cglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOwp9CgouYnRuLXN0eWxlLWVsZXZlbjpiZWZvcmV7Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgljb250ZW50OiAnJzsKICAgIHRvcDogMDsKICAgIGxlZnQ6IDA7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIHotaW5kZXg6IDE7CiAgICBvcGFjaXR5OiAwOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjRzOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHM7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC40czsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIsIDEpOwp9CgouYnRuLXN0eWxlLWVsZXZlbiAudHh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjE7Cn0KCi5idG4tc3R5bGUtZWxldmVuOmhvdmVyOjpiZWZvcmV7CiAgICBvcGFjaXR5OiAxOwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKfQoKLmJ0bi1zdHlsZS1lbGV2ZW46aG92ZXJ7Cgljb2xvcjogIzI0MjMzNDsKCWJvcmRlci1jb2xvcjojZmZmZmZmOwp9CgovKiBTb2NpYWwgSWNvbiBPbmUgKi8KCi5zb2NpYWwtaWNvbi1vbmV7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBibG9jazsKfQoKLnNvY2lhbC1pY29uLW9uZSAudGl0bGV7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cglmb250LXNpemU6IDIwcHg7CglsaW5lLWhlaWdodDogMjZweDsKCWNvbG9yOiAjZmZmZmZmOwoJZm9udC13ZWlnaHQ6IDcwMDsKCWRpc3BsYXk6YmxvY2s7CgltYXJnaW4tYm90dG9tOjEycHg7Cn0KCi5zb2NpYWwtaWNvbi1vbmUgbGl7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cglmb250LXNpemU6IDE2cHg7CglsaW5lLWhlaWdodDogMjRweDsKCWNvbG9yOiAjZmZmZmZmOwoJbWFyZ2luLXJpZ2h0OiA0cHg7Cn0KCi5zb2NpYWwtaWNvbi1vbmUgbGk6bGFzdC1jaGlsZHsKCW1hcmdpbi1yaWdodDogMDsKfQoKLnNvY2lhbC1pY29uLW9uZSBsaSBhewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogYmxvY2s7Cglmb250LXNpemU6IDE2cHg7CglsaW5lLWhlaWdodDogMjRweDsKCWNvbG9yOiAjZmZmZmZmOwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJbGluZS1oZWlnaHQ6MzhweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cglib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC43MCk7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cn0KCi5zb2NpYWwtaWNvbi1vbmUgbGkgYTpob3ZlcnsKCWNvbG9yOiAjMDAwMDAwOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwp9CgovKiBTb2NpYWwgSWNvbiBUd28gKi8KCi5zb2NpYWwtaWNvbi10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNvY2lhbC1pY29uLXR3byBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luOjBweCA0cHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLnNvY2lhbC1pY29uLXR3byBsaSBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE0cHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjM4cHg7Cglib3JkZXItcmFkaXVzOjUwcHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJvcmRlcjoxcHggc29saWQgIzBGNzY2RTsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKfQoKLnNvY2lhbC1pY29uLXR3byBsaSBhOmhvdmVyewoJY29sb3I6I2ZmZmZmZjsKCWJvcmRlci1jb2xvcjojMEY3NjZFOwoJYmFja2dyb3VuZC1jb2xvcjojMEY3NjZFOwp9CgoudGhlbWVfY29sb3J7Cgljb2xvcjojYzIyYTJhOwp9CgoucHJlbG9hZGVyeyBwb3NpdGlvbjpmaXhlZDsgbGVmdDowcHg7IHRvcDowcHg7IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyB6LWluZGV4Ojk5OTk5OTsgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1hZ2VzL2ljb25zL3ByZWxvYWRlci5zdmcpOyBiYWNrZ3JvdW5kLXNpemU6MTIwcHg7fQoKaW1newoJZGlzcGxheTppbmxpbmUtYmxvY2s7CgltYXgtd2lkdGg6MTAwJTsKCWhlaWdodDphdXRvOwkKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglTY3JvbGwgVG8gVG9wIHN0eWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgouc2Nyb2xsLXRvLXRvcHsKCXBvc2l0aW9uOmZpeGVkOwoJYm90dG9tOjE1cHg7CglyaWdodDoxNXB4OwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxM3B4OwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwoJbGluZS1oZWlnaHQ6MzhweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJei1pbmRleDoxMDA7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6IzBhMGEwYTsKCWRpc3BsYXk6bm9uZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQkKfQoKLnNjcm9sbC10by10b3A6aG92ZXJ7Cgljb2xvcjojZmZmZmZmOwoJYmFja2dyb3VuZDojYzIyYTJhOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCVNlY3Rpb24gVGl0bGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5zZWMtdGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NTBweDsKfQoKLnNlYy10aXRsZSAudGl0bGV7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBjb2xvcjogIzBGNzY2RTsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CgltYXJnaW4tYm90dG9tOiAxNXB4OwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7Cn0KCi5zZWMtdGl0bGUgaDJ7Cglwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBjb2xvcjogIzIyMjIyMjsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4zZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKfQoKLnNlYy10aXRsZSAudGV4dHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGNvbG9yOiAjMjIyMjIyOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKCWxpbmUtaGVpZ2h0OjEuOGVtOwoJbWFyZ2luLXRvcDoxNXB4Owp9Cgouc2VjLXRpdGxlLmxpZ2h0IGgyewoJY29sb3I6I2ZmZmZmZjsKfQoKLnNlYy10aXRsZS5saWdodCAudGl0bGUsCi5zZWMtdGl0bGUubGlnaHQgLnRleHR7Cgljb2xvcjojZmZmZmZmOwp9CgovKiBTdHlsZSBUd28gKi8KCi5zZWMtdGl0bGUuc3R5bGUtdHdvIC50aXRsZXsKCWNvbG9yOiMwOTEzOTQ7Cn0KCi8qIFN0eWxlIFRocmVlICovCgouc2VjLXRpdGxlLnN0eWxlLXRocmVlIC50aXRsZXsKCWNvbG9yOiMwRjc2NkU7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJU2VjdGlvbiBUaXRsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnNlYy10aXRsZS10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NzBweDsKfQoKLnNlYy10aXRsZS10d28gaDJ7Cglwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBjb2xvcjogIzIyMjIyMjsKICAgIGZvbnQtc2l6ZTogNDhweDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBsaW5lLWhlaWdodDogMS4zZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKfQoKLnNlYy10aXRsZS10d28gLnRpdGxlewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgY29sb3I6ICMyMjIyMjI7CiAgICBmb250LXNpemU6IDI0cHg7CiAgICBmb250LXdlaWdodDogNTAwOwoJbWFyZ2luLXRvcDozNXB4OwoJcGFkZGluZzowcHggNzBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwogICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7Cn0KCi5zZWMtdGl0bGUtdHdvIC50aXRsZSAubGVmdC1zZXBhcmF0ZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MTJweDsKCXdpZHRoOjU1cHg7Cn0KCi5zZWMtdGl0bGUtdHdvIC50aXRsZSAubGVmdC1zZXBhcmF0ZTpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7CgloZWlnaHQ6MnB4OwoJd2lkdGg6MzhweDsKCWJhY2tncm91bmQtY29sb3I6IzIyMjIyMjsKfQoKLnNlYy10aXRsZS10d28gLnRpdGxlIC5sZWZ0LXNlcGFyYXRlOmFmdGVyewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJcmlnaHQ6MHB4OwoJdG9wOi00cHg7CgloZWlnaHQ6MTBweDsKCXdpZHRoOjEwcHg7Cglib3JkZXItcmFkaXVzOjUwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNjMjJhMmE7Cn0KCi5zZWMtdGl0bGUtdHdvIC50aXRsZSAucmlnaHQtc2VwYXJhdGV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjBweDsKCXRvcDoxMnB4OwoJd2lkdGg6NTVweDsKfQoKLnNlYy10aXRsZS10d28gLnRpdGxlIC5yaWdodC1zZXBhcmF0ZTpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglyaWdodDowcHg7Cgl0b3A6MHB4OwoJaGVpZ2h0OjJweDsKCXdpZHRoOjM4cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMyMjIyMjI7Cn0KCi5zZWMtdGl0bGUtdHdvIC50aXRsZSAucmlnaHQtc2VwYXJhdGU6YWZ0ZXJ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDotNHB4OwoJaGVpZ2h0OjEwcHg7Cgl3aWR0aDoxMHB4OwoJYm9yZGVyLXJhZGl1czo1MHB4OwoJYmFja2dyb3VuZC1jb2xvcjojYzIyYTJhOwp9Cgouc2VjLXRpdGxlLXR3byAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6Izc3Nzc3NzsKCWZvbnQtc2l6ZToxNnB4OwoJbGluZS1oZWlnaHQ6MS45ZW07CgltYXJnaW4tdG9wOjI1cHg7Cn0KCi5zZWMtdGl0bGUtdHdvLmxpZ2h0IGgyLAouc2VjLXRpdGxlLXR3by5saWdodCAudGl0bGV7Cgljb2xvcjojZmZmZmZmOwp9Cgouc2VjLXRpdGxlLXR3by5saWdodCAudGl0bGUgLmxlZnQtc2VwYXJhdGU6YmVmb3JlLAouc2VjLXRpdGxlLXR3by5saWdodCAudGl0bGUgLnJpZ2h0LXNlcGFyYXRlOmJlZm9yZXsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglNYWluIEhlYWRlciBzdHlsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLm1haW4taGVhZGVyewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjEwOwoJd2lkdGg6MTAwJTsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjdweCAwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMzMzMzMzM7Cn0KCi8qIEhlYWRlciBUb3AgKi8KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLWxlZnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZsb2F0OmxlZnQ7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLWxlZnQgLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTRweDsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJcGFkZGluZzo5cHggMHB4Owp9CgovKiBFbmQgSGVhZGVyIFRvcCAqLwoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wIC50b3AtcmlnaHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wIC50b3AtcmlnaHQgLmxvZ2luLWluZm97Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZsb2F0OmxlZnQ7CgltYXJnaW4tdG9wOjZweDsKCW1hcmdpbi1yaWdodDoxNXB4Owp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AgLnRvcC1yaWdodCAubG9naW4taW5mbyBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzowcHggMTRweDsKCWxpbmUtaGVpZ2h0OjEuMmVtOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNmZmZmZmY7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IC5sb2dpbi1pbmZvIGxpOmxhc3QtY2hpbGR7Cglib3JkZXItcmlnaHQ6MHB4OwoJcGFkZGluZy1yaWdodDowcHg7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IC5sb2dpbi1pbmZvIGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AgLnRvcC1yaWdodCAubG9naW4taW5mbyBsaSBhOmhvdmVyewoJY29sb3I6IzBGNzY2RTsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wIC50b3AtcmlnaHQgLnNvY2lhbC1uYXYgbGkuZmFjZWJvb2sgYXsKCWNvbG9yOiMxNjU5OWI7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IC5zb2NpYWwtbmF2IGxpLnR3aXR0ZXIgYXsKCWNvbG9yOiMwM2E5ZjQ7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IC5zb2NpYWwtbmF2IGxpLmdvb2dsZSBhewoJY29sb3I6I2ZmMDAwMDsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wIC50b3AtcmlnaHQgLnNvY2lhbC1uYXYgbGkubGlua2VkaW4gYXsKCWNvbG9yOiMwMDc4YjU7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IC5zb2NpYWwtbmF2ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0Owp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AgLnRvcC1yaWdodCAuc29jaWFsLW5hdiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWxlZnQ6N3B4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0IC5zb2NpYWwtbmF2IGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjM2cHg7CgloZWlnaHQ6MzZweDsKCWNvbG9yOiNjNjNhMmE7Cglmb250LXNpemU6MTZweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGluZS1oZWlnaHQ6MzZweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wIC50b3AtcmlnaHQgLnNvY2lhbC1uYXYgbGkgYTpob3ZlcnsKCWNvbG9yOiNjMjJhMmE7Cn0KCi8qIEhlYWRlciBUb3AgVHdvICovCgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdHdvewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjE1cHggMHB4OwoJYmFja2dyb3VuZC1jb2xvcjojZjVmNWY1Owp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdHdvIC50b3AtbGVmdHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCXBhZGRpbmctbGVmdDoyMTVweDsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAuaW5mby1saXN0ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0Owp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdHdvIC5pbmZvLWxpc3QgbGl7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW4tcmlnaHQ6MjBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdHdvIC5pbmZvLWxpc3QgbGk6bGFzdC1jaGlsZHsKCW1hcmdpbi1yaWdodDowcHg7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLmluZm8tbGlzdCBsaSAuaWNvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXJpZ2h0OjhweDsKCWNvbG9yOiMwOTEzOTY7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLmluZm8tbGlzdCBsaSBhewoJcG9zaXRpb246IHJlbGF0aXZlOwoJY29sb3I6IzY2NjY2NjsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLmluZm8tbGlzdCBsaSBhOmhvdmVyewoJY29sb3I6IzMyNDFmZjsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAudG9wLWxpc3R7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZsb2F0OmxlZnQ7CgltYXJnaW4tbGVmdDo4MHB4Owp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdHdvIC50b3AtbGlzdCBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXJpZ2h0OjE4cHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAudG9wLWxpc3QgbGk6bGFzdC1jaGlsZHsKCW1hcmdpbi1yaWdodDowcHg7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnRvcC1saXN0IGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MTZweDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnRvcC1saXN0IGxpIGE6aG92ZXJ7Cgljb2xvcjojMGExMzk1Owp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdHdvIC5zb2NpYWwtbmF2ewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDoyMHB4OwoJdG9wOjE1cHg7CglwYWRkaW5nOjBweCAwcHg7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnNvY2lhbC1uYXYgbGl7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1sZWZ0OjE1cHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAuc29jaWFsLW5hdiBsaSBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojNzc3Nzc3OwoJZm9udC1zaXplOjE1cHg7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdHdvIC5zb2NpYWwtbmF2IGxpIGE6aG92ZXJ7Cgljb2xvcjojMzI0MWZmOwp9CgouaGVhZGVyLXN0eWxlLXR3by5maXhlZC1oZWFkZXIgLmhlYWRlci11cHBlcnsKCXBvc2l0aW9uOmZpeGVkOwoJdG9wOjBweDsKCXdpZHRoOjEwMCU7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cn0KCi5oZWFkZXItc3R5bGUtdHdvLmZpeGVkLWhlYWRlciAuaGVhZGVyLXVwcGVyIC5pbm5lci1jb250YWluZXIgLmxvZ28tYm94ewoJcGFkZGluZzo1cHggNTBweCA1cHggMTVweDsKCXRvcDowcHg7Cn0KCi5oZWFkZXItc3R5bGUtdHdvLmZpeGVkLWhlYWRlciAuaGVhZGVyLXVwcGVyIC5pbm5lci1jb250YWluZXIgLmxvZ28tYm94OmJlZm9yZXsKCWJvcmRlci1ib3R0b206ODBweCBzb2xpZCAjMjIyMjIyOwp9CgovKiBIZWFkZXIgVG9wIFRocmVlICovCgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdGhyZWV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXRocmVlIC50b3AtbGVmdHsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWZsb2F0OmxlZnQ7CglwYWRkaW5nOjE1cHggMHB4Owp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdGhyZWUgLnRvcC1sZWZ0IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNHB4Owp9CgouaGVhZGVyLXN0eWxlLXRocmVlewoJcG9zaXRpb246YWJzb2x1dGU7Cn0KCi5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdGhyZWUgLm5hdi1vdXRlcnsKCWZsb2F0OnJpZ2h0Owp9CgouaGVhZGVyLXN0eWxlLXRocmVlIC5oZWFkZXItbG93ZXIgLmlubmVyLWNvbnRhaW5lcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1sZWZ0OjMwcHg7Cn0KCi5oZWFkZXItc3R5bGUtdGhyZWUgLmhlYWRlci1sb3dlciAuaW5uZXItY29udGFpbmVyOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0Ojk1cHg7Cglib3R0b206MHB4OwoJei1pbmRleDotMTsKCWJvcmRlci1yYWRpdXM6OHB4OwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwp9CgouaGVhZGVyLXN0eWxlLXRocmVlIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IGF7CglwYWRkaW5nOjI1cHggMjBweDsKCWNvbG9yOiMyNDIzMzQ7Cglmb250LXdlaWdodDo1MDA7Cn0KCi5oZWFkZXItc3R5bGUtdGhyZWUgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmJlZm9yZXsKCXRvcDozMHB4Owp9CgouaGVhZGVyLXN0eWxlLXRocmVlIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTpiZWZvcmV7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC40MCk7Cn0KCi5oZWFkZXItc3R5bGUtdGhyZWUgLmhlYWRlci1sb3dlciAub3B0aW9ucy1ib3ggLmdyaWQtYm94IC5pY29uewoJY29sb3I6IzYwM2UxYTsKfQoKLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS10aHJlZSAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LWJ0bnsKCWNvbG9yOiMzYzIxMDc7Cglib3JkZXItY29sb3I6IzNjMjEwNzsKfQoKLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS10aHJlZSAub3B0aW9ucy1ib3ggLmdyaWQtYm94ewoJaGVpZ2h0OjgwcHg7CglsaW5lLWhlaWdodDo4OHB4Owp9CgoubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLXRocmVlIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1ib3gtb3V0ZXJ7CgltYXJnaW4tdG9wOjE4cHg7Cn0KCi5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdGhyZWUgLm9wdGlvbnMtYm94IC5idG4tYm94ewoJbWFyZ2luLXRvcDoxMHB4Owp9CgouaGVhZGVyLXN0eWxlLXRocmVlLmZpeGVkLWhlYWRlciAuaGVhZGVyLWxvd2VyewoJcG9zaXRpb246Zml4ZWQ7Cgl3aWR0aDoxMDAlOwoJdG9wOjBweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCWJveC1zaGFkb3c6MHB4IDBweCAxMHB4IHJnYmEoMCwwLDAsMC4xMCk7Cn0KCi5oZWFkZXItc3R5bGUtdGhyZWUuZml4ZWQtaGVhZGVyIC5oZWFkZXItbG93ZXIgLmlubmVyLWNvbnRhaW5lcnsKCXBhZGRpbmc6MHB4Owp9CgouaGVhZGVyLXN0eWxlLXRocmVlLmZpeGVkLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5pbm5lci1jb250YWluZXI6YmVmb3JlewoJZGlzcGxheTpub25lOwp9CgouaGVhZGVyLXN0eWxlLXRocmVlIC5tYWluLW1lbnV7CgltYXJnaW4tcmlnaHQ6NTBweDsKfQoKLyogTWFpbiBIZWFkZXIgKi8KCi5tYWluLWhlYWRlciAubWFpbi1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MHB4IDBweDsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjEwMCU7CgliYWNrZ3JvdW5kOm5vbmU7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgoubWFpbi1oZWFkZXIgLm1haW4tYm94IC5vdXRlci1jb250YWluZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MHB4IDQwcHg7Cn0KCi5tYWluLWhlYWRlciAubWFpbi1ib3ggLmxvZ28tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0OwoJbGVmdDowcHg7Cgl6LWluZGV4OjEwOwoJcGFkZGluZzozMHB4IDBweDsKfQoKLm1haW4taGVhZGVyIC5tYWluLWJveCAubG9nby1ib3ggLmxvZ28gaW1newoJZGlzcGxheTppbmxpbmUtYmxvY2s7CgltYXgtd2lkdGg6MTAwJTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQp9CgoubWFpbi1oZWFkZXIgLm5hdi10b2dnbGVyewoJcG9zaXRpb246YWJzb2x1dGU7Cgl0b3A6NTAlOwoJbWFyZ2luLXRvcDowcHg7CglkaXNwbGF5OiBibG9jazsKfQoKLm1haW4taGVhZGVyIC5uYXYtdG9nZ2xlciBidXR0b257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7Cgljb2xvcjojNDQ0NDQ0OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglmb250LXNpemU6MjRweDsKCWxpbmUtaGVpZ2h0OjM0cHg7Cglmb250LXdlaWdodDpub3JtYWw7CgliYWNrZ3JvdW5kOm5vbmU7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyewoJcG9zaXRpb246cmVsYXRpdmU7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgoubWFpbi1oZWFkZXIgLmhlYWRlci11cHBlciAudXBwZXItcmlnaHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmctdG9wOjQwcHg7Cn0KCi5tYWluLWhlYWRlciAubmF2LW91dGVyewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtb25lIC5oZWFkZXItbG93ZXJ7Cglwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAwcHg7CiAgICByaWdodDogMHB4Owp9CgoubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLW9uZSAuaGVhZGVyLWxvd2VyIC5uYXYtb3V0ZXI6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJcmlnaHQ6MHB4OwoJdG9wOjBweDsKCWhlaWdodDoxMDAlOwoJd2lkdGg6MTAwMCU7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC40NSk7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyIC5sb2dvLWJveHsKCXBhZGRpbmc6MjZweCAwcHggMjVweDsKfQoKLm1haW4taGVhZGVyIC5pbmZvLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZmxvYXQ6bGVmdDsKCXotaW5kZXg6MTsKCW1pbi1oZWlnaHQ6NTZweDsKCW1hcmdpbi1sZWZ0OjUwcHg7Cglmb250LXNpemU6MTVweDsKCWNvbG9yOiM3Nzc3Nzc7Cgl0ZXh0LWFsaWduOmxlZnQ7CglwYWRkaW5nOjBweCAwcHggMjBweCA2NXB4Owp9CgoubWFpbi1oZWFkZXIgLmluZm8tYm94IC5pY29uLWJveHsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6M3B4OwoJZm9udC1zaXplOjQycHg7CglsaW5lLWhlaWdodDoxZW07CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJCgljb2xvcjojZDE2NDFiOwoJbGluZS1oZWlnaHQ6MWVtOwoJYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZDE2NDFiIDAlLCAjYzEyODJhIDEwMCUpOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5tYWluLWhlYWRlciAuaW5mby1ib3ggdWwgbGl7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWxpbmUtaGVpZ2h0OjIwcHg7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW4tYm90dG9tOjhweDsKCWZvbnQtd2VpZ2h0OjQwMDsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cn0KCi5tYWluLWhlYWRlciAuaW5mby1ib3ggc3Ryb25newoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDo2MDA7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjE4cHg7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwoJCn0KCi5tYWluLW1lbnV7Cglwb3NpdGlvbjpzdGF0aWM7CglmbG9hdDpsZWZ0OwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlewoJcGFkZGluZzowcHg7CQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uewoJcG9zaXRpb246c3RhdGljOwoJbWFyZ2luOjBweDsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0OwoJbWFyZ2luLXJpZ2h0OjBweDsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7Cgl0b3A6MjBweDsKCWhlaWdodDoyMHB4OwoJd2lkdGg6MXB4OwoJb3BhY2l0eTowLjQ7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTpsYXN0LWNoaWxkewoJbWFyZ2luLXJpZ2h0OjBweDsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmxhc3QtY2hpbGQ6OmFmdGVyewoJZGlzcGxheTpub25lOwp9Cgouc3RpY2t5LWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhewoJcGFkZGluZzoyMHB4IDBweCAhaW1wb3J0YW50OwoJY29sb3I6IzQ0NDQ0NCAhaW1wb3J0YW50Owp9Cgouc3RpY2t5LWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGk6aG92ZXIgPiBhLAouc3RpY2t5LWhlYWRlciAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudCA+IGF7Cgljb2xvcjojYzIyYTJhOwoJYmFja2dyb3VuZC1jb2xvcjppbmhlcml0ICFpbXBvcnRhbnQ7Cn0KCi5zdGlja3ktaGVhZGVyIC5uYXYtb3V0ZXIgLm9wdGlvbnMtYm94ewoJbWFyZ2luLXRvcDoyNnB4Owp9CgouY2FydC1wcm9kdWN0ewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjI0cHg7CgltaW4taGVpZ2h0OjkwcHg7Cglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTRlNGU0Owp9CgouY2FydC1wcm9kdWN0IC5pbm5lcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1sZWZ0OjkwcHg7CgltaW4taGVpZ2h0OjcwcHg7Cn0KCi5jYXJ0LXByb2R1Y3QgLmlubmVyIC5jcm9zcy1pY29uewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDowcHg7Cgl0b3A6LTJweDsKCXotaW5kZXg6MTsKCWNvbG9yOiMyNjMxMjA7Cglmb250LXNpemU6MTZweDsKCWN1cnNvcjpwb2ludGVyOwp9CgouY2FydC1wcm9kdWN0IC5pbm5lciAuaW1hZ2V7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjcwcHg7CgloZWlnaHQ6NzBweDsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKfQoKLmNhcnQtcHJvZHVjdCAuaW5uZXIgaDN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjYwMDsKCWZvbnQtc2l6ZToxNXB4OwoJbWFyZ2luOjBweDsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKfQoKLmNhcnQtcHJvZHVjdCAuaW5uZXIgaDMgYXsKCWNvbG9yOiMyMjIyMjI7Cn0KCi5jYXJ0LXByb2R1Y3QgLmlubmVyIC5xdWFudGl0eS10ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDozMDA7Cgljb2xvcjojMjIyMjIyOwoJbGluZS1oZWlnaHQ6MWVtOwoJbWFyZ2luLXRvcDo2cHg7Cn0KCi5jYXJ0LXByb2R1Y3QgLmlubmVyIC5wcmljZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC13ZWlnaHQ6NjAwOwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW46MHB4OwoJY29sb3I6IzIyMjIyMjsKCWxpbmUtaGVpZ2h0OjFlbTsKCW1hcmdpbi10b3A6NnB4Owp9CgouaGVhZGVyLXN0eWxlLXR3byAuYXV0by1jb250YWluZXJ7CgkKfQoKLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5uZXItY29udGFpbmVyIC5sb2dvLWJveHsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6IC01NHB4OwogICAgei1pbmRleDogMTsKICAgIHBhZGRpbmc6IDMycHggNTBweCAzMnB4IDE1cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMyMjIyMjI7Cn0KCi5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLmlubmVyLWNvbnRhaW5lciAubG9nby1ib3g6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJcmlnaHQ6LTUwcHg7Cgl0b3A6MHB4OwoJYm9yZGVyLWJvdHRvbTogMTM0cHggc29saWQgIzIyMjIyMjsKICAgIGJvcmRlci1yaWdodDogNTBweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoKLmhlYWRlci1zdHlsZS10d28gLm5hdi1vdXRlcnsKICAgIHBvc2l0aW9uOnN0YXRpYzsKfQoKLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5uZXItY29udGFpbmVyewoJcGFkZGluZy1sZWZ0OjIxNXB4Owp9CgouaGVhZGVyLXN0eWxlLXR3byAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCwKLmhlYWRlci1zdHlsZS10d28gLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsewoJYm9yZGVyLWNvbG9yOiMyZjNmZjg7Cn0KCi5oZWFkZXItc3R5bGUtdGhyZWUgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwsCi5oZWFkZXItc3R5bGUtdGhyZWUgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsewoJYm9yZGVyLWNvbG9yOiMwRjc2NkU7Cn0KCi5jb250YWN0LXNlY3Rpb24tdHdvIC5mb3JtLWNvbHVtbiAuaW5uZXItY29sdW1uIC5kZWZhdWx0LWZvcm0uc3R5bGUtdHdvIC5mb3JtLWdyb3VwIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlewoJYmFja2dyb3VuZC1jb2xvcjojMEY3NjZFOwoJYm9yZGVyLWNvbG9yOiMwRjc2NkU7Cn0KCi8qU3RpY2t5IEhlYWRlciovCgouc3RpY2t5LWhlYWRlcnsKCXBvc2l0aW9uOmZpeGVkOwoJb3BhY2l0eTowOwoJdmlzaWJpbGl0eTpoaWRkZW47CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDoxMDAlOwoJcGFkZGluZzowcHggMHB4OwoJYmFja2dyb3VuZDojZmZmZmZmOwoJei1pbmRleDowOwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2U2ZTZlNjsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cn0KCi5zdGlja3ktaGVhZGVyIC5sb2dvewoJcGFkZGluZzo5cHggMHB4IDlweDsKfQoKLmZpeGVkLWhlYWRlciAuc3RpY2t5LWhlYWRlcnsKCXotaW5kZXg6OTk5OTk5OwoJb3BhY2l0eToxOwoJdmlzaWJpbGl0eTp2aXNpYmxlOwoJLW1zLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOwoJLW1vei1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsKCS1vcC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsKCS13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247CglhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsKCS1tcy1hbmltYXRpb24tZHVyYXRpb246IDUwMG1zOwoJLW1vei1hbmltYXRpb24tZHVyYXRpb246IDUwMG1zOwoJLW9wLWFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7Cgktd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7CglhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOwoJLW1zLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKCS1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwoJLW9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKCS13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwoJYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwoJLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CgktbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7Cgktb3AtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKCS13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsKCWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7CQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJY29sb3I6I2ZmZmZmZjsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGluZS1oZWlnaHQ6MzBweDsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7CglsZXR0ZXItc3BhY2luZzowcHg7CglvcGFjaXR5OjE7Cglmb250LXdlaWdodDo0MDA7CglwYWRkaW5nOjE1cHggMjVweDsKCWZvbnQtc2l6ZToxNXB4OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWZvbnQtZmFtaWx5OiAnUG9wcGlucycsIHNhbnMtc2VyaWY7Cn0KCi5zdGlja3ktaGVhZGVyIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWxlZnQ6MzBweDsKCW1hcmdpbi1yaWdodDowcHggIWltcG9ydGFudDsKfQoKLnN0aWNreS1oZWFkZXIgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLmRyb3Bkb3duID4gYTpiZWZvcmV7CglkaXNwbGF5Om5vbmU7Cn0KCi5zdGlja3ktaGVhZGVyIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTpiZWZvcmUsCi5zdGlja3ktaGVhZGVyIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTphZnRlcnsKCWRpc3BsYXk6bm9uZTsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpOmhvdmVyID4gYSwKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLmN1cnJlbnQgPiBhewoJb3BhY2l0eToxOwp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bHsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MTIwJTsKCXdpZHRoOjI1MHB4OwoJcGFkZGluZzowcHg7Cgl6LWluZGV4OjEwMDsKCWRpc3BsYXk6bm9uZTsKCWJhY2tncm91bmQ6I2ZmZmZmZjsKCWJvcmRlci10b3A6M3B4IHNvbGlkICNjMjJhMmE7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLXdlYmtpdC1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKCS1tcy1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKCS1vLWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOwoJLW1vei1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKCWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOwp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bC5mcm9tLXJpZ2h0ewoJbGVmdDphdXRvOwoJcmlnaHQ6MHB4OwkKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xMCk7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGk6bGFzdC1jaGlsZHsKCWJvcmRlci1ib3R0b206bm9uZTsJCn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiBhewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJcGFkZGluZzoxMHB4IDE1cHg7CglsaW5lLWhlaWdodDoyNHB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJZm9udC1zaXplOjE2cHg7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwoJY29sb3I6IzJhMmEyYTsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgkKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaTpob3ZlciA+IGF7Cgljb2xvcjojZmZmZmZmOwoJYmFja2dyb3VuZDojMmMyYzJjOwkKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaS5kcm9wZG93biA+IGE6YWZ0ZXJ7Cglmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsKCWNvbnRlbnQ6ICJcZjEwNSI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjEwcHg7Cgl0b3A6MTBweDsKCXdpZHRoOjEwcHg7CgloZWlnaHQ6MjBweDsKCWRpc3BsYXk6YmxvY2s7Cgljb2xvcjojMjUzZDRhOwoJbGluZS1oZWlnaHQ6MjBweDsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6bm9ybWFsOwoJdGV4dC1hbGlnbjpjZW50ZXI7Cgl6LWluZGV4OjU7CQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpLmRyb3Bkb3duOmhvdmVyID4gYTphZnRlcnsKCWNvbG9yOiNmZmZmZmY7CQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWx7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MTAwJTsKCXRvcDoyMHB4OwoJd2lkdGg6MjUwcHg7CglwYWRkaW5nOjBweDsKCXotaW5kZXg6MTAwOwoJZGlzcGxheTpub25lOwoJYmFja2dyb3VuZDojZmZmZmZmOwoJYm9yZGVyLXRvcDozcHggc29saWQgI2MyMmEyYTsKCS13ZWJraXQtYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7CgktbXMtYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7Cgktby1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKCS1tb3otYm94LXNoYWRvdzoycHggMnB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KSwtMnB4IDBweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSk7Cglib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsLmZyb20tcmlnaHR7CglsZWZ0OmF1dG87CglyaWdodDowcHg7CQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xMCk7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpOmxhc3QtY2hpbGR7Cglib3JkZXItYm90dG9tOm5vbmU7CQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7CglwYWRkaW5nOjEwcHggMTVweDsKCWxpbmUtaGVpZ2h0OjI0cHg7Cglmb250LXdlaWdodDo0MDA7Cglmb250LXNpemU6MTZweDsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cgljb2xvcjojMjcyNzI3OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaTpob3ZlciA+IGF7Cgljb2xvcjojZmZmZmZmOwoJYmFja2dyb3VuZDojMmMyYzJjOwp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaS5kcm9wZG93biA+IGE6YWZ0ZXJ7Cglmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsKCWNvbnRlbnQ6ICJcZjEwNSI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjEwcHg7Cgl0b3A6MTFweDsKCXdpZHRoOjEwcHg7CgloZWlnaHQ6MjBweDsKCWRpc3BsYXk6YmxvY2s7Cgljb2xvcjojMjcyNzI3OwoJbGluZS1oZWlnaHQ6MjBweDsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6bm9ybWFsOwoJdGV4dC1hbGlnbjpjZW50ZXI7Cgl6LWluZGV4OjU7CQp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaS5kcm9wZG93bjpob3ZlciA+IGE6YWZ0ZXJ7Cgljb2xvcjojZmZmZmZmOwkKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLmRyb3Bkb3duOmhvdmVyID4gdWx7Cgl2aXNpYmlsaXR5OnZpc2libGU7CglvcGFjaXR5OjE7Cgl0b3A6MTAwJTsJCn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gbGkgPiB1bCA+IGxpLmRyb3Bkb3duOmhvdmVyID4gdWx7Cgl2aXNpYmlsaXR5OnZpc2libGU7CglvcGFjaXR5OjE7Cgl0b3A6MDsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQp9CgoubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiB1bCBsaS5kcm9wZG93biAuZHJvcGRvd24tYnRuewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDoxMHB4OwoJdG9wOjZweDsKCXdpZHRoOjMwcHg7CgloZWlnaHQ6MzBweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJY29sb3I6I2ZmZmZmZjsKCWxpbmUtaGVpZ2h0OjI4cHg7Cglib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7CgliYWNrZ3JvdW5kLXNpemU6MjBweDsKCWN1cnNvcjpwb2ludGVyOwoJei1pbmRleDo1OwoJZGlzcGxheTpub25lOwp9CgoubWFpbi1oZWFkZXIgLm9wdGlvbnMtYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpyaWdodDsKfQoKLyogR3JpZCBCb3ggKi8KCi5tYWluLWhlYWRlciAub3B0aW9ucy1ib3ggLmdyaWQtYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0OwoJaGVpZ2h0OjYwcHg7CglkaXNwbGF5OmJsb2NrOwoJZm9udC1zaXplOjIwcHg7Cgljb2xvcjojZmZmZmZmOwoJcGFkZGluZzowcHg7CgltYXJnaW46MHB4OwoJY3Vyc29yOnBvaW50ZXI7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjY4cHg7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9CgoubWFpbi1oZWFkZXIgLm9wdGlvbnMtYm94IC5ncmlkLWJveCAuaWNvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWxpbmUtaGVpZ2h0OjFlbTsKfQoKLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS10d28gLm9wdGlvbnMtYm94IC5ncmlkLWJveCAuaWNvbnsKCWNvbG9yOiM4Nzg3ODc7Cn0KCi5tYWluLWhlYWRlciAub3B0aW9ucy1ib3ggLmNhcnQtYm94IC5pY29uewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMDAwMDAwOwp9CgouaGVhZGVyLXN0eWxlLXR3byAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhewoJY29sb3I6IzIyMjIyMjsKCXBhZGRpbmc6MjVweCAyMHB4Owp9CgouaGVhZGVyLXN0eWxlLXR3byAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGk6YmVmb3JlewoJdG9wOjMwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzQsMzQsMzQsMSk7Cn0KCi5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLnNlYXJjaC1ib3gtb3V0ZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjgwcHg7CgloZWlnaHQ6ODBweDsKCWZsb2F0OmxlZnQ7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJvcmRlci1sZWZ0OjFweCBzb2xpZCAjZGRkZGRkOwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjZGRkZGRkOwp9CgouaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5zZWFyY2gtYm94LWJ0bnsKCWxpbmUtaGVpZ2h0OjgwcHg7Cgljb2xvcjojODc4Nzg3OwoJZm9udC1zaXplOjIycHg7CgljdXJzb3I6cG9pbnRlcjsKfQoKLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS10d28gLm9wdGlvbnMtYm94ewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDowcHg7Cn0KCi5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdHdvIC5vcHRpb25zLWJveCAuZ3JpZC1ib3h7CgloZWlnaHQ6ODBweDsKCXdpZHRoOjgwcHg7CglsaW5lLWhlaWdodDo4MHB4OwoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZGRkZGQ7Cn0KCgouaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5vcHRpb25zLWJveCAuY2FydC1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZsb2F0OmxlZnQ7Cgl3aWR0aDo4MHB4OwoJaGVpZ2h0OjgwcHg7CglkaXNwbGF5OmJsb2NrOwoJZm9udC1zaXplOjIwcHg7Cgljb2xvcjojMDAwMDAwOwoJcGFkZGluZzowcHg7CgltYXJnaW46MHB4OwoJY3Vyc29yOnBvaW50ZXI7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjgwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOm5vbmU7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9CgouaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5vcHRpb25zLWJveCAuY2FydC1ib3ggYnV0dG9uewoJYmFja2dyb3VuZDpub25lOwp9CgouaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5vcHRpb25zLWJveCAuY2FydC1ib3ggYnV0dG9uIC50b3RhbHsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MThweDsKCXRvcDoxOHB4OwoJd2lkdGg6MjBweDsKCWhlaWdodDoyMHB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxMHB4OwoJbGluZS1oZWlnaHQ6MjBweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC1zdHlsZTpub3JtYWw7Cglib3JkZXItcmFkaXVzOjUwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMzMjQxZmY7Cn0KCi5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLm9wdGlvbnMtYm94IC5jYXJ0LWJveCBidXR0b246YWZ0ZXJ7CglkaXNwbGF5Om5vbmU7Cn0KCi8qIENhcnQgUGFuZWwgKi8KCi5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLm9wdGlvbnMtYm94IC5jYXJ0LWJveCAuY2FydC1wYW5lbHsKCWxlZnQ6IGF1dG8gIWltcG9ydGFudDsKCXJpZ2h0OiAwcHggIWltcG9ydGFudDsKCWJvcmRlci1yYWRpdXM6MHB4OwoJcGFkZGluZzoyMHB4IDIwcHg7CgltaW4td2lkdGg6MzAwcHg7CgltYXJnaW4tdG9wOjgwcHg7Cglib3gtc2hhZG93OiAwcHggMHB4IDI1cHggcmdiYSgwLDAsMCwwLjE1KTsKCWJvcmRlcjozcHggc29saWQgIzMwM2ZmYjsKCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KSAhaW1wb3J0YW50OwoJdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KSAhaW1wb3J0YW50Owp9CgouaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5vcHRpb25zLWJveCAuY2FydC1ib3ggLmNhcnQtcGFuZWwgLmNhcnQtdG90YWx7Cgljb2xvcjojMDAwMDAwOwoJZm9udC1zaXplOjE1cHg7Cglmb250LXdlaWdodDo0MDA7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjFlbTsKCW1hcmdpbi10b3A6NnB4OwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAub3B0aW9ucy1ib3ggLmNhcnQtYm94IC5jYXJ0LXBhbmVsIC5jYXJ0LXRvdGFsIHNwYW57Cglmb250LXdlaWdodDo4MDA7Cglmb250LXNpemU6MThweDsKfQoKLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAub3B0aW9ucy1ib3ggLmNhcnQtYm94IC5jYXJ0LXBhbmVsIC5idG5zLWJveGVkewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCW1hcmdpbi10b3A6MTVweDsKfQoKLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAub3B0aW9ucy1ib3ggLmNhcnQtYm94IC5jYXJ0LXBhbmVsIC5idG5zLWJveGVkIGxpewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW46MHB4IDVweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwp9CgouaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5vcHRpb25zLWJveCAuY2FydC1ib3ggLmNhcnQtcGFuZWwgLmJ0bnMtYm94ZWQgbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtd2VpZ2h0OjUwMDsKCWZvbnQtc2l6ZToxMnB4OwoJbGluZS1oZWlnaHQ6MS45ZW07CglwYWRkaW5nOjEwcHggMjBweCA4cHg7Cglib3JkZXItcmFkaXVzOiAycHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJhY2tncm91bmQtY29sb3I6IzMwM2ZmYjsKCWJvcmRlcjoxcHggc29saWQgIzMwM2ZmYjsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKCXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKfQoKLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAub3B0aW9ucy1ib3ggLmNhcnQtYm94IC5jYXJ0LXBhbmVsIC5idG5zLWJveGVkIGxpIGE6aG92ZXJ7Cgljb2xvcjojMzAzZmZiOwoJYmFja2dyb3VuZDpub25lOwp9CgovKiBCdXR0b24gQm94ICovCgoubWFpbi1oZWFkZXIgLm9wdGlvbnMtYm94IC5idG4tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0OwoJaGVpZ2h0OjYwcHg7Cn0KCi5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LW91dGVyewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZmxvYXQ6bGVmdDsKCW1hcmdpbi10b3A6MTBweDsKCW1hcmdpbi1sZWZ0OjI1cHg7CgltYXJnaW4tcmlnaHQ6MjVweDsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1ib3gtYnRuewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0OwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJZGlzcGxheTpibG9jazsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6I2ZmZmZmZjsKCXBhZGRpbmc6MHB4OwoJbWFyZ2luOjBweDsKCWN1cnNvcjpwb2ludGVyOwoJbGluZS1oZWlnaHQ6MzhweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJYm9yZGVyLXJhZGl1czo1MHB4OwoJYmFja2dyb3VuZDpub25lOwoJYm9yZGVyOjFweCBzb2xpZCAjZmZmZmZmOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKfQoKLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLnNlYXJjaC1ib3gtYnRuOmFmdGVyewoJZGlzcGxheTpub25lOwp9CgovKioqKioqKioqKioqKioqKioqKioqKioqIE1lZ2EgTWVudSAqKioqKioqKioqKioqKioqKioqKioqKioqKiovCgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuaGFzLW1lZ2EtbWVudXsKCXBvc2l0aW9uOnN0YXRpYzsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gLm1lZ2EtbWVudXsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7CglyaWdodDogMDsKCW1hcmdpbjogYXV0bzsKCXdpZHRoOjEwMCU7CgltYXgtd2lkdGg6IDExNzBweDsKCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CiAgICBwYWRkaW5nOiA0NXB4IDQwcHggMzBweCA0NXB4OwogICAgdG9wOiAxMDAlOwoJei1pbmRleDoxMDA7CglvcGFjaXR5OiAwOwoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsKCS1tb3otdHJhbnNmb3JtOiBzY2FsZVkoMCk7CgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7Cgktby10cmFuc2Zvcm06IHNjYWxlWSgwKTsKCXRyYW5zZm9ybTogc2NhbGVZKDApOwoJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CgktbW96LXRyYW5zZm9ybS1vcmlnaW46IHRvcDsKCS1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7Cgktby10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7Cgl0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKCS1tcy1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKCS1vLWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOwoJLW1vei1ib3gtc2hhZG93OjJweCAycHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpLC0ycHggMHB4IDVweCAxcHggcmdiYSgwLDAsMCwwLjA1KTsKCWJveC1zaGFkb3c6MnB4IDJweCA1cHggMXB4IHJnYmEoMCwwLDAsMC4wNSksLTJweCAwcHggNXB4IDFweCByZ2JhKDAsMCwwLDAuMDUpOwp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGk6aG92ZXIgPiAubWVnYS1tZW51ewoJb3BhY2l0eTogMTsKCXZpc2liaWxpdHk6IHZpc2libGU7Cgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOwoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgxKTsKCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgxKTsKCS1vLXRyYW5zZm9ybTogc2NhbGVZKDEpOwoJdHJhbnNmb3JtOiBzY2FsZVkoMSk7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IC5tZWdhLW1lbnUgLm1lZ2EtbWVudS1iYXJ7Cglwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSAubWVnYS1tZW51LWJhciBoM3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzAyMGUyODsKCWZvbnQtc2l6ZToyMHB4OwoJZm9udC13ZWlnaHQ6NTAwOwoJcGFkZGluZy1ib3R0b206MTBweDsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSAubWVnYS1tZW51LWJhciA+IHVsewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSAubWVnYS1tZW51LWJhciAuY29sdW1uID4gdWwgPiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNmMmYyZjI7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpIC5tZWdhLW1lbnUtYmFyIC5jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MTBweDsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpIC5tZWdhLW1lbnUtYmFyIC5jb2x1bW4gPiB1bCA+IGxpOmxhc3QtY2hpbGR7Cglib3JkZXI6bm9uZTsKfQoKLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpIC5tZWdhLW1lbnUtYmFyIC5jb2x1bW4gPiB1bCA+IGxpID4gYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXBhZGRpbmc6MTRweCAyMHB4OwoJbGluZS1oZWlnaHQ6MjBweDsKCWZvbnQtd2VpZ2h0OjQwMDsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6IzIyMjIyMjsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9CgoubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgLm1lZ2EtbWVudS1iYXIgLmNvbHVtbiA+IHVsID4gbGkgPiBhOmhvdmVyewoJY29sb3I6I2ZmZmZmZjsKCWJhY2tncm91bmQ6IzJjMmMyYzsKfQoKLmhlYWRlci1zdHlsZS1vbmUuZml4ZWQtaGVhZGVyIC5oZWFkZXItbG93ZXJ7Cglwb3NpdGlvbjpmaXhlZDsKCXRvcDowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMyMjIyMjI7Cn0KCi5oZWFkZXItc3R5bGUtb25lLmZpeGVkLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5uYXYtb3V0ZXI6YmVmb3JlewoJZGlzcGxheTpub25lOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCU1haW4gU2xpZGVyIEJhbm5lcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLm1haW4tc2xpZGVyewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5tYWluLXNsaWRlciAuYXV0by1jb250YWluZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLm1haW4tc2xpZGVyIC5zbGlkZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoyMzBweCAwcHggMjYwcHg7CgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7CgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7Cn0KCi5tYWluLXNsaWRlciAudGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6IDE2cHg7Cglmb250LXdlaWdodDogNDAwOwoJbWFyZ2luLWJvdHRvbTogMjRweDsKCW9wYWNpdHk6IDA7CglsZXR0ZXItc3BhY2luZzoxcHg7Cgl0cmFuc2Zvcm06IHNjYWxlWSgwKTsKCXRyYW5zZm9ybS1vcmlnaW46IHRvcDsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7CgkKfQoKLm1haW4tc2xpZGVyIC5hY3RpdmUgLnRpdGxlewoJb3BhY2l0eTogMTsKCXRyYW5zZm9ybTogc2NhbGVZKDEpOwoJLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsKCS1tb3otdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7CgktbXMtdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7Cgktby10cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsKCXRyYW5zaXRpb24tZGVsYXk6IDUwMG1zOwp9CgoubWFpbi1zbGlkZXIgaDF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXdlaWdodDo2MDA7CglsaW5lLWhlaWdodDoxLjJlbTsKCW1hcmdpbi1ib3R0b206MzBweDsKCW9wYWNpdHk6IDA7Cgl0cmFuc2Zvcm06IHNjYWxlWSgwKTsKCXRyYW5zZm9ybS1vcmlnaW46IHRvcDsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cn0KCi5tYWluLXNsaWRlciAuYWN0aXZlIGgxewoJb3BhY2l0eTogMTsKCXRyYW5zZm9ybTogc2NhbGVZKDEpOwoJdHJhbnNpdGlvbi1kZWxheTogMTAwMG1zOwp9CgoubWFpbi1zbGlkZXIgLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNlZWVlZWU7Cglmb250LXNpemU6MTZweDsKCW9wYWNpdHk6MDsKCXRyYW5zZm9ybTogc2NhbGVZKDApOwoJdHJhbnNmb3JtLW9yaWdpbjogdG9wOwoJbGluZS1oZWlnaHQ6IDEuOWVtOwoJZm9udC13ZWlnaHQ6NDAwOwoJbWFyZ2luLWJvdHRvbTo0MnB4ICFpbXBvcnRhbnQ7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDEwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwp9CgoubWFpbi1zbGlkZXIgLmFjdGl2ZSAudGV4dHsKCW9wYWNpdHk6IDE7Cgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsKCXRyYW5zaXRpb24tZGVsYXk6IDE1MDBtczsKfQoKLm1haW4tc2xpZGVyIC5saW5rLWJveHsKCW9wYWNpdHk6MDsKCXRyYW5zZm9ybTogc2NhbGVZKDApOwoJdHJhbnNmb3JtLW9yaWdpbjogdG9wOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDEwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwp9CgoubWFpbi1zbGlkZXIgLmFjdGl2ZSAubGluay1ib3h7CglvcGFjaXR5OiAxOwoJdHJhbnNmb3JtOiBzY2FsZVkoMSk7Cgl0cmFuc2l0aW9uLWRlbGF5OiAyMDAwbXM7Cn0KCi5tYWluLXNsaWRlciAubGluay1ib3ggLnRoZW1lLWJ0bnsKCW1hcmdpbi1yaWdodDoyMHB4OwoJZmxvYXQ6bGVmdDsKfQoKLm1haW4tc2xpZGVyIC5saW5rLWJveCAudmlkZW8tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDo2MHB4OwoJaGVpZ2h0OjYwcHg7Cgljb2xvcjojNmI2YjZiOwoJZm9udC1zaXplOjE4cHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWxpbmUtaGVpZ2h0OiA2MHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CglmbG9hdDpsZWZ0OwoJbWFyZ2luLXJpZ2h0OjQwcHg7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxKTsKfQoKLm1haW4tc2xpZGVyIC5saW5rLWJveCAudmlkZW8tYm94IC5vdmVybGF5LWJveCBzcGFuewoJcG9zaXRpb246IGFic29sdXRlOwoJd2lkdGg6NjBweDsKCWhlaWdodDogNjBweDsKCWxlZnQ6NTAlOwogICAgdG9wOiA1MCU7Cgl6LWluZGV4Ojk5OwoJY29sb3I6ICNmZmZmZmY7Cglmb250LXdlaWdodDo0MDA7Cglmb250LXNpemU6MTZweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKCWJvcmRlci1yYWRpdXM6NTAlOwoJcGFkZGluZy1sZWZ0OjdweDsKCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CgltYXJnaW4tdG9wOiAtMzBweDsKCW1hcmdpbi1sZWZ0Oi0zMHB4OwoJdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7CiAgICAtbW96LXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwoJYm94LXNoYWRvdzowcHggMHB4IDE1cHggcmdiYSgwLDAsMCwwLjEwKTsKfQoKLm1haW4tc2xpZGVyIC5saW5rLWJveCAudmlkZW8tYm94IC5yaXBwbGUsCi5tYWluLXNsaWRlciAubGluay1ib3ggLnZpZGVvLWJveCAucmlwcGxlOmJlZm9yZSwKLm1haW4tc2xpZGVyIC5saW5rLWJveCAudmlkZW8tYm94IC5yaXBwbGU6YWZ0ZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiA1MCU7CiAgICBsZWZ0OiA1MCU7CiAgICBoZWlnaHQ6IDYwcHg7CiAgICB3aWR0aDogNjBweDsKCW1hcmdpbi1sZWZ0Oi41cHg7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tb3otYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW1zLWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1vLWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTsKICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTsKICAgIC1tcy1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpOwogICAgLW8tYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogcmlwcGxlIDNzIGluZmluaXRlOwogICAgLW1vei1hbmltYXRpb246IHJpcHBsZSAzcyBpbmZpbml0ZTsKICAgIC1tcy1hbmltYXRpb246IHJpcHBsZSAzcyBpbmZpbml0ZTsKICAgIC1vLWFuaW1hdGlvbjogcmlwcGxlIDNzIGluZmluaXRlOwogICAgYW5pbWF0aW9uOiByaXBwbGUgM3MgaW5maW5pdGU7Cn0KCi5tYWluLXNsaWRlciAubGluay1ib3ggLnZpZGVvLWJveCAucmlwcGxlOmJlZm9yZSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjlzOwogICAgLW1vei1hbmltYXRpb24tZGVsYXk6IC45czsKICAgIC1tcy1hbmltYXRpb24tZGVsYXk6IC45czsKICAgIC1vLWFuaW1hdGlvbi1kZWxheTogLjlzOwogICAgYW5pbWF0aW9uLWRlbGF5OiAuOXM7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLm1haW4tc2xpZGVyIC5saW5rLWJveCAudmlkZW8tYm94IC5yaXBwbGU6YWZ0ZXIgewogICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC42czsKICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAuNnM7CiAgICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAuNnM7CiAgICAtby1hbmltYXRpb24tZGVsYXk6IC42czsKICAgIGFuaW1hdGlvbi1kZWxheTogLjZzOwogICAgY29udGVudDogIiI7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyByaXBwbGUgewogICAgNzAlIHtib3gtc2hhZG93OiAwIDAgMCA3MHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7fQogICAgMTAwJSB7Ym94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO30KfQoKQGtleWZyYW1lcyByaXBwbGUgewogICAgNzAlIHtib3gtc2hhZG93OiAwIDAgMCA3MHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7fQogICAgMTAwJSB7Ym94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO30KfQoKLm1haW4tc2xpZGVyIC5vd2wtZG90c3sKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MTEwcHg7Cgl0b3A6NTAlOwp9CgoubWFpbi1zbGlkZXIgLm93bC1kb3RzIC5vd2wtZG90ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDoxNnB4OwoJaGVpZ2h0OjE2cHg7CgltYXJnaW4tYm90dG9tOjEwcHg7Cglib3JkZXItcmFkaXVzOjUwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7CgltYXJnaW4tYm90dG9tOjEwcHg7Cn0KCi5tYWluLXNsaWRlciAub3dsLWRvdHMgLm93bC1kb3Q6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJcmlnaHQ6MHB4OwoJYm90dG9tOjBweDsKCW9wYWNpdHk6MDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWJvcmRlcjozcHggc29saWQgIzBGNzY2RTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgoubWFpbi1zbGlkZXIgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZTpiZWZvcmUsCi5tYWluLXNsaWRlciAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXI6OmJlZm9yZXsKCW9wYWNpdHk6MTsKfQoKLm1haW4tc2xpZGVyIC5vd2wtbmF2ewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDo1MCU7Cgl6LWluZGV4OjE7Cgl3aWR0aDoxMDAlOwoJb3BhY2l0eTowOwoJbWFyZ2luLXRvcDotMTBweDsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgoubWFpbi1zbGlkZXI6aG92ZXIgLm93bC1uYXZ7CglvcGFjaXR5OjE7Cn0KCi5tYWluLXNsaWRlciAub3dsLW5hdiAub3dsLXByZXZ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MjBweDsKCXdpZHRoOjYwcHg7CgloZWlnaHQ6NjBweDsKCWNvbG9yOiNmZmZmZmY7CglsaW5lLWhlaWdodDo1NnB4OwoJZm9udC1zaXplOjI0cHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJvcmRlci1yYWRpdXM6NTBweDsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cglib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC42MCk7Cn0KCi5tYWluLXNsaWRlciAub3dsLW5hdiAub3dsLW5leHR7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjIwcHg7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjI0cHg7Cgl3aWR0aDo2MHB4OwoJaGVpZ2h0OjYwcHg7Cgljb2xvcjojZmZmZmZmOwoJbGluZS1oZWlnaHQ6NTZweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWJvcmRlcjoycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjYwKTsKfQoKLm1haW4tc2xpZGVyIC5vd2wtbmF2IC5vd2wtcHJldjpob3ZlciwKLm1haW4tc2xpZGVyIC5vd2wtbmF2IC5vd2wtbmV4dDpob3ZlcnsKCWNvbG9yOiNmZmFhMDA7Cn0KCi8qIFNpZGViYXIgSW5mbyBDb250ZW50cyAqLwoKLnNpZGViYXItaW5mby1jb250ZW50c3sKCXBvc2l0aW9uOnJlbGF0aXZlOwp9Cgouc2lkZWJhci1pbmZvLWNvbnRlbnRzIC5jb250ZW50LWlubmVyewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLmxvZ28gewoJcGFkZGluZzowcHggMHB4IDQwcHg7Cn0KCi5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLmxvZ28gaW1newoJZGlzcGxheTppbmxpbmUtYmxvY2s7CgltYXgtd2lkdGg6MTAwJTsJCn0KCi5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLmNvbnRlbnQtYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLmNvbnRlbnQtYm94IGgyewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MjBweDsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXdlaWdodDo1MDA7CgltYXJnaW4tYm90dG9tOjIwcHg7Cn0KCi5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLmNvbnRlbnQtYm94IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MTRweDsKCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC45MCk7CgltYXJnaW4tYm90dG9tOjI1cHg7Cn0KCi5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLmNvbnRhY3QtaW5mb3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDo2MHB4Owp9Cgouc2lkZWJhci1pbmZvLWNvbnRlbnRzIC5jb250ZW50LWlubmVyIC5jb250YWN0LWluZm8gaDJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToyMHB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtd2VpZ2h0OjUwMDsKCW1hcmdpbi1ib3R0b206MjBweDsKfQoKLnNpZGViYXItaW5mby1jb250ZW50cyAuY29udGVudC1pbm5lciAuc29jaWFsLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDoyMHB4OwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9Cgouc2lkZWJhci1pbmZvLWNvbnRlbnRzIC5jb250ZW50LWlubmVyIC5zb2NpYWwtYm94IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCW1hcmdpbi1yaWdodDo2cHg7Cgl0cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwogICAgLW1zLXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7Cn0KCi5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLnNvY2lhbC1ib3ggbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MzZweDsKCWhlaWdodDozNnB4OwoJY29sb3I6IzIyMjIyMjsKCXotaW5kZXg6MTsKCWZvbnQtc2l6ZToxM3B4OwoJbGluZS1oZWlnaHQ6MzZweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJYm9yZGVyLXJhZGl1czo1MCU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKfQoKLmNsb3NlLXNpZGUtd2lkZ2V0LAouY2xvc2Utc2lkZS13aWRnZXQ6aG92ZXJ7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjI0cHg7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJTWFpbiBTbGlkZXIgVHdvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoubWFpbi1zbGlkZXItdHdvewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5tYWluLXNsaWRlci10d28gLmNvbnRlbnQtYm94ZWR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjU1JTsKCWZsb2F0OnJpZ2h0Owp9CgoubWFpbi1zbGlkZXItdHdvIC5zbGlkZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoyMzBweCAwcHggMjYwcHg7CgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7CgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7Cn0KCi5tYWluLXNsaWRlci10d28gaDF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXdlaWdodDo2MDA7CglsaW5lLWhlaWdodDoxLjJlbTsKCW1hcmdpbi1ib3R0b206MzBweDsKCW9wYWNpdHk6IDA7Cgl0cmFuc2Zvcm06IHNjYWxlWSgwKTsKCXRyYW5zZm9ybS1vcmlnaW46IHRvcDsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cn0KCi5tYWluLXNsaWRlci10d28gLmFjdGl2ZSBoMXsKCW9wYWNpdHk6IDE7Cgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsKCXRyYW5zaXRpb24tZGVsYXk6IDMwMG1zOwp9CgoubWFpbi1zbGlkZXItdHdvIC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE2cHg7CglvcGFjaXR5OjA7Cgl0cmFuc2Zvcm06IHNjYWxlWSgwKTsKCXRyYW5zZm9ybS1vcmlnaW46IHRvcDsKCWxpbmUtaGVpZ2h0OiAxLjllbTsKCWZvbnQtd2VpZ2h0OjQwMDsKCW1hcmdpbi1ib3R0b206NDJweCAhaW1wb3J0YW50OwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKfQoKLm1haW4tc2xpZGVyLXR3byAuYWN0aXZlIC50ZXh0ewoJb3BhY2l0eTogMTsKCXRyYW5zZm9ybTogc2NhbGVZKDEpOwoJdHJhbnNpdGlvbi1kZWxheTogNjAwbXM7Cn0KCi5tYWluLXNsaWRlci10d28gLmxpbmstYm94ewoJb3BhY2l0eTowOwoJdHJhbnNmb3JtOiBzY2FsZVkoMCk7Cgl0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cn0KCi5tYWluLXNsaWRlci10d28gLmFjdGl2ZSAubGluay1ib3h7CglvcGFjaXR5OiAxOwoJdHJhbnNmb3JtOiBzY2FsZVkoMSk7Cgl0cmFuc2l0aW9uLWRlbGF5OiA5MDBtczsKfQoKLm1haW4tc2xpZGVyLXR3byAubGluay1ib3ggLnRoZW1lLWJ0bnsKCW1hcmdpbi1yaWdodDoyMHB4OwoJZmxvYXQ6bGVmdDsKfQoKLm1haW4tc2xpZGVyLXR3byAub3dsLWRvdHN7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjExMHB4OwoJdG9wOjUwJTsKCWRpc3BsYXk6bm9uZTsKfQoKLm1haW4tc2xpZGVyLXR3byAub3dsLWRvdHMgLm93bC1kb3R7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjE2cHg7CgloZWlnaHQ6MTZweDsKCW1hcmdpbi1ib3R0b206MTBweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCW1hcmdpbi1ib3R0b206MTBweDsKfQoKLm1haW4tc2xpZGVyLXR3byAub3dsLWRvdHMgLm93bC1kb3Q6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJcmlnaHQ6MHB4OwoJYm90dG9tOjBweDsKCW9wYWNpdHk6MDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWJvcmRlcjozcHggc29saWQgIzBhMTQ5NTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgoubWFpbi1zbGlkZXItdHdvIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmU6YmVmb3JlLAoubWFpbi1zbGlkZXItdHdvIC5vd2wtZG90cyAub3dsLWRvdDpob3Zlcjo6YmVmb3JlewoJb3BhY2l0eToxOwp9CgoubWFpbi1zbGlkZXItdHdvIC5vd2wtbmF2ewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDo1MCU7Cgl6LWluZGV4OjE7Cgl3aWR0aDoxMDAlOwoJb3BhY2l0eTowOwoJbWFyZ2luLXRvcDotMTBweDsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgoubWFpbi1zbGlkZXItdHdvOmhvdmVyIC5vd2wtbmF2ewoJb3BhY2l0eToxOwp9CgoubWFpbi1zbGlkZXItdHdvIC5vd2wtbmF2IC5vd2wtcHJldnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDoyMHB4OwoJd2lkdGg6NjBweDsKCWhlaWdodDo2MHB4OwoJY29sb3I6IzBhMTQ5NTsKCWxpbmUtaGVpZ2h0OjU2cHg7Cglmb250LXNpemU6MjRweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJYm9yZGVyLXJhZGl1czo1MHB4OwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWJvcmRlcjoycHggc29saWQgIzBhMTQ5NTsKfQoKLm1haW4tc2xpZGVyLXR3byAub3dsLW5hdiAub3dsLW5leHR7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjIwcHg7Cgljb2xvcjojMGExNDk1OwoJZm9udC1zaXplOjI0cHg7Cgl3aWR0aDo2MHB4OwoJaGVpZ2h0OjYwcHg7Cgljb2xvcjojMGExNDk1OwoJbGluZS1oZWlnaHQ6NTZweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWJvcmRlcjoycHggc29saWQgIzBhMTQ5NTsKfQoKLm1haW4tc2xpZGVyLXR3byAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIsCi5tYWluLXNsaWRlci10d28gLm93bC1uYXYgLm93bC1uZXh0OmhvdmVyewoJY29sb3I6I2ZmZmZmZjsKCWJhY2tncm91bmQtY29sb3I6IzBhMTQ5NTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglNYWluIFNsaWRlciBUaHJlZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKCgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCUZlYXR1cmVkIFNlY3Rpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5mZWF0dXJlZC1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi8qQ3VzdG9tIFNlbGVjdCovCgouZm9ybS1ncm91cCAudWktc2VsZWN0bWVudS1idXR0b24udWktYnV0dG9uewoJd2lkdGg6MTAwJTsKCWZvbnQtc2l6ZToxNHB4OwoJZm9udC1zdHlsZTpub3JtYWw7CgloZWlnaHQ6NTBweDsKCXBhZGRpbmc6MTBweCAyMHB4IDEwcHggMjBweDsKCWxpbmUtaGVpZ2h0OjI4cHg7Cgljb2xvcjojNzc3Nzc3OwoJYm9yZGVyOiBub25lOwoJYm9yZGVyLXJhZGl1czowcHg7CgliYWNrZ3JvdW5kOiNmZmZmZmY7Cglib3JkZXI6MXB4IHNvbGlkICNjY2NjY2M7Cn0KCi5mb3JtLWdyb3VwIC51aS1idXR0b24gLnVpLWljb257CgliYWNrZ3JvdW5kOm5vbmU7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRvcDoycHg7Cgl0ZXh0LWluZGVudDowcHg7Cgljb2xvcjojMzMzMzMzOwkKfQoKLmZvcm0tZ3JvdXAgLnVpLWJ1dHRvbiAudWktaWNvbjpiZWZvcmV7Cglmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJzsKCWNvbnRlbnQ6ICJcZjEwNyI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjBweDsKCXRvcDoycHggIWltcG9ydGFudDsKCXRvcDoxM3B4OwoJd2lkdGg6MTBweDsKCWhlaWdodDoyMHB4OwoJZGlzcGxheTpibG9jazsKCWNvbG9yOiM5OTk5OTk7CglsaW5lLWhlaWdodDoyMHB4OwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDpub3JtYWw7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXotaW5kZXg6NTsKCWZvbnQtd2VpZ2h0OjgwMDsKfQoKLnVpLXdpZGdldC51aS13aWRnZXQtY29udGVudHsKCQp9CgoudWktbWVudSAudWktbWVudS1pdGVtewoJZm9udC1zaXplOjE0cHg7Cn0KCi51aS1tZW51IC51aS1tZW51LWl0ZW06bGFzdC1jaGlsZHsKCWJvcmRlcjpub25lOwkKfQoKLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmV7CgliYWNrZ3JvdW5kOiNjMjJhMmE7Cglib3JkZXItY29sb3I6I2MyMmEyYTsKfQoKLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJcGFkZGluZzo4cHggMjBweDsKCWZvbnQtc2l6ZToxNHB4OwoJbGluZS1oZWlnaHQ6MjRweDsKfQoKLnVpLW1lbnUtaXRlbTpob3ZlcnsKCWJhY2tncm91bmQtY29sb3I6I2MyMmEyYTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglTZWFyY2ggUG9wdXAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5zZWFyY2gtcG9wdXB7Cglwb3NpdGlvbjogZml4ZWQ7CglsZWZ0OiAwOwoJdG9wOiAwOwoJaGVpZ2h0OiAxMDB2aDsKCXdpZHRoOiAxMDAlOwoJei1pbmRleDogOTk5OTk7CgltYXJnaW4tdG9wOiAtNTQwcHg7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwoJYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjkwKTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7CiAgICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7CiAgICB0cmFuc2l0aW9uOiBhbGwgMTUwMG1zIGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7IC8qIGVhc2VJbk91dFF1aW50ICovCiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApOwogICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuODYwLCAwLjAwMCwgMC4wNzAsIDEuMDAwKTsKICAgIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApOwogICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjg2MCwgMC4wMDAsIDAuMDcwLCAxLjAwMCk7IC8qIGVhc2VJbk91dFF1aW50ICovCn0KCi5zaWRlbmF2LWJhci12aXNpYmxlIC5zZWFyY2gtcG9wdXB7Cgl3aWR0aDogODAlOwp9Cgouc2VhcmNoLXBvcHVwOmJlZm9yZXsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDA7Cgl0b3A6IDEwMCU7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogNTYwcHg7CgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3dhdmVzLXNoYXBlLnBuZyk7CgliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OwoJYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwoJYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKCW1hcmdpbi10b3A6IDBweDsKCWNvbnRlbnQ6ICIiOwp9Cgouc2VhcmNoLWFjdGl2ZSAuc2VhcmNoLXBvcHVwewoJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsKCW1hcmdpbi10b3A6IDA7Cn0KCi5zZWFyY2gtcG9wdXAgLmNsb3NlLXNlYXJjaHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDA7CglyaWdodDogMDsKCXRvcDogNzUlOwoJbWFyZ2luOiAwIGF1dG87CgltYXJnaW4tdG9wOiAtMjAwcHg7Cglib3JkZXItcmFkaXVzOiA1MCU7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7CgliYWNrZ3JvdW5kLWNvbG9yOiAjYzEyYjI5OwoJd2lkdGg6IDcwcHg7CgljdXJzb3I6cG9pbnRlcjsKCWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwwLDAsMC4wNSk7Cglib3JkZXItYm90dG9tOiAzcHggc29saWQgI2ZmZmZmZjsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTsKCW9wYWNpdHk6IDA7Cgl2aXNpYmlsaXR5OiBoaWRkZW47Cn0KCi5zZWFyY2gtcG9wdXAgLmNsb3NlLXNlYXJjaCBzcGFuewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZGlzcGxheTogYmxvY2s7CgloZWlnaHQ6IDcwcHg7Cgl3aWR0aDogNzBweDsKCWZvbnQtc2l6ZTogMzBweDsKCWxpbmUtaGVpZ2h0OiA3MHB4OwoJY29sb3I6ICNmZmZmZmY7Cn0KCi5zZWFyY2gtYWN0aXZlIC5zZWFyY2gtcG9wdXAgLmNsb3NlLXNlYXJjaHsKCXZpc2liaWxpdHk6IHZpc2libGU7CglvcGFjaXR5OiAxOwoJdG9wOiA1MCU7Cgktd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDE1MDBtczsKCS1tb3otdHJhbnNpdGlvbi1kZWxheTogMTUwMG1zOwoJLW1zLXRyYW5zaXRpb24tZGVsYXk6IDE1MDBtczsKCS1vLXRyYW5zaXRpb24tZGVsYXk6IDE1MDBtczsKCXRyYW5zaXRpb24tZGVsYXk6IDE1MDBtczsKfQoKLnNlYXJjaC1wb3B1cCBmb3JtewoJcG9zaXRpb246IGFic29sdXRlOwoJbWF4LXdpZHRoOiA3MDBweDsKCXRvcDogNTAlOwoJbGVmdDogMTVweDsKCXJpZ2h0OiAxNXB4OwoJbWFyZ2luOi0zNXB4IGF1dG8gMDsKCXRyYW5zZm9ybTogc2NhbGVYKDApOwoJdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOwoJYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKfQoKLnNlYXJjaC1hY3RpdmUgLnNlYXJjaC1wb3B1cCBmb3JtewoJdHJhbnNmb3JtOiBzY2FsZVgoMSk7Cgktd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDEyMDBtczsKCS1tb3otdHJhbnNpdGlvbi1kZWxheTogMTIwMG1zOwoJLW1zLXRyYW5zaXRpb24tZGVsYXk6IDEyMDBtczsKCS1vLXRyYW5zaXRpb24tZGVsYXk6IDEyMDBtczsKCXRyYW5zaXRpb24tZGVsYXk6IDEyMDBtczsKfQoKLnNlYXJjaC1wb3B1cCAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luOjBweDsJCglvdmVyZmxvdzogaGlkZGVuOwp9Cgouc2VhcmNoLXBvcHVwIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwKLnNlYXJjaC1wb3B1cCAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJzZWFyY2giXXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCWZvbnQtc2l6ZToxOHB4OwoJbGluZS1oZWlnaHQ6IDUwcHg7Cgljb2xvcjojMDAwMDAwOwoJaGVpZ2h0OjcwcHg7Cgl3aWR0aDoxMDAlOwoJcGFkZGluZzogMTBweCAzMHB4OwoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cglmb250LXdlaWdodDo1MDA7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwp9Cgouc2VhcmNoLXBvcHVwIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InN1Ym1pdCJdLAouc2VhcmNoLXBvcHVwIC5mb3JtLWdyb3VwIGJ1dHRvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MzBweDsKCXRvcDowcHg7CgloZWlnaHQ6NzBweDsKCWxpbmUtaGVpZ2h0OiA3MHB4OwoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWZvbnQtc2l6ZToyNHB4OwoJY29sb3I6IzAwMDAwMDsKCXBhZGRpbmc6IDA7CgljdXJzb3I6cG9pbnRlcjsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cn0KCi5zZWFyY2gtcG9wdXAgLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ic3VibWl0Il06aG92ZXIsCi5zZWFyY2gtcG9wdXAgLmZvcm0tZ3JvdXAgYnV0dG9uOmhvdmVyewoJY29sb3I6ICMwMDAwMDA7Cn0KCi5zZWFyY2gtcG9wdXAgaW5wdXQ6OnBsYWNlaG9sZGVyLAouc2VhcmNoLXBvcHVwIHRleHRhcmVhOjpwbGFjZWhvbGRlcnsKCWNvbG9yOiMwMDAwMDA7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJCQlNb2JpbGUgTWVudQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLm5hdi1vdXRlciAubW9iaWxlLW5hdi10b2dnbGVyewoJcG9zaXRpb246IHJlbGF0aXZlOwoJZmxvYXQ6IHJpZ2h0OwoJZm9udC1zaXplOiA0MHB4OwoJbGluZS1oZWlnaHQ6IDUwcHg7CgljdXJzb3I6IHBvaW50ZXI7Cgljb2xvcjojZmZmZmZmOwoJZGlzcGxheTogbm9uZTsKfQoKLm1vYmlsZS1tZW51ewoJcG9zaXRpb246IGZpeGVkOwoJcmlnaHQ6IDA7Cgl0b3A6IDA7Cgl3aWR0aDogMzAwcHg7CglwYWRkaW5nLXJpZ2h0OjMwcHg7CgltYXgtd2lkdGg6MTAwJTsKCWhlaWdodDogMTAwJTsKCW9wYWNpdHk6IDA7Cgl2aXNpYmlsaXR5OiBoaWRkZW47Cgl6LWluZGV4OiA5OTk5OTk7Cn0KCi5tb2JpbGUtbWVudSAubmF2LWxvZ297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MjBweCAyMHB4OwoJdGV4dC1hbGlnbjpsZWZ0OwkKfQoKLm1vYmlsZS1tZW51IC5uYXYtbG9nbyBpbWd7CgltYXgtd2lkdGg6MjAwcHg7Cn0KCi5tb2JpbGUtbWVudS12aXNpYmxlewoJb3ZlcmZsb3c6IGhpZGRlbjsKfQoKLm1vYmlsZS1tZW51LXZpc2libGUgLm1vYmlsZS1tZW51ewoJb3BhY2l0eTogMTsKCXZpc2liaWxpdHk6IHZpc2libGU7Cn0KCi5tb2JpbGUtbWVudSAubWVudS1iYWNrZHJvcHsKCXBvc2l0aW9uOiBmaXhlZDsKCXJpZ2h0OiAwOwoJdG9wOiAwOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDEwMCU7Cgl6LWluZGV4OiAxOwoJYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjkwKTsKCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMSUpOwoJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDElKTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDElKTsKfQoKLm1vYmlsZS1tZW51LXZpc2libGUgLm1vYmlsZS1tZW51IC5tZW51LWJhY2tkcm9wewoJb3BhY2l0eTogMTsKCXZpc2liaWxpdHk6IHZpc2libGU7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuN3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC43cyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuN3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuN3MgZWFzZTsKCXRyYW5zaXRpb246YWxsIDAuN3MgZWFzZTsKCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsKCS1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOwoJdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsKfQoKLm1vYmlsZS1tZW51IC5tZW51LWJveHsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDBweDsKCXRvcDogMHB4OwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDEwMCU7CgltYXgtaGVpZ2h0OiAxMDAlOwoJb3ZlcmZsb3cteTogYXV0bzsKCWJhY2tncm91bmQ6ICNmZmZmZmY7CglwYWRkaW5nOiAwcHggMHB4OwoJei1pbmRleDogNTsKCW9wYWNpdHk6IDA7Cgl2aXNpYmlsaXR5OiBoaWRkZW47Cglib3JkZXItcmFkaXVzOiAwcHg7Cgktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDElKTsKCS1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7Cn0KCi5tb2JpbGUtbWVudS12aXNpYmxlIC5tb2JpbGUtbWVudSAubWVudS1ib3h7CglvcGFjaXR5OiAxOwoJdmlzaWJpbGl0eTogdmlzaWJsZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC43cyBlYXNlIDUwMG1zOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjdzIGVhc2UgNTAwbXM7CgktbXMtdHJhbnNpdGlvbjphbGwgMC43cyBlYXNlIDUwMG1zOwoJLW8tdHJhbnNpdGlvbjphbGwgMC43cyBlYXNlIDUwMG1zOwoJdHJhbnNpdGlvbjphbGwgMC43cyBlYXNlIDUwMG1zOwoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOwoJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7Cgl0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOwp9CgoubW9iaWxlLW1lbnUgLmNsb3NlLWJ0bnsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXJpZ2h0OiAzcHg7Cgl0b3A6IDNweDsKCWxpbmUtaGVpZ2h0OiAzMHB4OwoJd2lkdGg6IDMwcHg7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cglmb250LXNpemU6IDE0cHg7Cgljb2xvcjogIzIwMjAyMDsKCWN1cnNvcjogcG9pbnRlcjsKCXotaW5kZXg6IDEwOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7Cgktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7CgktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7Cn0KCi5tb2JpbGUtbWVudS12aXNpYmxlIC5tb2JpbGUtbWVudSAuY2xvc2UtYnRuewoJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsKCS1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsKCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOwp9CgoubW9iaWxlLW1lbnUgLmNsb3NlLWJ0bjpob3ZlcnsKCW9wYWNpdHk6IDAuNTA7Cn0KCi5tb2JpbGUtbWVudSAubmF2aWdhdGlvbnsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGJsb2NrOwoJd2lkdGg6MTAwJTsKCWJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTApOwp9CgoubW9iaWxlLW1lbnUgLm5hdmlnYXRpb24gbGl7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBibG9jazsKCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLDAuMTApOwp9CgoubW9iaWxlLW1lbnUgLm5hdmlnYXRpb24gbGkgPiB1bCA+IGxpOmxhc3QtY2hpbGR7Cglib3JkZXItYm90dG9tOiBub25lOwp9CgoubW9iaWxlLW1lbnUgLm5hdmlnYXRpb24gbGkgPiB1bCA+IGxpOmZpcnN0LWNoaWxkewoJYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xMCk7Cn0KCi5tb2JpbGUtbWVudSAubmF2aWdhdGlvbiBsaSA+IGF7Cglwb3NpdGlvbjogcmVsYXRpdmU7CglkaXNwbGF5OiBibG9jazsKCWxpbmUtaGVpZ2h0OiAyNHB4OwoJcGFkZGluZzogMTBweCAyMHB4OwoJZm9udC1zaXplOiAxNXB4OwoJY29sb3I6ICM0MDQwNDA7Cgl0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKfQoKLm1vYmlsZS1tZW51IC5uYXZpZ2F0aW9uIGxpOmhvdmVyID4gYSwKLm1vYmlsZS1tZW51IC5uYXZpZ2F0aW9uIGxpLmN1cnJlbnQgPiBhewoJY29sb3I6I2MzMzEyNzsKfQoKLm1vYmlsZS1tZW51IC5uYXZpZ2F0aW9uIGxpLmRyb3Bkb3duIC5kcm9wZG93bi1idG57Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDo0NHB4OwoJaGVpZ2h0OjQ0cHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWZvbnQtc2l6ZToxNnB4OwoJbGluZS1oZWlnaHQ6NDRweDsKCWNvbG9yOiM0MDQwNDA7CgljdXJzb3I6cG9pbnRlcjsKCXotaW5kZXg6NTsKfQoKLm1vYmlsZS1tZW51IC5uYXZpZ2F0aW9uIGxpLmRyb3Bkb3duIC5kcm9wZG93bi1idG46YWZ0ZXJ7Cgljb250ZW50OicnOwoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDoxMHB4OwoJd2lkdGg6MXB4OwoJaGVpZ2h0OjI0cHg7Cglib3JkZXItbGVmdDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjEwKTsKfQoKLm1vYmlsZS1tZW51IC5uYXZpZ2F0aW9uIGxpID4gdWwsCi5tb2JpbGUtbWVudSAubmF2aWdhdGlvbiBsaSA+IHVsID4gbGkgPiB1bHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi5zdGlja3ktaGVhZGVyIC5uYXZiYXItaGVhZGVyewoJZGlzcGxheTpub25lOwp9CgoKCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJU2VydmljZXMgU2VjdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnNlcnZpY2VzLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNlcnZpY2VzLXNlY3Rpb24gLmNvbnN1bHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246cmlnaHQ7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW4tdG9wOjE1cHg7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uIC5jb25zdWx0IGF7Cglmb250LXdlaWdodDo2MDA7Cgljb2xvcjojMEY3NjZFOwp9Cgouc2VydmljZXMtc2VjdGlvbiAuaW5uZXItY29udGFpbmVyewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tdG9wOi0xNjBweDsKfQoKLnNlcnZpY2VzLXNlY3Rpb24gLnBhdGVybi1sYXllcnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MTIwcHg7CgloZWlnaHQ6MzcwcHg7Cgl3aWR0aDo1MCU7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uIC5vd2wtbmF2ewoJZGlzcGxheTpub25lOwp9Cgouc2VydmljZXMtc2VjdGlvbiAub3dsLWRvdHN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uIC5vd2wtZG90cyAub3dsLWRvdHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTBweDsKCWhlaWdodDoxMHB4OwoJbWFyZ2luLWxlZnQ6MTBweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojMjIyMjIyOwp9Cgouc2VydmljZXMtc2VjdGlvbiAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlLAouc2VydmljZXMtc2VjdGlvbiAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiNjMzMyMjg7Cn0KCi8qIFNlcnZpY2UgQmxvY2sgKi8KCi5zZXJ2aWNlLWJsb2NrewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjE7CgltYXJnaW4tYm90dG9tOjYwcHg7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6NDVweCA1NXB4IDcwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCWJveC1zaGFkb3c6MHB4IDBweCAxMHB4IHJnYmEoMCwwLDAsMC4xNSk7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3g6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6MHB4OwoJaGVpZ2h0OjEwMCU7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBjb2xvci1zdG9wKDAsICNEMTY0MUEpLCBjb2xvci1zdG9wKDEwMCwgIzBGNzY2RSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKfQoKLnNlcnZpY2UtYmxvY2sgLmlubmVyLWJveDpob3Zlcjo6YmVmb3JlewoJd2lkdGg6MTAwJTsKfQoKLnNlcnZpY2UtYmxvY2sgLmlubmVyLWJveCAuY29udGVudC1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW92ZXJmbG93OmhpZGRlbjsKfQoKLnNlcnZpY2UtYmxvY2sgLmlubmVyLWJveCAuaWNvbi1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNlcnZpY2UtYmxvY2sgLmlubmVyLWJveCAuaWNvbi1ib3ggLmljb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWxpbmUtaGVpZ2h0OjFlbTsKCWNvbG9yOiNkMTY0MWI7CglsaW5lLWhlaWdodDoxZW07Cglmb250LXNpemU6NzBweDsKCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2QxNjQxYiAwJSwgI2MxMjgyYSAxMDAlKTsKICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OwogICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmljb24tYm94IC5pY29uewoJY29sb3I6I2ZmZmZmZjsKCS13ZWJraXQtdGV4dC1maWxsLWNvbG9yOmluaGVyaXQ7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3ggaDV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjYwMDsKCW1hcmdpbi10b3A6MTZweDsKCW1hcmdpbi1ib3R0b206MjJweDsKCXBhZGRpbmctYm90dG9tOjE0cHg7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3ggaDUgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3ggaDUgYTpob3ZlcnsKCWNvbG9yOiNkMDYzMWE7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLnRleHQsCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgaDUgYXsKCWNvbG9yOiNmZmZmZmY7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3ggaDU6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cglib3R0b206MHB4OwoJaGVpZ2h0OjNweDsKCXdpZHRoOjQ0cHg7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjRDE2NDFBKSwgY29sb3Itc3RvcCgxMDAsICMwRjc2NkUpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7Cn0KCi5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgaDU6YmVmb3JlewoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZmZmZiAwJSwgI2ZmZmZmZiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgI2ZmZmZmZiksIGNvbG9yLXN0b3AoMTAwLCAjZmZmZmZmKSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmZmZmIDAlLCAjZmZmZmZmIDEwMCUpOwp9Cgouc2VydmljZS1ibG9jayAuaW5uZXItYm94IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjE2cHg7CglsaW5lLWhlaWdodDoxLjhlbTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9Cgouc2VydmljZS1ibG9jayAuaW5uZXItYm94IC5iaWctaWNvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cglib3R0b206MHB4OwoJbGluZS1oZWlnaHQ6MWVtOwoJY29sb3I6I2QxNjQxYjsKCWxpbmUtaGVpZ2h0OjFlbTsKCWZvbnQtc2l6ZToxMTBweDsKCW9wYWNpdHk6MC4yOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNkMTY0MWIgMCUsICNjMTI4MmEgMTAwJSk7CiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsKICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoKLnNlcnZpY2UtYmxvY2sgLmlubmVyLWJveDpob3ZlciAuYmlnLWljb257Cgljb2xvcjojZmZmZmZmOwoJLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6aW5oZXJpdDsKfQoKLnNlcnZpY2UtYmxvY2sgLmlubmVyLWJveCAuYXJyb3ctYm94ewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDotNDBweDsKCWJvdHRvbTotMjVweDsKCXdpZHRoOjUwcHg7CgloZWlnaHQ6NTBweDsKCW9wYWNpdHk6MDsKCWNvbG9yOiMyMjIyMjI7CglsaW5lLWhlaWdodDo1MHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglib3JkZXItcmFkaXVzOjUwcHg7Cglmb250LXdlaWdodDo3MDA7Cglmb250LXNpemU6MjBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJYm94LXNoYWRvdzowcHggMHB4IDEwcHggcmdiYSgwLDAsMCwwLjEyKTsKfQoKLnNlcnZpY2UtYmxvY2sgLmlubmVyLWJveDpob3ZlciAuYXJyb3ctYm94ewoJcmlnaHQ6MzBweDsKCW9wYWNpdHk6MTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglJbnRyb2R1Y3Rpb24gU2VjdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLmludHJvZHVjdGlvbi1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjEyMHB4IDBweCAxMjBweDsKfQoKLmludHJvZHVjdGlvbi1zZWN0aW9uIC5pbWFnZS1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NDBweDsKfQoKLmludHJvZHVjdGlvbi1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzo1NXB4IDM1cHggMHB4IDQwcHg7Cn0KCi5pbnRyb2R1Y3Rpb24tc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5pbm5lci1jb2x1bW46YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJcmlnaHQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjQ0OHB4OwoJaGVpZ2h0OjU3MHB4OwoJYmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2JhY2tncm91bmQvcGF0dGVybi0yLnBuZyk7CgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7Cn0KCi5pbnRyb2R1Y3Rpb24tc2VjdGlvbiAuaW1hZ2UtY29sdW1uIC5pbWFnZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouaW50cm9kdWN0aW9uLXNlY3Rpb24gLmltYWdlLWNvbHVtbiAuaW1hZ2UgaW1newoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDoxMDAlOwoJZGlzcGxheTpibG9jazsKfQoKLmludHJvZHVjdGlvbi1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmltYWdlIC5wcm9qZWN0c3sKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDotNDBweDsKCWJvdHRvbTotNTVweDsKCXBhZGRpbmc6MjJweCA2MHB4OwoJZm9udC13ZWlnaHQ6NzAwOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToyNHB4OwoJbGluZS1oZWlnaHQ6MS40ZW07CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBjb2xvci1zdG9wKDAsICNEMTY0MUEpLCBjb2xvci1zdG9wKDEwMCwgIzBGNzY2RSkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKfQoKLmludHJvZHVjdGlvbi1zZWN0aW9uIC5jb250ZW50LWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo0MHB4Owp9CgouaW50cm9kdWN0aW9uLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmludHJvZHVjdGlvbi1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToyNXB4Owp9CgouaW50cm9kdWN0aW9uLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC50ZXh0IHB7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTZweDsKCWxpbmUtaGVpZ2h0OjEuN2VtOwoJbWFyZ2luLWJvdHRvbToxOHB4Owp9CgouaW50cm9kdWN0aW9uLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC50ZXh0IHA6bGFzdC1jaGlsZHsKCW1hcmdpbi1ib3R0b206MHB4Owp9CgouaW50cm9kdWN0aW9uLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5jb250YWN0ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nLXRvcDoyNnB4OwoJbWFyZ2luLXRvcDozMHB4OwoJY29sb3I6I2MxMjgyYTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWZvbnQtc2l6ZTozMHB4OwoJYm9yZGVyLXRvcDoxcHggc29saWQgI2UxZTFlMTsKfQoKLmludHJvZHVjdGlvbi1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuY29udGFjdCAucXVlc3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMwRjc2NkU7Cglmb250LXNpemU6MThweDsKCWZvbnQtd2VpZ2h0OjYwMDsKCWRpc3BsYXk6YmxvY2s7Cn0KCi5pbnRyb2R1Y3Rpb24tc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmNvbnRhY3QgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2MxMjgyYTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWxpbmUtaGVpZ2h0OjEuNmVtOwoJbWFyZ2luLXRvcDoxMHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLmludHJvZHVjdGlvbi1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuY29udGFjdCBhOmhvdmVyewoJY29sb3I6IzBGNzY2RTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglDb3VudGVyIFNlY3Rpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5jb3VudGVyLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTBweCAwcHggNjBweDsKCWJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZDsKCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKfQoKLmNvdW50ZXItc2VjdGlvbjpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7CglyaWdodDowcHg7Cglib3R0b206MHB4OwoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDM0LDM0LDM0LDAuODApOwp9CgouY291bnRlci1zZWN0aW9uIC5zZWMtdGl0bGV7CgltYXJnaW4tYm90dG9tOjUwcHg7Cn0KCi8qRmFjdCBDb3VudGVyKi8KCi5mYWN0LWNvdW50ZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmZhY3QtY291bnRlciAuY29sdW1uewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjU7CgltYXJnaW4tYm90dG9tOjMwcHg7Cn0KCi5mYWN0LWNvdW50ZXIgLmNvbHVtbiAuaW5uZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjIzMHB4OwoJaGVpZ2h0OjIzMHB4OwoJbWFyZ2luOjAgYXV0bzsKCXRleHQtYWxpZ246Y2VudGVyOwoJcGFkZGluZzo2NXB4IDIwcHg7CglvdmVyZmxvdzpoaWRkZW47CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJvcmRlci1yYWRpdXM6MTUwcHggMTUwcHggMHB4IDE1MHB4OwoJYmFja2dyb3VuZC1jb2xvcjojMzYzNjM2OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKfQoKLmZhY3QtY291bnRlciAuY29sdW1uIC5pbm5lcjpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDowcHg7CgloZWlnaHQ6MTAwJTsKCXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjRDE2NDFBKSwgY29sb3Itc3RvcCgxMDAsICMwRjc2NkUpKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7Cn0KCi5mYWN0LWNvdW50ZXIgLmNvbHVtbiAuaW5uZXI6aG92ZXI6OmJlZm9yZXsKCXdpZHRoOjEwMCU7Cn0KCi5mYWN0LWNvdW50ZXIgLmNvdW50LW91dGVyewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDo3MDA7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOiA0OHB4OwoJbGluZS1oZWlnaHQ6MWVtOwp9CgouZmFjdC1jb3VudGVyIC5jb3VudC1vdXRlciAuY291bnQtdGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC13ZWlnaHQ6NzAwOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZTogNDhweDsKfQoKLmZhY3QtY291bnRlciAuY29sdW1uIC5jb3VudGVyLXRpdGxlewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MjZweDsKCWZvbnQtd2VpZ2h0OjUwMDsKCWNvbG9yOiNmZmZmZmY7CgltYXJnaW4tdG9wOjE4cHg7CglsaW5lLWhlaWdodDoxLjNlbTsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7CglkaXNwbGF5OmJsb2NrOwp9CgouZmFjdC1jb3VudGVyIC5jb3VudC1vdXRlciAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNHB4OwoJbWFyZ2luLXRvcDo2cHg7Cglmb250LXdlaWdodDo0MDA7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJQ291bnRlciBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoucG9ydGZvbGlvLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggMTAwcHg7Cn0KCi5wb3J0Zm9saW8tc2VjdGlvbiAuZmlsdGVyc3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo1NXB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cn0KCi5wb3J0Zm9saW8tc2VjdGlvbiAuZmlsdGVycyAuZmlsdGVyLXRhYnN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MHB4IDI1cHg7Cglib3JkZXItcmFkaXVzOjUwcHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTsKCWJvcmRlcjoxcHggc29saWQgI2UxZTFlMTsKfQoKLnBvcnRmb2xpby1zZWN0aW9uIC5maWx0ZXJzIGxpewoJcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgY29sb3I6ICM2NjY2NjY7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogNDAwOwoJcGFkZGluZzo5cHggMjBweDsKICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwp9CgoucG9ydGZvbGlvLXNlY3Rpb24gLmZpbHRlcnMgLmZpbHRlci5hY3RpdmUsCi5wb3J0Zm9saW8tc2VjdGlvbiAuZmlsdGVycyAuZmlsdGVyOmhvdmVyewogICAgY29sb3I6I2ZmZmZmZjsKCWJhY2tncm91bmQtY29sb3I6I2NmNWQxYzsKfQoKLnBvcnRmb2xpby1zZWN0aW9uIC50ZXh0LWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgoucG9ydGZvbGlvLXNlY3Rpb24gLnRleHQtYm94IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE2cHg7CglwYWRkaW5nOjE0cHggMzZweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYm9yZGVyOjFweCBkYXNoZWQgI2ExYTFhMTsKfQoKLnBvcnRmb2xpby1zZWN0aW9uIC50ZXh0LWJveCAudGV4dCBhewoJZm9udC13ZWlnaHQ6NjAwOwp9CgovKiBQcm9qZWN0IEJsb2NrIFRocmVlICovCgoucHJvamVjdC1ibG9ja3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgoucHJvamVjdC1ibG9jayAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIGltZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWRpc3BsYXk6YmxvY2s7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveHsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJZGlzcGxheTpibG9jazsKCXBhZGRpbmc6NDBweCA0MHB4OwoJLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGVhc2U7Cgl0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGVhc2U7Cgl0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlOwoJdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC40cyBlYXNlOwoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDEpOwoJLW1zLXRyYW5zZm9ybTogc2NhbGUoMCwgMSk7Cgl0cmFuc2Zvcm06IHNjYWxlKDAsIDEpOwoJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKCS1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKCXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwp9CgoucHJvamVjdC1ibG9jayAuaW5uZXItYm94OmhvdmVyIC5pbWFnZSAub3ZlcmxheS1ib3h7Cgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7CgktbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsKCXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7Cgktd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsKCS1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7Cgl0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveDpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CglvcGFjaXR5OjAuOTsKCWRpc3BsYXk6YmxvY2s7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgwLCAjRDE2NDFBKSwgY29sb3Itc3RvcCgxMDAsICMwRjc2NkUpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAub3ZlcmxheS1pbm5lcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJaGVpZ2h0OjEwMCU7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAudGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKCW1hcmdpbi1ib3R0b206OHB4OwoJbGV0dGVyLXNwYWNpbmc6MXB4OwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwp9CgoucHJvamVjdC1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXdlaWdodDo2MDA7CglsaW5lLWhlaWdodDoxLjNlbTsKfQoKLnByb2plY3QtYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IGg0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAuc29jaWFsLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDoyMHB4Owp9CgoucHJvamVjdC1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnNvY2lhbC1ib3ggYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE4cHg7Cgljb2xvcjojZmZmZmZmOwoJbWFyZ2luLXJpZ2h0OjE4cHg7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9CgoucHJvamVjdC1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnNvY2lhbC1ib3ggYTpob3ZlcnsKCWNvbG9yOiMyMjIyMjI7Cn0KCi5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAucGx1c3sKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cglib3R0b206MHB4OwoJd2lkdGg6NTBweDsKCWhlaWdodDo1MHB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxOHB4OwoJbGluZS1oZWlnaHQ6NTBweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJZm9udC13ZWlnaHQ6NzAwOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CgliYWNrZ3JvdW5kLWNvbG9yOiMyMjIyMjI7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9CgoucHJvamVjdC1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnBsdXM6aG92ZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiM7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJVGVzdGltb25pYWwgU2VjdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnRlc3RpbW9uaWFsLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggMTAwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMwMDAwMDA7Cn0KCi50ZXN0aW1vbmlhbC1zZWN0aW9uIC5wYXRlcm4tbGF5ZXJ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjBweDsKCXRvcDowcHg7CglsZWZ0OjBweDsKCWJvdHRvbTowcHg7CgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IHRvcDsKfQoKLnRlc3RpbW9uaWFsLXNlY3Rpb24gLmNsaWVudC10aHVtYi1vdXRlcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWF4LXdpZHRoOjkwMHB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJcGFkZGluZy10b3A6NDVweDsKCW1hcmdpbjowIGF1dG87CgltYXJnaW4tYm90dG9tOjMwcHg7Cn0KCi50ZXN0aW1vbmlhbC1zZWN0aW9uIC5jbGllbnQtdGh1bWItb3V0ZXIgLm93bC1pdGVtLmFjdGl2ZSAudGh1bWItaXRlbSAudGh1bWItYm94ewoJei1pbmRleDo5OTk7Cgktby10cmFuc2Zvcm06IHNjYWxlKDEuMSwxLjEpOwoJLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xLDEuMSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xLDEuMSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwxLjEpOwp9CgoudGVzdGltb25pYWwtc2VjdGlvbiAuY2xpZW50LXRodW1iLW91dGVyIC5jbGllbnQtdGh1bWJzLWNhcm91c2VsewoJcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWF4LXdpZHRoOiA4MHB4OwogICAgbWFyZ2luOiAwIGF1dG87Cgl0ZXh0LWFsaWduOmNlbnRlcjsKfQoKLnRlc3RpbW9uaWFsLXNlY3Rpb24gLmNsaWVudC10aHVtYi1vdXRlciAuY2xpZW50LXRodW1icy1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyewoJb3ZlcmZsb3c6dmlzaWJsZTsKfQoKLnRlc3RpbW9uaWFsLXNlY3Rpb24gLmNsaWVudC10aHVtYi1vdXRlciAudGh1bWItaXRlbSAudGh1bWItYm94ewoJd2lkdGg6OTBweDsKCWhlaWdodDo5MHB4OwoJY3Vyc29yOnBvaW50ZXI7Cglib3JkZXItcmFkaXVzOjAlOwoJbWFyZ2luOiAwIGF1dG87CglvdmVyZmxvdzpoaWRkZW47Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgoudGVzdGltb25pYWwtc2VjdGlvbiAuY2xpZW50LXRodW1iLW91dGVyIC50aHVtYi1pdGVtIC5hdXRob3ItaW5mb3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWxlZnQ6LTU1cHg7CgltYXJnaW4tcmlnaHQ6LTcwcHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXBhZGRpbmctdG9wOjIwcHg7Cn0KCi50ZXN0aW1vbmlhbC1zZWN0aW9uIC5jbGllbnQtdGh1bWItb3V0ZXIgLnRodW1iLWl0ZW0gLmF1dGhvci1pbmZvIC5hdXRob3ItbmFtZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtd2VpZ2h0OjcwMDsKCWZvbnQtc2l6ZToyMHB4OwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwp9CgoudGVzdGltb25pYWwtc2VjdGlvbiAuY2xpZW50LXRodW1iLW91dGVyIC50aHVtYi1pdGVtIC5hdXRob3ItaW5mbyAuZGVzaWduYXRpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMwRjc2NkU7Cglmb250LXdlaWdodDo0MDA7Cglmb250LXNpemU6MTRweDsKCW1hcmdpbi10b3A6MnB4OwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLnRlc3RpbW9uaWFsLXNlY3Rpb24gLmNsaWVudC10aHVtYi1vdXRlciAub3dsLWl0ZW17Cgl6LWluZGV4OjA7CQp9CgoudGVzdGltb25pYWwtc2VjdGlvbiAuY2xpZW50LXRodW1iLW91dGVyIC5vd2wtaXRlbS5hY3RpdmV7Cgl6LWluZGV4OjEwOwkKfQoKLnRlc3RpbW9uaWFsLXNlY3Rpb24gLmNsaWVudC10aHVtYi1vdXRlciAuY2xpZW50LXRodW1icy1jYXJvdXNlbCAudGh1bWItaXRlbSBpbWd7CglvdmVyZmxvdzpoaWRkZW47Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CglkaXNwbGF5OmJsb2NrOwoJYm9yZGVyLXJhZGl1czowJTsKfQoKLnRlc3RpbW9uaWFsLXNlY3Rpb24gLm93bC1uYXYsCi50ZXN0aW1vbmlhbC1zZWN0aW9uIC5vd2wtZG90c3sKICAgIGRpc3BsYXk6bm9uZTsKfQoKLnRlc3RpbW9uaWFsLWJsb2NrewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jayAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nLXRvcDo3MHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jayAuaW5uZXItYm94OmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6NTAlOwoJdG9wOjBweDsKCXdpZHRoOjNweDsKCWhlaWdodDo0NXB4OwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChib3R0b20sICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChib3R0b20sICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgwLCAjRDE2NDFBKSwgY29sb3Itc3RvcCgxMDAsICMwRjc2NkUpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI0QxNjQxQSAwJSwgIzBGNzY2RSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jayAuaW5uZXItYm94IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE2cHg7CglsaW5lLWhlaWdodDoxLjhlbTsKfQoKLnRlc3RpbW9uaWFsLWJsb2NrIC5pbm5lci1ib3ggLnF1b3RlLW91dGVyewoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDoxODBweDsKCW1hcmdpbjowIGF1dG87CgltYXJnaW4tdG9wOjM1cHg7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jayAuaW5uZXItYm94IC5xdW90ZS1vdXRlcjpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDoxNXB4OwoJaGVpZ2h0OjNweDsKCXdpZHRoOjEwMCU7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRDE2NDFBIDAlLCAjMEY3NjZFIDEwMCUpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjRDE2NDFBKSwgY29sb3Itc3RvcCgxMDAsICMwRjc2NkUpKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNEMTY0MUEgMCUsICMwRjc2NkUgMTAwJSk7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jayAuaW5uZXItYm94IC5xdW90ZS1vdXRlciAucXVvdGUtaWNvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luOjAgYXV0bzsKCXdpZHRoOjM2cHg7CgloZWlnaHQ6MzZweDsKCWNvbG9yOiNjMTI4MmE7CglsaW5lLWhlaWdodDozNnB4OwoJbWFyZ2luOjAgYXV0bzsKCWJvcmRlci1yYWRpdXM6NTBweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jayAuaW5uZXItYm94IC5yYXRpbmd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246Y2VudGVyOwoJbWFyZ2luLXRvcDozMHB4Owp9CgoudGVzdGltb25pYWwtYmxvY2sgLmlubmVyLWJveCAucmF0aW5nIC5mYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzBGNzY2RTsKCWZvbnQtc2l6ZToxNnB4OwoJbWFyZ2luOjBweCAycHg7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJVGVhbSBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoudGVhbS1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjk1cHggMHB4IDEwMHB4Owp9CgoudGVhbS1zZWN0aW9uIC5vd2wtbmF2ewoJZGlzcGxheTpub25lOwp9CgoudGVhbS1zZWN0aW9uIC5vd2wtZG90c3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdGV4dC1hbGlnbjpjZW50ZXI7CgltYXJnaW4tdG9wOjMwcHg7Cn0KCi50ZWFtLXNlY3Rpb24gLm93bC1kb3RzIC5vd2wtZG90ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDoxMHB4OwoJaGVpZ2h0OjEwcHg7Cglib3JkZXItcmFkaXVzOjUwcHg7CgltYXJnaW46MHB4IDVweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojZDdkN2Q3OwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwp9CgoudGVhbS1zZWN0aW9uIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUsCi50ZWFtLXNlY3Rpb24gLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyewoJYmFja2dyb3VuZC1jb2xvcjojYzEyODJhOwp9CgoudGVhbS1ibG9ja3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgoudGVhbS1ibG9jayAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nLWJvdHRvbTo0MHB4Owp9CgoudGVhbS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CglkaXNwbGF5OmJsb2NrOwoJZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cn0KCi50ZWFtLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmltYWdlIGltZ3sKCWZpbHRlcjogZ3JheXNjYWxlKDAlKTsKfQoKLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94ewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCWJvdHRvbTowcHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5zb2NpYWwtbmF2ewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDoxMDAlOwoJZGlzcGxheTpibG9jazsKCXBhZGRpbmc6OXB4IDIwcHggOXB4OwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJYm9yZGVyLXJhZGl1czowcHggOHB4IDBweCAwcHg7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cn0KCi50ZWFtLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmltYWdlIC5vdmVybGF5LWJveCAuc29jaWFsLW5hdnsKCXRvcDotNDJweDsKfQoKLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5zb2NpYWwtbmF2IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tcmlnaHQ6MTJweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwp9CgoudGVhbS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnNvY2lhbC1uYXYgbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToxNnB4Owp9CgoudGVhbS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnNvY2lhbC1uYXYgbGkuZmFjZWJvb2sgYXsKCWNvbG9yOiMxNjU5OWI7Cn0KCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAuc29jaWFsLW5hdiBsaS50d2l0dGVyIGF7Cgljb2xvcjojMDNhOWY0Owp9CgoudGVhbS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnNvY2lhbC1uYXYgbGkuZ29vZ2xlIGF7Cgljb2xvcjojZmYwMDAwOwp9CgoudGVhbS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLnNvY2lhbC1uYXYgbGkubGlua2VkIGF7Cgljb2xvcjojMjI4YWJmOwp9CgoudGVhbS1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3ggLmNvbnRlbnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MjBweCA1NXB4IDIwcHggMjVweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCWJvcmRlci1yYWRpdXM6MHB4IDBweCA4cHggMHB4OwoJYm94LXNoYWRvdzowcHggMHB4IDEwcHggcmdiYSgwLDAsMCwwLjEwKTsKfQoKLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5jb250ZW50IGg0ewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxLjNlbTsKCWZvbnQtd2VpZ2h0OjcwMDsKfQoKLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5jb250ZW50IGg0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cn0KCi50ZWFtLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAuY29udGVudCAuZGVzaWduYXRpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMwRjc2NkU7Cglmb250LXNpemU6MTRweDsKCW1hcmdpbi10b3A6MnB4Owp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCUNvdW50ZXIgU2VjdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLmNvbnRhY3Qtc2VjdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzo5MHB4IDBweCA1MHB4OwoJYmFja2dyb3VuZC1zaXplOmNvdmVyOwp9CgouY29udGFjdC1zZWN0aW9uOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC45MCk7Cn0KCi5jb250YWN0LXNlY3Rpb24gLmZvcm0tY29sdW1uewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjQwcHg7Cn0KCi5jb250YWN0LXNlY3Rpb24gLmZvcm0tY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MHB4IDMwcHg7Cn0KCi5kZWZhdWx0LWZvcm0gLmZvcm0tZ3JvdXB7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MjBweDsKfQoKLmRlZmF1bHQtZm9ybSAuZm9ybS1ncm91cDpsYXN0LWNoaWxkewoJbWFyZ2luLWJvdHRvbTowcHg7Cn0KCi5kZWZhdWx0LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLAouZGVmYXVsdC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9ImVtYWlsIl0sCi5kZWZhdWx0LWZvcm0gLmZvcm0tZ3JvdXAgc2VsZWN0ewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKCWxpbmUtaGVpZ2h0OjI0cHg7CglwYWRkaW5nOjE1cHggMjVweDsKCWNvbG9yOiNmZmZmZmY7CgloZWlnaHQ6NjBweDsKCWZvbnQtc2l6ZToxNHB4OwoJYmFja2dyb3VuZDpub25lOwoJZm9udC13ZWlnaHQ6NDAwOwoJYm9yZGVyLXJhZGl1czoycHg7Cglib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7CgliYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNCk7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgouZGVmYXVsdC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLAouZGVmYXVsdC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyewoJY29sb3I6I2ZmZmZmZjsKfQoKLmRlZmF1bHQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXMsCi5kZWZhdWx0LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXTpmb2N1cywKLmRlZmF1bHQtZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1c3sKCWJvcmRlci1jb2xvcjojMzIyZjJmOwp9CgouZGVmYXVsdC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKCWxpbmUtaGVpZ2h0OjI0cHg7CglwYWRkaW5nOjE1cHggMjVweDsKCWNvbG9yOiNmZmZmZmY7CgloZWlnaHQ6MjMwcHg7Cglib3JkZXI6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7CgliYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNCk7CglyZXNpemU6bm9uZTsKCWZvbnQtc2l6ZToxNHB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJYm9yZGVyLXJhZGl1czoycHg7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgouZGVmYXVsdC1mb3JtIC5mb3JtLWdyb3VwIC50aGVtZS1idG57CgljdXJzb3I6cG9pbnRlcjsKfQoKLmRlZmF1bHQtZm9ybS5zdHlsZS10d28gLmZvcm0tZ3JvdXAgaW5wdXQsCi5kZWZhdWx0LWZvcm0uc3R5bGUtdHdvIC5mb3JtLWdyb3VwIHRleHRhcmVhewoJY29sb3I6IzAwMDAwMDsKCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMTIpOwp9CgouZGVmYXVsdC1mb3JtLnN0eWxlLXR3byAuZm9ybS1ncm91cCBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwKLmRlZmF1bHQtZm9ybS5zdHlsZS10d28gLmZvcm0tZ3JvdXAgdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7Cgljb2xvcjojMDAwMDAwOwp9CgouY29udGFjdC1zZWN0aW9uIC5jb250ZW50LWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo0MHB4Owp9CgouY29udGFjdC1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJTmV3cyBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoubmV3cy1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjk1cHggMHB4IDcwcHg7Cn0KCi5uZXdzLXNlY3Rpb24uc3R5bGUtdHdvewoJcGFkZGluZy10b3A6MHB4Owp9CgoubmV3cy1ibG9ja3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgoubmV3cy1ibG9jayAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlewoJcG9zaXRpb246cmVsYXRpdmU7CglvdmVyZmxvdzpoaWRkZW47CgliYWNrZ3JvdW5kLWNvbG9yOiMwRjc2NkU7Cn0KCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIGltZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWRpc3BsYXk6YmxvY2s7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwp9CgoubmV3cy1ibG9jayAuaW5uZXItYm94OmhvdmVyIC5pbWFnZSBpbWd7CglvcGFjaXR5OjAuNTsKCXRyYW5zZm9ybTpzY2FsZSgxLjA2LDEuMDYpOwp9CgoubmV3cy1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXBhZGRpbmc6MjVweCAyMnB4IDBweDsKCWJvcmRlcjoxcHggc29saWQgI2VlZWVlZTsKfQoKLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAucG9zdC1tZXRhewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnBvc3QtbWV0YSBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXJpZ2h0OjEycHg7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE2cHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAucG9zdC1tZXRhIGxpIC5pY29uewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tcmlnaHQ6OHB4Owp9CgoubmV3cy1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGg0ewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxLjRlbTsKCW1hcmdpbjoxNXB4IDBweCAxMnB4Owp9CgoubmV3cy1ibG9jayAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGg0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MjBweDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDQgYTpob3ZlcnsKCWNvbG9yOiNjMTI4MmE7Cn0KCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTZweDsKCWxpbmUtaGVpZ2h0OjEuOGVtOwoJcGFkZGluZy1ib3R0b206MjJweDsKfQoKLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAubG93ZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjE1cHggMHB4OwoJYm9yZGVyLXRvcDoxcHggc29saWQgI2VlZWVlZTsKfQoKLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAubG93ZXItYm94IC5yZWFkLW1vcmV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTZweDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5uZXdzLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLmxvd2VyLWJveCAucmVhZC1tb3JlOmhvdmVyewoJY29sb3I6I2MxMjgyYTsKfQoKLm5ld3MtYmxvY2sgLmlubmVyLWJveCAubG93ZXItY29udGVudCAubG93ZXItYm94IC5jb21tZW50c3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzY2NjY2NjsKCWZvbnQtc2l6ZToxNnB4Owp9CgoubmV3cy1ibG9jayAuaW5uZXItYm94IC50aGVtZS1idG57Cglmb250LXdlaWdodDo0MDA7Cglib3JkZXItcmFkaXVzOjBweDsKCXdpZHRoOjEwMCU7Cgljb2xvcjojNjY2NjY2OwoJYmFja2dyb3VuZC1jb2xvcjojZWVlZWVlOwoJbWFyZ2luLXRvcDoxMHB4OwoJcGFkZGluZzoxMnB4IDQ0cHggMTJweDsKCW1hcmdpbi1ib3R0b206MThweDsKCWJhY2tncm91bmQtaW1hZ2U6bm9uZTsKfQoKLm5ld3MtYmxvY2sgLmlubmVyLWJveCAudGhlbWUtYnRuOmhvdmVyewoJY29sb3I6I2ZmZmZmZjsKfQoKLm5ld3MtYmxvY2suc3R5bGUtdHdvIC5pbm5lci1ib3ggLmltYWdlewoJYmFja2dyb3VuZC1jb2xvcjojMzI0MGZkOwp9CgoubmV3cy1ibG9jay5zdHlsZS10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCBoNCBhOmhvdmVyLAoubmV3cy1ibG9jay5zdHlsZS10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAubG93ZXItYm94IC5yZWFkLW1vcmU6aG92ZXJ7Cgljb2xvcjojMzI0MGZkOwp9CgoubmV3cy1ibG9jay5zdHlsZS10aHJlZSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ewoJdGV4dC1hbGlnbjpsZWZ0OwoJcGFkZGluZzoyNXB4IDI4cHggMHB4Owp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCUNsaWVudHMgU2VjdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLmNsaWVudHMtc2VjdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzo2MHB4IDBweCA2MHB4OwoJYmFja2dyb3VuZC1jb2xvcjojZjlmOWY5Owp9CgouY2xpZW50cy1zZWN0aW9uIC5zcG9uc29ycy1vdXRlciAub3dsLWRvdHMsCi5jbGllbnRzLXNlY3Rpb24gLnNwb25zb3JzLW91dGVyIC5vd2wtbmF2ewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5Om5vbmU7Cn0KCi5jbGllbnRzLXNlY3Rpb24gLnNwb25zb3JzLW91dGVyIC5pbWFnZS1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246Y2VudGVyOwoJbWFyZ2luOjBweDsKfQoKLmNsaWVudHMtc2VjdGlvbiAuc3BvbnNvcnMtb3V0ZXIgLmltYWdlLWJveCBpbWd7CgltYXgtd2lkdGg6MTAwJTsKCXdpZHRoOmF1dG87CglvcGFjaXR5OjAuNTsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsKCWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLmNsaWVudHMtc2VjdGlvbiAuc3BvbnNvcnMtb3V0ZXIgLmltYWdlLWJveCBpbWc6aG92ZXJ7CglvcGFjaXR5OjE7Cgktd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDAlKTsKCWZpbHRlcjogZ3JheXNjYWxlKDAlKTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglNYWluIEZvb3Rlcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLm1haW4tZm9vdGVyewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjBweCAwcHggMHB4OwoJYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOwoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OwoJYmFja2dyb3VuZC1zaXplOmNvdmVyOwp9CgoubWFpbi1mb290ZXIgLmZvb3Rlci13aWRnZXR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NDBweDsKfQoKLm1haW4tZm9vdGVyIC53aWRnZXRzLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTBweCAwcHggNTBweDsKfQoKLm1haW4tZm9vdGVyIC5mb290ZXItdGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NDVweDsKCW1hcmdpbi10b3A6MjVweDsKfQoKLm1haW4tZm9vdGVyIC5mb290ZXItd2lkZ2V0IGg0ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDo3MDA7Cgljb2xvcjojZmZmZmZmOwoJbGluZS1oZWlnaHQ6MS4yZW07Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwp9CgoubWFpbi1mb290ZXIgLmxvZ28td2lkZ2V0ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5tYWluLWZvb3RlciAubG9nby13aWRnZXQgLmxvZ297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MjVweDsKfQoKLm1haW4tZm9vdGVyIC5sb2dvLXdpZGdldCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2JiYmJiYjsKCWZvbnQtc2l6ZTogMTZweDsKCWZvbnQtd2VpZ2h0OiA0MDA7CglsaW5lLWhlaWdodDogMS44ZW07CgltYXJnaW4tYm90dG9tOiAzMHB4Owp9CgoubWFpbi1mb290ZXIgLmNvbnRhY3QtbGlua3sKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgoubWFpbi1mb290ZXIgLmNvbnRhY3QtbGluayBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2JiYmJiYjsKCWZvbnQtc2l6ZToxNnB4OwoJbWFyZ2luLWJvdHRvbToxMnB4Owp9CgoubWFpbi1mb290ZXIgLmNvbnRhY3QtbGluayBsaSBzcGFuewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJbWFyZ2luLXJpZ2h0OjZweDsKfQoKLyogUmVjZW50IFBvc3RzICovCgoubWFpbi1mb290ZXIgLm5ld3Mtd2lkZ2V0ewoJcG9zaXRpb246IHJlbGF0aXZlOwp9CgoubWFpbi1mb290ZXIgLm5ld3Mtd2lkZ2V0IC5wb3N0ewoJcG9zaXRpb246IHJlbGF0aXZlOwoJbWluLWhlaWdodDogOTBweDsKCXBhZGRpbmctbGVmdDogMTEwcHg7CgltYXJnaW4tYm90dG9tOiAzMHB4Owp9CgoubWFpbi1mb290ZXIgLm5ld3Mtd2lkZ2V0IC5wb3N0Omxhc3QtY2hpbGR7CgltYXJnaW4tYm90dG9tOiAwOwp9CgoubWFpbi1mb290ZXIgLm5ld3Mtd2lkZ2V0IC5wb3N0IC50aHVtYnsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCWxlZnQ6IDA7Cgl0b3A6IDA7CgloZWlnaHQ6IDkwcHg7Cgl3aWR0aDogOTBweDsKCW92ZXJmbG93OiBoaWRkZW47Cn0KCi5tYWluLWZvb3RlciAubmV3cy13aWRnZXQgLnBvc3QgLnRodW1iIGF7CglkaXNwbGF5OiBibG9jazsKfQoKLm1haW4tZm9vdGVyIC5uZXdzLXdpZGdldCAucG9zdCAudGh1bWIgaW1newoJZGlzcGxheTogYmxvY2s7Cgl3aWR0aDogMTAwJTsKCWhlaWdodDogYXV0bzsKfQoKLm1haW4tZm9vdGVyIC5uZXdzLXdpZGdldCAucG9zdCBoNXsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWNvbG9yOiAjZmZmZmZmOwoJbGluZS1oZWlnaHQ6IDMwcHg7Cglmb250LXdlaWdodDogNzAwOwoJdG9wOiAtNXB4Owp9CgoubWFpbi1mb290ZXIgLm5ld3Mtd2lkZ2V0IC5wb3N0IGg1IGF7Cgljb2xvcjojZmZmZmZmOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwp9CgoubWFpbi1mb290ZXIgLm5ld3Mtd2lkZ2V0IC5wb3N0IGg1IGE6aG92ZXJ7Cgljb2xvcjogIzBGNzY2RTsKfQoKLm1haW4tZm9vdGVyIC5uZXdzLXdpZGdldCAucG9zdCAuZGF0ZXsKCXBvc2l0aW9uOiByZWxhdGl2ZTsKCWRpc3BsYXk6IGJsb2NrOwoJZm9udC1zaXplOiAxNHB4OwoJbGluZS1oZWlnaHQ6IDMwcHg7Cgljb2xvcjogIzg4ODg4ODsKfQoKLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLXdpZGdldCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2JiYmJiYjsKCXRvcDotMTBweDsKCWZvbnQtc2l6ZTogMTZweDsKCWZvbnQtd2VpZ2h0OiA0MDA7CglsaW5lLWhlaWdodDogMS44ZW07CgltYXJnaW4tYm90dG9tOiAzMHB4Owp9CgovKiBOZXdzbGV0dHRlciBGb3JtICovCgoubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItZm9ybXsKCW1hcmdpbi1ib3R0b206MzVweDsKfQoKLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXB7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7CgltYXJnaW4tYm90dG9tOjEwcHg7Cn0KCi5tYWluLWZvb3RlciAubmV3c2xldHRlci1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwKLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXdpZHRoOjEwMCU7CglsaW5lLWhlaWdodDoyNnB4OwoJcGFkZGluZzoxMHB4IDg1cHggMTBweCAxNXB4OwoJaGVpZ2h0OjUwcHg7Cglmb250LXNpemU6MTVweDsKCWNvbG9yOiNmZmZmZmY7CgliYWNrZ3JvdW5kOm5vbmU7Cglib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwkKfQoKLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgYnV0dG9uewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDowcHg7Cgl0b3A6MHB4OwoJcGFkZGluZzoxM3B4IDIwcHg7Cglmb250LXNpemU6MTZweDsKCWNvbG9yOiNmZmZmZmY7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJhY2tncm91bmQtY29sb3I6IzBGNzY2RTsKCWN1cnNvcjpwb2ludGVyOwp9CgovKiBTZXJ2aWNlIExpc3QgKi8KCi5tYWluLWZvb3RlciAuc2VydmljZS1saXN0ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5tYWluLWZvb3RlciAuc2VydmljZS1saXN0IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjIycHg7Cn0KCi5tYWluLWZvb3RlciAuc2VydmljZS1saXN0IGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKCXBhZGRpbmctbGVmdDoyMHB4Owp9CgoubWFpbi1mb290ZXIgLnNlcnZpY2UtbGlzdCBsaSBhOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonXGYxMDEnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7Cn0KCi5tYWluLWZvb3RlciAucGF0ZXJuLWxheWVyewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0Oi0xMjBweDsKCWJvdHRvbToxNzBweDsKCXdpZHRoOjI1MHB4OwoJaGVpZ2h0OjI1MHB4OwoJZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7CiAgICBvcGFjaXR5OiAwLjE7Cn0KCi5tYWluLWZvb3RlciAucGF0ZXJuLWxheWVyLXR3b3sKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6LTEyMHB4OwoJdG9wOjEwMHB4OwoJd2lkdGg6MjUwcHg7CgloZWlnaHQ6MjUwcHg7CglmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsKICAgIG9wYWNpdHk6IDAuMTsKfQoKLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjI1cHggMHB4OwoJYmFja2dyb3VuZC1jb2xvcjojMjIyMjIyOwp9CgoubWFpbi1mb290ZXIgLmZvb3Rlci1ib3R0b20gLmNvcHlyaWdodHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNnB4Owp9CgoubWFpbi1mb290ZXIgLmZvb3Rlci1ib3R0b20gLmZvb3Rlci1uYXZ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tIC5mb290ZXItbmF2IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCW1hcmdpbi1sZWZ0OjE4cHg7CglsaW5lLWhlaWdodDoxLjFlbTsKfQoKLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tIC5mb290ZXItbmF2IGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CQp9CgoubWFpbi1mb290ZXIgLmZvb3Rlci1ib3R0b20gLmZvb3Rlci1uYXYgbGk6bGFzdC1jaGlsZHsKCXBhZGRpbmctcmlnaHQ6MHB4OwoJbWFyZ2luLXJpZ2h0OjBweDsKCWJvcmRlci1yaWdodDowcHg7Cn0KCi5tYWluLWZvb3RlciAuZm9vdGVyLWJvdHRvbSAuZm9vdGVyLW5hdiBsaSBhOmhvdmVyewoJY29sb3I6I2ZmZmZmZjsKfQoKLm1haW4tZm9vdGVyLnN0eWxlLXR3byAuY29udGFjdC1saW5rIGxpIHNwYW4sCi5tYWluLWZvb3Rlci5zdHlsZS10d28gLmNvbnRhY3QtbGluayBsaSwKLm1haW4tZm9vdGVyLnN0eWxlLXR3byAubmV3c2xldHRlci13aWRnZXQgLnRleHQsCi5tYWluLWZvb3Rlci5zdHlsZS10d28gLmxvZ28td2lkZ2V0IC50ZXh0LAoubWFpbi1mb290ZXIuc3R5bGUtdHdvIC5mb290ZXItYm90dG9tIC5mb290ZXItbmF2IGxpIGF7Cgljb2xvcjojZmZmZmZmOwp9CgoubWFpbi1mb290ZXIuc3R5bGUtdHdvIC5mb290ZXItYm90dG9tewoJYmFja2dyb3VuZC1jb2xvcjojMzI0MWZmOwp9CgoubWFpbi1mb290ZXIuc3R5bGUtdHdvIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgYnV0dG9uewoJYmFja2dyb3VuZC1jb2xvcjojMzI0MWZmOwp9CgoubWFpbi1mb290ZXIuc3R5bGUtdHdvIC5uZXdzLXdpZGdldCAucG9zdCBoNXsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NjAwOwoJbGluZS1oZWlnaHQ6MS43ZW07Cn0KCi5tYWluLWZvb3Rlci5zdHlsZS10d28gLm5ld3Mtd2lkZ2V0IC5wb3N0IGg1IGE6aG92ZXJ7Cgljb2xvcjojMzI0MWZmOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCUNhbGwgVG8gQWN0aW9uIFNlY3Rpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC5pbm5lci1jb250YWluZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi10b3A6LTkwcHg7Cgl6LWluZGV4OjE7CglwYWRkaW5nOjY1cHggMHB4IDM1cHggMTUwcHg7Cn0KCi5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC5pbm5lci1jb250YWluZXI6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6MTAwMCU7CgloZWlnaHQ6MTAwJTsKCWRpc3BsYXk6YmxvY2s7CgliYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvYmFja2dyb3VuZC80LmpwZykgcmVwZWF0LXg7CgliYWNrZ3JvdW5kLXNpemU6Y29udGFpbjsKfQoKLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLnRpdGxlLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToyNXB4Owp9CgouY2FsbC10by1hY3Rpb24tc2VjdGlvbiAudGl0bGUtY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLnRpdGxlLWNvbHVtbiAuY29udGVudHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1sZWZ0OjQ1cHg7Cglib3JkZXItbGVmdDozcHggc29saWQgIzMyNDFmZjsKfQoKLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLnRpdGxlLWNvbHVtbiBoM3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtd2VpZ2h0OjcwMDsKCWxpbmUtaGVpZ2h0OjEuM2VtOwp9CgouY2FsbC10by1hY3Rpb24tc2VjdGlvbiAudGl0bGUtY29sdW1uIC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJbGluZS1oZWlnaHQ6MS42ZW07CgltYXJnaW4tdG9wOjE1cHg7Cglmb250LXNpemU6MTZweDsKfQoKLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLmJ0bi1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLmJ0bi1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdGV4dC1hbGlnbjpyaWdodDsKCXBhZGRpbmctdG9wOjEwcHg7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJRmx1aWQgU2VjdGlvbiBPbmUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5mbHVpZC1zZWN0aW9uLW9uZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoxNjBweCAwcHggMHB4Owp9CgouZmx1aWQtc2VjdGlvbi1vbmUgLm91dGVyLWNvbnRhaW5lcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWluLWhlaWdodDoyNTBweDsKfQoKLmZsdWlkLXNlY3Rpb24tb25lIC5pbWFnZS1jb2x1bW57Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjQ2JTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OwoJYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOwoJYmFja2dyb3VuZC1zaXplOmNvdmVyOwkKfQoKLmZsdWlkLXNlY3Rpb24tb25lIC5pbWFnZS1jb2x1bW4gLmltYWdlLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpub25lOwkKfQoKLmZsdWlkLXNlY3Rpb24tb25lIC5pbWFnZS1jb2x1bW4gLmltYWdlLWJveCBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7Cgl3aWR0aDoxMDAlOwp9CgouZmx1aWQtc2VjdGlvbi1vbmUgLmltYWdlLWNvbHVtbjpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglyaWdodDotNDVweDsKCXRvcDotNDVweDsKCXdpZHRoOjQ1NnB4OwoJaGVpZ2h0OjE2NXB4OwoJei1pbmRleDotMTsKCWJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9iYWNrZ3JvdW5kL3BhdHRlcm4tNC5qcGcpIG5vLXJlcGVhdDsKfQoKLmZsdWlkLXNlY3Rpb24tb25lIC5jb250ZW50LWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZmxvYXQ6cmlnaHQ7Cgl3aWR0aDo1MCU7Cn0KCi5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWF4LXdpZHRoOjYwMHB4OwoJd2lkdGg6MTAwJTsKCXBhZGRpbmc6MHB4IDE1cHggMHB4IDYwcHg7Cn0KCi5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW4gLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTZweDsKCWxpbmUtaGVpZ2h0OjEuOGVtOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgouZmx1aWQtc2VjdGlvbi1vbmUgLmNvbnRlbnQtY29sdW1uIC5za2lsbHN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NDVweDsKfQoKLmZsdWlkLXNlY3Rpb24tb25lIC5jb250ZW50LWNvbHVtbiAuYnRuLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouZmx1aWQtc2VjdGlvbi1vbmUgLmNvbnRlbnQtY29sdW1uIC5idG4tYm94IC50aGVtZS1idG57CglmbG9hdDpsZWZ0OwoJbWFyZ2luLXJpZ2h0OjM1cHg7Cn0KCi8qIFNraWxscyBTZWN0aW9uICovCgouc2tpbGxzIC5za2lsbC1pdGVtewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjIwcHg7Cn0KCi5za2lsbHMgLnNraWxsLWl0ZW06bGFzdC1jaGlsZHsKCW1hcmdpbi1ib3R0b206MHB4Owp9Cgouc2tpbGxzIC5za2lsbC1pdGVtIC5za2lsbC1iYXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6NXB4OwkKfQoKLnNraWxscyAuc2tpbGwtaXRlbSAuc2tpbGwtYmFyIC5iYXItaW5uZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CglvdmVyZmxvdzpoaWRkZW47CgloZWlnaHQ6NXB4OwoJYmFja2dyb3VuZDojY2NjY2NjOwp9Cgouc2tpbGxzLnN0eWxlLXR3byAuc2tpbGwtaXRlbSAuc2tpbGwtYmFyIC5iYXItaW5uZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7Cn0KCi5za2lsbHMgLnNraWxsLWl0ZW0gLnNraWxsLWJhciAuYmFyLWlubmVyIC5iYXJ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCWhlaWdodDo1cHg7Cgl3aWR0aDowcHg7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDkxNDk0IDAlLCAjMzE0MWZlIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjMDkxNDk0KSwgY29sb3Itc3RvcCgxMDAsICMzMTQxZmUpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgkKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMjAwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMjAwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAyMDAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMjAwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAyMDAwbXMgZWFzZTsKfQoKLnNraWxscyAuc2tpbGwtaXRlbSAuc2tpbGwtaGVhZGVyewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjZweDsKfQoKLnNraWxscyAuc2tpbGwtaXRlbSAuc2tpbGwtaGVhZGVyIC5za2lsbC10aXRsZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9Cgouc2tpbGxzIC5za2lsbC1pdGVtIC5za2lsbC1oZWFkZXIgLnNraWxsLXRpdGxlewoJZmxvYXQ6bGVmdDsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MTRweDsKCWZvbnQtd2VpZ2h0OjUwMDsKCWxpbmUtaGVpZ2h0OjEuNGVtOwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLnNraWxscyAuc2tpbGwtaXRlbSAuc2tpbGwtaGVhZGVyIC5za2lsbC1wZXJjZW50YWdlewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpyaWdodDsKCWZvbnQtd2VpZ2h0OjQwMDsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MTRweDsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglTZXJ2aWNlcyBTZWN0aW9uIFR3bwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnNlcnZpY2VzLXNlY3Rpb24tdHdvewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nLXRvcDoxMDBweDsKCXotaW5kZXg6MTsKfQoKLnNlcnZpY2VzLXNlY3Rpb24tdHdvLnN0eWxlLXR3b3sKCXBhZGRpbmctdG9wOjBweDsKfQoKLyogU2VydmljZSBCbG9jayBUd28gKi8KCi5zZXJ2aWNlLWJsb2NrLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglwYWRkaW5nOjMwcHggMzBweCAzMHB4OwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cglib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7Cn0KCi8qLnNlcnZpY2UtYmxvY2stdHdvIC5pbm5lci1ib3g6aG92ZXJ7Cglib3JkZXItY29sb3I6IzMyNDBmZTsKfSAqLwoKLnNlcnZpY2UtYmxvY2stdHdvIC5pbm5lci1ib3g6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRUVFRkVGIDAlLCAjZmZmZmZmIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI0VFRUZFRiAwJSwgI2ZmZmZmZiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRUVFRkVGIDAlLCAjZmZmZmZmIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgI0VFRUZFRiksIGNvbG9yLXN0b3AoMTAwLCAjZmZmZmZmKSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjRUVFRkVGIDAlLCAjZmZmZmZmIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjRUVFRkVGIDAlLCAjZmZmZmZmIDEwMCUpOwp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveCAuaWNvbi1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNlcnZpY2UtYmxvY2stdHdvIC5pbm5lci1ib3ggLmljb24tYm94IC5pY29uewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxZW07Cgljb2xvcjojMTAxYWE1OwoJbGluZS1oZWlnaHQ6MWVtOwoJZm9udC1zaXplOjU0cHg7CgliYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjMTAxYWE1IDAlLCAjMzI0MGZlIDEwMCUpOwogICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7CiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLnNlcnZpY2UtYmxvY2stdHdvIC5pbm5lci1ib3ggaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjUwMDsKCW1hcmdpbi10b3A6MTZweDsKCW1hcmdpbi1ib3R0b206MTNweDsKfQoKLnNlcnZpY2UtYmxvY2stdHdvIC5pbm5lci1ib3ggaDQgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zZXJ2aWNlLWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIGg0IGF7Cgljb2xvcjojMzI0MGZlOwp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToxNnB4OwoJbGluZS1oZWlnaHQ6MS44ZW07Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLnNlcnZpY2UtYmxvY2stdHdvIC5pbm5lci1ib3ggLmJvcmRlci1vbmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0Oi0xcHg7Cgl0b3A6LTFweDsKCWJvdHRvbTotMXB4OwoJbGVmdDotMXB4Owp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveCAuYm9yZGVyLW9uZTpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglyaWdodDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6MnB4OwoJaGVpZ2h0OjBweDsKCWJhY2tncm91bmQtY29sb3I6IzEwMWFhNTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7Cn0KCi5zZXJ2aWNlLWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIC5ib3JkZXItb25lOmJlZm9yZXsKCWhlaWdodDoxMDAlOwp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveCAuYm9yZGVyLW9uZTphZnRlcnsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7Cgl3aWR0aDowcHg7CgloZWlnaHQ6MnB4OwoJYmFja2dyb3VuZC1jb2xvcjojMTAxYWE1OwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKfQoKLnNlcnZpY2UtYmxvY2stdHdvIC5pbm5lci1ib3g6aG92ZXIgLmJvcmRlci1vbmU6YWZ0ZXJ7Cgl3aWR0aDoxMDAlOwoJdHJhbnNpdGlvbi1kZWxheTogMzUwbXM7Cn0KCgoKCgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveCAuYm9yZGVyLXR3b3sKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6LTFweDsKCXRvcDotMXB4OwoJYm90dG9tOi0xcHg7CglsZWZ0Oi0xcHg7Cn0KCi5zZXJ2aWNlLWJsb2NrLXR3byAuaW5uZXItYm94IC5ib3JkZXItdHdvOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJYm90dG9tOjBweDsKCXdpZHRoOjJweDsKCWhlaWdodDowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMxMDFhYTU7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuYm9yZGVyLXR3bzpiZWZvcmV7CgloZWlnaHQ6MTAwJTsKCXRyYW5zaXRpb24tZGVsYXk6IDcwMG1zOwp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveCAuYm9yZGVyLXR3bzphZnRlcnsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjBweDsKCWhlaWdodDoycHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMxMDFhYTU7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwp9Cgouc2VydmljZS1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuYm9yZGVyLXR3bzphZnRlcnsKCXdpZHRoOjEwMCU7Cgl0cmFuc2l0aW9uLWRlbGF5OiAxMTAwbXM7Cn0KCi5zZXJ2aWNlLWJsb2NrLXR3by5zdHlsZS10d28gLmlubmVyLWJveCAuaWNvbi1ib3ggLmljb257Cgljb2xvcjojMEY3NjZFOwogICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6aW5oZXJpdDsKfQoKLnNlcnZpY2UtYmxvY2stdHdvLnN0eWxlLXR3byAuaW5uZXItYm94OmhvdmVyewoJYm9yZGVyLWNvbG9yOiMwRjc2NkU7Cn0KCi8qIC5zZXJ2aWNlLWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIGg0IGF7Cgljb2xvcjojMzI0MGZlOwp9ICovCgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCUNvdW50ZXIgU2VjdGlvbiBUd28KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5jb3VudGVyLXNlY3Rpb24tdHdvewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjIyNXB4IDBweCA3MHB4Owp9CgouY291bnRlci1zZWN0aW9uLXR3by5tYXJnaW4tdG9wewoJbWFyZ2luLXRvcDotMTYwcHg7Cn0KCi5jb3VudGVyLXNlY3Rpb24tdHdvOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMzQsMzQsMzQsMC44MCk7Cn0KCi8qIEZhY3QgQ291bnRlciAqLwoKLmZhY3QtY291bnRlci10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZDsKCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKfQoKLmZhY3QtY291bnRlci10d28gLmNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgouZmFjdC1jb3VudGVyLXR3byAuY29sdW1uIC5pbm5lcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouZmFjdC1jb3VudGVyLXR3byAuY291bnQtb3V0ZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmctbGVmdDoxMDBweDsKfQoKLmZhY3QtY291bnRlci10d28gLmNvbHVtbiAuaW5uZXIgLmljb257Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjgwcHg7CgloZWlnaHQ6ODBweDsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCWNvbG9yOiMzMjQxZmY7Cglmb250LXNpemU6NDRweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGluZS1oZWlnaHQ6NjhweDsKCWZvbnQtd2VpZ2h0OiA0MDA7CgltYXJnaW4tYm90dG9tOjBweDsKCWJvcmRlcjo1cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEwKTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgouZmFjdC1jb3VudGVyLXR3byAuY29sdW1uIC5pbm5lcjpob3ZlciAuaWNvbnsKCWNvbG9yOiNmZmZmZmY7Cn0KCi5mYWN0LWNvdW50ZXItdHdvIC5jb2x1bW4gLmlubmVyOmhvdmVyIC5pY29uewoJYm9yZGVyLWNvbG9yOiMzMjQxZmY7Cn0KCi5mYWN0LWNvdW50ZXItdHdvIC5jb3VudC1vdXRlciAucGVyY2VudGFnZXsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJZm9udC13ZWlnaHQ6NjAwOwoJY29sb3I6IzAyMGUyODsKCWZvbnQtc2l6ZTo0OHB4OwoJbGluZS1oZWlnaHQ6MWVtOwp9CgouZmFjdC1jb3VudGVyLXR3byAuY29sdW1uIC5pbm5lciAuY291bnQtb3V0ZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6NDhweDsKCWxpbmUtaGVpZ2h0OjFlbTsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwp9CgouZmFjdC1jb3VudGVyLXR3byAuY29sdW1uIC5pbm5lciAuY291bnRlci10aXRsZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE4cHg7Cglmb250LXdlaWdodDozMDA7CgltYXJnaW4tdG9wOjEwcHg7Cgljb2xvcjojYmJiYmJiOwoJbGluZS1oZWlnaHQ6MS4yZW07Cn0KCi5mYWN0LWNvdW50ZXItdHdvLnN0eWxlLXR3byAuY29sdW1uIC5pbm5lciAuaWNvbnsKCWNvbG9yOiNkMDY1MWE7Cn0KCi5mYWN0LWNvdW50ZXItdHdvLnN0eWxlLXR3byAuY29sdW1uIC5pbm5lcjpob3ZlciAuaWNvbnsKCWJvcmRlci1jb2xvcjojZDA2NTFhOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCVNlcnZpY2VzIFNlY3Rpb24gVGhyZWUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5zZXJ2aWNlcy1zZWN0aW9uLXRocmVlewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjk1cHggMHB4IDk1cHg7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uLXRocmVlIC5sb3dlci10ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MTZweDsKfQoKLnNlcnZpY2VzLXNlY3Rpb24tdGhyZWUgLmxvd2VyLXRleHQgYXsKCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7Cgljb2xvcjojMzI0MWZmOwoJZm9udC13ZWlnaHQ6NjAwOwp9Cgouc2VydmljZS1ibG9jay10aHJlZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo1MHB4OyAKfQoKLnNlcnZpY2UtYmxvY2stdGhyZWUgLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9Cgouc2VydmljZS1ibG9jay10aHJlZSAuaW5uZXItYm94IC5pbWFnZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJb3ZlcmZsb3c6aGlkZGVuOwoJYmFja2dyb3VuZC1jb2xvcjojMmYzZWY4Owp9Cgouc2VydmljZS1ibG9jay10aHJlZSAuaW5uZXItYm94IC5pbWFnZSBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CglkaXNwbGF5OmJsb2NrOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwp9Cgouc2VydmljZS1ibG9jay10aHJlZSAuaW5uZXItYm94OmhvdmVyIC5pbWFnZSBpbWd7CglvcGFjaXR5OjAuNzsKCXRyYW5zZm9ybTpyb3RhdGUoM2RlZykgc2NhbGUoMS4wOSwxLjA5KTsKfQoKLnNlcnZpY2UtYmxvY2stdGhyZWUgLmlubmVyLWJveCAubG93ZXItY29udGVudHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglwYWRkaW5nOjI1cHggMjVweCA1MHB4OwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjY2NjYzsKfQoKLnNlcnZpY2UtYmxvY2stdGhyZWUgLmlubmVyLWJveCAubG93ZXItY29udGVudDpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CglkaXNwbGF5OmJsb2NrOwoJLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGVhc2U7Cgl0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzIGVhc2U7Cgl0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlOwoJdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC40cyBlYXNlOwoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDEpOwoJLW1zLXRyYW5zZm9ybTogc2NhbGUoMSwgMCk7Cgl0cmFuc2Zvcm06IHNjYWxlKDAsIDEpOwoJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7CgktbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwoJdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjMWEzOTZiKSwgY29sb3Itc3RvcCgxMDAsICMxYTM5NmIpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzFhMzk2YiAwJSwgIzFhMzk2YiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7Cn0KCi5zZXJ2aWNlLWJsb2NrLXRocmVlIC5pbm5lci1ib3g6aG92ZXIgLmxvd2VyLWNvbnRlbnQ6YmVmb3JlewoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwoJLW1zLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7Cgl0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOwoJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKCS1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsKCXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOwp9Cgouc2VydmljZS1ibG9jay10aHJlZSAuaW5uZXItYm94IGg0ewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxLjNlbTsKCWZvbnQtd2VpZ2h0OjcwMDsKfQoKLnNlcnZpY2UtYmxvY2stdGhyZWUgLmlubmVyLWJveCBoNCBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zZXJ2aWNlLWJsb2NrLXRocmVlIC5pbm5lci1ib3g6aG92ZXIgLnRleHQsCi5zZXJ2aWNlLWJsb2NrLXRocmVlIC5pbm5lci1ib3g6aG92ZXIgaDQgYXsKCWNvbG9yOiNmZmZmZmY7Cn0KCi5zZXJ2aWNlLWJsb2NrLXRocmVlIC5pbm5lci1ib3ggLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTZweDsKCWxpbmUtaGVpZ2h0OjEuN2VtOwoJbWFyZ2luLXRvcDoxMnB4OwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zZXJ2aWNlLWJsb2NrLXRocmVlIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnBsdXMtYm94ewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCWJvdHRvbTotMjBweDsKCXdpZHRoOjQwcHg7CgloZWlnaHQ6NDBweDsKCWNvbG9yOiNmZmZmZmY7CglvcGFjaXR5OjA7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWxpbmUtaGVpZ2h0OjQwcHg7Cglib3JkZXItcmFkaXVzOjUwcHg7Cglmb250LXdlaWdodDo3MDA7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzFhMzk2YiAwJSwgIzFhMzk2YiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgIzFhMzk2YiksIGNvbG9yLXN0b3AoMTAwLCAjMWEzOTZiKSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwp9Cgouc2VydmljZS1ibG9jay10aHJlZSAuaW5uZXItYm94OmhvdmVyIC5sb3dlci1jb250ZW50IC5wbHVzLWJveHsKCWxlZnQ6NTAlOwoJb3BhY2l0eToxOwoJbWFyZ2luLWxlZnQ6LTIwcHg7Cn0KCi5zZXJ2aWNlLWJsb2NrLXRocmVlLnN0eWxlLXR3byAuaW5uZXItYm94IC5pbWFnZXsKCWJhY2tncm91bmQtY29sb3I6I2QwNjUxYTsKfQoKLnNlcnZpY2UtYmxvY2stdGhyZWUuc3R5bGUtdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQ6YmVmb3JlewoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNjMjJhMjkgMCUsICNkMDY0MWEgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjMjJhMjkgMCUsICNkMDY0MWEgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjYzIyYTI5IDAlLCAjZDA2NDFhIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjYzIyYTI5KSwgY29sb3Itc3RvcCgxMDAsICNkMDY0MWEpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2MyMmEyOSAwJSwgI2QwNjQxYSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNjMjJhMjkgMCUsICNkMDY0MWEgMTAwJSk7Cn0KCi5zZXJ2aWNlLWJsb2NrLXRocmVlLnN0eWxlLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5wbHVzLWJveHsKCWJhY2tncm91bmQtY29sb3I6IzAwMDAwMDsKCWJhY2tncm91bmQtaW1hZ2U6bm9uZTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglQcm9qZWN0cyBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoucHJvamVjdHMtc2VjdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJb3ZlcmZsb3c6aGlkZGVuOwoJcGFkZGluZzo5NXB4IDBweCA5MHB4OwoJYmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkOwoJYmFja2dyb3VuZC1zaXplOmNvdmVyOwp9CgoucHJvamVjdHMtc2VjdGlvbiAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXJ7CglvdmVyZmxvdzp2aXNpYmxlOwp9CgoucHJvamVjdHMtc2VjdGlvbiAub3dsLWNhcm91c2VsOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCXJpZ2h0OjEwMCU7Cgl0b3A6MHB4OwoJd2lkdGg6MTAwMCU7CgloZWlnaHQ6MTAwJTsKCXotaW5kZXg6MTsKCWJhY2tncm91bmQtY29sb3I6cmdiYSgyLDIsMiwxKTsKfQoKLnByb2plY3RzLXNlY3Rpb24gLmxvd2VyLXRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW4tdG9wOjEwcHg7Cn0KCi5wcm9qZWN0cy1zZWN0aW9uIC5sb3dlci10ZXh0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMzMjQxZmY7Cglmb250LXdlaWdodDo2MDA7Cn0KCi5wcm9qZWN0cy1zZWN0aW9uOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMiwyLDIsMSk7Cn0KCi5wcm9qZWN0cy1zZWN0aW9uIC5zZWMtdGl0bGUgLnRoZW1lLWJ0bnsKCW1hcmdpbi10b3A6MTVweDsKfQoKLnByb2plY3RzLXNlY3Rpb24gLnNlYy10aXRsZXsKCW1hcmdpbi1ib3R0b206NDBweDsKfQoKLnByb2plY3RzLXNlY3Rpb24gLm93bC1uYXZ7CglkaXNwbGF5Om5vbmU7Cn0KCi5wcm9qZWN0cy1zZWN0aW9uIC5vd2wtZG90c3sKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cglib3R0b206LTMwcHg7Cn0KCi5wcm9qZWN0cy1zZWN0aW9uIC5vd2wtZG90cyAub3dsLWRvdHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTBweDsKCWhlaWdodDoxMHB4OwoJbWFyZ2luLXJpZ2h0OjEwcHg7Cglib3JkZXItcmFkaXVzOjBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwp9CgoucHJvamVjdHMtc2VjdGlvbiAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlLAoucHJvamVjdHMtc2VjdGlvbiAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiMyYzNhZWY7Cn0KCi8qIFByb2plY3QgQmxvY2sgVHdvICovCgoucHJvamVjdC1ibG9jay10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MzBweDsKfQoKLnByb2plY3QtYmxvY2stdHdvIC5pbm5lci1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnByb2plY3QtYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlewoJcG9zaXRpb246cmVsYXRpdmU7CglvdmVyZmxvdzpoaWRkZW47CgliYWNrZ3JvdW5kLWNvbG9yOiMzMTNmZmM7Cn0KCi5wcm9qZWN0LWJsb2NrLXR3byAuaW5uZXItYm94IC5pbWFnZSBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CglkaXNwbGF5OmJsb2NrOwoJdHJhbnNmb3JtOnNjYWxlKDEuMiwxLjIpOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwp9CgoucHJvamVjdC1ibG9jay10d28gLmlubmVyLWJveDpob3ZlciAuaW1hZ2UgaW1newoJdHJhbnNmb3JtOnNjYWxlKDEsMSk7CglvcGFjaXR5OjAuOTsKfQoKLnByb2plY3QtYmxvY2stdHdvIC5pbm5lci1ib3ggLmFycm93LWJveHsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MHB4OwoJdG9wOi0xN3B4OwoJY29sb3I6I2ZmZmZmZjsKCXdpZHRoOjcwcHg7CgloZWlnaHQ6MzRweDsKCW9wYWNpdHk6MDsKCXotaW5kZXg6MjsKCWZvbnQtc2l6ZToyMHB4OwoJbGluZS1oZWlnaHQ6MzRweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDkxNDk0IDAlLCAjMzE0MWZlIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjMDkxNDk0KSwgY29sb3Itc3RvcCgxMDAsICMzMTQxZmUpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMwOTE0OTQgMCUsICMzMTQxZmUgMTAwJSk7Cn0KCi5wcm9qZWN0LWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIC5hcnJvdy1ib3h7CglyaWdodDo0MHB4OwoJb3BhY2l0eToxOwp9CgoucHJvamVjdC1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzozNXB4IDI1cHggMzBweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKfQoKLnByb2plY3QtYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJZm9udC13ZWlnaHQ6NzAwOwp9CgoucHJvamVjdC1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCBoNCBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwp9CgoucHJvamVjdC1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbGluZS1oZWlnaHQ6MS43ZW07Cglmb250LXdlaWdodDo0MDA7Cgljb2xvcjojNzc3Nzc3OwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW4tdG9wOjEycHg7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJUHJpY2UgU2VjdGlvbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnByaWNlLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggNzBweDsKCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGJvdHRvbTsKCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKfQoKLnByaWNlLXNlY3Rpb24gLnNlYy10aXRsZXsKCW1hcmdpbi1ib3R0b206NzBweDsKfQoKLnByaWNlLWJsb2NrewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjMwcHg7Cn0KCi5wcmljZS1ibG9jayAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCWJvcmRlcjoxcHggc29saWQgI2Y1ZjVmNTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgoucHJpY2UtYmxvY2suYWN0aXZlIC5pbm5lci1ib3gsCi5wcmljZS1ibG9jayAuaW5uZXItYm94OmhvdmVyewoJYm94LXNoYWRvdzowcHggMHB4IDE1cHggcmdiYSgwLDAsMCwwLjEyKTsKfQoKLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLnJlY29tZW5kewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE0cHg7Cglmb250LXdlaWdodDo2MDA7CgltYXJnaW4tdG9wOjI1cHg7CglkaXNwbGF5OmJsb2NrOwoJcGFkZGluZy1sZWZ0OjMwcHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKfQoKLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLnJlY29tZW5kOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDogJ1xmMTZkJzsKCWxlZnQ6MHB4OwoJYm90dG9tOjBweDsKCWNvbG9yOiMwOTEzOTQ7Cglmb250LXdlaWdodDo0MDA7Cglmb250LWZhbWlseTogIkZsYXRpY29uIjsKfQoKLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLjQ0ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjMwcHggMzBweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJYmFja2dyb3VuZC1jb2xvcjojMWEzOTZiOwp9CgoucHJpY2UtYmxvY2sgLmlubmVyLWJveCAudXBwZXItYm94OmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJYm90dG9tOjBweDsKCXJpZ2h0OjBweDsKCWhlaWdodDowcHg7Cgl3aWR0aDoxMDAlOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjMWEzOTZiKSwgY29sb3Itc3RvcCgxMDAsICMxYTM5NmIpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzFhMzk2YiAwJSwgIzFhMzk2YiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7Cn0KCi5wcmljZS1ibG9jay5hY3RpdmUgLmlubmVyLWJveCAudXBwZXItYm94OmJlZm9yZSwKLnByaWNlLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLnVwcGVyLWJveDpiZWZvcmV7CgloZWlnaHQ6MTAwJTsKfQoKLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLnVwcGVyLWJveCAudGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MjBweDsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgoucHJpY2UtYmxvY2suYWN0aXZlewoJdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI4cHgpOwogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZXgoMjhweCk7Cn0KCi5wcmljZS1ibG9jayAuaW5uZXItYm94OmhvdmVyIC51cHBlci1ib3ggc3ViLAoucHJpY2UtYmxvY2sgLmlubmVyLWJveDpob3ZlciAudXBwZXItYm94IC5wcmljZSwKLnByaWNlLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLnVwcGVyLWJveCAudGl0bGUsCi5wcmljZS1ibG9jay5hY3RpdmUgLmlubmVyLWJveCAudXBwZXItYm94IHN1YiwKLnByaWNlLWJsb2NrLmFjdGl2ZSAuaW5uZXItYm94IC51cHBlci1ib3ggLnByaWNlLAoucHJpY2UtYmxvY2suYWN0aXZlIC5pbm5lci1ib3ggLnVwcGVyLWJveCAudGl0bGV7Cgljb2xvcjojZmZmZmZmOwp9CgoucHJpY2UtYmxvY2sgLmlubmVyLWJveCAudXBwZXItYm94IC5wcmljZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzMyNDFmZjsKCWZvbnQtc2l6ZTo3MnB4OwoJZm9udC13ZWlnaHQ6NzAwOwoJbGluZS1oZWlnaHQ6MWVtOwoJbWFyZ2luLXRvcDoxMHB4OwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5wcmljZS1ibG9jayAuaW5uZXItYm94IC51cHBlci1ib3ggc3VwewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0b3A6LTI4cHg7Cglmb250LXNpemU6MjRweDsKCWZvbnQtd2VpZ2h0OjcwMDsKfQoKLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLnVwcGVyLWJveCBzdWJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTJweDsKCWZvbnQtd2VpZ2h0OjQwMDsKCW1hcmdpbi1sZWZ0Oi0xMHB4Owp9CgoucHJpY2UtYmxvY2sgLmlubmVyLWJveCAubG93ZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjQwcHggNDBweDsKCXRleHQtYWxpZ246Y2VudGVyOwp9CgoucHJpY2UtYmxvY2sgLmlubmVyLWJveCAubG93ZXItYm94IC5wcmljZS1saXN0ewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWJveCAucHJpY2UtbGlzdCBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzY2NjY2NjsKCWZvbnQtc2l6ZToxNnB4OwoJdGV4dC1hbGlnbjpsZWZ0OwoJbWFyZ2luLWJvdHRvbToxNnB4OwoJcGFkZGluZy1sZWZ0OjI1cHg7Cn0KCi5wcmljZS1ibG9jayAuaW5uZXItYm94IC5sb3dlci1ib3ggLnByaWNlLWxpc3QgbGk6bGFzdC1jaGlsZHsKCW1hcmdpbi1ib3R0b206MHB4Owp9CgoucHJpY2UtYmxvY2sgLmlubmVyLWJveCAubG93ZXItYm94IC5wcmljZS1saXN0IGxpOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonXGYwMGMnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJY29sb3I6IzMyNDFmZjsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7Cn0KCi5wcmljZS1ibG9jayAuaW5uZXItYm94IC5sb3dlci1ib3ggLnByaWNlLWxpc3QgbGkgc3BhbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtd2VpZ2h0OjUwMDsKfQoKLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWJveCAucHJpY2UtbGlzdCBsaS5ibGFua3sKCWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOwoJb3BhY2l0eTowLjU7Cn0KCi5wcmljZS1ibG9jayAuaW5uZXItYm94IC5sb3dlci1ib3ggLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNnB4OwoJbGluZS1oZWlnaHQ6MS44ZW07CglwYWRkaW5nLXRvcDoyMnB4OwoJbWFyZ2luLXRvcDozMHB4OwoJbWFyZ2luLWJvdHRvbToyNXB4OwoJYm9yZGVyLXRvcDoycHggc29saWQgI2UxZTFlMTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglWaWRlbyBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoudmlkZW8tc2VjdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdGV4dC1hbGlnbjpjZW50ZXI7CglwYWRkaW5nOjk1cHggMHB4IDk1cHg7CgliYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6Zml4ZWQ7CgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7Cn0KCi52aWRlby1zZWN0aW9uOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7CglvcGFjaXR5OjAuOTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzFhMzk2YiAwJSwgIzFhMzk2YiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgIzFhMzk2YiksIGNvbG9yLXN0b3AoMTAwLCAjMWEzOTZiKSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwp9CgoudmlkZW8tc2VjdGlvbi5zdHlsZS10d286YmVmb3JlewoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNjMTI4MmEgMCUsICMyNDIzMzQgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNjMTI4MmEgMCUsICMyNDIzMzQgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjYzEyODJhIDAlLCAjMjQyMzM0IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjYzEyODJhKSwgY29sb3Itc3RvcCgxMDAsICMyNDIzMzQpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI2MxMjgyYSAwJSwgIzI0MjMzNCAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNjMTI4MmEgMCUsICMyNDIzMzQgMTAwJSk7Cn0KCi52aWRlby1zZWN0aW9uLnN0eWxlLXR3byAudmlkZW8tYm94ewoJY29sb3I6IzIyMjIyMjsKfQoKLnZpZGVvLXNlY3Rpb24gLnZpZGVvLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6OTBweDsKCWhlaWdodDo5MHB4OwoJY29sb3I6IzA5MTM5NDsKCWZvbnQtc2l6ZToyOHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglib3JkZXItcmFkaXVzOjUwcHg7CglsaW5lLWhlaWdodDogOTBweDsKCW1hcmdpbi10b3A6MzBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMSk7Cn0KCi52aWRlby1zZWN0aW9uIC52aWRlby1ib3ggLm92ZXJsYXktYm94IHNwYW57Cglwb3NpdGlvbjogYWJzb2x1dGU7Cgl3aWR0aDo5MHB4OwoJaGVpZ2h0OiA5MHB4OwoJbGVmdDo1MCU7CiAgICB0b3A6IDUwJTsKCXotaW5kZXg6OTk7Cgljb2xvcjogIzA5MTM5NDsKCWZvbnQtd2VpZ2h0OjQwMDsKCWZvbnQtc2l6ZToyMnB4OwoJdGV4dC1hbGlnbjogY2VudGVyOwoJYm9yZGVyLXJhZGl1czo1MCU7CglwYWRkaW5nLWxlZnQ6N3B4OwoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCW1hcmdpbi10b3A6IC00NXB4OwoJbWFyZ2luLWxlZnQ6LTQ1cHg7Cgl0cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwogICAgLW1zLXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwogICAgLW8tdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7Cglib3gtc2hhZG93OjBweCAwcHggMTVweCByZ2JhKDAsMCwwLDAuMTApOwp9CgoudmlkZW8tc2VjdGlvbiAudmlkZW8tYm94IC5yaXBwbGUsCi52aWRlby1zZWN0aW9uIC52aWRlby1ib3ggLnJpcHBsZTpiZWZvcmUsCi52aWRlby1zZWN0aW9uIC52aWRlby1ib3ggLnJpcHBsZTphZnRlciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IDUwJTsKICAgIGxlZnQ6IDUwJTsKICAgIGhlaWdodDogOTBweDsKICAgIHdpZHRoOiA5MHB4OwoJbWFyZ2luLWxlZnQ6LjVweDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbXMtYm9yZGVyLXJhZGl1czogNTAlOwogICAgLW8tYm9yZGVyLXJhZGl1czogNTAlOwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpOwogICAgLW1vei1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpOwogICAgLW1zLWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7CiAgICAtby1ib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjQpOwogICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC40KTsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiByaXBwbGUgM3MgaW5maW5pdGU7CiAgICAtbW96LWFuaW1hdGlvbjogcmlwcGxlIDNzIGluZmluaXRlOwogICAgLW1zLWFuaW1hdGlvbjogcmlwcGxlIDNzIGluZmluaXRlOwogICAgLW8tYW5pbWF0aW9uOiByaXBwbGUgM3MgaW5maW5pdGU7CiAgICBhbmltYXRpb246IHJpcHBsZSAzcyBpbmZpbml0ZTsKfQoKLnZpZGVvLXNlY3Rpb24gLnZpZGVvLWJveCAucmlwcGxlOmJlZm9yZSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjlzOwogICAgLW1vei1hbmltYXRpb24tZGVsYXk6IC45czsKICAgIC1tcy1hbmltYXRpb24tZGVsYXk6IC45czsKICAgIC1vLWFuaW1hdGlvbi1kZWxheTogLjlzOwogICAgYW5pbWF0aW9uLWRlbGF5OiAuOXM7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLnZpZGVvLXNlY3Rpb24gLnZpZGVvLWJveCAucmlwcGxlOmFmdGVyIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAuNnM7CiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjZzOwogICAgLW1zLWFuaW1hdGlvbi1kZWxheTogLjZzOwogICAgLW8tYW5pbWF0aW9uLWRlbGF5OiAuNnM7CiAgICBhbmltYXRpb24tZGVsYXk6IC42czsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHsKICAgIDcwJSB7Ym94LXNoYWRvdzogMCAwIDAgNzBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO30KICAgIDEwMCUge2JveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTt9Cn0KCkBrZXlmcmFtZXMgcmlwcGxlIHsKICAgIDcwJSB7Ym94LXNoYWRvdzogMCAwIDAgNzBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO30KICAgIDEwMCUge2JveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTt9Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJVGVhbSBTZWN0aW9uIFR3bwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnRlYW0tc2VjdGlvbi10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggMTAwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNmNmY3ZmY7Cn0KCi50ZWFtLWJsb2NrLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgoudGVhbS1ibG9jay10d28gLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgoudGVhbS1ibG9jay10d28gLmlubmVyLWJveCAuaW1hZ2V7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnRlYW0tYmxvY2stdHdvIC5pbm5lci1ib3ggLmltYWdlIGltZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWRpc3BsYXk6YmxvY2s7Cn0KCi50ZWFtLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cn0KCi50ZWFtLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5zb2NpYWwtbmF2ewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCWJvdHRvbTowcHg7Cgl3aWR0aDoxMDAlOwoJZGlzcGxheTpibG9jazsKCW9wYWNpdHk6MDsKCXRleHQtYWxpZ246Y2VudGVyOwoJcGFkZGluZzo5cHggMjBweCA5cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cglib3JkZXItcmFkaXVzOjBweCA4cHggMHB4IDBweDsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCWJveC1zaGFkb3c6MHB4IDBweCAxMHB4IHJnYmEoMCwwLDAsMC4xMCk7Cn0KCi50ZWFtLWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIC5sb3dlci1jb250ZW50IC5zb2NpYWwtbmF2ewoJYm90dG9tOi00MnB4OwoJb3BhY2l0eToxOwp9CgoudGVhbS1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAuc29jaWFsLW5hdiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXJpZ2h0OjE1cHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLnRlYW0tYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnNvY2lhbC1uYXYgbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToxNnB4Owp9CgoudGVhbS1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAuc29jaWFsLW5hdiBsaS5mYWNlYm9vayBhewoJY29sb3I6IzE2NTk5YjsKfQoKLnRlYW0tYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnNvY2lhbC1uYXYgbGkudHdpdHRlciBhewoJY29sb3I6IzAzYTlmNDsKfQoKLnRlYW0tYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnNvY2lhbC1uYXYgbGkuZ29vZ2xlIGF7Cgljb2xvcjojZmYwMDAwOwp9CgoudGVhbS1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAuc29jaWFsLW5hdiBsaS5saW5rZWQgYXsKCWNvbG9yOiMyMjhhYmY7Cn0KCi50ZWFtLWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXBhZGRpbmc6MjBweCAyMHB4IDIwcHggMjBweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCWJvcmRlci1yYWRpdXM6MHB4IDBweCA4cHggMHB4OwoJYm94LXNoYWRvdzowcHggMHB4IDEwcHggcmdiYSgwLDAsMCwwLjEwKTsKfQoKLnRlYW0tYmxvY2stdHdvIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLmNvbnRlbnQgaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJZm9udC13ZWlnaHQ6NzAwOwp9CgoudGVhbS1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAuY29udGVudCBoNCBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwp9CgoudGVhbS1ibG9jay10d28gLmlubmVyLWJveCAubG93ZXItY29udGVudCAuY29udGVudCAuZGVzaWduYXRpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMzMjQxZmY7Cglmb250LXNpemU6MTRweDsKCW1hcmdpbi10b3A6MnB4Owp9CgoKCgoKCi5uZXdzLWJsb2NrLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToyMHB4Owp9CgoubmV3cy1ibG9jay10d28gLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJYm9yZGVyOjFweCBzb2xpZCAjZWVlZWVlOwp9CgoubmV3cy1ibG9jay10d28gLmlubmVyLWJveDpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7CglyaWdodDowcHg7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjBweDsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzFhMzk2YiAwJSwgIzFhMzk2YiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgIzFhMzk2YiksIGNvbG9yLXN0b3AoMTAwLCAjMWEzOTZiKSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMxYTM5NmIgMCUsICMxYTM5NmIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMWEzOTZiIDAlLCAjMWEzOTZiIDEwMCUpOwp9CgoubmV3cy1ibG9jay10d28gLmlubmVyLWJveDpob3Zlcjo6YmVmb3JlewoJaGVpZ2h0OjEwMCU7Cn0KCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5jb250ZW50LWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoyMHB4IDI1cHggMjBweDsKfQoKLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmNvbnRlbnQtYm94IGg0ewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxLjZlbTsKfQoKLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmNvbnRlbnQtYm94IGg0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MjBweDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5jb250ZW50LWJveCAucG9zdC1tZXRhewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tdG9wOjE1cHg7CglwYWRkaW5nLXRvcDoxNXB4OwoJYm9yZGVyLXRvcDoxcHggc29saWQgI2VlZWVlZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94IC5jb250ZW50LWJveCAucG9zdC1tZXRhIGxpewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tcmlnaHQ6MTJweDsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTRweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmNvbnRlbnQtYm94IC5wb3N0LW1ldGEgbGkgLmljb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1yaWdodDo4cHg7Cgl0b3A6MXB4Owp9CgoubmV3cy1ibG9jay10d28gLmlubmVyLWJveCAuY29udGVudC1ib3ggLnBvc3QtbWV0YSBsaTpsYXN0LWNoaWxkewoJbWFyZ2luLXJpZ2h0OjBweDsKfQoKLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3g6aG92ZXIgLmNvbnRlbnQtYm94IC5wb3N0LW1ldGEgbGksCi5uZXdzLWJsb2NrLXR3byAuaW5uZXItYm94OmhvdmVyIC5jb250ZW50LWJveCBoNCBhewoJY29sb3I6I2ZmZmZmZjsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglNYWluIFNsaWRlciBUaHJlZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLm1haW4tc2xpZGVyLXRocmVlewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAuc29jaWFsLW5hdnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDo0MHB4OwoJYm90dG9tOjYwcHg7Cgl6LWluZGV4OjI7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAuc29jaWFsLW5hdiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToxNnB4Owp9CgoubWFpbi1zbGlkZXItdGhyZWUgLnNvY2lhbC1uYXYgbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNnB4OwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLm1haW4tc2xpZGVyLXRocmVlIC5zb2NpYWwtbmF2IGxpIGE6aG92ZXJ7Cgljb2xvcjojMEY3NjZFOwp9CgoubWFpbi1zbGlkZXItdGhyZWUgLnRleHQtYm94ZWR7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6NTAlOwoJYm90dG9tOi0xMTVweDsKCXotaW5kZXg6MzsKCXdpZHRoOjEwMCU7CgltYXgtd2lkdGg6NTg1cHg7CglwYWRkaW5nOjQwcHggNTBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojMDAwMDAwOwp9CgoubWFpbi1zbGlkZXItdGhyZWUgLnRleHQtYm94ZWQgLmJveC10ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjI0cHg7CglsaW5lLWhlaWdodDoxLjhlbTsKfQoKLm1haW4tc2xpZGVyLXRocmVlIC5zbGlkZTpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDo1MCU7CgloZWlnaHQ6MTAwJTsKCXotaW5kZXg6MjsKCWJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9tYWluLXNsaWRlci9wYXR0ZXJuLTEuanBnKSBuby1yZXBlYXQ7CgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAuY29udGVudC1ib3hlZHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJei1pbmRleDozOwp9CgoubWFpbi1zbGlkZXItdGhyZWUgLnNsaWRlewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjIzMHB4IDBweCAyNjBweDsKCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKfQoKLm1haW4tc2xpZGVyLXRocmVlIC50aXRsZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZTogMTZweDsKCWZvbnQtd2VpZ2h0OiA0MDA7CgltYXJnaW4tYm90dG9tOiAyNHB4OwoJb3BhY2l0eTogMDsKCWxldHRlci1zcGFjaW5nOjFweDsKCXRyYW5zZm9ybTogc2NhbGVZKDApOwoJdHJhbnNmb3JtLW9yaWdpbjogdG9wOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCQp9CgoubWFpbi1zbGlkZXItdGhyZWUgLmFjdGl2ZSAudGl0bGV7CglvcGFjaXR5OiAxOwoJdHJhbnNmb3JtOiBzY2FsZVkoMSk7Cgktd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDUwMG1zOwoJLW1vei10cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsKCS1tcy10cmFuc2l0aW9uLWRlbGF5OiA1MDBtczsKCS1vLXRyYW5zaXRpb24tZGVsYXk6IDUwMG1zOwoJdHJhbnNpdGlvbi1kZWxheTogNTAwbXM7Cn0KCi5tYWluLXNsaWRlci10aHJlZSBoMXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtd2VpZ2h0OjYwMDsKCWxpbmUtaGVpZ2h0OjEuMmVtOwoJbWFyZ2luLWJvdHRvbTozMHB4OwoJb3BhY2l0eTogMDsKCXRyYW5zZm9ybTogc2NhbGVZKDApOwoJdHJhbnNmb3JtLW9yaWdpbjogdG9wOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKCXRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTsKfQoKLm1haW4tc2xpZGVyLXRocmVlIC5hY3RpdmUgaDF7CglvcGFjaXR5OiAxOwoJdHJhbnNmb3JtOiBzY2FsZVkoMSk7Cgl0cmFuc2l0aW9uLWRlbGF5OiAxMDAwbXM7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2VlZWVlZTsKCWZvbnQtc2l6ZToxNnB4OwoJb3BhY2l0eTowOwoJdHJhbnNmb3JtOiBzY2FsZVkoMCk7Cgl0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CglsaW5lLWhlaWdodDogMS45ZW07Cglmb250LXdlaWdodDo0MDA7CgltYXJnaW4tYm90dG9tOjQycHggIWltcG9ydGFudDsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAuYWN0aXZlIC50ZXh0ewoJb3BhY2l0eTogMTsKCXRyYW5zZm9ybTogc2NhbGVZKDEpOwoJdHJhbnNpdGlvbi1kZWxheTogMTUwMG1zOwp9CgoubWFpbi1zbGlkZXItdGhyZWUgLmxpbmstYm94ewoJb3BhY2l0eTowOwoJdHJhbnNmb3JtOiBzY2FsZVkoMCk7Cgl0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAuYWN0aXZlIC5saW5rLWJveHsKCW9wYWNpdHk6IDE7Cgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsKCXRyYW5zaXRpb24tZGVsYXk6IDIwMDBtczsKfQoKLm1haW4tc2xpZGVyLXRocmVlIC5saW5rLWJveCAudGhlbWUtYnRuewoJbWFyZ2luLXJpZ2h0OjIwcHg7CglmbG9hdDpsZWZ0Owp9CgoubWFpbi1zbGlkZXItdGhyZWUgLm93bC1kb3RzewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDoxMTBweDsKCXRvcDo1MCU7CglkaXNwbGF5Om5vbmU7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAub3dsLWRvdHMgLm93bC1kb3R7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjE2cHg7CgloZWlnaHQ6MTZweDsKCW1hcmdpbi1ib3R0b206MTBweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCW1hcmdpbi1ib3R0b206MTBweDsKfQoKLm1haW4tc2xpZGVyLXRocmVlIC5vd2wtZG90cyAub3dsLWRvdDpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7CglyaWdodDowcHg7Cglib3R0b206MHB4OwoJb3BhY2l0eTowOwoJYm9yZGVyLXJhZGl1czo1MHB4OwoJYm9yZGVyOjNweCBzb2xpZCAjMEY3NjZFOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlOmJlZm9yZSwKLm1haW4tc2xpZGVyLXRocmVlIC5vd2wtZG90cyAub3dsLWRvdDpob3Zlcjo6YmVmb3JlewoJb3BhY2l0eToxOwp9CgoubWFpbi1zbGlkZXItdGhyZWUgLm93bC1uYXZ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjUwJTsKCXotaW5kZXg6MTsKCXdpZHRoOjEwMCU7CgltYXJnaW4tdG9wOi0xMHB4OwoJZGlzcGxheTpub25lOwp9CgoubWFpbi1zbGlkZXItdGhyZWUgLm93bC1uYXYgLm93bC1wcmV2ewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjIwcHg7Cgl3aWR0aDo2MHB4OwoJaGVpZ2h0OjYwcHg7Cgljb2xvcjojZmZmZmZmOwoJbGluZS1oZWlnaHQ6NTZweDsKCWZvbnQtc2l6ZToyNHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglib3JkZXItcmFkaXVzOjUwcHg7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJYm9yZGVyOjJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuNjApOwp9CgoubWFpbi1zbGlkZXItdGhyZWUgLm93bC1uYXYgLm93bC1uZXh0ewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDoyMHB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToyNHB4OwoJd2lkdGg6NjBweDsKCWhlaWdodDo2MHB4OwoJY29sb3I6I2ZmZmZmZjsKCWxpbmUtaGVpZ2h0OjU2cHg7Cglib3JkZXItcmFkaXVzOjUwcHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cglib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC42MCk7Cn0KCi5tYWluLXNsaWRlci10aHJlZSAub3dsLW5hdiAub3dsLXByZXY6aG92ZXIsCi5tYWluLXNsaWRlci10aHJlZSAub3dsLW5hdiAub3dsLW5leHQ6aG92ZXJ7Cgljb2xvcjojZmZhYTAwOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCVdlIEFyZSBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoud2UtYXJlLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MTgwcHggMHB4IDYwcHg7Cn0KCi53ZS1hcmUtc2VjdGlvbiAudGl0bGUtY29sdW1uewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi53ZS1hcmUtc2VjdGlvbiAudGl0bGUtY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLndlLWFyZS1zZWN0aW9uIC5jb250ZW50LWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9Cgoud2UtYXJlLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6NjBweCAwcHggNTBweCA2MHB4OwoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNiYmJiYmI7Cn0KCi53ZS1hcmUtc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6IzY2NjY2NjsKCWxpbmUtaGVpZ2h0OjEuOWVtOwoJbWF4LXdpZHRoOjQwMHB4Owp9Cgoud2UtYXJlLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC50aGVtZS1idG57CgltYXJnaW4tdG9wOjM1cHg7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJRmVhdHVyZWQgU2VjdGlvbiBUd28KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5mZWF0dXJlZC1zZWN0aW9uLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoxMDBweCAwcHggNjBweDsKCWJhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTsKfQoKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5wYXRlcm4tbGF5ZXJ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjQ2MnB4OwoJaGVpZ2h0OjQ4OHB4OwoJYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0Owp9CgouZmVhdHVyZWQtc2VjdGlvbi10d28gLnBhdGVybi1sYXllci10d297Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7Cgl3aWR0aDo0NjJweDsKCWhlaWdodDo1MTJweDsKCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKfQoKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5ibG9ja3MtY29sdW1uIC5mZWF0dXJlLWJsb2NrOm50aC1jaGlsZCgyKXsKCW1hcmdpbi10b3A6NzBweDsKfQoKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5ibG9ja3MtY29sdW1uIC5mZWF0dXJlLWJsb2NrOm50aC1jaGlsZCgzKXsKCW1hcmdpbi10b3A6LTcwcHg7Cn0KCi5mZWF0dXJlLWJsb2NrewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjQwcHg7Cn0KCi5mZWF0dXJlLWJsb2NrIC5pbm5lci1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6NTBweCAyNXB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglib3JkZXItcmFkaXVzOjVweDsKCW92ZXJmbG93OmhpZGRlbjsKCWJhY2tncm91bmQtY29sb3I6IzI0MjMzNDsKfQoKLmZlYXR1cmUtYmxvY2sgLmlubmVyLWJveCAuaWNvbi1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWxpbmUtaGVpZ2h0OjFlbTsKCWZvbnQtc2l6ZTo2MnB4OwoJY29sb3I6IzBGNzY2RTsKfQoKLmZlYXR1cmUtYmxvY2sgLmlubmVyLWJveCBoNHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJZm9udC13ZWlnaHQ6NzAwOwoJbWFyZ2luOjE0cHggMHB4Owp9CgouZmVhdHVyZS1ibG9jayAuaW5uZXItYm94IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE2cHg7CglsaW5lLWhlaWdodDoxLjdlbTsKfQoKLmZlYXR1cmUtYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3h7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWNvbG9yOiNmZmZmZmY7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCQoJb3BhY2l0eTowOwoJLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwogICAgdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTsKICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtOTBkZWcpOwogICAgLW1zLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTsKICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wOwogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7CiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wOwogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wOwogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wOwogICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjVzOwogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41czsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXM7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC41czsKICAgIHRyYW5zaXRpb246IGFsbCAwLjVzOwp9CgouZmVhdHVyZS1ibG9jayAuaW5uZXItYm94OmhvdmVyIC5vdmVybGF5LWJveHsKCW9wYWNpdHk6MTsKCS13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgIC1tcy10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOwogICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsKICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7Cn0KCi5mZWF0dXJlLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94OmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC45MCk7Cn0KCi5mZWF0dXJlLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5vdmVybGF5LWlubmVyewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CglkaXNwbGF5OnRhYmxlOwoJdmVydGljYWwtYWxpZ246bWlkZGxlOwoJcGFkZGluZzoxMHB4IDMwcHg7Cn0KCi5mZWF0dXJlLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5vdmVybGF5LWlubmVyIC5jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OnRhYmxlLWNlbGw7Cgl2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Cn0KCi5mZWF0dXJlLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5pY29uLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbGluZS1oZWlnaHQ6MWVtOwoJZm9udC1zaXplOjYycHg7Cgljb2xvcjojZmZmZmZmOwp9CgouZmVhdHVyZS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveCBoNXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbGluZS1oZWlnaHQ6MS4zZW07Cglmb250LXdlaWdodDo3MDA7CgltYXJnaW46MTVweCAwcHggMTJweDsKfQoKLmZlYXR1cmUtYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3ggaDUgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzBGNzY2RTsKfQoKLmZlYXR1cmUtYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3ggLnJlYWQtbW9yZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNXB4OwoJbWFyZ2luLXRvcDo2MHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9CgouZmVhdHVyZS1ibG9jayAuaW5uZXItYm94IC5vdmVybGF5LWJveCAucmVhZC1tb3JlOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6NTAlOwoJdG9wOi02MHB4OwoJd2lkdGg6NHB4OwoJaGVpZ2h0OjUwcHg7CgltYXJnaW4tbGVmdDotMnB4OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTAsMjUwLDI1MCwwLjIwKTsKfQoKLmZlYXR1cmUtYmxvY2sgLmlubmVyLWJveCAub3ZlcmxheS1ib3ggLnJlYWQtbW9yZTpob3Zlcjo6YmVmb3JlewoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE3OCwxMjEsMzksMC44MCk7Cn0KCi5mZWF0dXJlLWJsb2NrIC5pbm5lci1ib3ggLm92ZXJsYXktYm94IC5yZWFkLW1vcmU6aG92ZXJ7Cgljb2xvcjojMEY3NjZFOwp9CgouZmVhdHVyZWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5mZWF0dXJlZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1sZWZ0OjQwcHg7Cn0KCi5mZWF0dXJlZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmJsb2Nrcy1vdXRlciAuZmVhdHVyZS1ibG9jay10d286bGFzdC1jaGlsZHsKCW1hcmdpbi1ib3R0b206MHB4Owp9CgouZmVhdHVyZWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5saW5rLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDo1MHB4Owp9CgouZmVhdHVyZWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5saW5rLWJveCAudmlkZW8tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDo2MHB4OwoJaGVpZ2h0OjYwcHg7Cgljb2xvcjojMzgxZDAxOwoJZm9udC1zaXplOjE4cHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWxpbmUtaGVpZ2h0OiA2MHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CglmbG9hdDpsZWZ0OwoJbWFyZ2luLXJpZ2h0OjQwcHg7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxKTsKfQoKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbiAubGluay1ib3ggLnZpZGVvLWJveCAub3ZlcmxheS1ib3ggc3BhbnsKCXBvc2l0aW9uOiBhYnNvbHV0ZTsKCXdpZHRoOjYwcHg7CgloZWlnaHQ6IDYwcHg7CglsZWZ0OjUwJTsKICAgIHRvcDogNTAlOwoJei1pbmRleDo5OTsKCWNvbG9yOiAjMzgxZDAxOwoJZm9udC13ZWlnaHQ6NDAwOwoJZm9udC1zaXplOjE2cHg7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cglib3JkZXItcmFkaXVzOjUwJTsKCXBhZGRpbmctbGVmdDo3cHg7CgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOwoJZGlzcGxheTogaW5saW5lLWJsb2NrOwoJbWFyZ2luLXRvcDogLTMwcHg7CgltYXJnaW4tbGVmdDotMzBweDsKCXRyYW5zaXRpb246IGFsbCA5MDBtcyBlYXNlOwogICAgLW1vei10cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7CiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDkwMG1zIGVhc2U7CiAgICAtby10cmFuc2l0aW9uOiBhbGwgOTAwbXMgZWFzZTsKCWJveC1zaGFkb3c6MHB4IDBweCAxNXB4IHJnYmEoMCwwLDAsMC4xMCk7Cn0KCi5mZWF0dXJlZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmxpbmstYm94IC52aWRlby1ib3ggLnJpcHBsZSwKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbiAubGluay1ib3ggLnZpZGVvLWJveCAucmlwcGxlOmJlZm9yZSwKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbiAubGluay1ib3ggLnZpZGVvLWJveCAucmlwcGxlOmFmdGVyIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogNTAlOwogICAgbGVmdDogNTAlOwogICAgaGVpZ2h0OiA2MHB4OwogICAgd2lkdGg6IDYwcHg7CgltYXJnaW4tbGVmdDouNXB4OwogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTsKICAgIC1tcy1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtby1ib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNzcsIDEyMCwgMzksIC40KTsKICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDE3NywgMTIwLCAzOSwgLjQpOwogICAgLW1zLWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNzcsIDEyMCwgMzksIC40KTsKICAgIC1vLWJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNzcsIDEyMCwgMzksIC40KTsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgxNzcsIDEyMCwgMzksIC40KTsKICAgIC13ZWJraXQtYW5pbWF0aW9uOiByaXBwbGUgM3MgaW5maW5pdGU7CiAgICAtbW96LWFuaW1hdGlvbjogcmlwcGxlIDNzIGluZmluaXRlOwogICAgLW1zLWFuaW1hdGlvbjogcmlwcGxlIDNzIGluZmluaXRlOwogICAgLW8tYW5pbWF0aW9uOiByaXBwbGUgM3MgaW5maW5pdGU7CiAgICBhbmltYXRpb246IHJpcHBsZSAzcyBpbmZpbml0ZTsKfQoKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbiAubGluay1ib3ggLnZpZGVvLWJveCAucmlwcGxlOmJlZm9yZSB7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjlzOwogICAgLW1vei1hbmltYXRpb24tZGVsYXk6IC45czsKICAgIC1tcy1hbmltYXRpb24tZGVsYXk6IC45czsKICAgIC1vLWFuaW1hdGlvbi1kZWxheTogLjlzOwogICAgYW5pbWF0aW9uLWRlbGF5OiAuOXM7CiAgICBjb250ZW50OiAiIjsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoKLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbiAubGluay1ib3ggLnZpZGVvLWJveCAucmlwcGxlOmFmdGVyIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAuNnM7CiAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjZzOwogICAgLW1zLWFuaW1hdGlvbi1kZWxheTogLjZzOwogICAgLW8tYW5pbWF0aW9uLWRlbGF5OiAuNnM7CiAgICBhbmltYXRpb24tZGVsYXk6IC42czsKICAgIGNvbnRlbnQ6ICIiOwogICAgcG9zaXRpb246IGFic29sdXRlOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcmlwcGxlIHsKICAgIDcwJSB7Ym94LXNoYWRvdzogMCAwIDAgNzBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO30KICAgIDEwMCUge2JveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTt9Cn0KCkBrZXlmcmFtZXMgcmlwcGxlIHsKICAgIDcwJSB7Ym94LXNoYWRvdzogMCAwIDAgNzBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO30KICAgIDEwMCUge2JveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTt9Cn0KCi5mZWF0dXJlLWJsb2NrLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo0NXB4Owp9CgouZmVhdHVyZS1ibG9jay10d28gLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1sZWZ0OjEwMHB4Owp9CgouZmVhdHVyZS1ibG9jay10d28gLmlubmVyLWJveCAuaWNvbi1ib3h7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjVweDsKCWxpbmUtaGVpZ2h0OjFlbTsKCWNvbG9yOiMyNDIzMzQ7Cglmb250LXNpemU6NjBweDsKfQoKLmZlYXR1cmUtYmxvY2stdHdvIC5pbm5lci1ib3ggaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWxpbmUtaGVpZ2h0OjEuNGVtOwoJZm9udC13ZWlnaHQ6NzAwOwp9CgouZmVhdHVyZS1ibG9jay10d28gLmlubmVyLWJveCBoNCBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMEY3NjZFOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKfQoKLmZlYXR1cmUtYmxvY2stdHdvIC5pbm5lci1ib3ggaDQgYTpob3ZlcnsKCWNvbG9yOiMzNzFjMDA7Cn0KCi5mZWF0dXJlLWJsb2NrLXR3byAuaW5uZXItYm94IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE2cHg7CglsaW5lLWhlaWdodDoxLjZlbTsKCW1hcmdpbi10b3A6MTBweDsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglTZXJ2aWNlcyBTZWN0aW9uIEZvdXIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5zZXJ2aWNlcy1zZWN0aW9uLWZvdXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggOTVweDsKfQoKLnNlcnZpY2VzLXNlY3Rpb24tZm91ciAuc2VjLXRpdGxlewoJbWFyZ2luLWJvdHRvbTo0MHB4Owp9Cgouc2VydmljZXMtc2VjdGlvbi1mb3VyOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0OjBweDsKCWJvdHRvbTowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC45MCk7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uLWZvdXIgLm93bC1uYXZ7CglkaXNwbGF5Om5vbmU7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uLWZvdXIgLm93bC1kb3RzewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCW1hcmdpbi10b3A6MzBweDsKfQoKLnNlcnZpY2VzLXNlY3Rpb24tZm91ciAub3dsLWRvdHMgLm93bC1kb3R7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwcHg7CgloZWlnaHQ6MTBweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCW1hcmdpbjowcHggNXB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uLWZvdXIgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSwKLnNlcnZpY2VzLXNlY3Rpb24tZm91ciAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiNiMDc3MjY7Cn0KCi5zZXJ2aWNlcy1zZWN0aW9uLWZvdXIgLmxvd2VyLXRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKCW1hcmdpbi10b3A6MzBweDsKCXRleHQtYWxpZ246Y2VudGVyOwp9Cgouc2VydmljZXMtc2VjdGlvbi1mb3VyIC5sb3dlci10ZXh0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMwRjc2NkU7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOwp9CgovKiBTZXJ2aWNlIEJsb2NrIEZvdXIgKi8KCi5zZXJ2aWNlLWJsb2NrLWZvdXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MzBweDsKfQoKLnNlcnZpY2UtYmxvY2stZm91ciAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5zZXJ2aWNlLWJsb2NrLWZvdXIgLmlubmVyLWJveCAuaW1hZ2V7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNlcnZpY2UtYmxvY2stZm91ciAuaW5uZXItYm94IC5pbWFnZSBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CglkaXNwbGF5OmJsb2NrOwp9Cgouc2VydmljZS1ibG9jay1mb3VyIC5pbm5lci1ib3ggLmxvd2VyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWxlZnQ6MjBweDsKCW1hcmdpbi1yaWdodDoyMHB4OwoJcGFkZGluZzoyNXB4IDIwcHg7CglkaXNwbGF5OmJsb2NrOwoJbWFyZ2luLXRvcDotMzZweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKfQoKLnNlcnZpY2UtYmxvY2stZm91ciAuaW5uZXItYm94IC5sb3dlci1ib3g6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cglib3R0b206MHB4OwoJd2lkdGg6MTAwJTsKCWhlaWdodDowcHg7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAjMEY3NjZFIDAlLCAjNUUzQzFBIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwRjc2NkUgMCUsICM1RTNDMUEgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQocmlnaHQsICMwRjc2NkUgMCUsICM1RTNDMUEgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgY29sb3Itc3RvcCgwLCAjMEY3NjZFKSwgY29sb3Itc3RvcCgxMDAsICM1RTNDMUEpKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAjMEY3NjZFIDAlLCAjNUUzQzFBIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICMwRjc2NkUgMCUsICM1RTNDMUEgMTAwJSk7Cn0KCi5zZXJ2aWNlLWJsb2NrLWZvdXIgLmlubmVyLWJveDpob3ZlciAubG93ZXItYm94OmJlZm9yZXsKCWhlaWdodDoxMDAlOwp9Cgouc2VydmljZS1ibG9jay1mb3VyIC5pbm5lci1ib3ggLmxvd2VyLWJveCAubG93ZXItaW5uZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmctbGVmdDo1NnB4Owp9Cgouc2VydmljZS1ibG9jay1mb3VyIC5pbm5lci1ib3ggLmxvd2VyLWJveCAubG93ZXItaW5uZXIgLmljb257Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCWNvbG9yOiNiMTc4Mjc7CglsaW5lLWhlaWdodDoxZW07Cglmb250LXNpemU6MzJweDsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKfQoKLnNlcnZpY2UtYmxvY2stZm91ciAuaW5uZXItYm94OmhvdmVyIC5sb3dlci1ib3ggLmxvd2VyLWlubmVyIC5pY29uewoJY29sb3I6I2IwNzgyNjsKfQoKLnNlcnZpY2UtYmxvY2stZm91ciAuaW5uZXItYm94IC5sb3dlci1ib3ggLmxvd2VyLWlubmVyIGg0ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDo2MDA7CglsaW5lLWhlaWdodDoxLjNlbTsKfQoKLnNlcnZpY2UtYmxvY2stZm91ciAuaW5uZXItYm94IC5sb3dlci1ib3ggLmxvd2VyLWlubmVyIGg0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cn0KCi5zZXJ2aWNlLWJsb2NrLWZvdXIgLmlubmVyLWJveDpob3ZlciAubG93ZXItYm94IC5sb3dlci1pbm5lciBoNCBhewoJY29sb3I6I2ZmZmZmZjsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglQcm9jZXNzIFNlY3Rpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5wcm9jZXNzLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggNzBweDsKfQoKLnByb2Nlc3Mtc2VjdGlvbiAuaW5uZXItY29udGFpbmVyewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5wcm9jZXNzLXNlY3Rpb246YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cglib3R0b206ODBweDsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MjYzcHg7CgliYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvYmFja2dyb3VuZC9wYXR0ZXJuLTkucG5nKSBuby1yZXBlYXQ7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBib3R0b207Cn0KCi5wcm9jZXNzLWJsb2NrewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjMwcHg7Cn0KCi5wcm9jZXNzLWJsb2NrOm50aC1jaGlsZCgyKXsKCW1hcmdpbi10b3A6NzBweDsKfQoKLnByb2Nlc3MtYmxvY2sgLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJYm9yZGVyLXJhZGl1czo1MCU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXBhZGRpbmc6MjBweCAyMHB4OwoJd2lkdGg6MjcwcHg7CgloZWlnaHQ6MjcwcHg7CgltYXJnaW46MCBhdXRvOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJYm94LXNoYWRvdzowcHggMHB4IDE1cHggcmdiYSgwLDAsMCwwLjEyKTsKfQoKLnByb2Nlc3MtYmxvY2sgLmlubmVyLWJveCAucHJvY2Vzcy1udW1iZXJ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjE1cHg7Cgl0b3A6MTVweDsKCXdpZHRoOjcwcHg7CgloZWlnaHQ6NzBweDsKCXotaW5kZXg6MTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MzBweDsKCWZvbnQtd2VpZ2h0OjUwMDsKCXRleHQtYWxpZ246Y2VudGVyOwoJbGluZS1oZWlnaHQ6NjBweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWJhY2tncm91bmQtY29sb3I6IzI0MjMzNDsKCWJvcmRlcjo1cHggc29saWQgI2ZmZmZmZjsKfQoKLnByb2Nlc3MtYmxvY2s6bnRoLWNoaWxkKDIpIC5pbm5lci1ib3ggLnByb2Nlc3MtbnVtYmVyewoJYm90dG9tOjBweDsKCXRvcDphdXRvOwp9CgoucHJvY2Vzcy1ibG9jazpudGgtY2hpbGQoMykgLmlubmVyLWJveCAucHJvY2Vzcy1udW1iZXJ7CglsZWZ0OjE1cHg7CglyaWdodDphdXRvOwp9CgoucHJvY2Vzcy1ibG9jayAuaW5uZXItYm94IC5jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7Cglib3JkZXItcmFkaXVzOjUwJTsKCXdpZHRoOjIzMHB4OwoJaGVpZ2h0OjIzMHB4OwoJcGFkZGluZzo1NXB4IDE1cHggNDBweDsKCWJvcmRlcjo2cHggc29saWQgI2Y1ZjVmNTsKCS13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKfQoKLnByb2Nlc3MtYmxvY2sgLmlubmVyLWJveDpob3ZlciAuY29udGVudHsKCWJvcmRlci1jb2xvcjojMEY3NjZFOwp9CgoucHJvY2Vzcy1ibG9jayAuaW5uZXItYm94IC5jb250ZW50IGgzewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDo3MDA7Cgljb2xvcjojMjIyMjIyOwoJbGluZS1oZWlnaHQ6MS4zZW07Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cn0KCi5wcm9jZXNzLWJsb2NrIC5pbm5lci1ib3g6aG92ZXIgLmNvbnRlbnQgaDN7Cgljb2xvcjojMEY3NjZFOwp9CgoucHJvY2Vzcy1ibG9jayAuaW5uZXItYm94IC5jb250ZW50IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxLjdlbTsKCWNvbG9yOiM3Nzc3Nzc7Cglmb250LXNpemU6MTZweDsKCW1hcmdpbi10b3A6MTBweDsKfQoKLnByb2Nlc3MtYmxvY2suc3R5bGUtdHdvIC5pbm5lci1ib3g6aG92ZXIgLmNvbnRlbnQgaDN7Cgljb2xvcjojMEY3NjZFOwp9CgoucHJvY2Vzcy1ibG9jay5zdHlsZS10d28gLmlubmVyLWJveDpob3ZlciAuY29udGVudHsKCWJvcmRlci1jb2xvcjojMEY3NjZFOwp9CgoucHJvY2Vzcy1ibG9jay5zdHlsZS10d28gLmlubmVyLWJveCAucHJvY2Vzcy1udW1iZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiNjMTI4MmE7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJRmx1aWQgU2VjdGlvbiBUd28KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5mbHVpZC1zZWN0aW9uLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzowcHggMHB4IDBweDsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvIC5vdXRlci1jb250YWluZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1pbi1oZWlnaHQ6MjUwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMyNDIzMzQ7Cn0KCi5mbHVpZC1zZWN0aW9uLXR3byAuaW1hZ2UtY29sdW1uewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDo1MCU7CgloZWlnaHQ6MTAwJTsKCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsKCWJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKCWJhY2tncm91bmQtc2l6ZTpjb3ZlcjsJCn0KCi5mbHVpZC1zZWN0aW9uLXR3byAuaW1hZ2UtY29sdW1uIC5pbWFnZS1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6bm9uZTsJCn0KCi5mbHVpZC1zZWN0aW9uLXR3byAuaW1hZ2UtY29sdW1uIC5pbWFnZS1ib3ggaW1newoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZmxvYXQ6cmlnaHQ7Cgl3aWR0aDo1MCU7Cn0KCi5mbHVpZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWF4LXdpZHRoOjYwMHB4OwoJd2lkdGg6MTAwJTsKCXBhZGRpbmc6ODBweCAxNXB4IDEyMHB4IDcwcHg7Cn0KCi5mbHVpZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmNvbHVtbi1saXN0ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5mbHVpZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmNvbHVtbi1saXN0IGxpewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE2cHg7CglwYWRkaW5nLWxlZnQ6NDBweDsKCWxpbmUtaGVpZ2h0OjEuN2VtOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgouZmx1aWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5jb2x1bW4tbGlzdCBsaTpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6ICJcZjFlYyI7CglsZWZ0OjBweDsKCXRvcDo0cHg7Cglmb250LXNpemU6MjBweDsKCWNvbG9yOiMwRjc2NkU7CglsaW5lLWhlaWdodDoxZW07Cglmb250LWZhbWlseTogIkZsYXRpY29uIjsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbiAuY29sdW1uLWxpc3QgbGkgc3Ryb25newoJZm9udC13ZWlnaHQ6NzAwOwoJbWFyZ2luLWJvdHRvbToxMnB4OwoJZm9udC1zaXplOjI0cHg7CglkaXNwbGF5OmJsb2NrOwp9CgouZmx1aWQtc2VjdGlvbi10d28gLmxvd2VyLWNvbnRlbnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246Y2VudGVyOwoJYmFja2dyb3VuZC1jb2xvcjojZjVmNWY1Owp9CgouZmx1aWQtc2VjdGlvbi10d28gLmxvd2VyLWNvbnRlbnQgLmNvbnRlbnQtYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjM1cHggNTVweDsKCW1hcmdpbi10b3A6LTgwcHg7Cglib3JkZXItcmFkaXVzOjEwMHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cglib3JkZXI6NHB4IHNvbGlkICNmZmZmZmY7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI0FFNzYyNiAwJSwgIzNkMjEwMiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI0FFNzYyNiAwJSwgIzNkMjEwMiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNBRTc2MjYgMCUsICMzZDIxMDIgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNBRTc2MjYpLCBjb2xvci1zdG9wKDEwMCwgIzNkMjEwMikpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjQUU3NjI2IDAlLCAjM2QyMTAyIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI0FFNzYyNiAwJSwgIzNkMjEwMiAxMDAlKTsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvIC5pbmZvLWxpc3R7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvIC5pbmZvLWxpc3QgbGl7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKCXRleHQtYWxpZ246bGVmdDsKCXBhZGRpbmctdG9wOjEycHg7CgltaW4taGVpZ2h0OjgwcHg7CglwYWRkaW5nLXJpZ2h0OjgwcHg7CgltYXJnaW4tcmlnaHQ6ODBweDsKCWxpbmUtaGVpZ2h0OjEuOWVtOwoJcGFkZGluZy1sZWZ0OjExNXB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cglib3JkZXItcmlnaHQ6MnB4IHNvbGlkIHJnYmEoMCwwLDAsMC42MCk7Cn0KCi5mbHVpZC1zZWN0aW9uLXR3byAuaW5mby1saXN0IGxpOmxhc3QtY2hpbGR7CgltYXJnaW4tcmlnaHQ6MHB4OwoJcGFkZGluZy1yaWdodDowcHg7Cglib3JkZXI6bm9uZTsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvIC5pbmZvLWxpc3QgbGkgLmljb257Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjgwcHg7CgloZWlnaHQ6ODBweDsKCWZvbnQtc2l6ZTo0NHB4OwoJbGluZS1oZWlnaHQ6NzRweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJYm9yZGVyLXJhZGl1czo1MHB4OwoJYm9yZGVyOjJweCBzb2xpZCAjZmZmZmZmOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChyaWdodCwgI0FFNzYyNiAwJSwgIzNEMjEwMiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAjQUU3NjI2IDAlLCAjM0QyMTAyIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCAjQUU3NjI2IDAlLCAjM0QyMTAyIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGNvbG9yLXN0b3AoMCwgI0FFNzYyNiksIGNvbG9yLXN0b3AoMTAwLCAjM0QyMTAyKSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChyaWdodCwgI0FFNzYyNiAwJSwgIzNEMjEwMiAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAjQUU3NjI2IDAlLCAjM0QyMTAyIDEwMCUpOwp9CgouZmx1aWQtc2VjdGlvbi10d28gLmluZm8tbGlzdCBsaSBzdHJvbmd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWZvbnQtc2l6ZToyNHB4OwoJZGlzcGxheTpibG9jazsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvLnN0eWxlLXR3byAub3V0ZXItY29udGFpbmVyewoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwp9CgouZmx1aWQtc2VjdGlvbi10d28uc3R5bGUtdHdvIC5jb250ZW50LWNvbHVtbiAuY29sdW1uLWxpc3QgbGl7Cgljb2xvcjojNjY2NjY2Owp9CgouZmx1aWQtc2VjdGlvbi10d28uc3R5bGUtdHdvIC5jb250ZW50LWNvbHVtbiAuY29sdW1uLWxpc3QgbGkgc3Ryb25newoJY29sb3I6IzBGNzY2RTsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvLnN0eWxlLXR3byAubG93ZXItY29udGVudCAuY29udGVudC1ib3h7CgliYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgI2MxMjgyYSAwJSwgIzI0MjMzNCAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgI2MxMjgyYSAwJSwgIzI0MjMzNCAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNjMTI4MmEgMCUsICMyNDIzMzQgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAsICNjMTI4MmEpLCBjb2xvci1zdG9wKDEwMCwgIzI0MjMzNCkpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjYzEyODJhIDAlLCAjMjQyMzM0IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2MxMjgyYSAwJSwgIzI0MjMzNCAxMDAlKTsKfQoKLmZsdWlkLXNlY3Rpb24tdHdvLnN0eWxlLXR3byAuaW5mby1saXN0IGxpIC5pY29uewoJYmFja2dyb3VuZC1pbWFnZTpub25lOwoJY29sb3I6I2QwNjExYjsKCWJvcmRlci1jb2xvcjojNDY0NjQ2OwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCVRlc3RpbW9uaWFsIFNlY3Rpb24gVHdvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoudGVzdGltb25pYWwtc2VjdGlvbi10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggMTIwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Cn0KCi50ZXN0aW1vbmlhbC1zZWN0aW9uLXR3by5zdHlsZS10d297CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7CglwYWRkaW5nLWJvdHRvbTo3MHB4Owp9CgoudGVzdGltb25pYWwtc2VjdGlvbi10d28uc3R5bGUtdHdvIC50ZXN0aW1vbmlhbC1ibG9jay10d297CgltYXJnaW4tYm90dG9tOjYwcHg7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jay10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnRlc3RpbW9uaWFsLWJsb2NrLXR3byAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nLXRvcDo3MHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglib3JkZXItcmFkaXVzOjhweDsKCXBhZGRpbmc6NTBweCAzNXB4IDBweDsKfQoKLnRlc3RpbW9uaWFsLWJsb2NrLXR3byAuaW5uZXItYm94OmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXJpZ2h0OjBweDsKCWJvdHRvbTo3MHB4OwoJYm9yZGVyLXJhZGl1czo4cHg7Cgktd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cglib3gtc2hhZG93OjBweCAwcHggMTBweCByZ2JhKDAsMCwwLDAuMTIpOwoJYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1hZ2VzL2JhY2tncm91bmQvcGF0dGVybi0xMC5qcGcpOwp9CgoudGVzdGltb25pYWwtYmxvY2stdHdvIC5pbm5lci1ib3g6aG92ZXI6OmJlZm9yZXsKCWJhY2tncm91bmQtaW1hZ2U6bm9uZTsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKfQoKLnRlc3RpbW9uaWFsLWJsb2NrLXR3byAuaW5uZXItYm94IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MTZweDsKCWxpbmUtaGVpZ2h0OjEuOGVtOwp9CgoudGVzdGltb25pYWwtYmxvY2stdHdvIC5pbm5lci1ib3ggLnJhdGluZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzBGNzY2RTsKCW1hcmdpbi10b3A6MTBweDsKCWZvbnQtc2l6ZToxNnB4Owp9CgoudGVzdGltb25pYWwtYmxvY2stdHdvIC5pbm5lci1ib3ggaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7CglsaW5lLWhlaWdodDoxLjRlbTsKCWZvbnQtd2VpZ2h0OjcwMDsKCW1hcmdpbi10b3A6MTBweDsKfQoKLnRlc3RpbW9uaWFsLWJsb2NrLXR3byAuaW5uZXItYm94IC5kZXNpZ25hdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6Izc3Nzc3NzsKCWZvbnQtc2l6ZToxNnB4OwoJbGluZS1oZWlnaHQ6MS4zZW07CgltYXJnaW4tdG9wOjEwcHg7CgltYXJnaW4tYm90dG9tOjI1cHg7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jay10d28gLmlubmVyLWJveCAuYXV0aG9yLWltYWdlewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi50ZXN0aW1vbmlhbC1ibG9jay10d28gLmlubmVyLWJveCAuYXV0aG9yLWltYWdlIC5pbWFnZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTMzcHg7CgloZWlnaHQ6MTMzcHg7Cglib3JkZXItcmFkaXVzOjUwJTsKCW92ZXJmbG93OmhpZGRlbjsKCW1hcmdpbjowIGF1dG87Cn0KCi50ZXN0aW1vbmlhbC1ibG9jay10d28gLmlubmVyLWJveCAuYXV0aG9yLWltYWdlIC5xdW90ZS1pY29uewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjUwJTsKCWJvdHRvbTotMjBweDsKCWNvbG9yOiNmZmZmZmY7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7CgltYXJnaW4tbGVmdDotMjBweDsKCWxpbmUtaGVpZ2h0OjQwcHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojMEY3NjZFOwp9CgoudGVzdGltb25pYWwtYmxvY2stdHdvLnN0eWxlLXR3byAuaW5uZXItYm94IC5yYXRpbmd7Cgljb2xvcjojMEY3NjZFOwp9CgoudGVzdGltb25pYWwtYmxvY2stdHdvLnN0eWxlLXR3byAuaW5uZXItYm94IC5hdXRob3ItaW1hZ2UgLnF1b3RlLWljb257CgliYWNrZ3JvdW5kLWNvbG9yOiNjMTI4MmE7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJQ29udGFjdCBTZWN0aW9uIFR3bwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLmNvbnRhY3Qtc2VjdGlvbi10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MHB4IDBweCA1MHB4Owp9CgouY29udGFjdC1zZWN0aW9uLXR3byAuaW1hZ2UtY29sdW1uewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjQwcHg7Cn0KCi5jb250YWN0LXNlY3Rpb24tdHdvIC5pbWFnZS1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1yaWdodDoxMDBweDsKfQoKLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiAuaW1hZ2V7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi10b3A6LTEwcHg7Cglib3JkZXItdG9wOjIwcHggc29saWQgIzBGNzY2RTsKfQoKLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiAuaW1hZ2UgaW1newoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDoxMDAlOwoJZGlzcGxheTpibG9jazsKfQoKLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiAuaW1hZ2U6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJcmlnaHQ6LTYwcHg7Cglib3R0b206LTYwcHg7Cgl3aWR0aDozODhweDsKCWhlaWdodDo1MDVweDsKCWJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9iYWNrZ3JvdW5kL3BhdHRlcm4tMTEucG5nKSBuby1yZXBlYXQ7Cn0KCi5jb250YWN0LXNlY3Rpb24tdHdvIC5pbWFnZS1jb2x1bW4gLm51bWJlci1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi10b3A6OTBweDsKfQoKLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiAubnVtYmVyLWJveCAuYm94LWlubmVyewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nLWxlZnQ6MTA1cHg7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjMwcHg7Cglmb250LXdlaWdodDo1MDA7CglsaW5lLWhlaWdodDoxLjNlbTsKCXBhZGRpbmctdG9wOjZweDsKfQoKLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiAubnVtYmVyLWJveCAuaWNvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6ODBweDsKCWhlaWdodDo4MHB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZTozOHB4OwoJYm9yZGVyLXJhZGl1czo1MHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7CglsaW5lLWhlaWdodDo4MHB4OwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICNBRTc2MjYgMCUsICMzZDIxMDIgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNBRTc2MjYgMCUsICMzZDIxMDIgMTAwJSk7CiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjQUU3NjI2IDAlLCAjM2QyMTAyIDEwMCUpOwogICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwLCAjQUU3NjI2KSwgY29sb3Itc3RvcCgxMDAsICMzZDIxMDIpKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgI0FFNzYyNiAwJSwgIzNkMjEwMiAxMDAlKTsKICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNBRTc2MjYgMCUsICMzZDIxMDIgMTAwJSk7Cn0KCi5jb250YWN0LXNlY3Rpb24tdHdvIC5pbWFnZS1jb2x1bW4gLm51bWJlci1ib3ggc3Ryb25newoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZTozMHB4OwoJZm9udC13ZWlnaHQ6NzAwOwp9CgouY29udGFjdC1zZWN0aW9uLXR3byAuZm9ybS1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NDBweDsKfQoKLmNvbnRhY3Qtc2VjdGlvbi10d28gLmZvcm0tY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmctdG9wOjkwcHg7Cn0KCi5jb250YWN0LXNlY3Rpb24tdHdvIC5mb3JtLWNvbHVtbiAucHJvZ3JhbXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW4tYm90dG9tOjI1cHg7Cn0KCi5jb250YWN0LXNlY3Rpb24tdHdvLnN0eWxlLXR3byAuaW1hZ2UtY29sdW1uIC5pbWFnZXsKCWJvcmRlci1jb2xvcjojMEY3NjZFOwp9CgouY29udGFjdC1zZWN0aW9uLXR3by5zdHlsZS10d28gLmltYWdlLWNvbHVtbiAubnVtYmVyLWJveCAuaWNvbnsKCWJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMEY3NjZFIDAlLCAjMjQyMzM0IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjMEY3NjZFIDAlLCAjMjQyMzM0IDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgIzBGNzY2RSAwJSwgIzI0MjMzNCAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCwgIzBGNzY2RSksIGNvbG9yLXN0b3AoMTAwLCAjMjQyMzM0KSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMwRjc2NkUgMCUsICMyNDIzMzQgMTAwJSk7CgliYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMEY3NjZFIDAlLCAjMjQyMzM0IDEwMCUpOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCUZvb3RlciBTdHlsZSBUd28KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5mb290ZXItc3R5bGUtdHdvewoJcG9zaXRpb246cmVsYXRpdmU7CgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC53aWRnZXRzLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6ODBweCAwcHg7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC53aWRnZXRzLXNlY3Rpb24gLnVwcGVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToyMHB4Owp9CgouZm9vdGVyLXN0eWxlLXR3byAudXBwZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC51cHBlci1ib3ggLnRpdGxlLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgouZm9vdGVyLXN0eWxlLXR3byAudXBwZXItYm94IC50aXRsZS1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouZm9vdGVyLXN0eWxlLXR3byAudXBwZXItYm94IGg0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjMwcHg7CglsaW5lLWhlaWdodDoxLjNlbTsKCWZvbnQtd2VpZ2h0OjcwMDsKfQoKLmZvb3Rlci1zdHlsZS10d28gLnVwcGVyLWJveCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNnB4OwoJbGluZS1oZWlnaHQ6MS4zZW07CgltYXJnaW4tdG9wOjE0cHg7CglvcGFjaXR5OjAuNzsKfQoKLmZvb3Rlci1zdHlsZS10d28gLnVwcGVyLWJveCAuZm9ybS1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MzBweDsKfQoKLmZvb3Rlci1zdHlsZS10d28gLnVwcGVyLWJveCAuZm9ybS1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy10b3A6MTVweDsKfQoKLyogTmV3c2xldHR0ZXIgRm9ybSAqLwoKLmZvb3Rlci1zdHlsZS10d28gLm5ld3NsZXR0ZXItZm9ybXsKCW1hcmdpbi1ib3R0b206MzVweDsKfQoKLmZvb3Rlci1zdHlsZS10d28gLm5ld3NsZXR0ZXItZm9ybSAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCW1hcmdpbi1ib3R0b206MTBweDsKfQoKLmZvb3Rlci1zdHlsZS10d28gLm5ld3NsZXR0ZXItZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il0sCi5mb290ZXItc3R5bGUtdHdvIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXdpZHRoOjEwMCU7CglsaW5lLWhlaWdodDoyNnB4OwoJcGFkZGluZzoxMHB4IDg1cHggMTBweCAyNXB4OwoJaGVpZ2h0OjUwcHg7Cglmb250LXNpemU6MTVweDsKCWNvbG9yOiNmZmZmZmY7CgliYWNrZ3JvdW5kOm5vbmU7Cglib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwkKfQoKLmZvb3Rlci1zdHlsZS10d28gLm5ld3NsZXR0ZXItZm9ybSAuZm9ybS1ncm91cCBidXR0b257Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjBweDsKCXRvcDowcHg7CglwYWRkaW5nOjEzcHggMjBweDsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6I2ZmZmZmZjsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojMEY3NjZFOwoJY3Vyc29yOnBvaW50ZXI7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC53aWRnZXRzLXNlY3Rpb24gLmxvd2VyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJYm9yZGVyLXRvcDoxcHggc29saWQgIzBGNzY2RTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICMwRjc2NkU7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC5sb3dlci1ib3ggLmZvb3Rlci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjMzLjMzMyU7CglmbG9hdDpsZWZ0OwoJYm9yZGVyLXJpZ2h0OjFweCBzb2xpZCAjMEY3NjZFOwp9CgouZm9vdGVyLXN0eWxlLXR3byAubG93ZXItYm94IC5mb290ZXItY29sdW1uOmxhc3QtY2hpbGR7Cglib3JkZXItcmlnaHQ6MHB4Owp9CgouZm9vdGVyLXN0eWxlLXR3byAubG93ZXItYm94IC5mb290ZXItY29sdW1uIC5mb290ZXItd2lkZ2V0ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjUwcHggNDBweDsKfQoKLmZvb3Rlci1zdHlsZS10d28gLmZvb3Rlci10aXRsZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToyMHB4OwoJbWFyZ2luLXRvcDoyMHB4Owp9CgouZm9vdGVyLXN0eWxlLXR3byAuZm9vdGVyLXdpZGdldCBoNHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC13ZWlnaHQ6NzAwOwoJY29sb3I6I2ZmZmZmZjsKCWxpbmUtaGVpZ2h0OjEuMmVtOwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLmZvb3Rlci1zdHlsZS10d28gLmluZm8tbGlzdHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouZm9vdGVyLXN0eWxlLXR3byAuaW5mby1saXN0IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxLjllbTsKCWZvbnQtc2l6ZToxNnB4OwoJcGFkZGluZy1sZWZ0OjM1cHg7CgltYXJnaW4tYm90dG9tOjIwcHg7Cgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjApOwp9CgouZm9vdGVyLXN0eWxlLXR3byAuaW5mby1saXN0IGxpIHN0cm9uZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCWZvbnQtd2VpZ2h0OjcwMDsKCWNvbG9yOiMwRjc2NkU7Cglmb250LXNpemU6MjBweDsKfQoKLmZvb3Rlci1zdHlsZS10d28gLmluZm8tbGlzdCBsaSAuaWNvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6OHB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxNnB4OwoJbGluZS1oZWlnaHQ6MWVtOwp9CgouZm9vdGVyLXN0eWxlLXR3byAuaW5mby1saXN0IGxpOmxhc3QtY2hpbGR7CgltYXJnaW4tYm90dG9tOjBweDsKfQoKLmZvb3Rlci1zdHlsZS10d28gLmxvZ297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246Y2VudGVyOwp9CgouZm9vdGVyLXN0eWxlLXR3byAubG9nby10ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MTZweDsKCWxpbmUtaGVpZ2h0OjEuOWVtOwoJdGV4dC1hbGlnbjpjZW50ZXI7CgltYXJnaW4tdG9wOjI1cHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCW1hcmdpbi1ib3R0b206MjBweDsKCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC44MCk7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC5zb2NpYWwtaWNvbi10d297Cgl0ZXh0LWFsaWduOmNlbnRlcjsKfQoKLmZvb3Rlci1zdHlsZS10d28gLmZvb3Rlci1saXN0ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC5mb290ZXItbGlzdCBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToxNXB4Owp9CgouZm9vdGVyLXN0eWxlLXR3byAuZm9vdGVyLWxpc3QgbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCW9wYWNpdHk6MC43OwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDo0MDA7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgouZm9vdGVyLXN0eWxlLXR3byAuZm9vdGVyLWxpc3QgbGkgYTpob3ZlcnsKCWNvbG9yOiMwRjc2NkU7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC5mb290ZXItYm90dG9tewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjI1cHggMHB4OwoJYmFja2dyb3VuZC1jb2xvcjojMEY3NjZFOwp9CgouZm9vdGVyLXN0eWxlLXR3byAuZm9vdGVyLWJvdHRvbSAuY29weXJpZ2h0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE2cHg7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC5mb290ZXItYm90dG9tIC5mb290ZXItbmF2ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5mb290ZXItc3R5bGUtdHdvIC5mb290ZXItYm90dG9tIC5mb290ZXItbmF2IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCW1hcmdpbi1sZWZ0OjE4cHg7CglsaW5lLWhlaWdodDoxLjFlbTsKfQoKLmZvb3Rlci1zdHlsZS10d28gLmZvb3Rlci1ib3R0b20gLmZvb3Rlci1uYXYgbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzM3MWMwMDsKCWZvbnQtc2l6ZToxNnB4OwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsJCn0KCi5mb290ZXItc3R5bGUtdHdvIC5mb290ZXItYm90dG9tIC5mb290ZXItbmF2IGxpOmxhc3QtY2hpbGR7CglwYWRkaW5nLXJpZ2h0OjBweDsKCW1hcmdpbi1yaWdodDowcHg7Cglib3JkZXItcmlnaHQ6MHB4Owp9CgouZm9vdGVyLXN0eWxlLXR3byAuZm9vdGVyLWJvdHRvbSAuZm9vdGVyLW5hdiBsaSBhOmhvdmVyewoJY29sb3I6I2ZmZmZmZjsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglQYWdlIFRpdGxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoucGFnZS10aXRsZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoxNzBweCAwcHggMTEwcHg7CgliYWNrZ3JvdW5kLXNpemU6Y292ZXI7CgliYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7CgliYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CgliYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwp9CgoucGFnZS10aXRsZSAuYXV0by1jb250YWluZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnBhZ2UtdGl0bGUgLnRpdGxlewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE2cHg7CgltYXJnaW4tYm90dG9tOjEycHg7Cn0KCi5wYWdlLXRpdGxlIGgyewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC13ZWlnaHQ6NzAwOwoJbGluZS1oZWlnaHQ6MS4yZW07CgltYXJnaW4tYm90dG9tOiAxMHB4OwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLnBhZ2UtYnJlYWRjcnVtYnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDozMHB4Owp9CgoucGFnZS1icmVhZGNydW1iIGxpewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCW1hcmdpbi1yaWdodDoxMHB4OwoJcGFkZGluZy1yaWdodDoxNXB4OwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZToxOHB4OwoJZm9udC13ZWlnaHQ6NTAwOwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLnBhZ2UtYnJlYWRjcnVtYiBsaTphZnRlcnsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDogIlxmMTA1IjsKCXJpZ2h0Oi0ycHg7Cgl0b3A6LTFweDsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTRweDsKCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOwp9CgoucGFnZS1icmVhZGNydW1iIGxpOmxhc3QtY2hpbGQ6OmFmdGVyewoJZGlzcGxheTogbm9uZTsKfQoKLnBhZ2UtYnJlYWRjcnVtYiBsaTpsYXN0LWNoaWxkewoJcGFkZGluZy1yaWdodDowcHg7CgltYXJnaW4tcmlnaHQ6MHB4Owp9CgoucGFnZS1icmVhZGNydW1iIGxpIGF7Cgljb2xvcjojZmZmZmZmOwoJZm9udC13ZWlnaHQ6NTAwOwoJdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLnBhZ2UtYnJlYWRjcnVtYiBsaSBhOmhvdmVyewoJY29sb3I6I2NmNjAxYjsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglGYXEncyBQYWdlIFNlY3Rpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5mYXEtcGFnZS1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjk1cHggMHB4IDcwcHg7Cn0KCi5mYXEtcGFnZS1zZWN0aW9uIC5zZWMtdGl0bGV7CgltYXJnaW4tYm90dG9tOjUwcHg7Cn0KCi5mYXEtcGFnZS1zZWN0aW9uIC5hY2NvcmRpYW4tY29sdW1uewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjQwcHg7Cn0KCi5mYXEtcGFnZS1zZWN0aW9uIC5hY2NvcmRpYW4tY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglBY2NvcmRpb24gU3R5bGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5hY2NvcmRpb24tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cglib3JkZXI6MXB4IHNvbGlkICNkN2Q3ZDc7Cn0KCi5hY2NvcmRpb24tYm94IC5ibG9ja3sKCXBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbi1ib3R0b206MHB4OwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2Q3ZDdkNzsKfQoKLmFjY29yZGlvbi1ib3ggLmJsb2NrLmFjdGl2ZS1ibG9ja3sKCQp9CgouYWNjb3JkaW9uLWJveCAuYmxvY2s6bGFzdC1jaGlsZHsKCWJvcmRlci1ib3R0b206MHB4Owp9CgouYWNjb3JkaW9uLWJveCAuYmxvY2sgLmFjYy1idG57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNnB4OwoJY3Vyc29yOnBvaW50ZXI7CglsaW5lLWhlaWdodDozNHB4OwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtd2VpZ2h0OjYwMDsKCWJhY2tncm91bmQ6bm9uZTsKCXBhZGRpbmc6MTNweCA1MHB4IDEzcHggODVweDsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cglmb250LWZhbWlseTogJ1BvcHBpbnMnLCBzYW5zLXNlcmlmOwp9CgouYWNjb3JkaW9uLWJveCAuYmxvY2sgLmFjYy1idG4uYWN0aXZlewoJCn0KCi5hY2NvcmRpb24tYm94IC5ibG9jayAuaWNvbi1vdXRlcnsKCXBvc2l0aW9uOmFic29sdXRlOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6NjBweDsKCWhlaWdodDo2MHB4OwoJZm9udC1zaXplOjIwcHg7Cgljb2xvcjogIzBGNzY2RTsKCWJvcmRlci1yYWRpdXM6MHB4OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWJvcmRlci1yaWdodDoxcHggc29saWQgI2Q3ZDdkNzsKfQoKLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5hY2MtYnRuLmFjdGl2ZXsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkN2Q3ZDc7Cn0KCi5hY2NvcmRpb24tYm94IC5ibG9jayAuaWNvbi1vdXRlciAuaWNvbnsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKCXJpZ2h0OiAwcHg7Cgl3aWR0aDo2MHB4OwoJaGVpZ2h0OjYwcHg7Cgljb2xvcjojMEY3NjZFOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwoJbGluZS1oZWlnaHQ6NjBweDsKfQoKLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5pY29uLW91dGVyIC5pY29uLXBsdXN7CglvcGFjaXR5OjE7Cn0KCi5hY2NvcmRpb24tYm94IC5ibG9jayAuaWNvbi1vdXRlciAuaWNvbi1taW51c3sKCW9wYWNpdHk6MDsKfQoKLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5hY2MtYnRuLmFjdGl2ZSAuaWNvbi1vdXRlciAuaWNvbi1taW51c3sKCW9wYWNpdHk6MTsKfQoKLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5hY2MtYnRuLmFjdGl2ZSAuaWNvbi1vdXRlciAuaWNvbi1wbHVzewoJb3BhY2l0eTowOwp9CgouYWNjb3JkaW9uLWJveCAuYmxvY2sgLmFjYy1jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5Om5vbmU7Cn0KCi5hY2NvcmRpb24tYm94IC5ibG9jayAuYWNjLWNvbnRlbnQgLmNvbnRlbnQtdGV4dHsKCXBhZGRpbmctYm90dG9tOjZweDsKfQoKLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5hY2MtY29udGVudC5jdXJyZW50ewoJZGlzcGxheTpibG9jazsJCn0KCi5hY2NvcmRpb24tYm94IC5ibG9jayAuY29udGVudHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE2cHg7Cgljb2xvcjojNjY2NjY2OwoJbGluZS1oZWlnaHQ6MS44ZW07CglwYWRkaW5nOjMwcHggMzVweCAzMHB4IDMwcHg7Cn0KCi5hY2NvcmRpb24tYm94IC5ibG9jayAuY29udGVudCAuYWNjb3JkaWFuLXRleHR7CglsaW5lLWhlaWdodDoxLjllbTsKCWZvbnQtc2l6ZToxNnB4OwkKCWNvbG9yOiM4NDg1OGE7Cglmb250LXdlaWdodDo2MDA7Cn0KCi5hY2NvcmRpb24tYm94IC5ibG9jayAuY29udGVudCBwOmxhc3QtY2hpbGR7CgltYXJnaW4tYm90dG9tOjBweDsJCn0KCi5mYXEtcGFnZS1zZWN0aW9uIC5mb3JtLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo0MHB4Owp9CgouZmFxLXBhZ2Utc2VjdGlvbiAuZm9ybS1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1sZWZ0OjMwcHg7Cn0KCi5mYXEtcGFnZS1zZWN0aW9uIC5mb3JtLWNvbHVtbiAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgouZmFxLXBhZ2Utc2VjdGlvbiAuZm9ybS1jb2x1bW4gLmZvcm0tZ3JvdXAgaW5wdXR7CgloZWlnaHQ6NjRweDsKfQoKLypFcnJvciBTZWN0aW9uKi8KCi5lcnJvci1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjEwMHB4IDBweCAxMDBweDsKfQoKLmVycm9yLXNlY3Rpb24gLmNvbnRlbnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246Y2VudGVyOwp9CgouZXJyb3Itc2VjdGlvbiBoMXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToxODBweDsKCWZvbnQtd2VpZ2h0OjYwMDsKCWxpbmUtaGVpZ2h0OjFlbTsKCW1hcmdpbi1ib3R0b206MTBweDsKfQoKLmVycm9yLXNlY3Rpb24gaDJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6NTBweDsKCWZvbnQtd2VpZ2h0OjMwMDsKCWxpbmUtaGVpZ2h0OjEuMmVtOwoJbWFyZ2luLWJvdHRvbToxMHB4Owp9CgouZXJyb3Itc2VjdGlvbiAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToyMHB4OwoJZm9udC13ZWlnaHQ6MzAwOwoJbWFyZ2luLXRvcDoyMHB4OwoJbWFyZ2luLWJvdHRvbTozMHB4Owp9CgoKLyogQ29tbWluZyBTb29uICovCgouY29tbWluZy1zb29uewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXBhZGRpbmc6MTAwcHggMHB4IDEwMHB4Owp9CgouY29tbWluZy1zb29uIC5jb250ZW50ewoJcG9zaXRpb246IHJlbGF0aXZlOwp9CgouY29tbWluZy1zb29uIC5jb250ZW50IC5jb250ZW50LWlubmVyewoJcG9zaXRpb246IHJlbGF0aXZlOwp9CgouY29tbWluZy1zb29uIC5jb250ZW50IC5jb250ZW50LWlubmVyIGgyewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjkwcHg7Cglmb250LXdlaWdodDozMDA7CglsaW5lLWhlaWdodDoxLjJlbTsKCW1hcmdpbi1ib3R0b206ODBweDsKfQoKLmNvbW1pbmctc29vbiAuY29udGVudCAuY29udGVudC1pbm5lciAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToyMHB4OwoJZm9udC13ZWlnaHQ6MzAwOwoJbGluZS1oZWlnaHQ6MS42ZW07CgltYXJnaW4tdG9wOjI4cHg7CgltYXJnaW4tYm90dG9tOjYwcHg7CglsZXR0ZXItc3BhY2luZzoxcHg7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJQ291bnRkb3duIHN0eWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoudGltZS1jb3VudGVyewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi50aW1lLWNvdW50ZXIgLnRpbWUtY291bnRkb3duewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi50aW1lLWNvdW50ZXIgLnRpbWUtY291bnRkb3duIC5jb3VudGVyLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luOjBweCAxNXB4IDBweDsKCXdpZHRoOjE3MHB4OwoJaGVpZ2h0OjE3MHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCXBhZGRpbmc6MTBweCAwcHggMTBweDsKCWJvcmRlcjoycHggc29saWQgIzIyMjIyMjsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MThweDsKCWxpbmUtaGVpZ2h0OjMwcHg7Cgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Cglmb250LXdlaWdodDozMDA7CgltYXJnaW4tYm90dG9tOjMwcHg7Cn0KCi50aW1lLWNvdW50ZXIgLnRpbWUtY291bnRkb3duIC5jb3VudGVyLWNvbHVtbiAuY291bnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7Cglmb250LXNpemU6NjVweDsKCWxpbmUtaGVpZ2h0OjQwcHg7CglwYWRkaW5nOjMwcHggMTBweDsKCWNvbG9yOiMyMjIyMjI7CglsZXR0ZXItc3BhY2luZzoxcHg7Cglmb250LXdlaWdodDozMDA7Cn0KCi5jb21taW5nLXNvb24gLmVtYWlsZWQtZm9ybSAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCW1heC13aWR0aDo2NTBweDsKCW1hcmdpbjowIGF1dG87Cgl3aWR0aDoxMDAlOwoJbWFyZ2luLWJvdHRvbToyMHB4Owp9CgouY29tbWluZy1zb29uIC5lbWFpbGVkLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLAouY29tbWluZy1zb29uIC5lbWFpbGVkLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGVsIl0sCi5jb21taW5nLXNvb24gLmVtYWlsZWQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdLAouY29tbWluZy1zb29uIC5lbWFpbGVkLWZvcm0gLmZvcm0tZ3JvdXAgdGV4dGFyZWF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7Cgl3aWR0aDoxMDAlOwoJbGluZS1oZWlnaHQ6MjBweDsKCWhlaWdodDo2MHB4OwoJZm9udC1zaXplOjE0cHg7Cgljb2xvcjojNzk3OTc5OwoJb3ZlcmZsb3c6aGlkZGVuOwoJcGFkZGluZzoxMHB4IDUwcHggMTBweCAzMHB4OwoJYmFja2dyb3VuZDojZmZmZmZmOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCWJvcmRlcjoxcHggc29saWQgI2NjY2NjYzsKfQoKLmNvbW1pbmctc29vbiAuZW1haWxlZC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InN1Ym1pdCJdLAouY29tbWluZy1zb29uIC5lbWFpbGVkLWZvcm0gYnV0dG9uewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDo1cHg7Cgl0b3A6NXB4OwoJd2lkdGg6MTYwcHg7CgloZWlnaHQ6NTBweDsKCWxpbmUtaGVpZ2h0OjQwcHg7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE0cHg7Cglmb250LXdlaWdodDozMDA7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJhY2tncm91bmQ6IzIyMjIyMjsKCWxldHRlci1zcGFjaW5nOjFweDsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJU2lkZWJhciBQYWdlIENvbnRhaW5lcgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnNpZGViYXItcGFnZS1jb250YWluZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MTAwcHggMHB4IDYwcHg7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb250ZW50LXNpZGUsCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5zaWRlYmFyLXNpZGV7CgltYXJnaW4tYm90dG9tOjQwcHg7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5zaWRlYmFyLXNpZGUgLnNpZGViYXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLyogU2VydmljZSBEZXRhaWwgKi8KCi5zZXJ2aWNlLWRldGFpbHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9Cgouc2VydmljZS1kZXRhaWwgLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9Cgouc2VydmljZS1kZXRhaWwgLmlubmVyLWJveCAuaW1hZ2V7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNlcnZpY2UtZGV0YWlsIC5pbm5lci1ib3ggLmltYWdlIGltZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWRpc3BsYXk6YmxvY2s7Cn0KCi5zZXJ2aWNlLWRldGFpbCAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nLXRvcDoyNXB4Owp9Cgouc2VydmljZS1kZXRhaWwgLmlubmVyLWJveCAubG93ZXItY29udGVudCBoMnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtd2VpZ2h0OjYwMDsKfQoKLnNlcnZpY2UtZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNlcnZpY2UtZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnRleHQgcHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbGluZS1oZWlnaHQ6MS44ZW07Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE2cHg7Cn0KCi5zZXJ2aWNlLWRldGFpbCAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGgzewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwoJZm9udC13ZWlnaHQ6NjAwOwoJbWFyZ2luLWJvdHRvbToxMnB4Owp9Cgouc2VydmljZS1kZXRhaWwgLmlubmVyLWJveCAubG93ZXItY29udGVudCAudHdvLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy10b3A6NDVweDsKCW1hcmdpbi10b3A6MzVweDsKCW1hcmdpbi1ib3R0b206NDBweDsKCWJvcmRlci10b3A6MXB4IHNvbGlkICNlYmViZWI7Cn0KCi8qU2lkZWJhciBXaWRnZXQqLwoKLnNpZGViYXItd2lkZ2V0ewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoKLypCbG9nIENhdGVnb3J5Ki8KCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5IC53aWRnZXQtY29udGVudHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzo0MHB4IDM1cHg7Cn0KCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5IC53aWRnZXQtY29udGVudDpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7CglyaWdodDowcHg7CgloZWlnaHQ6MzAwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Cn0KCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5IC5zZXJ2aWNlcy1jYXR7Cglib3gtc2hhZG93OjBweCAwcHggMTBweCByZ2JhKDAsMCwwLDAuMTApOwp9Cgouc2lkZWJhci1zZXJ2aWNlcy1jYXRlZ29yeSBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToxcHg7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKfQoKLnNpZGViYXItc2VydmljZXMtY2F0ZWdvcnkgbGk6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDowcHg7Cgl0b3A6MHB4OwoJd2lkdGg6MHB4OwoJaGVpZ2h0OjEwMCU7Cgl6LWluZGV4OjE7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjQzEyODJBIDAlLCAjRDE2NTFBIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI0MxMjgyQSAwJSwgI0QxNjUxQSAxMDAlKTsKCWJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjQzEyODJBIDAlLCAjRDE2NTFBIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgI0MxMjgyQSksIGNvbG9yLXN0b3AoMTAwLCAjRDE2NTFBKSk7CgliYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjQzEyODJBIDAlLCAjRDE2NTFBIDEwMCUpOwoJYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjQzEyODJBIDAlLCAjRDE2NTFBIDEwMCUpOwp9Cgouc2lkZWJhci1zZXJ2aWNlcy1jYXRlZ29yeSBsaTpob3Zlcjo6YmVmb3JlLAouc2lkZWJhci1zZXJ2aWNlcy1jYXRlZ29yeSBsaS5hY3RpdmU6OmJlZm9yZXsKCXdpZHRoOjEwMCU7Cn0KCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5IGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MTVweDsKCWZvbnQtd2VpZ2h0OjYwMDsKCWRpc3BsYXk6YmxvY2s7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYWNhY2FjOwoJcGFkZGluZzoyMHB4IDMycHggMTZweCAzOHB4OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKfQoKLnNpZGViYXItc2VydmljZXMtY2F0ZWdvcnkgbGk6bGFzdC1jaGlsZCBhewoJYm9yZGVyLWJvdHRvbTowcHg7Cn0KCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5IGxpIGEgc3BhbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJei1pbmRleDoxOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKfQoKLnNpZGViYXItc2VydmljZXMtY2F0ZWdvcnkgbGkuYWN0aXZlIGEgc3BhbiwKLnNpZGViYXItc2VydmljZXMtY2F0ZWdvcnkgbGk6aG92ZXIgYSBzcGFuewoJY29sb3I6I2ZmZmZmZjsKfQoKLnNpZGViYXItc2VydmljZXMtY2F0ZWdvcnkgbGkgYTpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6J1xmMGQ5JzsKCWxlZnQ6MjJweDsKCXRvcDoxOHB4OwoJY29sb3I6IzBGNzY2RTsKCWZvbnQtc2l6ZToxOHB4OwoJei1pbmRleDoxOwoJZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9Cgouc2lkZWJhci1zZXJ2aWNlcy1jYXRlZ29yeSBsaS5hY3RpdmUgYTpiZWZvcmUsCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5IGxpOmhvdmVyIGE6OmJlZm9yZXsKCWNvbG9yOiNmZmZmZmY7Cn0KCi5zaWRlYmFyLXNlcnZpY2VzLWNhdGVnb3J5IGxpLmFjdGl2ZSBhLAouc2lkZWJhci1zZXJ2aWNlcy1jYXRlZ29yeSBsaSBhOmhvdmVyewoJY29sb3I6I2ZmZmZmZjsKfQoKLyogQnJvY2h1cmUgQm94ICovCgouYnJvY2h1cmUtYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjEwcHg7Cglib3JkZXItcmFkaXVzOjBweDsKCXBhZGRpbmc6MjBweCAxNXB4IDIwcHggMzBweDsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCWJhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgouYnJvY2h1cmUtYm94IC5pbm5lcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1sZWZ0OjYwcHg7CglwYWRkaW5nLXJpZ2h0OjYwcHg7Cn0KCi5icm9jaHVyZS1ib3ggLmlubmVyIC5kb3dubG9hZHsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MTBweDsKCXRvcDo1cHg7CglvcGFjaXR5OjAuNzsKCWNvbG9yOiMwMDAwMDA7Cglmb250LXNpemU6MThweDsKCWxpbmUtaGVpZ2h0OjFlbTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgouYnJvY2h1cmUtYm94OmhvdmVyIC5pbm5lciAuZG93bmxvYWR7Cgljb2xvcjojZmZmZmZmOwoJb3BhY2l0eTo5Owp9CgouYnJvY2h1cmUtYm94IC5vdmVybGF5LWxpbmt7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWRpc3BsYXk6YmxvY2s7Cn0KCi5icm9jaHVyZS1ib3ggLmlubmVyIC5pY29uewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgljb2xvcjojMDAwMDAwOwoJZm9udC1zaXplOjI4cHg7Cglmb250LXdlaWdodDo1MDA7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLmJyb2NodXJlLWJveCAuaW5uZXIgLnRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJY29sb3I6IzY2NjY2NjsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgouYnJvY2h1cmUtYm94OmhvdmVyewoJYmFja2dyb3VuZC1jb2xvcjojY2Y1YzFkOwp9CgouYnJvY2h1cmUtYm94OmhvdmVyIC5pY29uLAouYnJvY2h1cmUtYm94OmhvdmVyIC50ZXh0ewoJY29sb3I6I2ZmZmZmZjsKfQoKLyogQ29udGFjdCBXaWRnZXQgKi8KCi5jb250YWN0LXdpZGdldCAud2lkZ2V0LWNvbnRlbnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6NTBweCAzMHB4IDUwcHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJhY2tncm91bmQtY29sb3I6IzIyMjIyMjsKfQoKLmNvbnRhY3Qtd2lkZ2V0IC53aWRnZXQtY29udGVudCAuaWNvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCWZvbnQtc2l6ZTo1NnB4OwoJbGluZS1oZWlnaHQ6MWVtOwp9CgouY29udGFjdC13aWRnZXQgLndpZGdldC1jb250ZW50IC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MjBweDsKCWNvbG9yOiNmZmZmZmY7CglsaW5lLWhlaWdodDoxLjhlbTsKCW1hcmdpbi10b3A6MThweDsKfQoKLmNvbnRhY3Qtd2lkZ2V0IC53aWRnZXQtY29udGVudCAubnVtYmVyewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MzBweDsKCWNvbG9yOiNmZmZmZmY7CglsaW5lLWhlaWdodDoxLjRlbTsKCW1hcmdpbi10b3A6MThweDsKCWZvbnQtd2VpZ2h0OjcwMDsKfQoKLmNvbnRhY3Qtd2lkZ2V0IC53aWRnZXQtY29udGVudCAuZW1haWx7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6I2ZmZmZmZjsKCWxpbmUtaGVpZ2h0OjEuNGVtOwoJbWFyZ2luLXRvcDo1cHg7Cglmb250LXdlaWdodDo0MDA7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJUHJvamVjdHMgUGFnZSBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoucHJvamVjdHMtcGFnZS1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjk1cHggMHB4IDk1cHg7Cn0KCi5wcm9qZWN0cy1wYWdlLXNlY3Rpb24gLmZpbHRlcnN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206NTVweDsKCXRleHQtYWxpZ246Y2VudGVyOwp9CgoucHJvamVjdHMtcGFnZS1zZWN0aW9uIC5maWx0ZXJzIC5maWx0ZXItdGFic3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzowcHggMTJweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojZjVmNWY1OwoJYm9yZGVyOjFweCBzb2xpZCAjZTFlMWUxOwp9CgoucHJvamVjdHMtcGFnZS1zZWN0aW9uIC5maWx0ZXJzIGxpewoJcG9zaXRpb246IHJlbGF0aXZlOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgY29sb3I6ICM2NjY2NjY7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBmb250LXdlaWdodDogNDAwOwoJcGFkZGluZzo5cHggMjBweDsKICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwp9CgoucHJvamVjdHMtcGFnZS1zZWN0aW9uIC5maWx0ZXJzIC5maWx0ZXIuYWN0aXZlLAoucHJvamVjdHMtcGFnZS1zZWN0aW9uIC5maWx0ZXJzIC5maWx0ZXI6aG92ZXJ7CiAgICBjb2xvcjojZmZmZmZmOwoJYmFja2dyb3VuZC1jb2xvcjojY2Y1ZDFjOwp9CgoucHJvamVjdC1ibG9jay5taXh7CglkaXNwbGF5Om5vbmU7Cn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJUHJvamVjdHMgRGV0YWlsIFNlY3Rpb24KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCioqKi8KCi5wcm9qZWN0cy1kZXRhaWwtc2VjdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoxMDBweCAwcHggOTVweDsKfQoKLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5hdXRvLWNvbnRhaW5lcnsKCW1heC13aWR0aDo5NzBweDsKfQoKLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5pbWFnZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgoucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmltYWdlIGltZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJd2lkdGg6MTAwJTsKCWRpc3BsYXk6YmxvY2s7Cn0KCi5wcm9qZWN0cy1kZXRhaWwtc2VjdGlvbiAuaW1hZ2UgLnByb2plY3QtaW5mb3sKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MzBweDsKCXRvcDoxMDAlOwoJbWF4LXdpZHRoOjM0MHB4OwoJd2lkdGg6MTAwJTsKCW1hcmdpbi10b3A6LTEyNXB4Owp9CgoucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmltYWdlIC5wcm9qZWN0LWluZm8gLmluZm8taW5uZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MzBweCAzMHB4OwoJZGlzcGxheTpibG9jazsKCWJhY2tncm91bmQtY29sb3I6I2MxMjgyYTsKfQoKLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5pbWFnZSAucHJvamVjdC1pbmZvIC5pbmZvLWlubmVyIGgzewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC13ZWlnaHQ6NzAwOwoJbGluZS1oZWlnaHQ6MS4zZW07CgltYXJnaW4tYm90dG9tOjI0cHg7Cn0KCi5wcm9qZWN0cy1kZXRhaWwtc2VjdGlvbiAuaW1hZ2UgLnByb2plY3QtaW5mbyAuaW5mby1pbm5lciB1bHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgoucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmltYWdlIC5wcm9qZWN0LWluZm8gLmluZm8taW5uZXIgdWwgbGl7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKCW1hcmdpbi1ib3R0b206MTVweDsKfQoKLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5pbWFnZSAucHJvamVjdC1pbmZvIC5pbmZvLWlubmVyIHVsIGxpIHNwYW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXJpZ2h0OjBweDsKCXdpZHRoOjUwJTsKCWZsb2F0OnJpZ2h0Owp9CgoucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmxvd2VyLWNvbnRlbnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmctdG9wOjI1cHg7Cn0KCi5wcm9qZWN0cy1kZXRhaWwtc2VjdGlvbiAubG93ZXItY29udGVudCAudGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMwRjc2NkU7Cglmb250LXNpemU6MTRweDsKCWxpbmUtaGVpZ2h0OjEuM2VtOwp9CgoucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmxvd2VyLWNvbnRlbnQgaDJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7CglsaW5lLWhlaWdodDoxLjNlbTsKCWZvbnQtd2VpZ2h0OjcwMDsKCW1hcmdpbi10b3A6MTBweDsKCW1hcmdpbi1ib3R0b206MTJweDsKfQoKLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5sb3dlci1jb250ZW50IHB7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM2NjY2NjY7Cglmb250LXNpemU6MTZweDsKCWxpbmUtaGVpZ2h0OjEuOGVtOwoJbWFyZ2luLWJvdHRvbToxMnB4Owp9CgoucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmxvd2VyLWNvbnRlbnQgaDN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7CglsaW5lLWhlaWdodDoxLjNlbTsKCWZvbnQtd2VpZ2h0OjcwMDsKCW1hcmdpbi10b3A6MTBweDsKCW1hcmdpbi1ib3R0b206MTJweDsKfQoKLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5sb3dlci1jb250ZW50IC50d28tY29sdW1uewoJbWFyZ2luLXRvcDoyNXB4Owp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCVN0eWxlZCBQYWdpbmF0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgouc3R5bGVkLXBhZ2luYXRpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnN0eWxlZC1wYWdpbmF0aW9uIGxpewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW46MHB4IDRweCAxMHB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5zdHlsZWQtcGFnaW5hdGlvbiBsaSBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE0cHg7Cglmb250LXdlaWdodDo0MDA7CglsaW5lLWhlaWdodDozOHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWJvcmRlcjoxcHggc29saWQgI2NjY2NjYzsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9Cgouc3R5bGVkLXBhZ2luYXRpb24gbGkuYWN0aXZlIGEsCi5zdHlsZWQtcGFnaW5hdGlvbiBsaTpob3ZlciBhewoJY29sb3I6I2ZmZmZmZjsKCWJvcmRlci1jb2xvcjojMEY3NjZFOwoJYmFja2dyb3VuZC1jb2xvcjojMEY3NjZFOwp9Cgouc3R5bGVkLXBhZ2luYXRpb24gbGkucHJldiBhewoJd2lkdGg6MTAwcHg7CgloZWlnaHQ6NDBweDsKCWZvbnQtc2l6ZToxNHB4OwoJY29sb3I6I2ZmZmZmZjsKCWJvcmRlci1jb2xvcjojMzMzMzMzOwoJYm9yZGVyLXJhZGl1czowcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiMzMzMzMzM7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLnN0eWxlZC1wYWdpbmF0aW9uIGxpLm5leHQgYXsKCXdpZHRoOjEwMHB4OwoJaGVpZ2h0OjQwcHg7Cglmb250LXNpemU6MTRweDsKCWNvbG9yOiNmZmZmZmY7Cglib3JkZXItY29sb3I6IzMzMzMzMzsKCWJhY2tncm91bmQtY29sb3I6IzMzMzMzMzsKCWJvcmRlci1yYWRpdXM6MHB4OwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zdHlsZWQtcGFnaW5hdGlvbiBsaS5wcmV2IGE6aG92ZXIsCi5zdHlsZWQtcGFnaW5hdGlvbiBsaS5uZXh0IGE6aG92ZXJ7CgliYWNrZ3JvdW5kLWNvbG9yOiMwRjc2NkU7Cglib3JkZXItY29sb3I6IzBGNzY2RTsKfQoKLnNpZGViYXItd2lkZ2V0LXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo0MHB4Owp9Cgouc2lkZWJhci13aWRnZXQtdHdvIC53aWRnZXQtY29udGVudHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoyNXB4IDI1cHg7Cglib3JkZXItdG9wOjJweCBzb2xpZCAjMEY3NjZFOwp9Cgouc2lkZWJhci13aWRnZXQtdHdvIC53aWRnZXQtY29udGVudDpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCXRvcDowcHg7CglyaWdodDowcHg7CgloZWlnaHQ6MTA0cHg7CgliYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvYmFja2dyb3VuZC9wYXR0ZXJuLTEzLmpwZykgcmVwZWF0LXg7Cn0KCi5zaWRlYmFyLXRpdGxlLXR3b3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToyMHB4Owp9Cgouc2lkZWJhci10aXRsZS10d28gaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MjRweDsKCW1hcmdpbi1ib3R0b206MTVweDsKfQoKLypTZWFyY2ggQm94IFdpZGdldCovCgouc2lkZWJhciAuc2VhcmNoLWJveCAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luOjBweDsJCn0KCi5zaWRlYmFyIC5zZWFyY2gtYm94IC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwKLnNpZGViYXIgLnNlYXJjaC1ib3ggLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0ic2VhcmNoIl17Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWxpbmUtaGVpZ2h0OjM4cHg7CglwYWRkaW5nOjEwcHggNTBweCAxMHB4IDI1cHg7Cglib3JkZXI6MXB4IHNvbGlkICNjY2NjY2M7CgliYWNrZ3JvdW5kOm5vbmU7CglkaXNwbGF5OmJsb2NrOwoJZm9udC1zaXplOjE2cHg7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjYwcHg7Cglib3JkZXItcmFkaXVzOjBweDsKCWJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cn0KCi5zaWRlYmFyIC5zZWFyY2gtYm94IC5mb3JtLWdyb3VwIGJ1dHRvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MHB4OwoJdG9wOjBweDsKCWhlaWdodDo2MHB4OwoJd2lkdGg6NjBweDsKCWRpc3BsYXk6YmxvY2s7Cglmb250LXNpemU6MTZweDsKCWNvbG9yOiNmZmZmZmY7CgljdXJzb3I6cG9pbnRlcjsKCWxpbmUtaGVpZ2h0OjEwMCU7Cglmb250LXdlaWdodDpub3JtYWw7CgliYWNrZ3JvdW5kOiMwRjc2NkU7Cn0KCi5ibG9nLWNhdC10d297Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWJvcmRlci1yYWRpdXM6MHB4OwoJb3ZlcmZsb3c6aGlkZGVuOwoJYm9yZGVyOjFweCBzb2xpZCAjZGRkZGRkOwp9CgouYmxvZy1jYXQtdHdvIGxpewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5ibG9nLWNhdC10d28gbGkgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzY2NjY2NjsKCWZvbnQtc2l6ZToxNnB4OwoJcGFkZGluZzoxNnB4IDMwcHg7CglkaXNwbGF5OmJsb2NrOwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGRkZGQ7Cn0KCi5ibG9nLWNhdC10d28gbGkgYTpob3ZlcnsKCWNvbG9yOiNmZmZmZmY7CgliYWNrZ3JvdW5kLWNvbG9yOiMwRjc2NkU7Cn0KCi5ibG9nLWNhdC10d28gbGk6bGFzdC1jaGlsZCBhewoJYm9yZGVyLWJvdHRvbTowcHg7Cn0KCi5ibG9nLWNhdC10d28gbGkgYSBzcGFuewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDozMHB4Owp9CgovKiBQb3B1bGFyIFBvc3RzICovCgoucG9wdWxhci1wb3N0cyAucG9zdC1vdXRlcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoyNXB4IDIwcHg7Cglib3JkZXI6MXB4IHNvbGlkICNkZGRkZGQ7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cn0KCi8qUG9zdCBXaWRnZXQqLwoKLnBvcHVsYXItcG9zdHMgLnBvc3R7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNHB4OwoJY29sb3I6IzY2NjY2NjsKCW1pbi1oZWlnaHQ6MTEwcHg7CglwYWRkaW5nLWxlZnQ6MTEwcHg7CgltYXJnaW4tYm90dG9tOjI1cHg7Cglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTdlN2ViOwp9CgoucG9wdWxhci1wb3N0cyAucG9zdDpsYXN0LWNoaWxkewoJYm9yZGVyLWJvdHRvbTowcHg7CgltYXJnaW4tYm90dG9tOjBweDsKfQoKLnBvcHVsYXItcG9zdHMgLnBvc3QgLnBvc3QtdGh1bWJ7CgkgcG9zaXRpb246YWJzb2x1dGU7CgkgbGVmdDowcHg7CgkgdG9wOjBweDsKCSB3aWR0aDo4MHB4OwoJIGhlaWdodDo4MHB4Owp9CgoucG9wdWxhci1wb3N0cyAucG9zdCAucG9zdC10aHVtYiBpbWd7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9CgoucG9wdWxhci1wb3N0cyAucG9zdCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdG9wOjBweDsKCWZvbnQtc2l6ZToxOHB4OwoJbWFyZ2luOjBweCAwcHggM3B4OwoJZm9udC13ZWlnaHQ6NzAwOwoJY29sb3I6IzIyMjIyMjsKCWxpbmUtaGVpZ2h0OjEuNGVtOwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLnBvcHVsYXItcG9zdHMgLnBvc3QgLnRleHQgYXsKCWNvbG9yOiMyMjIyMjI7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLnBvcHVsYXItcG9zdHMgLnBvc3QgYTpob3ZlcnsKCWNvbG9yOiMwRjc2NkU7Cn0KCi5wb3B1bGFyLXBvc3RzIC5wb3N0LWluZm97Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNHB4OwoJY29sb3I6Izg4ODg4ODsKCWZvbnQtd2VpZ2h0OjQwMDsKCXBhZGRpbmctbGVmdDoyMHB4Owp9CgoucG9wdWxhci1wb3N0cyAucG9zdC1pbmZvOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDogIlxmMDczIjsKCWxlZnQ6MHB4OwoJdG9wOjRweDsKCWNvbG9yOiM3Nzc3Nzc7Cglmb250LXNpemU6MTRweDsKCWxpbmUtaGVpZ2h0OjFlbTsKCWZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnOwp9CgovKiBQb3B1bGFyIFRhZ3MgKi8KCi5zaWRlYmFyIC50YWdzIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJbGluZS1oZWlnaHQ6MjRweDsKCXBhZGRpbmc6OHB4IDI0cHggOHB4OwoJbWFyZ2luOjBweCA2cHggMTBweCAwcHg7Cgljb2xvcjojODg4ODg4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglmb250LXNpemU6MTRweDsKCWJhY2tncm91bmQ6bm9uZTsKCWZvbnQtd2VpZ2h0OjQwMDsKCWJvcmRlci1yYWRpdXM6MHB4OwoJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOwoJYm9yZGVyOjFweCBzb2xpZCAjZGRkZGRkOwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5zaWRlYmFyIC50YWdzIGE6aG92ZXJ7Cglib3JkZXItY29sb3I6I2MxMjgyYTsKCWJhY2tncm91bmQtY29sb3I6I2MxMjgyYTsKCWNvbG9yOiNmZmZmZmY7Cn0KCi8qIEJsb2cgRGV0YWlsICovCgouYmxvZy1kZXRhaWx7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MzBweDsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3h7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmltYWdlewoJcG9zaXRpb246cmVsYXRpdmU7CglvdmVyZmxvdzpoaWRkZW47CgliYWNrZ3JvdW5kLWNvbG9yOiMwRjc2NkU7Cn0KCi5ibG9nLWRldGFpbCAuaW5uZXItYm94IC5pbWFnZSBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CglkaXNwbGF5OmJsb2NrOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDYwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCA2MDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgNjAwbXMgZWFzZTsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3g6aG92ZXIgLmltYWdlIGltZ3sKCW9wYWNpdHk6MC41OwoJdHJhbnNmb3JtOnNjYWxlKDEuMDYsMS4wNik7Cn0KCi5ibG9nLWRldGFpbCAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjI1cHggMjJweCAwcHg7Cglib3JkZXI6MXB4IHNvbGlkICNlZWVlZWU7Cn0KCi5ibG9nLWRldGFpbCAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5wb3N0LW1ldGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnBvc3QtbWV0YSBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXJpZ2h0OjEycHg7Cgljb2xvcjojNjY2NjY2OwoJZm9udC1zaXplOjE2cHg7CglkaXNwbGF5OmlubGluZS1ibG9jazsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnBvc3QtbWV0YSBsaSAuaWNvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXJpZ2h0OjhweDsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXdlaWdodDo3MDA7CglsaW5lLWhlaWdodDoxLjRlbTsKCW1hcmdpbjoxNXB4IDBweCAxMnB4Owp9CgouYmxvZy1kZXRhaWwgLmlubmVyLWJveCAubG93ZXItY29udGVudCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouYmxvZy1kZXRhaWwgLmlubmVyLWJveCAubG93ZXItY29udGVudCAudGV4dCBwewoJcG9zaXRpb246cmVsYXRpdmU7CglsaW5lLWhlaWdodDoxLjhlbTsKCWNvbG9yOiM3Nzc3Nzc7Cglmb250LXNpemU6MTZweDsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgYmxvY2txdW90ZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzozNXB4IDMwcHg7Cglib3JkZXItcmFkaXVzOjVweDsKCWJvcmRlcjoxcHggZG90dGVkICM0MjQyNDI7Cn0KCi5ibG9nLWRldGFpbCAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGJsb2NrcXVvdGUgLnF1b3RlLWF1dGhvcnsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MzVweDsKCXRvcDotMjBweDsKCWNvbG9yOiNmYjZmNjI7Cglmb250LXNpemU6MTZweDsKCXBhZGRpbmc6OHB4IDIwcHg7Cglib3JkZXItcmFkaXVzOjUwcHg7CgliYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmY7Cglib3gtc2hhZG93OjBweCAwcHggMTBweCByZ2JhKDAsMCwwLDAuMTgpOwp9CgouYmxvZy1kZXRhaWwgLmlubmVyLWJveCAubG93ZXItY29udGVudCBibG9ja3F1b3RlIC5xdW90ZS10ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjE2cHg7CglsaW5lLWhlaWdodDoxLjhlbTsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgYmxvY2txdW90ZSAuaWNvbnsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6NjBweDsKCWJvdHRvbTotMjdweDsKCXdpZHRoOjU0cHg7CgloZWlnaHQ6NTRweDsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MjBweDsKCWxpbmUtaGVpZ2h0OjU0cHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCWJhY2tncm91bmQtY29sb3I6I2NlNTkxZDsKfQoKLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgLnR3by1jb2x1bW57CgltYXJnaW4tdG9wOjQ1cHg7CgltYXJnaW4tYm90dG9tOjM1cHg7Cn0KCi8qIHBvc3Qgc2hhcmUgb3B0aW9ucyAqLwoKLmJsb2ctZGV0YWlsIC5wb3N0LXNoYXJlLW9wdGlvbnN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi10b3A6IDQwcHg7CglwYWRkaW5nOjIycHggMHB4OwoJYm9yZGVyLXRvcDoxcHggc29saWQgI2RkZGRkZDsKfQoKLmJsb2ctZGV0YWlsIC5wb3N0LXNoYXJlLW9wdGlvbnMgLnRhZ3Mgc3BhbnsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtd2VpZ2h0OjQwMDsKCW1hcmdpbi1yaWdodDo4cHg7Cgl0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKfQoKLmJsb2ctZGV0YWlsIC5wb3N0LXNoYXJlLW9wdGlvbnMgLnRhZ3MgYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzY2NjY2NjsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJbGluZS1oZWlnaHQ6IDFlbTsKCXBhZGRpbmctcmlnaHQ6IDEycHg7CgltYXJnaW4tcmlnaHQ6IDEwcHg7CglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwoJYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cn0KCi5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC50YWdzIGE6bGFzdC1jaGlsZHsKCWJvcmRlci1yaWdodDpub25lOwoJbWFyZ2luLXJpZ2h0OiAwcHg7CglwYWRkaW5nLXJpZ2h0OiAwcHg7Cn0KCi5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC50YWdzewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmY0ODAwOwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDo0MDA7CgltYXJnaW4tdG9wOjNweDsKfQoKLmJsb2ctZGV0YWlsIC5wb3N0LXNoYXJlLW9wdGlvbnMgLnRhZ3MgYTpob3ZlcnsKCWNvbG9yOiMwRjc2NkU7Cn0KCi5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC5zb2NpYWwtYm94ewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC5zb2NpYWwtYm94IGxpewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tbGVmdDoxNXB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC5zb2NpYWwtYm94IGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6Izc3Nzc3NzsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLmJsb2ctZGV0YWlsIC5wb3N0LXNoYXJlLW9wdGlvbnMgLnNvY2lhbC1ib3ggbGkgYTpob3ZlcnsKCWNvbG9yOiMwRjc2NkU7Cn0KCi8qIE5ld3MgUG9zdHMgKi8KCi5uZXdzLXBvc3RzewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjI1cHggMjVweDsKCW1hcmdpbi10b3A6IDQwcHg7CgltYXJnaW4tYm90dG9tOjYwcHg7Cglib3JkZXI6IDFweCBkb3R0ZWQgIzAwMDAwMDsKfQoKLm5ld3MtcG9zdHM6YmVmb3JlewoJcG9zaXRpb246YWJzb2x1dGU7Cgljb250ZW50OicnOwoJbGVmdDo1MCU7Cgl0b3A6MHB4OwoJd2lkdGg6M3B4OwoJaGVpZ2h0OjEwMCU7CgltYXJnaW4tbGVmdDotMXB4OwoJYmFja2dyb3VuZC1jb2xvcjojZGRkZGRkOwp9CgoubmV3cy1wb3N0cyBoNHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NjAwOwoJbGluZS1oZWlnaHQ6MS43ZW07CgltYXJnaW46MHB4OwoJbWFyZ2luLWJvdHRvbToxMHB4Owp9CgoubmV3cy1wb3N0cyAucHJldi1wb3N0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MTZweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCXRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLm5ld3MtcG9zdHMgLnByZXYtcG9zdCAuaW1hZ2V7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjhweDsKCXdpZHRoOjEwMHB4OwoJaGVpZ2h0OjEwMHB4Owp9CgoubmV3cy1wb3N0cyAubmV4dC1wb3N0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJcGFkZGluZy10b3A6MTVweDsKCW1pbi1oZWlnaHQ6MTEwcHg7CglwYWRkaW5nLXJpZ2h0OjEzNXB4Owp9CgoubmV3cy1wb3N0cyAubmV4dC1wb3N0IC5pbWFnZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MHB4OwoJdG9wOjhweDsKCXdpZHRoOjEwMHB4OwoJaGVpZ2h0OjEwMHB4Owp9CgoubmV3cy1wb3N0cyAubmV4dC1wb3N0IGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MTZweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCXRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLm5ld3MtcG9zdHMgLnByZXYtcG9zdHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy10b3A6MTVweDsKCXBhZGRpbmctbGVmdDoxMzVweDsKCW1pbi1oZWlnaHQ6MTEwcHg7Cn0KCi5uZXdzLXBvc3RzIC5wcmV2LXBvc3QgYTpob3ZlciwKLm5ld3MtcG9zdHMgLm5leHQtcG9zdCBhOmhvdmVyewoJY29sb3I6I2MxMjgyYTsKfQoKLm5ld3MtcG9zdHMgLmFycm93ewoJcG9zaXRpb246cmVsYXRpdmUgIWltcG9ydGFudDsKCWZvbnQtc2l6ZToxNHB4ICFpbXBvcnRhbnQ7Cgljb2xvcjojODQ4NDg0ICFpbXBvcnRhbnQ7Cglmb250LXdlaWdodDo0MDAgIWltcG9ydGFudDsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglDb21tZW50cyBBcmVhCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogKioqLwoKLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi10b3A6NjBweDsKCW1hcmdpbi1ib3R0b206NTBweDsKfQoKLnNpZGViYXItcGFnZS1jb250YWluZXIgLmdyb3VwLXRpdGxlewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5ncm91cC10aXRsZSBoNHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtd2VpZ2h0OjYwMDsKCW1hcmdpbi1ib3R0b206MjBweDsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzowcHggMHB4IDBweDsKCW1hcmdpbi1ib3R0b206NjBweDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveDpsYXN0LWNoaWxkewoJbWFyZ2luLWJvdHRvbTowcHg7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50ewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXNpemU6MTRweDsKCW1pbi1oZWlnaHQ6MTIwcHg7CglwYWRkaW5nOjE1cHggMHB4IDBweCAxNjBweDsKCWJvcmRlcjoxcHggZGFzaGVkICNkZGRkZGQ7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5yZXBseS1jb21tZW50ewoJbWFyZ2luLWxlZnQ6NzBweDsJCn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveCAuYXV0aG9yLXRodW1iewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDowcHg7Cgl3aWR0aDoxMjBweDsKCWhlaWdodDoxMjBweDsKCW1hcmdpbi1ib3R0b206MHB4OwoJb3ZlcmZsb3c6aGlkZGVuOwp9Cgouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggLmF1dGhvci10aHVtYiBpbWd7Cgl3aWR0aDoxMDAlOwoJZGlzcGxheTpibG9jazsKfQoKLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtaW5mb3sKCW1hcmdpbi1ib3R0b206NXB4Owp9Cgouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggc3Ryb25newoJZm9udC1zaXplOjIwcHg7Cglmb250LXdlaWdodDo2MDA7Cgljb2xvcjojMjIyMjIyOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OjEuM2VtOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwp9Cgouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggLnRleHR7Cgljb2xvcjojNzc3Nzc3OwoJZm9udC1zaXplOjE2cHg7CglsaW5lLWhlaWdodDoxLjdlbTsKCW1hcmdpbi1ib3R0b206MHB4Owp9Cgouc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1pbmZvIC5jb21tZW50LXRpbWV7Cglmb250LXNpemU6MTZweDsKCWNvbG9yOiM3Nzc3Nzc7CgltYXJnaW4tbGVmdDoxNXB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveCAudGhlbWUtYnRuewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDo1MHB4OwoJYm90dG9tOi0xOHB4OwoJZm9udC1zaXplOjE2cHg7Cgljb2xvcjojZmZmZmZmOwoJZm9udC13ZWlnaHQ6NDAwOwoJcGFkZGluZzo3cHggMjBweDsKCWJvcmRlci1yYWRpdXM6NTBweDsKCWJhY2tncm91bmQtY29sb3I6I2MxMjgyYTsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cn0KCi5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveCAudGhlbWUtYnRuOmhvdmVyewoJCn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJQ29tbWVudCBGb3JtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwewoJbWFyZ2luLWJvdHRvbToyMHB4Owp9CgouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGR7CgltYXJnaW4tYm90dG9tOjBweDsKfQoKLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il0sCi5jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwKLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZWwiXSwKLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdLAouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXdpZHRoOjEwMCU7CglsaW5lLWhlaWdodDoyOHB4OwoJcGFkZGluZzoxMHB4IDI1cHg7Cgljb2xvcjojODg4ODg4OwoJYm9yZGVyOjFweCBzb2xpZCAjZGRkZGRkOwoJaGVpZ2h0OjU0cHg7Cglmb250LXNpemU6MTRweDsKCWJvcmRlci1yYWRpdXM6MHB4OwoJYmFja2dyb3VuZDojZmZmZmZmOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXMsCi5jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0icGFzc3dvcmQiXTpmb2N1cywKLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZWwiXTpmb2N1cywKLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLAouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cywKLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1c3sKCWJvcmRlci1jb2xvcjojYzEyODJhOwp9CgouY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKCWxpbmUtaGVpZ2h0OjI0cHg7CglwYWRkaW5nOjEwcHggMjVweCAxMHB4OwoJY29sb3I6Izg4ODg4ODsKCWJvcmRlcjoxcHggc29saWQgI2RkZGRkZDsKCWhlaWdodDoxODVweDsKCWJhY2tncm91bmQ6I2ZmZmZmZjsKCXJlc2l6ZTpub25lOwoJZm9udC1zaXplOjE0cHg7Cglib3JkZXItcmFkaXVzOjBweDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5jb21tZW50LWZvcm0gLnRoZW1lLWJ0bnsKCWN1cnNvcjpwb2ludGVyOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCUNvbnRhY3QgUGFnZSBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgouY29udGFjdC1wYWdlLXNlY3Rpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6OTVweCAwcHggNjBweDsKfQoKLmNvbnRhY3QtcGFnZS1zZWN0aW9uIC5pbmZvLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo0MHB4Owp9CgouY29udGFjdC1wYWdlLXNlY3Rpb24gLmluZm8tY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNvbnRhY3QtcGFnZS1zZWN0aW9uIC5mb3JtLWNvbHVtbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo0MHB4Owp9CgouY29udGFjdC1wYWdlLXNlY3Rpb24gLmZvcm0tY29sdW1uIC5pbm5lci1jb2x1bW57Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNvbnRhY3QtZm9ybSBpbnB1dC5lcnJvciwKLmNvbnRhY3QtZm9ybSBzZWxlY3QuZXJyb3IsCi5jb250YWN0LWZvcm0gdGV4dGFyZWEuZXJyb3J7Cglib3JkZXItY29sb3I6I2ZmMDAwMCAhaW1wb3J0YW50OwkKfQoKLmNvbnRhY3QtZm9ybSBsYWJlbC5lcnJvcnsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDoyNHB4OwoJcGFkZGluZzo1cHggMHB4IDBweDsKCW1hcmdpbjowcHg7Cgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Cglmb250LXNpemU6MTJweDsKCWNvbG9yOiNmZjAwMDA7Cglmb250LXdlaWdodDo1MDA7CQp9CgovKioqCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCQlDb250YWN0IE1hcCBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLmNvbnRhY3QtbWFwLXNlY3Rpb257Cglwb3NpdGlvbjogcmVsYXRpdmU7CglwYWRkaW5nLXRvcDo0MHB4OwoJcGFkZGluZy1ib3R0b206MTAwcHg7Cn0KCi5jb250YWN0LW1hcC1zZWN0aW9uIC5tYXAtb3V0ZXJ7Cglwb3NpdGlvbjogcmVsYXRpdmU7CgloZWlnaHQ6IDUwMHB4Owp9IAoKLmNvbnRhY3QtbWFwLXNlY3Rpb24gLm1hcC1jYW52YXN7Cglwb3NpdGlvbjogYWJzb2x1dGU7CglsZWZ0OiAwOwoJdG9wOiAwOwoJd2lkdGg6IDEwMCU7CgloZWlnaHQ6IDUwMHB4Owp9CgovKlNob3AgSXRlbSovCgouc2hvcC1pdGVtewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjcwcHg7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJb3V0bGluZToxNXB4IHNvbGlkICNmZmZmZmY7Cgl0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKfQoKLnNob3AtaXRlbSAuaW5uZXItYm94OmhvdmVyIC5pbWFnZSAub3ZlcmxheS1ib3h7CglvcGFjaXR5OjE7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAuaW1hZ2V7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRleHQtYWxpZ246Y2VudGVyOwoJYmFja2dyb3VuZC1jb2xvcjojZjhmOGY4Owp9Cgouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveHsKCXBvc2l0aW9uOmFic29sdXRlOwoJY29udGVudDonJzsKCWxlZnQ6MHB4OwoJdG9wOjBweDsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCW9wYWNpdHk6MDsKCXRleHQtYWxpZ246Y2VudGVyOwoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLDAuNzApOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5jYXJ0LW9wdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdG9wOjUwJTsKCW1hcmdpbi10b3A6LTI1cHg7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5jYXJ0LW9wdGlvbiBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luOjBweCAzcHg7Cgljb2xvcjojYzEyODJhOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5jYXJ0LW9wdGlvbiBsaSBhewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE4cHg7CglkaXNwbGF5OmJsb2NrOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5jYXJ0LW9wdGlvbiBsaSBhIC5mYXsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIGxpbmUtaGVpZ2h0OiAzOHB4Owp9Cgouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAuY2FydC1vcHRpb24gbGkgYTpob3ZlcnsKCWNvbG9yOiNmZmZmZmY7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAuaW1hZ2UgaW1newoJd2lkdGg6MTAwJTsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwp9Cgouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MjBweCAwcHggMHB4Owp9Cgouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxOHB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJbWFyZ2luLWJvdHRvbTo2cHg7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCBoMyBhewoJY29sb3I6IzAwMDAwMDsKCXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwp9Cgouc2hvcC1pdGVtIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgaDMgYTpob3ZlcnsKCWNvbG9yOiNjMTI4MmE7Cn0KCi5zaG9wLWl0ZW0gLmlubmVyLWJveCAubG93ZXItY29udGVudCAucHJpY2V7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiNjMTI4MmE7Cglmb250LXNpemU6MThweDsKCWZvbnQtd2VpZ2h0OjcwMDsKfQoKLnNob3AtaXRlbSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5wcmljZSAuZGlzY291bnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM3Nzc3Nzc7CgltYXJnaW4tcmlnaHQ6OHB4OwoJdGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDsKfQoKLnNob3AtaXRlbSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IC5yYXRpbmcgLmZhewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6I2MxMjgyYTsKfQoKCgoKLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlsc3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTo1MHB4Owp9CgoucHJvZHVjdC1kZXRhaWxzIC5pbWFnZS1jb2x1bW4sCi5wcm9kdWN0LWRldGFpbHMgLmluZm8tY29sdW1uewoJbWFyZ2luLWJvdHRvbToyMHB4Owp9CgoucHJvZHVjdC1kZXRhaWxzIC5pbWFnZS1jb2x1bW4gLmltYWdlLWJveCBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7Cgl3aWR0aDoxMDAlOwoJYmFja2dyb3VuZC1jb2xvcjojZjdmN2Y3Owp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToxNnB4Owp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciBoNHsKCWZvbnQtc2l6ZToyNHB4OwoJZm9udC13ZWlnaHQ6NzAwOwoJbWFyZ2luOjVweCAwcHggMjBweDsKCWxpbmUtaGVpZ2h0OjEuNGVtOwoJY29sb3I6IzMzMzMzMzsKfQoKLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuZGV0YWlscy1oZWFkZXIgaDQgYXsKCWNvbG9yOiMzMzMzMzM7CQp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciAucmF0aW5newoJZm9udC1zaXplOjE4cHg7Cgljb2xvcjojYzEyODJhOwoJbWFyZ2luLWJvdHRvbToxNXB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5wcm9kdWN0LWRldGFpbHMgLmJhc2ljLWRldGFpbHMgLmRldGFpbHMtaGVhZGVyIC5yZXZpZXdzewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWNvbG9yOiM3Nzc3Nzc7Cglmb250LXdlaWdodDo3MDA7CgltYXJnaW4tbGVmdDoxNXB4Owp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciAucmF0aW5nIC5mYXsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5kZXRhaWxzLWhlYWRlciAucmF0aW5nIC50eHR7Cglmb250LXNpemU6MTRweDsKCXBhZGRpbmctbGVmdDoxMHB4OwoJY29sb3I6Izc3Nzc3NzsJCn0KCi5wcm9kdWN0LWRldGFpbHMgLmJhc2ljLWRldGFpbHMgLmRldGFpbHMtaGVhZGVyIC5pdGVtLXByaWNlewoJZm9udC1zaXplOjIycHg7Cglmb250LXdlaWdodDo3MDA7Cgljb2xvcjojYzEyODJhOwoJbGluZS1oZWlnaHQ6MjRweDsKfQoKLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAucHJvZC1pbmZvewoJbWFyZ2luLWJvdHRvbToxNXB4OwoJbGluZS1oZWlnaHQ6MS42ZW07Cglmb250LXNpemU6MTNweDsJCn0KCi5wcm9kdWN0LWRldGFpbHMgLmJhc2ljLWRldGFpbHMgLnByb2QtaW5mbyBzdHJvbmd7Cglmb250LXdlaWdodDo3MDA7Cgljb2xvcjojMTExMTExOwkKfQoKLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAudGV4dHsKCW1hcmdpbi1ib3R0b206MjVweDsKCWNvbG9yOiM3Nzc3Nzc7Cglmb250LXNpemU6MTZweDsKCWZvbnQtd2VpZ2h0OjQwMDsKCWxpbmUtaGVpZ2h0OjEuOGVtOwkKfQoKLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuaXRlbS1xdWFudGl0eSAuZmllbGQtbGFiZWx7CglmbG9hdDpsZWZ0OwoJZm9udC13ZWlnaHQ6NzAwOwoJZm9udC1zaXplOjE0cHg7CglsaW5lLWhlaWdodDozMnB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CglwYWRkaW5nLXJpZ2h0OjIwcHg7CQp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5xdWFudGl0eS1zcGlubmVyLAouY2FydC1zZWN0aW9uIGlucHV0LnF1YW50aXR5LXNwaW5uZXJ7CglsaW5lLWhlaWdodDoyNHB4OwoJcGFkZGluZzoxMHB4IDE1cHggIWltcG9ydGFudDsKCWhlaWdodDo0NnB4ICFpbXBvcnRhbnQ7Cglib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsJCn0KCi5wcm9kdWN0LWRldGFpbHMgLmJhc2ljLWRldGFpbHMgLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCA+IC5idG4sCi5jYXJ0LXNlY3Rpb24gLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCA+IC5idG57CglwYWRkaW5nOjExcHggMTBweDsKCWJhY2tncm91bmQ6I2Y0ZjVmNjsJCn0KCi5wcm9kdWN0LWRldGFpbHMgLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCBpLAouY2FydC1zZWN0aW9uIC5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgaXsKCXRvcDo2cHg7CQp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5pdGVtLXF1YW50aXR5ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpsZWZ0OwoJd2lkdGg6ODVweDsKCW1hcmdpbi1ib3R0b206MjVweDsKCW1hcmdpbi1yaWdodDoyMHB4OwkKfQoKLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuaXRlbS1xdWFudGl0eSAuZmllbGQtbGFiZWx7CglmbG9hdDpsZWZ0OwoJZm9udC13ZWlnaHQ6NzAwOwoJZm9udC1zaXplOjE0cHg7CglsaW5lLWhlaWdodDozMnB4OwoJZGlzcGxheTppbmxpbmUtYmxvY2s7CglwYWRkaW5nLXJpZ2h0OjIwcHg7CQp9CgoucHJvZHVjdC1kZXRhaWxzIC5iYXNpYy1kZXRhaWxzIC5xdWFudGl0eS1zcGlubmVyLAouY2FydC10YWJsZSBpbnB1dC5xdWFudGl0eS1zcGlubmVyewoJZm9udC1zaXplOjE4cHg7CglsaW5lLWhlaWdodDoyNHB4OwoJcGFkZGluZzoxMHB4IDE1cHggIWltcG9ydGFudDsKCWhlaWdodDo1MHB4ICFpbXBvcnRhbnQ7Cglib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsJCn0KCi5wcm9kdWN0LWRldGFpbHMgLmJhc2ljLWRldGFpbHMgLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCA+IC5idG4sCi5jYXJ0LXRhYmxlIC5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgPiAuYnRuewoJcGFkZGluZzoxMnB4IDEwcHg7CglkaXNwbGF5Om5vbmU7CgliYWNrZ3JvdW5kOiNmNGY1ZjY7Cglib3JkZXItcmFkaXVzOjBweDsJCn0KCi5wcm9kdWN0LWRldGFpbHMgLmJvb3RzdHJhcC10b3VjaHNwaW4gLmlucHV0LWdyb3VwLWJ0bi12ZXJ0aWNhbCBpLAouY2FydC10YWJsZSAuYm9vdHN0cmFwLXRvdWNoc3BpbiAuaW5wdXQtZ3JvdXAtYnRuLXZlcnRpY2FsIGl7Cgl0b3A6OHB4OwkKfQoKLnByb2R1Y3QtZGV0YWlscyAuYmFzaWMtZGV0YWlscyAuYWRkLXRvLWNhcnR7CglwYWRkaW5nOjExcHggMjBweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCWJvcmRlci1yYWRpdXM6MHB4OwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwp9CgovKioqIAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCVByb2R1Y3QgVGFicyBTdHlsZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFic3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZy1ib3R0b206NjBweDsKCW1hcmdpbi1ib3R0b206ODBweDsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNjY2NjY2M7Cn0KCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYi1idG5zewoJcG9zaXRpb246cmVsYXRpdmU7Cgl6LWluZGV4OjE7CgltYXJnaW4tYm90dG9tOjUwcHg7Cn0KCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYi1idG5zIC50YWItYnRuewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0b3A6MXB4OwoJZGlzcGxheTpibG9jazsKCWZsb2F0OmxlZnQ7CgltYXJnaW4tcmlnaHQ6MTBweDsKCWZvbnQtc2l6ZToxNnB4OwoJYmFja2dyb3VuZDojZWVlZWVlOwoJY29sb3I6IzAwMDAwMDsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWxpbmUtaGVpZ2h0OjI0cHg7CgljdXJzb3I6cG9pbnRlcjsKCXBhZGRpbmc6MTNweCA0M3B4IDEzcHg7Cgl0cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwp9Cgouc2hvcC1zaW5nbGUgLnByb2R1Y3QtZGV0YWlscyAucHJvZC10YWJzIC50YWItYnRucyAudGFiLWJ0bjpob3ZlciwKLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFicyAudGFiLWJ0bnMgLnRhYi1idG4uYWN0aXZlLWJ0bnsKCWNvbG9yOiNmZmZmZmY7CgliYWNrZ3JvdW5kOiNjMTI4MmE7Cn0KCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYnMtY29udGVudHsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9Cgouc2hvcC1zaW5nbGUgLnByb2R1Y3QtZGV0YWlscyAucHJvZC10YWJzIC50YWJzLWNvbnRlbnQgLnRhYnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpub25lOwoJYm9yZGVyLXRvcDowcHg7Cn0KCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYnMtY29udGVudCAudGFiLmFjdGl2ZS10YWJ7CglkaXNwbGF5OmJsb2NrOwkKfQoKLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFicyAudGFicy1jb250ZW50IC50YWIgLmNvbnRlbnR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNob3Atc2luZ2xlIC5wcm9kdWN0LWRldGFpbHMgLnByb2QtdGFicyAudGFicy1jb250ZW50IC50YWIgLmNvbnRlbnQgcHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE2cHg7CglsaW5lLWhlaWdodDoxLjdlbTsKCW1hcmdpbi1ib3R0b206MjVweDsKCWNvbG9yOiM3OTc5Nzk7Cn0KCi5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMgLnRhYnMtY29udGVudCAudGFiIC5jb250ZW50IHA6bGFzdC1jaGlsZHsKCW1hcmdpbi1ib3R0b206MHB4Owp9CgoucHJvZC10YWJzIC50YWJzLWNvbnRlbnQgLnRhYiAudGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMwMDAwMDA7Cglmb250LXNpemU6MjRweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCW1hcmdpbi1ib3R0b206MzVweDsKCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7Cn0KCi8qQ29tbWVudCBGb3JtKi8KCi5zaG9wLWNvbW1lbnQtZm9ybXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDo1MHB4Owp9Cgouc2hvcC1jb21tZW50LWZvcm0gaDJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMzMzMzMzM7Cglmb250LXNpemU6MjRweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCW1hcmdpbi1ib3R0b206MTBweDsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKfQoKLnNob3AtY29tbWVudC1mb3JtIC5tYWlsLXRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM3Nzc3Nzc7Cglmb250LXNpemU6MTZweDsKCW1hcmdpbi1ib3R0b206MTVweDsKfQoKLnNob3AtY29tbWVudC1mb3JtIC5ncm91cC10aXRsZXsKCW1hcmdpbi1ib3R0b206MjBweDsKfQoKLnNob3AtY29tbWVudC1mb3JtIC5yYXRpbmctYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjIwcHg7Cn0KCi5zaG9wLWNvbW1lbnQtZm9ybSAucmF0aW5nLWJveCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE2cHg7Cgljb2xvcjojMzMzMzMzOwoJbWFyZ2luLWJvdHRvbToxNXB4Owp9Cgouc2hvcC1jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZ3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5zaG9wLWNvbW1lbnQtZm9ybSAucmF0aW5nLWJveCAucmF0aW5nIC5mYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTppbmxpbmUtYmxvY2s7Cn0KCi5zaG9wLWNvbW1lbnQtZm9ybSAucmF0aW5nLWJveCAucmF0aW5nIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMzMzMzMzM7Cglmb250LXNpemU6MTRweDsKCWRpc3BsYXk6aW5saW5lLWJsb2NrOwp9Cgouc2hvcC1jb21tZW50LWZvcm0gLnJhdGluZy1ib3ggLnJhdGluZyBhOmhvdmVyewoJY29sb3I6I2MxMjgyYTsKfQoKLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjIwcHg7Cn0KCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBsYWJlbHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzMzMzMzMzsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NDAwOwp9Cgouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZHsKCW1hcmdpbi1ib3R0b206MHB4Owp9Cgouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLAouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0icGFzc3dvcmQiXSwKLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRlbCJdLAouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXSwKLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXdpZHRoOjEwMCU7CglsaW5lLWhlaWdodDoyOHB4OwoJcGFkZGluZzoxMHB4IDE1cHg7Cglib3JkZXI6MXB4IHNvbGlkICNkZGRkZGQ7CgloZWlnaHQ6NTBweDsKCWNvbG9yOiM4NDg0ODQ7Cglmb250LXdlaWdodDozMDA7CgliYWNrZ3JvdW5kOiNmZmZmZmY7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9Cgouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdOmZvY3VzLAouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0icGFzc3dvcmQiXTpmb2N1cywKLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLAouc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXTpmb2N1cywKLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHNlbGVjdDpmb2N1cywKLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzewoJYm9yZGVyLWNvbG9yOiNjMTI4MmE7Cn0KCi5zaG9wLWNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXdpZHRoOjEwMCU7CglsaW5lLWhlaWdodDoyNnB4OwoJcGFkZGluZzoxMHB4IDE1cHg7Cgljb2xvcjojODQ4NDg0OwoJYm9yZGVyOjFweCBzb2xpZCAjZGRkZGRkOwoJaGVpZ2h0OjEyMHB4OwoJZm9udC13ZWlnaHQ6MzAwOwoJYmFja2dyb3VuZDojZmZmZmZmOwoJcmVzaXplOm5vbmU7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9Cgouc2hvcC1jb21tZW50LWZvcm0gYnV0dG9uewoJcG9zaXRpb246cmVsYXRpdmU7Cglmb250LXdlaWdodDo3MDA7Cglib3JkZXItcmFkaXVzOjBweDsKCWZvbnQtc2l6ZToxNnB4OwoJcGFkZGluZzo3cHggMjhweDsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKfQoKLnNob3AtY29tbWVudC1mb3JtIGlucHV0OmZvY3VzLAouc2hvcC1jb21tZW50LWZvcm0gc2VsZWN0OmZvY3VzLAouc2hvcC1jb21tZW50LWZvcm0gdGV4dGFyZWE6Zm9jdXN7Cglib3JkZXItY29sb3I6I2YwNjUyOTsJCn0KCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJQ2FydCBTZWN0aW9uIHN0eWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgouY2FydC1zZWN0aW9uewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjEwMHB4IDBweCA5MHB4Owp9CgouY2FydC1vdXRlcnsKCXBvc2l0aW9uOnJlbGF0aXZlOwkKfQoKLmNoZWNrb3V0LXBhZ2UgLmNhcnQtb3V0ZXJ7CgltYXJnaW4tYm90dG9tOjQwcHg7CQp9CgouY2FydC1vdXRlciAudGFibGUtb3V0ZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7CglvdmVyZmxvdy14OglhdXRvOwp9CgouY2FydC1vdXRlciAuY2FydC10YWJsZXsKCXdpZHRoOjEwMCU7CgltaW4td2lkdGg6OTAwcHg7CQp9CgouY2FydC10YWJsZSAuY2FydC1oZWFkZXJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMCU7Cgl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Cglmb250LXNpemU6MTNweDsKCWJhY2tncm91bmQ6IzMzMzMzMzsKCWNvbG9yOiNmZmZmZmY7Cglib3JkZXI6MXB4IHNvbGlkICNlYmViZWI7Cn0KCi5jYXJ0LXRhYmxlIHRoZWFkIHRyIHRoewoJbGluZS1oZWlnaHQ6MjRweDsKCXBhZGRpbmc6MTNweCAyNXB4OwoJZm9udC13ZWlnaHQ6NzAwOwoJZm9udC1zaXplOjE2cHg7CglsZXR0ZXItc3BhY2luZzoxcHg7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKCWJvcmRlci1yaWdodDoxcHggc29saWQgI2NjY2NjYzsKCWZvbnQtZmFtaWx5OiAnUmFsZXdheScsIHNhbnMtc2VyaWY7Cn0KCi5jYXJ0LXRhYmxlIHRoZWFkIHRyIHRoIC5mYXsKCWZvbnQtc2l6ZToxOHB4OwkKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgdGR7CglsaW5lLWhlaWdodDoyNHB4OwoJcGFkZGluZzoyNXB4IDI1cHggMjBweDsKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgLnF0eXsKCXdpZHRoOjIwMHB4OwoJcGFkZGluZy1yaWdodDo4MHB4Owp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAucXR5IC5xdWFudGl0eS1zcGlubmVyewoJYmFja2dyb3VuZDojZmZmZmZmOwkKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgLnByb2QtY29sdW1uIC5jb2x1bW4tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CgltaW4taGVpZ2h0OjExMHB4Owp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAucHJvZC1jb2x1bW4gLmNvbHVtbi1ib3ggLnByb2QtdGh1bWJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjEwMHB4OwkKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgLnByb2QtY29sdW1uIC5jb2x1bW4tYm94IC5wcm9kLXRodW1iIGltZ3sKCSBkaXNwbGF5OmJsb2NrOwoJIG1heC13aWR0aDoxMDAlOwp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAucHJvZC1jb2x1bW4gLmNvbHVtbi1ib3ggaDR7Cglmb250LXNpemU6MTRweDsKCWNvbG9yOiM0NDQ0NDQ7Cglmb250LXdlaWdodDo0MDA7CglsaW5lLWhlaWdodDo5MHB4Owp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAucHJvZC1jb2x1bW4gLmF1dGhvcnsKCWZvbnQtc2l6ZToxM3B4OwoJY29sb3I6IzMzMzMzMzsKCW1hcmdpbi1ib3R0b206MHB4Owp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAuc3ViLXRvdGFsewoJZm9udC13ZWlnaHQ6NDAwOwoJY29sb3I6Izc5Nzk3OTsKCWZvbnQtc2l6ZToxN3B4Owp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAuc3ViLXRvdGFsLnByaWNlewp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAucmVtb3ZlLWJ0bnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE0cHg7Cgljb2xvcjojMWMxYzFjOwoJbGluZS1oZWlnaHQ6MzBweDsKCWZvbnQtd2VpZ2h0OjUwMDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cn0KCi5jYXJ0LXRhYmxlIHRib2R5IHRyIC5yZW1vdmUtYnRuIC5mYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZm9udC1zaXplOjE4cHg7CglsaW5lLWhlaWdodDozMHB4Owp9CgouY2FydC10YWJsZSB0Ym9keSB0ciAucmVtb3ZlLWJ0bjpob3ZlcnsKCWNvbG9yOiNjMTI4MmE7Cn0KCi5jYXJ0LXRhYmxlIHRib2R5IHRyewoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjY2NjYzsJCn0KCi5jYXJ0LXRhYmxlIHRib2R5IHRyIHRkewoJdmVydGljYWwtYWxpZ246bWlkZGxlOwoJY29sb3I6Izc5Nzk3OTsKCWZvbnQtc2l6ZToxN3B4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglib3JkZXItbGVmdDoxcHggc29saWQgI2NjY2NjYzsKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgdGQucHJvZC1jb2x1bW57CglwYWRkaW5nLWxlZnQ6NDhweDsKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgdGQudG90YWx7Cglmb250LXNpemU6MThweDsKCWNvbG9yOiMzMzMzMzM7Cn0KCi5jYXJ0LXRhYmxlIHRib2R5IHRyIHRkOmxhc3QtY2hpbGR7Cglib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNlYmViZWI7Cgl0ZXh0LWFsaWduOmNlbnRlcjsKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgdGQgLnByb2QtdGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNnB4OwoJY29sb3I6IzMzMzMzMzsKCWZvbnQtd2VpZ2h0OjQwMDsKfQoKLmNhcnQtdGFibGUgdGJvZHkgdHIgdGQgLnF1YW50aXR5LXNwaW5uZXJ7CglwYWRkaW5nOjVweCAwcHggNXB4IDIwcHg7CglsaW5lLWhlaWdodDoyNHB4OwoJaGVpZ2h0OjM0cHg7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouY2FydC10YWJsZSB0Ym9keSAuYXZhaWxhYmxlLWluZm97Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmctbGVmdDo1MHB4OwkKfQoKLmNhcnQtdGFibGUgdGJvZHkgLmF2YWlsYWJsZS1pbmZvIC5pY29uewoJcG9zaXRpb246YWJzb2x1dGU7CglsZWZ0OjBweDsKCXRvcDo1cHg7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7CglsaW5lLWhlaWdodDo0MHB4OwoJdGV4dC1hbGlnbjpjZW50ZXI7Cglmb250LXNpemU6MThweDsKCWNvbG9yOiNmZmZmZmY7CgliYWNrZ3JvdW5kOiMyMjM1NTU7Cglib3JkZXItcmFkaXVzOjUwJTsKfQoKLmNhcnQtc2VjdGlvbiAuY2FydC1vcHRpb25zewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjIwcHggMHB4IDEwcHg7CgltYXJnaW4tYm90dG9tOjMwcHg7Cglib3JkZXItdG9wOjBweDsKfQoKLmNhcnQtc2VjdGlvbiAuYXBwbHktY291cG9uewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5jYXJ0LXNlY3Rpb24gLmNhcnQtb3B0aW9ucyAuY2FydC1idG57CglwYWRkaW5nOjEwcHggMzlweCAxMHB4OwogICAgbGluZS1oZWlnaHQ6IDI0cHg7Cglmb250LXNpemU6MTNweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCWJvcmRlci1yYWRpdXM6MHB4OwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwp9CgouY2FydC1zZWN0aW9uIC5hcHBseS1jb3Vwb24gLmZvcm0tZ3JvdXB7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZsb2F0OmxlZnQ7CgltYXJnaW4tcmlnaHQ6MzBweDsJCn0KCi5jYXJ0LXNlY3Rpb24gLmFwcGx5LWNvdXBvbiAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il17CglkaXNwbGF5OmJsb2NrOwoJbGluZS1oZWlnaHQ6MTVweDsKCXBhZGRpbmc6OHB4IDIwcHg7Cglib3JkZXI6MXB4IHNvbGlkICNjY2NjY2M7Cgl3aWR0aDoyMjVweDsKCWhlaWdodDo0NHB4OwoJYmFja2dyb3VuZDojZmZmZmZmOwp9CgouY2FydC1zZWN0aW9uIC5jb3Vwb24tYnRuewogICAgcGFkZGluZzoxMHB4IDM5cHggMTBweDsKICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwoJZm9udC1zaXplOjEzcHg7Cgljb2xvcjojZmZmZmZmOwoJZm9udC13ZWlnaHQ6NzAwOwoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwoJYmFja2dyb3VuZC1jb2xvcjojYzEyODJhOwp9CgouY2FydC1zZWN0aW9uIC5jYXJ0LW9wdGlvbnMgLmJ0bi1zdHlsZS1vbmV7Cgl0b3A6LTdweDsKCXBhZGRpbmctbGVmdDozMnB4OwoJcGFkZGluZy1yaWdodDozMnB4Owp9CgouY2FydC1zZWN0aW9uIC50b3RhbHMtdGFibGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MjBweDsKCWJvcmRlcjoxcHggc29saWQgI2NjY2NjYzsKfQoKLmNhcnQtc2VjdGlvbiAudG90YWxzLXRhYmxlIGxpewoJbGluZS1oZWlnaHQ6MjRweDsKCXBhZGRpbmc6MTRweCAzMHB4OwoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjY2NjYzsJCn0KCi5jYXJ0LXNlY3Rpb24gLnRvdGFscy10YWJsZSBsaTpmaXJzdC1jaGlsZHsKCQp9CgouY2FydC1zZWN0aW9uIC50b3RhbHMtdGFibGUgbGkgaDN7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtd2VpZ2h0OjcwMDsKCWNvbG9yOiMzMzMzMzM7Cglmb250LXNpemU6MThweDsKfQoKLmNhcnQtc2VjdGlvbiAudG90YWxzLXRhYmxlIGxpOmxhc3QtY2hpbGR7Cglib3JkZXItYm90dG9tOm5vbmU7CglwYWRkaW5nOjUwcHggMzBweDsKfQoKLmNhcnQtc2VjdGlvbiAudG90YWxzLXRhYmxlIC5jb2x7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7CglmbG9hdDpsZWZ0OwoJbGluZS1oZWlnaHQ6MjRweDsKCXdpZHRoOjUwJTsKCWNvbG9yOiMzMzMzMzM7Cglmb250LXNpemU6MTZweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cn0KCi5jYXJ0LXNlY3Rpb24gLnRvdGFscy10YWJsZSBsaSAuY29sOmxhc3QtY2hpbGR7Cgl0ZXh0LWFsaWduOnJpZ2h0OwkKfQoKLmNhcnQtc2VjdGlvbiAudG90YWxzLXRhYmxlIC50b3RhbCAucHJpY2V7Cgljb2xvcjojYzEyODJhOwoJZm9udC13ZWlnaHQ6NzAwOwp9CgouY2FydC1zZWN0aW9uIC50b3RhbHMtdGFibGUgLnByb2NlZWQtYnRuewogICAgcGFkZGluZzogMTNweCAzNHB4IDEzcHg7CiAgICBsaW5lLWhlaWdodDogMjRweDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBib3JkZXItcmFkaXVzOiAwcHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9CgoKLnNoaXBwaW5nLWJsb2NrewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjQwcHg7Cn0KCi5zaGlwcGluZy1ibG9jayAuaW5uZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjE2cHggMjBweCA2cHg7Cglib3JkZXI6MXB4IHNvbGlkICNjY2NjY2M7Cn0KCi5zaGlwcGluZy1ibG9jayAuaW5uZXItYm94IGgzewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMzMzMzMzOwoJZm9udC1zaXplOjE1cHg7Cglmb250LXdlaWdodDo3MDA7CgltYXJnaW4tYm90dG9tOjEwcHg7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwp9Cgouc2hpcHBpbmctYmxvY2sgLmlubmVyLWJveCBoNHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6I2MxMjgyYTsKCWZvbnQtc2l6ZToxNHB4OwoJZm9udC13ZWlnaHQ6NjAwOwoJbWFyZ2luLWJvdHRvbToxNXB4OwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLnNoaXBwaW5nLWZvcm17Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXB7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MTVweDsKfQoKLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLAouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJwYXNzd29yZCJdLAouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZWwiXSwKLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXdpZHRoOjEwMCU7CglsaW5lLWhlaWdodDoxOHB4OwoJcGFkZGluZzoxMHB4IDIwcHg7CgloZWlnaHQ6NDBweDsKCWZvbnQtc2l6ZToxNHB4OwoJYm9yZGVyOjFweCBzb2xpZCAjY2NjY2NjOwoJLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdOmZvY3VzLAouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJwYXNzd29yZCJdOmZvY3VzLAouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZWwiXTpmb2N1cywKLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXTpmb2N1cywKLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzLAouc2hpcHBpbmctZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYTpmb2N1c3sKCWJvcmRlci1jb2xvcjojYzEyODJhOwp9Cgouc2hpcHBpbmctZm9ybSBidXR0b257CgltYXJnaW4tdG9wOjBweDsKCWZvbnQtc2l6ZToxNXB4OwoJZm9udC13ZWlnaHQ6NzAwOwoJYm9yZGVyLXJhZGl1czowcHg7CglwYWRkaW5nOjZweCAyNnB4OwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKfQoKLyoqKiAKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CglDaGVja091dCBTZWN0aW9vbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKKioqLwoKLmNoZWNrb3V0LXBhZ2V7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXBhZGRpbmc6MTAwcHggMHB4IDEwMHB4Owp9CgouY2hlY2tvdXQtcGFnZSAuZGVmYXVsdC1saW5rc3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTozMHB4OwkKfQoKLmNoZWNrb3V0LXBhZ2UgLmRlZmF1bHQtbGlua3MgbGl7CglsaW5lLWhlaWdodDoyNHB4OwoJcGFkZGluZzoxNHB4IDMwcHggMThweDsKCWJhY2tncm91bmQ6IzMzMzMzMzsKCWNvbG9yOiNmZmZmZmY7Cglmb250LXNpemU6MTZweDsKfQoKLmNoZWNrb3V0LXBhZ2UgLmRlZmF1bHQtbGlua3MgbGkgLmZhewoJcG9zaXRpb246cmVsYXRpdmU7Cgl0b3A6MnB4OwoJbWFyZ2luLXJpZ2h0OjIwcHg7Cglmb250LXNpemU6MjRweDsKCWNvbG9yOiNjMTI4MmE7Cn0KCi5jaGVja291dC1wYWdlIC5kZWZhdWx0LWxpbmtzIGxpIGF7Cgljb2xvcjojYzEyODJhOwp9CgouY2hlY2tvdXQtZm9ybXsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouY2hlY2tvdXQtZm9ybSAuY2hlY2tvdXQtdGl0bGV7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNoZWNrb3V0LWZvcm0gLmNoZWNrb3V0LXRpdGxlIGgyewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMjIyMjIyOwoJZm9udC1zaXplOjMwcHg7CgltYXJnaW4tYm90dG9tOjE1cHg7Cn0KCi5jaGVja291dC1mb3JtIC5mb3JtLWdyb3VwewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjVweDsJCn0KCi5jaGVja291dC1mb3JtIC5mb3JtLWdyb3VwIC5maWVsZC1sYWJlbHsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDoyNHB4OwoJbWFyZ2luLWJvdHRvbTo2cHg7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwoJY29sb3I6IzIyMjIyMjsJCglmb250LXNpemU6MTZweDsKCWZvbnQtd2VpZ2h0OjQwMDsKfQoKLmNoZWNrb3V0LWZvcm0gLmZvcm0tZ3JvdXAgLmZpZWxkLWxhYmVsIHN1cHsKCXRvcDotMXB4OwoJZm9udC1zaXplOjE2cHg7Cn0KCi5jaGVja291dC1mb3JtIC5mb3JtLWdyb3VwIC50ZXh0ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojNzc3Nzc3OwoJZm9udC1zaXplOjE1cHg7CgltYXJnaW4tYm90dG9tOjVweDsKfQoKLmNoZWNrb3V0LWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdLAouY2hlY2tvdXQtZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLAouY2hlY2tvdXQtZm9ybSBpbnB1dFt0eXBlPSJwYXNzd29yZCJdLAouY2hlY2tvdXQtZm9ybSBpbnB1dFt0eXBlPSJ0ZWwiXSwKLmNoZWNrb3V0LWZvcm0gaW5wdXRbdHlwZT0ibnVtYmVyIl0sCi5jaGVja291dC1mb3JtIGlucHV0W3R5cGU9InVybCJdLAouY2hlY2tvdXQtZm9ybSBzZWxlY3QsCi5jaGVja291dC1mb3JtIHRleHRhcmVhewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKCWJhY2tncm91bmQ6I2ZmZmZmZjsKCWxpbmUtaGVpZ2h0OjIycHg7CglwYWRkaW5nOjEycHggMTVweDsKCWhlaWdodDo0OHB4OwoJbWFyZ2luLWJvdHRvbToxMHB4OwoJYm9yZGVyOjFweCBzb2xpZCAjZTBlMGUwOwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLmNoZWNrb3V0LWZvcm0gdGV4dGFyZWF7CglyZXNpemU6bm9uZTsKCWhlaWdodDo2MHB4ICFpbXBvcnRhbnQ7CQp9CgouY2hlY2tvdXQtZm9ybSBpbnB1dDpmb2N1cywKLmNoZWNrb3V0LWZvcm0gc2VsZWN0OmZvY3VzLAouY2hlY2tvdXQtZm9ybSB0ZXh0YXJlYTpmb2N1c3sKCWJvcmRlci1jb2xvcjojYzEyODJhOwkKfQoKLmNoZWNrb3V0LXBhZ2UgLmNoZWNrLWJveHsKCWxpbmUtaGVpZ2h0OjI0cHg7Cglmb250LXNpemU6MTRweDsKCWZvbnQtd2VpZ2h0Om5vcm1hbDsKCXBhZGRpbmctdG9wOjVweDsJCn0KCi5jaGVja291dC1wYWdlIC5jaGVjay1ib3ggbGFiZWx7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXRvcDotMXB4OwoJZm9udC13ZWlnaHQ6bm9ybWFsOwoJcGFkZGluZzowcHg7Cglmb250LXNpemU6MTZweDsKCWN1cnNvcjpwb2ludGVyOwoJY29sb3I6IzMzMzMzMzsKfQoKLmNoZWNrb3V0LXBhZ2UgLmxvd2VyLWNvbnRlbnR7CgltYXJnaW4tdG9wOjMwcHg7Cn0KCi5jaGVja291dC1wYWdlIC5sb3dlci1jb250ZW50IC5vcmRlci1jb2x1bW57CgltYXJnaW4tYm90dG9tOjQwcHg7Cn0KCi5jaGVja291dC1wYWdlIC5sb3dlci1jb250ZW50IC5jb2x1bW4gaDJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMyMjIyMjI7Cglmb250LXNpemU6MjRweDsKCW1hcmdpbi1ib3R0b206MzBweDsKCXBhZGRpbmctYm90dG9tOjEycHg7Cn0KCi5jaGVja291dC1wYWdlIC5sb3dlci1jb250ZW50IC5jb2x1bW4gaDI6YWZ0ZXJ7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjBweDsKCWJvdHRvbTowcHg7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjJweDsKCWJhY2tncm91bmQtY29sb3I6I2MxMjgyYTsKfQoKLypDb3Vwb24gQm94Ki8KCi5jb3Vwb24tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjI1cHggMjVweDsKCW1hcmdpbi1ib3R0b206MjVweDsKCWJhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTsKfQoKLmNvdXBvbi1mb3JtewoJcG9zaXRpb246cmVsYXRpdmU7Cn0KCi5jb3Vwb24tZm9ybSAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbTowcHg7Cn0KCi5jb3Vwb24tZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il17Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7Cgl3aWR0aDoxMDAlOwoJbGluZS1oZWlnaHQ6MjhweDsKCXBhZGRpbmc6MTBweCAyMHB4OwoJaGVpZ2h0OjQ0cHg7Cglmb250LXNpemU6MTRweDsKCWJvcmRlcjoxcHggc29saWQgI2NjY2NjYzsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cn0KCi5jb3Vwb24tZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXN7Cglib3JkZXItY29sb3I6I2MxMjgyYTsKfQoKLmNvdXBvbi1mb3JtIGJ1dHRvbnsKCW1hcmdpbi10b3A6MHB4OwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDo3MDA7Cglib3JkZXItcmFkaXVzOjBweDsKCXBhZGRpbmc6OHB4IDI2cHg7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwp9Cgoub3JkZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tdG9wOjE1cHg7Cn0KCi5vcmRlci1ib3ggaDJ7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiMzMzMzMzM7Cglmb250LXNpemU6MjhweDsKCWZvbnQtd2VpZ2h0OjcwMDsKCW1hcmdpbi1ib3R0b206MjBweDsKfQoKLm9yZGVyLWJveCAudGl0bGUtYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjEzcHggMzBweDsKCWJhY2tncm91bmQtY29sb3I6IzMzMzMzMzsKfQoKLm9yZGVyLWJveCAudGl0bGUtYm94IC5jb2x7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCXdpZHRoOjUwJTsKCWZsb2F0OmxlZnQ7Cgljb2xvcjojZmZmZmZmOwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDo3MDA7Cn0KCi5vcmRlci1ib3ggdWx7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLm9yZGVyLWJveCB1bCBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoyNXB4IDMwcHg7Cglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjY2NjY2NjOwp9Cgoub3JkZXItYm94IHVsIGxpIHN0cm9uZ3sKCWNvbG9yOiMzMzMzMzM7Cglmb250LXdlaWdodDo3MDA7Cglmb250LXNpemU6MTZweDsKfQoKLm9yZGVyLWJveCB1bCBsaSBzcGFuewoJd2lkdGg6NTAlOwoJZmxvYXQ6cmlnaHQ7Cgljb2xvcjojYzEyODJhOwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDo3MDA7Cn0KCi5vcmRlci1ib3ggdWwgbGkgc3Bhbi5mcmVlewoJY29sb3I6Izc3Nzc3NzsKCWZvbnQtc2l6ZToxNnB4Owp9Cgoub3JkZXItYm94IHVsIGxpOmxhc3QtY2hpbGR7Cglib3JkZXItYm90dG9tOm5vbmU7Cn0KCi5wYXltZW50LWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDoyMHB4OwoJYmFja2dyb3VuZC1jb2xvcjojZjVmNWY1Owp9CgoucGF5bWVudC1ib3ggLnVwcGVyLWJveHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJcGFkZGluZzoxNXB4IDM1cHg7Cglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjYjdiN2I3Owp9CgoKLnBheW1lbnQtb3B0aW9uc3sKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLXRvcDoyMHB4OwoJbWFyZ2luLWJvdHRvbToyMHB4OwkKfQoKLnBheW1lbnQtYm94IC5wYXltZW50LW9wdGlvbnMgbGl7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCW1hcmdpbi1ib3R0b206MTBweDsJCn0KCi5wYXltZW50LWJveCAucGF5bWVudC1vcHRpb25zIGxpIC5yYWRpby1vcHRpb257Cglwb3NpdGlvbjpyZWxhdGl2ZTsJCQp9CgoucGF5bWVudC1ib3ggLnBheW1lbnQtb3B0aW9ucyBsaSAucmFkaW8tb3B0aW9uIGxhYmVsewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCXBhZGRpbmctbGVmdDozMHB4OwoJZm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwoJbGV0dGVyLXNwYWNpbmc6MXB4OwoJY29sb3I6IzMzMzMzMzsKCWN1cnNvcjpwb2ludGVyOwoJZm9udC1zaXplOjE4cHg7Cn0KCi5wYXltZW50LWJveCAucGF5bWVudC1vcHRpb25zIGxpIC5yYWRpby1vcHRpb24gbGFiZWwgc3Ryb25newp9CgoucGF5bWVudC1ib3ggLnBheW1lbnQtb3B0aW9ucyBsaSAucmFkaW8tb3B0aW9uIGlucHV0W3R5cGU9InJhZGlvIl17Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWxlZnQ6MHB4OwoJdG9wOjNweDsJCn0KCi5wYXltZW50LWJveCAucGF5bWVudC1vcHRpb25zIGxpIC5yYWRpby1vcHRpb24gbGFiZWwgLnNtYWxsLXRleHR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7CglsZXR0ZXItc3BhY2luZzowcHg7Cgl0ZXh0LXRyYW5zZm9ybTpub25lOwoJZm9udC13ZWlnaHQ6bm9ybWFsOwoJZm9udC1zaXplOjE0cHg7Cgljb2xvcjojNzc3Nzc3OwoJbGluZS1oZWlnaHQ6MS44ZW07CglwYWRkaW5nOjE1cHggMjBweDsKCW1hcmdpbi10b3A6MjBweDsKCWJhY2tncm91bmQtY29sb3I6I2VkZWRlZDsKfQoKLnBheW1lbnQtYm94IC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiBsYWJlbCAuc21hbGwtdGV4dDpiZWZvcmV7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWNvbnRlbnQ6Jyc7CglsZWZ0OjMwcHg7Cgl0b3A6LTEzcHg7Cglib3JkZXItbGVmdDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDsKCWJvcmRlci1yaWdodDogMTVweCBzb2xpZCB0cmFuc3BhcmVudDsKCWJvcmRlci1ib3R0b206IDE1cHggc29saWQgI2VkZWRlZDsKfQoKLnBheW1lbnQtYm94IC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiBsYWJlbCBpbWd7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWRpc3BsYXk6YmxvY2s7CgltYXgtd2lkdGg6MTAwJTsKCXBhZGRpbmctbGVmdDozMHB4OwkKCW1hcmdpbi10b3A6MjBweDsKfQoKLnBheW1lbnQtYm94IC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiAud2hhdC1wYXlwYWxsewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJY29sb3I6Izc3Nzc3NzsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NzAwOwoJbWFyZ2luLWxlZnQ6MTIwcHg7CgltYXJnaW4tdG9wOjEwcHg7Cn0KCi5wYXltZW50LWJveCAubG93ZXItYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglwYWRkaW5nOjE1cHggMTVweDsKfQoKLnBheW1lbnQtYm94IC5sb3dlci1ib3ggLmJ0bi1zdHlsZS1vbmV7CiAgICBmb250LXNpemU6IDE4cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgYm9yZGVyLXJhZGl1czogMHB4OwogICAgcGFkZGluZzogOHB4IDE5cHg7CiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKfQoKLyogQmxhZyBDYXQgKi8KCi5jYXRlZ29yaWVzLXdpZGdldCAuYmxvZy1jYXR7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKfQoKLmNhdGVnb3JpZXMtd2lkZ2V0IC5ibG9nLWNhdCBsaXsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgouY2F0ZWdvcmllcy13aWRnZXQgLmJsb2ctY2F0IGxpIGF7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWNvbG9yOiM0NDQ0NDQ7CglwYWRkaW5nOjE1cHggMHB4OwoJZGlzcGxheTpibG9jazsKCWZvbnQtc2l6ZToxNnB4OwoJdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCWJvcmRlci1ib3R0b206MXB4IGRhc2hlZCAjY2NjY2NjOwp9CgouY2F0ZWdvcmllcy13aWRnZXQgLmJsb2ctY2F0IGxpIGE6aG92ZXJ7Cgljb2xvcjojYzEyODJhOwp9CgouY2F0ZWdvcmllcy13aWRnZXQgLmJsb2ctY2F0IGxpOmxhc3QtY2hpbGQgYXsKCWJvcmRlci1ib3R0b206bm9uZTsKfQoKLmNhdGVnb3JpZXMtd2lkZ2V0IC5ibG9nLWNhdCBsaSBhIHNwYW57Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXJpZ2h0OjBweDsKfQoKLypQb3N0IFdpZGdldCovCgouc2lkZWJhciAucG9wdWxhci1wb3N0cy10d28gLnBvc3R7Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNHB4OwoJY29sb3I6IzY2NjY2NjsKCXBhZGRpbmc6MHB4IDBweDsKCXBhZGRpbmctbGVmdDo5NXB4OwoJbWluLWhlaWdodDoxMDBweDsKCW1hcmdpbi1ib3R0b206MzBweDsKCWJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGRkZGQ7Cn0KCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzLXR3byAucG9zdDpsYXN0LWNoaWxkewoJbWFyZ2luLWJvdHRvbTowcHg7Cglib3JkZXItYm90dG9tOm5vbmU7CgltaW4taGVpZ2h0OmF1dG87Cn0KCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzLXR3byAucG9zdCAucG9zdC10aHVtYnsKCSBwb3NpdGlvbjphYnNvbHV0ZTsKCSBsZWZ0OjBweDsKCSB0b3A6MHB4OwoJIHdpZHRoOjc1cHg7Cn0KCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzLXR3byAucG9zdCAucG9zdC10aHVtYiAub3ZlcmxheS1ib3h7Cglwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBjb250ZW50OiAnJzsKICAgIGxlZnQ6IDBweDsKICAgIHRvcDogMHB4OwogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGNvbG9yOiAjYzEyODJhOwogICAgZm9udC1zaXplOiAxOHB4OwogICAgb3BhY2l0eTogMDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLDUxLDUxLDAuNzApOwp9Cgouc2lkZWJhciAucG9wdWxhci1wb3N0cy10d28gLnBvc3QgLnBvc3QtdGh1bWIgLm92ZXJsYXktYm94IC5mYXsKCXRvcDogNTAlOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgbWFyZ2luLXRvcDogLTEycHg7CiAgICBkaXNwbGF5OiBibG9jazsKfQoKLnNpZGViYXIgLnBvcHVsYXItcG9zdHMtdHdvIC5wb3N0OmhvdmVyIC5wb3N0LXRodW1iIC5vdmVybGF5LWJveHsKCW9wYWNpdHk6MTsKfQoKLnNpZGViYXIgLnBvcHVsYXItcG9zdHMtdHdvIC5wb3N0IC5wb3N0LXRodW1iIGltZ3sKCWRpc3BsYXk6YmxvY2s7Cgl3aWR0aDoxMDAlOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzLXR3byAucG9zdCAudGV4dHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdG9wOjBweDsKCWZvbnQtc2l6ZToxOHB4OwoJbWFyZ2luOjBweCAwcHggMHB4OwoJZm9udC13ZWlnaHQ6NDAwOwoJY29sb3I6IzMzMzMzMzsKCWxpbmUtaGVpZ2h0OjEuNWVtOwoJdGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTsKCWZvbnQtZmFtaWx5OiAnT3N3YWxkJywgc2Fucy1zZXJpZjsKfQoKLnNpZGViYXIgLnBvcHVsYXItcG9zdHMtdHdvIC5wb3N0IC50ZXh0IGF7Cgljb2xvcjojMzMzMzMzOwoJdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoJLW1vei10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3MgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cgktby10cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2U7Cn0KCi5zaWRlYmFyIC5wb3B1bGFyLXBvc3RzLXR3byAucG9zdCBhOmhvdmVyewoJY29sb3I6I2MxMjgyYTsKfQoKLnNpZGViYXIgLnBvcHVsYXItcG9zdHMtdHdvIC5wb3N0LWluZm97Cglwb3NpdGlvbjpyZWxhdGl2ZTsKCWZvbnQtc2l6ZToxNHB4OwoJY29sb3I6Izc3Nzc3NzsKCWZvbnQtd2VpZ2h0OjQwMDsKCW1hcmdpbi10b3A6NHB4Owp9CgoubG9naW4tZm9ybXsKCXBvc2l0aW9uOnJlbGF0aXZlOwp9CgoubG9naW4tZm9ybSAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToxMnB4Owp9CgoubG9naW4tZm9ybSAuZm9ybS1ncm91cDpudGgtY2hpbGQoMil7CgltYXJnaW4tYm90dG9tOjMwcHg7Cn0KCi5sb2dpbi1zZWN0aW9uLnN0eWxlLXR3byAubG9naW4tZm9ybSAuZm9ybS1ncm91cDpudGgtY2hpbGQoMil7CgltYXJnaW4tYm90dG9tOjE1cHg7Cn0KCi5sb2dpbi1mb3JtIC5mb3JtLWdyb3VwIGxhYmVsewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMzMzMzMzOwoJZm9udC13ZWlnaHQ6NDAwOwoJZm9udC1zaXplOjE2cHg7Cn0KCi5sb2dpbi1mb3JtIC5mb3JtLWdyb3VwLm5vLW1hcmdpbnsKCW1hcmdpbi1ib3R0b206MHB4Owp9CgoubG9naW4tZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il0sCi5sb2dpbi1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sCi5sb2dpbi1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRlbCJdLAoubG9naW4tZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmJsb2NrOwoJd2lkdGg6MTAwJTsKCWxpbmUtaGVpZ2h0OjI4cHg7CglwYWRkaW5nOjEwcHggMjBweDsKCWhlaWdodDo1MHB4OwoJZm9udC1zaXplOjE0cHg7Cglib3JkZXI6MXB4IHNvbGlkICNjY2NjY2M7Cgktd2Via2l0LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbXMtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7Cgl0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwp9CgoubG9naW4tZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJ0ZXh0Il06Zm9jdXMsCi5sb2dpbi1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsCi5sb2dpbi1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLAoubG9naW4tZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLAoubG9naW4tZm9ybSAuZm9ybS1ncm91cCBzZWxlY3Q6Zm9jdXMsCi5sb2dpbi1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhOmZvY3VzewoJYm9yZGVyLWNvbG9yOiNjMTI4MmE7Cn0KCi5sb2dpbi1mb3JtIGJ1dHRvbnsKCW1hcmdpbi10b3A6MHB4OwoJZm9udC1zaXplOjE2cHg7Cglmb250LXdlaWdodDo3MDA7Cglib3JkZXItcmFkaXVzOjBweDsKCXBhZGRpbmc6NnB4IDE5cHg7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwp9CgoubG9naW4tZm9ybSAucHN3ewoJcG9zaXRpb246cmVsYXRpdmU7Cgljb2xvcjojMzMzMzMzOwoJZm9udC1zaXplOjE2cHg7Cn0KCi8qIEJveCBWZXJzaW9uICovCgouYm94LXZlcnNpb257CglkaXNwbGF5Om5vbmU7Cn0KCi5jb2xvci1wYWxhdGUgLnJ0bC12ZXJzaW9uLm9wdGlvbi1ib3h7CgltYXJnaW4tbGVmdDowcHg7CglmbG9hdDpub25lOwoJcGFkZGluZy10b3A6MjVweDsKfQoKLmNvbG9yLXBhbGF0ZSAub3B0aW9uLWJveCA+IGxpewoJcG9zaXRpb246IHJlbGF0aXZlOwoJY29sb3I6I2ZmZmZmZjsKCXdpZHRoOiA0MCU7CgltYXJnaW46MHB4IDNweDsKCWN1cnNvcjogcG9pbnRlcjsKCW1hcmdpbi1ib3R0b206IDlweDsKCXBhZGRpbmc6OHB4IDIwcHg7Cglmb250LXNpemU6MTRweDsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCWJhY2tncm91bmQtY29sb3I6ICNkMTYzMWI7Cgl0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplOwp9CgouY29sb3ItdHJpZ2dlciAuZmF7Cgktd2Via2l0LWFuaW1hdGlvbjogcm90YXRpb24gMnMgaW5maW5pdGUgbGluZWFyOwp9CgpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRpb24gewoJZnJvbSB7CgkJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7Cgl9Cgl0byB7CgkJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsKCX0KfQoKLyogUlRMIENvZGUgKi8KCi5ydGwgLm1haW4taGVhZGVyIC5oZWFkZXItdG9wIC50b3AtbGVmdHsKCWZsb2F0OnJpZ2h0Owp9CgoucnRsIC5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyIC51cHBlci1yaWdodCwKLnJ0bCAubWFpbi1oZWFkZXIgLmhlYWRlci10b3AgLnRvcC1yaWdodHsKCWZsb2F0OmxlZnQ7Cn0KCi5ydGwgLm1haW4taGVhZGVyIC5oZWFkZXItdXBwZXIgLmxvZ28tYm94ewoJcG9zaXRpb246cmVsYXRpdmU7CglmbG9hdDpyaWdodDsKfQoKLnJ0bCAubWFpbi1oZWFkZXIgLmluZm8tYm94ewoJdGV4dC1hbGlnbjpyaWdodDsKCXBhZGRpbmctbGVmdDowcHg7CglwYWRkaW5nLXJpZ2h0OjY1cHg7Cn0KCi5ydGwgLm1haW4taGVhZGVyIC5pbmZvLWJveCAuaWNvbi1ib3h7CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLAoucnRsIC5tYWluLW1lbnV7CglmbG9hdDpyaWdodDsKfQoKLnJ0bCAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGk6bGFzdC1jaGlsZDo6YmVmb3JlewoJZGlzcGxheTpub25lOwp9CgoucnRsIC5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LW91dGVyLAoucnRsIC5tYWluLWhlYWRlciAub3B0aW9ucy1ib3ggLmdyaWQtYm94LAoucnRsIC5tYWluLWhlYWRlciAub3B0aW9ucy1ib3ggLmJ0bi1ib3h7CglmbG9hdDpyaWdodDsKfQoKLnJ0bCAuaW50cm9kdWN0aW9uLXNlY3Rpb24gLmltYWdlLWNvbHVtbiAuaW1hZ2UgLnByb2plY3RzLAoucnRsIC5pbnRyb2R1Y3Rpb24tc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiwKLnJ0bCAuc2VydmljZS1ibG9jayAuaW5uZXItYm94LAoucnRsIC5tYWluLXNsaWRlciAuc2xpZGV7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3ggaDU6YmVmb3JlLAoucnRsIC5zZXJ2aWNlLWJsb2NrIC5pbm5lci1ib3ggLmJpZy1pY29uewoJcmlnaHQ6MHB4OwoJbGVmdDphdXRvOwp9CgoucnRsIC5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC50aXRsZS1jb2x1bW4sCi5ydGwgLmludHJvZHVjdGlvbi1zZWN0aW9uIC5pbWFnZS1jb2x1bW57CglvcmRlcjoyOwp9CgoucnRsIC5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC5idG4tY29sdW1uLAoucnRsIC5pbnRyb2R1Y3Rpb24tc2VjdGlvbiAuY29udGVudC1jb2x1bW57CglvcmRlcjoxOwp9CgoucnRsIC5saXN0LXN0eWxlLXRocmVlIGxpewoJcGFkZGluZy1sZWZ0OjBweDsKCXBhZGRpbmctcmlnaHQ6MzBweDsKfQoKLnJ0bCAubGlzdC1zdHlsZS10aHJlZSBsaTpiZWZvcmV7CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5jb250ZW50ewoJcGFkZGluZy1yaWdodDoxNXB4OwoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAucHJvamVjdC1ibG9jayAuaW5uZXItYm94IC5pbWFnZSAub3ZlcmxheS1ib3h7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5wcm9qZWN0LWJsb2NrIC5pbm5lci1ib3ggLmltYWdlIC5vdmVybGF5LWJveCAuc29jaWFsLWJveCBhewoJbWFyZ2luLXJpZ2h0OjBweDsKCW1hcmdpbi1sZWZ0OjEycHg7Cn0KCi5ydGwgLm1haW4tZm9vdGVyIC5mb290ZXItd2lkZ2V0LAoucnRsIC5jb250YWN0LXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4sCi5ydGwgLmRlZmF1bHQtZm9ybSAuZm9ybS1ncm91cCB0ZXh0YXJlYSwKLnJ0bCAuZGVmYXVsdC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwKLnJ0bCAuZGVmYXVsdC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9ImVtYWlsIl0sCi5ydGwgLmRlZmF1bHQtZm9ybSAuZm9ybS1ncm91cCBzZWxlY3R7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5saXN0LXN0eWxlLXR3byBsaXsKCXBhZGRpbmctbGVmdDowcHg7CglwYWRkaW5nLXJpZ2h0OjgwcHg7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5tYWluLWZvb3RlciAubmV3cy13aWRnZXQgLnBvc3QgLnRodW1iLAoucnRsIC5saXN0LXN0eWxlLXR3byBsaSAuaWNvbnsKCXJpZ2h0OjBweDsKCWxlZnQ6YXV0bzsKfQoKLnJ0bCAubWFpbi1mb290ZXIgLm5ld3Mtd2lkZ2V0IC5wb3N0ewoJcGFkZGluZy1sZWZ0OjBweDsKCXBhZGRpbmctcmlnaHQ6MTEwcHg7Cn0KCi5ydGwgLm1haW4tZm9vdGVyIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLCAKLnJ0bCAubWFpbi1mb290ZXIgLm5ld3NsZXR0ZXItZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJlbWFpbCJdewoJcGFkZGluZy1sZWZ0Ojg1cHg7CglwYWRkaW5nLXJpZ2h0OjE1cHg7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5tYWluLWZvb3RlciAubmV3c2xldHRlci1mb3JtIC5mb3JtLWdyb3VwIGJ1dHRvbnsKCWxlZnQ6MHB4OwoJcmlnaHQ6YXV0bzsKfQoKLnJ0bCAuc29jaWFsLWljb24tb25lIC50aXRsZXsKCW1hcmdpbi1yaWdodDowcHg7Cn0KCi5ydGwgLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tIC5mb290ZXItbmF2IGxpewoJZmxvYXQ6cmlnaHQ7Cn0KCi5ydGwgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWx7CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkuZHJvcGRvd24gPiBhOmFmdGVyewoJbGVmdDoxMHB4OwoJcmlnaHQ6YXV0bzsKCXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTsKfQoKLnJ0bCAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWx7CglyaWdodDoxMDAlOwoJbGVmdDphdXRvOwp9CgoucnRsIC5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLnNvY2lhbC1ib3gsCi5ydGwgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gLm1lZ2EtbWVudSAubWVnYS1tZW51LWJhcnsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLnNpZGViYXItaW5mby1jb250ZW50cyAuY29udGVudC1pbm5lciAuc29jaWFsLWJveCBsaXsKCW1hcmdpbi1sZWZ0OjEwcHg7CgltYXJnaW4tcmlnaHQ6MHB4Owp9CgoucnRsIC5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdHdvIC5vcHRpb25zLWJveHsKCWxlZnQ6MHB4OwoJcmlnaHQ6YXV0bzsKfQoKLnJ0bCAuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5pbm5lci1jb250YWluZXIgLmxvZ28tYm94ewoJcG9zaXRpb246YWJzb2x1dGU7CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAuc29jaWFsLW5hdnsKCWxlZnQ6MjBweDsKCXJpZ2h0OmF1dG87CglkaXNwbGF5Om5vbmU7Cn0KCi5ydGwgLmZsdWlkLXNlY3Rpb24tb25lIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uLAoucnRsIC5tYWluLXNsaWRlci10d28gLmNvbnRlbnQtYm94ZWQsCi5ydGwgLnNpZGViYXItaW5mby1jb250ZW50cyAuY29udGVudC1pbm5lciAuY29udGFjdC1pbmZvLAoucnRsIC5zaWRlYmFyLWluZm8tY29udGVudHMgLmNvbnRlbnQtaW5uZXIgLmNvbnRlbnQtYm94ewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAubGlzdC1zdHlsZS1vbmUgbGl7CglwYWRkaW5nLWxlZnQ6MHB4OwoJcGFkZGluZy1yaWdodDozNHB4Owp9CgoucnRsIC5saXN0LXN0eWxlLW9uZSBsaSAuaWNvbnsKCXJpZ2h0OjBweDsKCWxlZnQ6YXV0bzsKfQoKLnJ0bCAubWFpbi1zbGlkZXItdHdvIC5saW5rLWJveCAudGhlbWUtYnRuewoJbWFyZ2luLXJpZ2h0OjBweDsKCW1hcmdpbi1sZWZ0OjIwcHg7Cn0KCi5ydGwgLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLnRpdGxlLWNvbHVtbiAuY29udGVudHsKCXBhZGRpbmctcmlnaHQ6NTVweDsKCXBhZGRpbmctbGVmdDowcHg7Cglib3JkZXItbGVmdDowcHg7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJYm9yZGVyLXJpZ2h0OjVweCBzb2xpZCAjMzI0MWZmOwp9CgoucnRsIC5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC5idG4tY29sdW1uIC5pbm5lci1jb2x1bW57Cgl0ZXh0LWFsaWduOmxlZnQ7Cn0KCi5ydGwgLmZsdWlkLXNlY3Rpb24tb25lIC5jb250ZW50LWNvbHVtbiAuYnRuLWJveCAudGhlbWUtYnRuewoJZmxvYXQ6cmlnaHQ7CgltYXJnaW4tcmlnaHQ6MHB4OwoJbWFyZ2luLWxlZnQ6MjVweDsKfQoKLnJ0bCAuc2tpbGxzIC5za2lsbC1pdGVtIC5za2lsbC1oZWFkZXIgLnNraWxsLXRpdGxlewoJZmxvYXQ6cmlnaHQ7Cn0KCi5ydGwgLnNraWxscyAuc2tpbGwtaXRlbSAuc2tpbGwtaGVhZGVyIC5za2lsbC1wZXJjZW50YWdlewoJZmxvYXQ6bGVmdDsKfQoKLnJ0bCAuZmFjdC1jb3VudGVyLXR3byAuY291bnQtb3V0ZXJ7CglwYWRkaW5nLWxlZnQ6MHB4OwoJcGFkZGluZy1yaWdodDoxMDBweDsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLmZhY3QtY291bnRlci10d28gLmNvbHVtbiAuaW5uZXIgLmljb257CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLm5ld3MtYmxvY2stdHdvIC5pbm5lci1ib3ggLmNvbnRlbnQtYm94IGg0LAoucnRsIC5wcm9qZWN0LWJsb2NrLXR3byAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdGhyZWUgLnRvcC1sZWZ0IC50ZXh0LAoucnRsIC5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10aHJlZSAudG9wLWxlZnR7Cgl3aWR0aDoxMDAlOwoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAuaGVhZGVyLXN0eWxlLXRocmVlIC5oZWFkZXItbG93ZXIgLmlubmVyLWNvbnRhaW5lciAubG9nby1ib3h7CglmbG9hdDpyaWdodDsKfQoKLnJ0bCAuaGVhZGVyLXN0eWxlLXRocmVlIC5oZWFkZXItbG93ZXIgLmlubmVyLWNvbnRhaW5lcjpiZWZvcmV7CglyaWdodDowcHg7CglsZWZ0Ojk1cHg7Cn0KCi5ydGwgLm1haW4tc2xpZGVyLXRocmVlIC5jb250ZW50LWJveGVkewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAubWFpbi1zbGlkZXItdGhyZWUgLnNvY2lhbC1uYXZ7CglyaWdodDozMHB4OwoJbGVmdDphdXRvOwp9CgoucnRsIC5tYWluLXNsaWRlci10aHJlZSAuc2xpZGU6YmVmb3JlewoJcmlnaHQ6MHB4OwoJbGVmdDphdXRvOwp9CgoucnRsIC5tYWluLXNsaWRlci10aHJlZSAubGluay1ib3ggLnRoZW1lLWJ0bnsKCW1hcmdpbi1yaWdodDowcHg7CgltYXJnaW4tbGVmdDoyMHB4Owp9CgoucnRsIC5tYWluLXNsaWRlci10aHJlZSAudGV4dC1ib3hlZHsKCXJpZ2h0OjUwJTsKCWxlZnQ6YXV0bzsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLndlLWFyZS1zZWN0aW9uIC50aXRsZS1jb2x1bW57CglvcmRlcjoyOwoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAud2UtYXJlLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uewoJb3JkZXI6MTsKfQoKLnJ0bCAuZm9vdGVyLXN0eWxlLXR3byAudXBwZXItYm94IC50aXRsZS1jb2x1bW4sCi5ydGwgLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiwKLnJ0bCAuZmVhdHVyZWQtc2VjdGlvbi10d28gLmJsb2Nrcy1jb2x1bW57CglvcmRlcjoyOwp9CgoucnRsIC5mb290ZXItc3R5bGUtdHdvIC51cHBlci1ib3ggLmZvcm0tY29sdW1uLAoucnRsIC5jb250YWN0LXNlY3Rpb24tdHdvIC5mb3JtLWNvbHVtbiwKLnJ0bCAuZmVhdHVyZWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uewoJb3JkZXI6MTsKfQoKLnJ0bCAuZm9vdGVyLXN0eWxlLXR3byAudXBwZXItYm94IC50aXRsZS1jb2x1bW4gLmlubmVyLWNvbHVtbiwKLnJ0bCAuZmVhdHVyZWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5mZWF0dXJlLWJsb2NrLXR3byAuaW5uZXItYm94ewoJcGFkZGluZy1sZWZ0OjBweDsKCXBhZGRpbmctcmlnaHQ6MTAwcHg7Cn0KCi5ydGwgLmZlYXR1cmUtYmxvY2stdHdvIC5pbm5lci1ib3ggLmljb24tYm94ewoJcmlnaHQ6MHB4OwoJbGVmdDphdXRvOwp9CgoucnRsIC5mZWF0dXJlZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmxpbmstYm94IC52aWRlby1ib3h7CglmbG9hdDpyaWdodDsKCW1hcmdpbi1yaWdodDowcHg7CgltYXJnaW4tbGVmdDo1MHB4Owp9CgoucnRsIC5zZXJ2aWNlLWJsb2NrLWZvdXIgLmlubmVyLWJveCAubG93ZXItYm94IC5sb3dlci1pbm5lcnsKCXBhZGRpbmctbGVmdDowcHg7CglwYWRkaW5nLXJpZ2h0OjU2cHg7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5zZXJ2aWNlLWJsb2NrLWZvdXIgLmlubmVyLWJveCAubG93ZXItYm94IC5sb3dlci1pbm5lciAuaWNvbnsKCXJpZ2h0OjBweDsKCWxlZnQ6YXV0bzsKfQoKLnJ0bCAuZmx1aWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5jb2x1bW4tbGlzdCBsaTpiZWZvcmV7CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cgl0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7Cn0KCi5ydGwgLmZsdWlkLXNlY3Rpb24tdHdvIC5pbWFnZS1jb2x1bW57CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLmZsdWlkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbnsKCWZsb2F0OmxlZnQ7Cn0KCi5ydGwgLmZsdWlkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAuZmx1aWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5jb2x1bW4tbGlzdCBsaXsKCXBhZGRpbmctbGVmdDowcHg7CglwYWRkaW5nLXJpZ2h0OjQwcHg7Cn0KCi5ydGwgLmZsdWlkLXNlY3Rpb24tdHdvIC5pbmZvLWxpc3QgbGl7Cglib3JkZXI6bm9uZTsKCXBhZGRpbmctbGVmdDowcHg7Cgl0ZXh0LWFsaWduOnJpZ2h0OwoJcGFkZGluZy1yaWdodDoxMjVweDsKfQoKLnJ0bCAuY29udGFjdC1zZWN0aW9uLXR3byAuaW1hZ2UtY29sdW1uIC5udW1iZXItYm94IC5pY29uLAoucnRsIC5mbHVpZC1zZWN0aW9uLXR3byAuaW5mby1saXN0IGxpIC5pY29uewoJcmlnaHQ6MHB4OwoJbGVmdDphdXRvOwp9CgoucnRsIC5hY2NvcmRpb24tYm94IC5ibG9jayAuY29udGVudCwKLnJ0bCAuZm9vdGVyLXN0eWxlLXR3byAuZm9vdGVyLWJvdHRvbSAuY29weXJpZ2h0LAoucnRsIC5mb290ZXItc3R5bGUtdHdvIC5mb290ZXItbGlzdCwKLnJ0bCAuY29udGFjdC1zZWN0aW9uLXR3byAuZm9ybS1jb2x1bW4gLmlubmVyLWNvbHVtbnsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiAubnVtYmVyLWJveCAuYm94LWlubmVyewoJcGFkZGluZy1sZWZ0OjBweDsKCXRleHQtYWxpZ246cmlnaHQ7CglwYWRkaW5nLXJpZ2h0OjEwMHB4Owp9CgoucnRsIC5mb290ZXItc3R5bGUtdHdvIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgYnV0dG9uewoJbGVmdDowcHg7CglyaWdodDphdXRvOwp9CgoucnRsIC5mb290ZXItc3R5bGUtdHdvIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLAoucnRsIC5mb290ZXItc3R5bGUtdHdvIC5uZXdzbGV0dGVyLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0iZW1haWwiXXsKCXRleHQtYWxpZ246cmlnaHQ7CglwYWRkaW5nLXJpZ2h0OjIwcHg7Cn0KCi5ydGwgLmZvb3Rlci1zdHlsZS10d28gLmluZm8tbGlzdCBsaXsKCXBhZGRpbmctbGVmdDowcHg7CglwYWRkaW5nLXJpZ2h0OjM1cHg7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5mb290ZXItc3R5bGUtdHdvIC5pbmZvLWxpc3QgbGkgLmljb257CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLmZvb3Rlci1zdHlsZS10d28gLmZvb3Rlci1ib3R0b20gLmZvb3Rlci1uYXYgbGl7CglmbG9hdDpyaWdodDsKfQoKLnJ0bCAucGFnZS10aXRsZSAucHVsbC1sZWZ0ewoJZmxvYXQ6cmlnaHQ7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5wYWdlLXRpdGxlIC5wdWxsLXJpZ2h0ewoJZmxvYXQ6bGVmdDsKfQoKLnJ0bCAucGFnZS1icmVhZGNydW1iIGxpewoJZmxvYXQ6cmlnaHQ7CgltYXJnaW4tcmlnaHQ6MHB4OwoJcGFkZGluZy1yaWdodDowcHg7CglwYWRkaW5nLWxlZnQ6MTVweDsKCW1hcmdpbi1sZWZ0OjEwcHg7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5wYWdlLWJyZWFkY3J1bWIgbGk6YWZ0ZXJ7CglsZWZ0OjBweDsKCXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTsKfQoKLnJ0bCAucHJpY2UtYmxvY2sgLmlubmVyLWJveCAubG93ZXItYm94IC5wcmljZS1saXN0IGxpewoJdGV4dC1hbGlnbjpyaWdodDsKCXBhZGRpbmctbGVmdDowcHg7CglwYWRkaW5nLXJpZ2h0OjI1cHg7Cn0KCi5ydGwgLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLmxvd2VyLWJveCAucHJpY2UtbGlzdCBsaTpiZWZvcmV7CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLnJlY29tZW5kewoJcGFkZGluZy1sZWZ0OjBweDsKCXBhZGRpbmctcmlnaHQ6MzBweDsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLnByaWNlLWJsb2NrIC5pbm5lci1ib3ggLnJlY29tZW5kOmJlZm9yZXsKCXJpZ2h0OjBweDsKCWxlZnQ6YXV0bzsKfQoKLnJ0bCAuYWNjb3JkaW9uLWJveCAuYmxvY2sgLmFjYy1idG57CglwYWRkaW5nOjEzcHggODVweCAxM3B4IDUwcHg7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5hY2NvcmRpb24tYm94IC5ibG9jayAuaWNvbi1vdXRlcnsKCXJpZ2h0OjBweDsKCWxlZnQ6YXV0bzsKCWJvcmRlci1yaWdodDpub25lOwoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkN2Q3ZDc7Cn0KCi5ydGwgLmNvbW1pbmctc29vbiAuZW1haWxlZC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InN1Ym1pdCJdLAoucnRsIC5jb21taW5nLXNvb24gLmVtYWlsZWQtZm9ybSBidXR0b257CglsZWZ0OjVweDsKCXJpZ2h0OmF1dG87Cn0KCi5ydGwgLmNvbW1pbmctc29vbiAuZW1haWxlZC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwKLnJ0bCAuY29tbWluZy1zb29uIC5lbWFpbGVkLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGVsIl0sCi5ydGwgLmNvbW1pbmctc29vbiAuZW1haWxlZC1mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9ImVtYWlsIl0sCi5ydGwgLmNvbW1pbmctc29vbiAuZW1haWxlZC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhewoJcGFkZGluZy1sZWZ0OjE4NXB4OwoJcGFkZGluZy1yaWdodDoyMHB4Owp9CgoucnRsIC5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb250ZW50LXNpZGV7CglvcmRlcjoyOwp9CgoucnRsIC5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5zaWRlYmFyLXNpZGV7CglvcmRlcjoxOwp9CgoucnRsIC5ibG9nLWNhdC10d28gbGkgYSwKLnJ0bCAuc2lkZWJhci10aXRsZS10d28sCi5ydGwgLnNlcnZpY2UtZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQsCi5ydGwgLmJyb2NodXJlLWJveCAuaW5uZXJ7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5zaWRlYmFyIC5zZWFyY2gtYm94IC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwKLnJ0bCAuc2lkZWJhciAuc2VhcmNoLWJveCAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJzZWFyY2giXXsKCXBhZGRpbmc6MTBweCAxNXB4IDEwcHggNjBweDsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLmJsb2ctY2F0LXR3byBsaSBhIHNwYW57CglsZWZ0OjIwcHg7CglyaWdodDphdXRvOwp9CgoucnRsIC5zaWRlYmFyIC5zZWFyY2gtYm94IC5mb3JtLWdyb3VwIGJ1dHRvbnsKCWxlZnQ6MHB4OwoJcmlnaHQ6YXV0bzsKfQoKLnJ0bCAubmV3cy1ibG9jay5zdHlsZS10aHJlZSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50ewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAucG9wdWxhci1wb3N0cyAucG9zdHsKCXBhZGRpbmctbGVmdDowcHg7CglwYWRkaW5nLXJpZ2h0OjExMHB4OwoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAucG9wdWxhci1wb3N0cyAucG9zdCAucG9zdC10aHVtYnsKCXJpZ2h0OjBweDsKCWxlZnQ6YXV0bzsKfQoKLnJ0bCAucG9wdWxhci1wb3N0cyAucG9zdC1pbmZvewoJcGFkZGluZy1sZWZ0OjBweDsKCXBhZGRpbmctcmlnaHQ6MjBweDsKfQoKLnJ0bCAucG9wdWxhci1wb3N0cyAucG9zdC1pbmZvOmJlZm9yZXsKCXBvc2l0aW9uOmFic29sdXRlOwoJcmlnaHQ6MHB4OwoJbGVmdDphdXRvOwp9CgoucnRsIC5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5ncm91cC10aXRsZSBoNCwKLnJ0bCAuYmxvZy1kZXRhaWwgLmlubmVyLWJveCAubG93ZXItY29udGVudCwKLnJ0bCAudGFnc3sKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLnNpZGViYXIgLnRhZ3MgYXsKCW1hcmdpbi1yaWdodDowcHg7CgltYXJnaW4tbGVmdDo1cHg7Cn0KCi5ydGwgLmJsb2ctZGV0YWlsIC5pbm5lci1ib3ggLmxvd2VyLWNvbnRlbnQgYmxvY2txdW90ZSAucXVvdGUtYXV0aG9yewoJbGVmdDozNXB4OwoJcmlnaHQ6YXV0bzsKfQoKLnJ0bCAuYmxvZy1kZXRhaWwgLnBvc3Qtc2hhcmUtb3B0aW9ucyAudGFnc3sKCWZsb2F0OnJpZ2h0Owp9CgoucnRsIC5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC5zb2NpYWwtYm94ewoJZmxvYXQ6bGVmdDsKfQoKLnJ0bCAuc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudHsKCXBhZGRpbmctcmlnaHQ6MTYwcHg7CglwYWRkaW5nLWxlZnQ6MHB4OwoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAuc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggLmF1dGhvci10aHVtYnsKCXJpZ2h0OjBweDsKCWxlZnQ6YXV0bzsKfQoKLnJ0bCAuc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggc3Ryb25newoJZmxvYXQ6cmlnaHQ7CgltYXJnaW4tbGVmdDoxOHB4Owp9CgoucnRsIC5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveCAudGhlbWUtYnRuewoJbGVmdDo0MHB4OwoJcmlnaHQ6YXV0bzsKfQoKLnJ0bCAuY2FydC1zZWN0aW9uIC50b3RhbHMtdGFibGUgbGkgaDMsCi5ydGwgLnNoaXBwaW5nLWJsb2NrIC5pbm5lci1ib3gsCi5ydGwgLnNoaXBwaW5nLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXQsCi5ydGwgLmNhcnQtc2VjdGlvbiAuYXBwbHktY291cG9uIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9InRleHQiXSwKLnJ0bCAuc2hvcC1jb21tZW50LWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXQsCi5ydGwgLnNob3AtY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhLAoucnRsIC5zaG9wLXNpbmdsZSAucHJvZHVjdC1kZXRhaWxzIC5wcm9kLXRhYnMsCi5ydGwgLnNob3AtaXRlbSAuaW5uZXItYm94IC5sb3dlci1jb250ZW50IGgzLAoucnRsIC5jYXRlZ29yaWVzLXdpZGdldCAuYmxvZy1jYXQgbGkgYSwKLnJ0bCAuY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQsCi5ydGwgLmNvbW1lbnQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dCwKLnJ0bCAuY29tbWVudC1mb3JtIC5mb3JtLWdyb3VwIHRleHRhcmVhewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAuc2lkZWJhciAucG9wdWxhci1wb3N0cy10d28gLnBvc3R7CglwYWRkaW5nLWxlZnQ6MHB4OwoJcGFkZGluZy1yaWdodDo5NXB4OwoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAuc2lkZWJhciAucG9wdWxhci1wb3N0cy10d28gLnBvc3QgLnBvc3QtdGh1bWJ7CglyaWdodDowcHg7CglsZWZ0OmF1dG87Cn0KCi5ydGwgLmNhdGVnb3JpZXMtd2lkZ2V0IC5ibG9nLWNhdCBsaSBhIHNwYW57CglsZWZ0OjBweDsKCXJpZ2h0OmF1dG87Cn0KCi5ydGwgLnByb2R1Y3QtZGV0YWlscyAuaW1hZ2UtY29sdW1uewoJb3JkZXI6MjsKfQoKLnJ0bCAucHJvZHVjdC1kZXRhaWxzIC5pbmZvLWNvbHVtbnsKCW9yZGVyOjE7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5jYXJ0LXNlY3Rpb24gLnRvdGFscy10YWJsZSBsaSAuY29sOmxhc3QtY2hpbGR7CglmbG9hdDpsZWZ0Owp9CgoucnRsIC5jYXJ0LXNlY3Rpb24gLnRvdGFscy10YWJsZSBsaSAuY29sOmZpcnN0LWNoaWxkewoJZmxvYXQ6cmlnaHQ7Cgl0ZXh0LWFsaWduOnJpZ2h0Owp9CgoucnRsIC5vcmRlci1ib3gsCi5ydGwgLmNoZWNrb3V0LWZvcm0sCi5ydGwgLnBheW1lbnQtYm94IC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiBsYWJlbCAuc21hbGwtdGV4dCwKLnJ0bCAuY2hlY2tvdXQtZm9ybSBpbnB1dCwKLnJ0bCAuY2hlY2tvdXQtZm9ybSB0ZXh0YXJlYSwKLnJ0bCAubG9naW4tZm9ybSAuZm9ybS1ncm91cCwKLnJ0bCAuY29udGFjdC1wYWdlLXNlY3Rpb24gLmluZm8tY29sdW1uIC5pbm5lci1jb2x1bW4sCi5ydGwgLnBheW1lbnQtYm94IC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiwKLnJ0bCAuY291cG9uLWZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdLAoucnRsIC5jaGVja291dC1wYWdlIC5kZWZhdWx0LWxpbmtzIGxpewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAucGF5bWVudC1ib3ggLnBheW1lbnQtb3B0aW9ucyBsaSAucmFkaW8tb3B0aW9uIGxhYmVsewoJcGFkZGluZy1sZWZ0OjBweDsKCXBhZGRpbmctcmlnaHQ6MzBweDsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLnBheW1lbnQtYm94IC5wYXltZW50LW9wdGlvbnMgbGkgLnJhZGlvLW9wdGlvbiBpbnB1dFt0eXBlPSJyYWRpbyJdewoJcmlnaHQ6MHB4OwoJbGVmdDphdXRvOwp9CgoucnRsIC5tYWluLXNsaWRlciAub3dsLWRvdHN7Cgl0b3A6NjAlOwoJbGVmdDozMHB4OwoJcmlnaHQ6YXV0bzsKfQoKLnJ0bCAucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmxvd2VyLWNvbnRlbnQsCi5ydGwgLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5pbWFnZSAucHJvamVjdC1pbmZvIC5pbmZvLWlubmVyewoJdGV4dC1hbGlnbjpyaWdodDsKfQoKLnJ0bCAucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmltYWdlIC5wcm9qZWN0LWluZm97CglsZWZ0OjMwcHg7CglyaWdodDphdXRvOwp9CgoKCi8qKiogCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoJTG9naW4gLyBSZWdpc3RlciBTZWN0aW9uCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgoqKiovCgoucmVnaXN0ZXItc2VjdGlvbnsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJei1pbmRleDogOTsKCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7CglwYWRkaW5nOjYwcHggMHB4IDQwcHg7Cn0KCi5yZWdpc3Rlci1zZWN0aW9uIC5mb3JtLWNvbHVtbnsKCW1hcmdpbi1ib3R0b206NDBweDsJCn0KCi5yZWdpc3Rlci1zZWN0aW9uIC5mb3JtLWNvbHVtbiAuc2VjLXRpdGxlewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjMwcHg7CQp9CgoucmVnaXN0ZXItc2VjdGlvbiAuZm9ybS1jb2x1bW4gLnNlYy10aXRsZSBoMnsKCn0KCi5zdHlsZWQtZm9ybXsKCXBvc2l0aW9uOnJlbGF0aXZlOwkKfQoKLnN0eWxlZC1mb3JtIC5zdWJtaXQtdGV4dHsKCWZvbnQtc2l6ZToxNXB4OwoJY29sb3I6IzllOWU5ZTsKCWZvbnQtd2VpZ2h0OjQwMDsKCW1hcmdpbi10b3A6MTBweDsKfQoKLnN0eWxlZC1mb3JtIC5mb3JtLWdyb3VwewoJcG9zaXRpb246cmVsYXRpdmU7CgltYXJnaW4tYm90dG9tOjMwcHg7Cglmb250LXNpemU6MTRweDsKCWNvbG9yOiM4NDg0ODQ7Cn0KCi5jaGVja291dC1zZWN0aW9uIC5zdHlsZWQtZm9ybSAuZm9ybS1ncm91cHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJbWFyZ2luLWJvdHRvbToyMHB4OwkKfQoKLnN0eWxlZC1mb3JtIC5mb3JtLWdyb3VwIC5jaGVjay1ib3h7CglsaW5lLWhlaWdodDoyNHB4OwoJZm9udC1zaXplOjE1cHg7Cglmb250LXdlaWdodDpub3JtYWw7CglwYWRkaW5nLXRvcDo1cHg7Cgljb2xvcjojMjcyNzI3Owp9Cgouc3R5bGVkLWZvcm0gLmZvcm0tZ3JvdXAgLmNoZWNrLWJveCBsYWJlbHsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJdG9wOi0xcHg7Cglmb250LXdlaWdodDpub3JtYWw7CglwYWRkaW5nOjBweDsKCWZvbnQtc2l6ZToxNXB4OwoJY3Vyc29yOnBvaW50ZXI7Cn0KCi5zdHlsZWQtZm9ybSAucHVsbC1sZWZ0IGxhYmVsLAouc3R5bGVkLWZvcm0gLnB1bGwtcmlnaHQgbGFiZWx7CgljdXJzb3I6cG9pbnRlcjsKfQoKLnN0eWxlZC1mb3JtIC5mb3JtLWdyb3VwIC5hZG9uLWljb257Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXRvcDo1MCU7CgltYXJnaW4tdG9wOi0xMHB4OwoJcmlnaHQ6MTBweDsKCXdpZHRoOjIwcHg7CgloZWlnaHQ6MjBweDsKCWxpbmUtaGVpZ2h0OjIwcHg7Cglmb250LXNpemU6MTVweDsKCWNvbG9yOiM5OTk5OTk7Cgl6LWluZGV4OjI7Cn0KCi5zdHlsZWQtZm9ybSAuZm9ybS1ncm91cCAuZmllbGQtbGFiZWx7CglkaXNwbGF5OmJsb2NrOwoJY29sb3I6IzI3MjcyNzsKCXRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemU7Cglmb250LXNpemU6MTZweDsKCW1hcmdpbi1ib3R0b206N3B4OwoJZm9udC13ZWlnaHQ6NDAwOwp9Cgouc3R5bGVkLWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdLAouc3R5bGVkLWZvcm0gaW5wdXRbdHlwZT0iZW1haWwiXSwKLnN0eWxlZC1mb3JtIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sCi5zdHlsZWQtZm9ybSBpbnB1dFt0eXBlPSJ0ZWwiXSwKLnN0eWxlZC1mb3JtIGlucHV0W3R5cGU9Im51bWJlciJdLAouc3R5bGVkLWZvcm0gaW5wdXRbdHlwZT0idXJsIl0sCi5zdHlsZWQtZm9ybSBzZWxlY3QsCi5zdHlsZWQtZm9ybSB0ZXh0YXJlYXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJZGlzcGxheTpibG9jazsKCXdpZHRoOjEwMCU7CgliYWNrZ3JvdW5kOiNmZmZmZmY7CglsaW5lLWhlaWdodDozMHB4OwoJcGFkZGluZzo4cHggMjBweDsKCWhlaWdodDo1MHB4OwoJYm9yZGVyOjFweCBzb2xpZCAjZjRmNGY0OwoJdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTsKfQoKLnN0eWxlZC1mb3JtIC5yZW1lbWJlci1tZXsKCXBvc2l0aW9uOnJlbGF0aXZlOwoJY29sb3I6IzIyMjIyMjsKCWZvbnQtc2l6ZToxNnB4OwoJZm9udC13ZWlnaHQ6NTAwOwp9Cgouc29jaWFsLWxpbmtzLXR3byBhewoJcG9zaXRpb246cmVsYXRpdmU7CglkaXNwbGF5OmlubGluZS1ibG9jazsKCWZvbnQtc2l6ZToxNHB4OwoJd2lkdGg6NDJweDsKCWhlaWdodDo0MnB4OwoJbGluZS1oZWlnaHQ6NDJweDsKCXRleHQtYWxpZ246Y2VudGVyOwoJY29sb3I6I2ZmZmZmZjsKCWJhY2tncm91bmQ6I2ZjNzIxZTsKCW1hcmdpbjowcHggMHB4IDBweCA1cHg7Cgl0cmFuc2l0aW9uOmFsbCAwLjVzIGVhc2U7CgktbW96LXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC41cyBlYXNlOwoJLW1zLXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsKCS1vLXRyYW5zaXRpb246YWxsIDAuNXMgZWFzZTsKfQoKLnNvY2lhbC1saW5rcy10d28gYTpob3ZlcnsKCW9wYWNpdHk6MC44MDsKfQoKLnNvY2lhbC1saW5rcy10d28gLmZhY2Vib29rewoJYmFja2dyb3VuZDojM2I1OTk4OwkKfQoKLnNvY2lhbC1saW5rcy10d28gLnR3aXR0ZXJ7CgliYWNrZ3JvdW5kOiMzM2NjZmU7CQp9Cgouc29jaWFsLWxpbmtzLXR3byAuZ29vZ2xlLXBsdXN7CgliYWNrZ3JvdW5kOiNkZDRiMzk7CQp9CgoucnRsIC5zdHlsZWQtZm9ybSBpbnB1dCwKLnJ0bCAucmVnaXN0ZXItc2VjdGlvbnsKCXRleHQtYWxpZ246cmlnaHQ7Cn0KCi5ydGwgLnN0eWxlZC1mb3JtIC5mb3JtLWdyb3VwIC5hZG9uLWljb257CglsZWZ0OjEwcHg7CglyaWdodDphdXRvOwp9CgoucnRsIC5zZWFyY2gtcG9wdXAgLnNlYXJjaC1mb3JtIGZpZWxkc2V0IGlucHV0W3R5cGU9InN1Ym1pdCJdewoJcG9zaXRpb246cmVsYXRpdmU7CglsZWZ0OjBweDsKCXJpZ2h0OmF1dG87Cn0KCi5ydGwgLnNlYXJjaC1wb3B1cCAuc2VhcmNoLWZvcm0gZmllbGRzZXQgaW5wdXRbdHlwZT0ic2VhcmNoIl17CglwYWRkaW5nOjIwcHggMjBweCAyMHB4IDIyMHB4Owp9Cgouc2VhcmNoLXBvcHVwIC5jbG9zZS1zZWFyY2guc3R5bGUtdHdvewoJcG9zaXRpb246IGFic29sdXRlOwoJcmlnaHQ6IDI1cHg7CglsZWZ0OiBhdXRvOwoJY29sb3I6I2ZmZmZmZjsKCXdpZHRoOmF1dG87CgloZWlnaHQ6YXV0bzsKCXRvcDoyNXB4OwoJbWFyZ2luOjBweDsKCWJvcmRlcjpub25lOwoJYmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7Cglib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsKCS13ZWJraXQtdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tb3otdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCS1tcy10cmFuc2l0aW9uOmFsbCA1MDBtcyBlYXNlOwoJLW8tdHJhbnNpdGlvbjphbGwgNTAwbXMgZWFzZTsKCXRyYW5zaXRpb246YWxsIDUwMG1zIGVhc2U7Cn0KCi5zZWFyY2gtcG9wdXAgLmNsb3NlLXNlYXJjaC5zdHlsZS10d28gc3BhbnsKCWZvbnQtc2l6ZToyMHB4OwoJY29sb3I6I2ZmZmZmZjsKfQ=="}},"time_used":80,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":62,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/translate.google.com/translate_a/elementd5a3.js?cb=initializeGoogleTranslateElement","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.578Z","timestamp":1785135591578,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /translate.google.com/translate_a/elementd5a3.js?cb=initializeGoogleTranslateElement HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\ncontent-security-policy: upgrade-insecure-requests\r\nplatform: hostinger\r\npanel: hpanel\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: cfd409793052eeba7881eca26d52e81c-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]}],"data":{"size":4511,"size_decoded":2051,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":79,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":73,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/translate.yandex.net/website-widget/v1/widget80d6.html","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.581Z","timestamp":1785135591581,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /translate.yandex.net/website-widget/v1/widget80d6.html HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\ncontent-security-policy: upgrade-insecure-requests\r\nplatform: hostinger\r\npanel: hpanel\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 99f729fec58609bbe4d8b991b61e07cf-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]}],"data":{"size":4511,"size_decoded":2051,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":76,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":72,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery.mCustomScrollbar.concat.min.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.785Z","timestamp":1785135591785,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/jquery.mCustomScrollbar.concat.min.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 11668\r\ncache-control: public, max-age=604800\r\nexpires: Fri, 31 Jul 2026 18:46:11 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"9e63-68bf75d4-365aaaac618d082a;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 216820\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 1b413d2f9e05fde138d174d0251049df-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":40547,"size_decoded":12277,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (32009)","md5":"71951b246c4726520dce912a5ac7f03c","sha1":"56906b9b9f41df67063091b7a66c8584d87d748f","sha256":"dd3bda90c210c66fd618bb0c35f4b21f871ce1dae7396053cb4b3a90b3ec51b0","sha512":"ff0b38e4e02096dedcc6fb1a0899a7f8924a89e9b25bb8d712f5ffb01414641b009da55c45241ddea6440eecb7ebff11ea93318aea46ff3ff71a2e22670cb48d","ssdeep":"768:nAGHgQl8dA0unnTUOxZ5ynGi65vqjSDHR17JayK:nAGHUSnTUOxZqxjv","tlshash":"7a03f9e9370534fb12db6f5e441b010963365956a70b8870387d8cb82fb1ea622b7b6d","first_seen":"2023-03-07T12:05:43Z","last_seen":"2026-08-18T03:25:22.532959Z","times_seen":4337,"resource_available":true,"data":"LyogPT0ganF1ZXJ5IG1vdXNld2hlZWwgcGx1Z2luID09IFZlcnNpb246IDMuMS4xMiwgTGljZW5zZTogTUlUIExpY2Vuc2UgKE1JVCkgKi8KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWE6YShqUXVlcnkpfShmdW5jdGlvbihhKXtmdW5jdGlvbiBiKGIpe3ZhciBnPWJ8fHdpbmRvdy5ldmVudCxoPWkuY2FsbChhcmd1bWVudHMsMSksaj0wLGw9MCxtPTAsbj0wLG89MCxwPTA7aWYoYj1hLmV2ZW50LmZpeChnKSxiLnR5cGU9Im1vdXNld2hlZWwiLCJkZXRhaWwiaW4gZyYmKG09LTEqZy5kZXRhaWwpLCJ3aGVlbERlbHRhImluIGcmJihtPWcud2hlZWxEZWx0YSksIndoZWVsRGVsdGFZImluIGcmJihtPWcud2hlZWxEZWx0YVkpLCJ3aGVlbERlbHRhWCJpbiBnJiYobD0tMSpnLndoZWVsRGVsdGFYKSwiYXhpcyJpbiBnJiZnLmF4aXM9PT1nLkhPUklaT05UQUxfQVhJUyYmKGw9LTEqbSxtPTApLGo9MD09PW0/bDptLCJkZWx0YVkiaW4gZyYmKG09LTEqZy5kZWx0YVksaj1tKSwiZGVsdGFYImluIGcmJihsPWcuZGVsdGFYLDA9PT1tJiYoaj0tMSpsKSksMCE9PW18fDAhPT1sKXtpZigxPT09Zy5kZWx0YU1vZGUpe3ZhciBxPWEuZGF0YSh0aGlzLCJtb3VzZXdoZWVsLWxpbmUtaGVpZ2h0Iik7aio9cSxtKj1xLGwqPXF9ZWxzZSBpZigyPT09Zy5kZWx0YU1vZGUpe3ZhciByPWEuZGF0YSh0aGlzLCJtb3VzZXdoZWVsLXBhZ2UtaGVpZ2h0Iik7aio9cixtKj1yLGwqPXJ9aWYobj1NYXRoLm1heChNYXRoLmFicyhtKSxNYXRoLmFicyhsKSksKCFmfHxmPm4pJiYoZj1uLGQoZyxuKSYmKGYvPTQwKSksZChnLG4pJiYoai89NDAsbC89NDAsbS89NDApLGo9TWF0aFtqPj0xPyJmbG9vciI6ImNlaWwiXShqL2YpLGw9TWF0aFtsPj0xPyJmbG9vciI6ImNlaWwiXShsL2YpLG09TWF0aFttPj0xPyJmbG9vciI6ImNlaWwiXShtL2YpLGsuc2V0dGluZ3Mubm9ybWFsaXplT2Zmc2V0JiZ0aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCl7dmFyIHM9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtvPWIuY2xpZW50WC1zLmxlZnQscD1iLmNsaWVudFktcy50b3B9cmV0dXJuIGIuZGVsdGFYPWwsYi5kZWx0YVk9bSxiLmRlbHRhRmFjdG9yPWYsYi5vZmZzZXRYPW8sYi5vZmZzZXRZPXAsYi5kZWx0YU1vZGU9MCxoLnVuc2hpZnQoYixqLGwsbSksZSYmY2xlYXJUaW1lb3V0KGUpLGU9c2V0VGltZW91dChjLDIwMCksKGEuZXZlbnQuZGlzcGF0Y2h8fGEuZXZlbnQuaGFuZGxlKS5hcHBseSh0aGlzLGgpfX1mdW5jdGlvbiBjKCl7Zj1udWxsfWZ1bmN0aW9uIGQoYSxiKXtyZXR1cm4gay5zZXR0aW5ncy5hZGp1c3RPbGREZWx0YXMmJiJtb3VzZXdoZWVsIj09PWEudHlwZSYmYiUxMjA9PT0wfXZhciBlLGYsZz1bIndoZWVsIiwibW91c2V3aGVlbCIsIkRPTU1vdXNlU2Nyb2xsIiwiTW96TW91c2VQaXhlbFNjcm9sbCJdLGg9Im9ud2hlZWwiaW4gZG9jdW1lbnR8fGRvY3VtZW50LmRvY3VtZW50TW9kZT49OT9bIndoZWVsIl06WyJtb3VzZXdoZWVsIiwiRG9tTW91c2VTY3JvbGwiLCJNb3pNb3VzZVBpeGVsU2Nyb2xsIl0saT1BcnJheS5wcm90b3R5cGUuc2xpY2U7aWYoYS5ldmVudC5maXhIb29rcylmb3IodmFyIGo9Zy5sZW5ndGg7ajspYS5ldmVudC5maXhIb29rc1tnWy0tal1dPWEuZXZlbnQubW91c2VIb29rczt2YXIgaz1hLmV2ZW50LnNwZWNpYWwubW91c2V3aGVlbD17dmVyc2lvbjoiMy4xLjEyIixzZXR1cDpmdW5jdGlvbigpe2lmKHRoaXMuYWRkRXZlbnRMaXN0ZW5lcilmb3IodmFyIGM9aC5sZW5ndGg7YzspdGhpcy5hZGRFdmVudExpc3RlbmVyKGhbLS1jXSxiLCExKTtlbHNlIHRoaXMub25tb3VzZXdoZWVsPWI7YS5kYXRhKHRoaXMsIm1vdXNld2hlZWwtbGluZS1oZWlnaHQiLGsuZ2V0TGluZUhlaWdodCh0aGlzKSksYS5kYXRhKHRoaXMsIm1vdXNld2hlZWwtcGFnZS1oZWlnaHQiLGsuZ2V0UGFnZUhlaWdodCh0aGlzKSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7aWYodGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKWZvcih2YXIgYz1oLmxlbmd0aDtjOyl0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoaFstLWNdLGIsITEpO2Vsc2UgdGhpcy5vbm1vdXNld2hlZWw9bnVsbDthLnJlbW92ZURhdGEodGhpcywibW91c2V3aGVlbC1saW5lLWhlaWdodCIpLGEucmVtb3ZlRGF0YSh0aGlzLCJtb3VzZXdoZWVsLXBhZ2UtaGVpZ2h0Iil9LGdldExpbmVIZWlnaHQ6ZnVuY3Rpb24oYil7dmFyIGM9YShiKSxkPWNbIm9mZnNldFBhcmVudCJpbiBhLmZuPyJvZmZzZXRQYXJlbnQiOiJwYXJlbnQiXSgpO3JldHVybiBkLmxlbmd0aHx8KGQ9YSgiYm9keSIpKSxwYXJzZUludChkLmNzcygiZm9udFNpemUiKSwxMCl8fHBhcnNlSW50KGMuY3NzKCJmb250U2l6ZSIpLDEwKXx8MTZ9LGdldFBhZ2VIZWlnaHQ6ZnVuY3Rpb24oYil7cmV0dXJuIGEoYikuaGVpZ2h0KCl9LHNldHRpbmdzOnthZGp1c3RPbGREZWx0YXM6ITAsbm9ybWFsaXplT2Zmc2V0OiEwfX07YS5mbi5leHRlbmQoe21vdXNld2hlZWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/dGhpcy5iaW5kKCJtb3VzZXdoZWVsIixhKTp0aGlzLnRyaWdnZXIoIm1vdXNld2hlZWwiKX0sdW5tb3VzZXdoZWVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnVuYmluZCgibW91c2V3aGVlbCIsYSl9fSl9KTsKLyogPT0gbWFsaWh1IGpxdWVyeSBjdXN0b20gc2Nyb2xsYmFyIHBsdWdpbiA9PSBWZXJzaW9uOiAzLjAuOSwgTGljZW5zZTogTUlUIExpY2Vuc2UgKE1JVCkgKi8KIWZ1bmN0aW9uKGUpeyJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lOmUoalF1ZXJ5LHdpbmRvdyxkb2N1bWVudCl9KGZ1bmN0aW9uKGUpeyFmdW5jdGlvbih0KXt2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kLGE9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzLG49Imh0dHBzOiI9PWRvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sPyJodHRwczoiOiJodHRwOiIsaT0iY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2pxdWVyeS1tb3VzZXdoZWVsLzMuMS4xMi9qcXVlcnkubW91c2V3aGVlbC5taW4uanMiO298fChhP3JlcXVpcmUoImpxdWVyeS1tb3VzZXdoZWVsIikoZSk6ZS5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWx8fGUoImhlYWQiKS5hcHBlbmQoZGVjb2RlVVJJKCIlM0NzY3JpcHQgc3JjPSIrbisiLy8iK2krIiUzRSUzQy9zY3JpcHQlM0UiKSkpLHQoKX0oZnVuY3Rpb24oKXt2YXIgdCxvPSJtQ3VzdG9tU2Nyb2xsYmFyIixhPSJtQ1MiLG49Ii5tQ3VzdG9tU2Nyb2xsYmFyIixpPXtzZXRUb3A6MCxzZXRMZWZ0OjAsYXhpczoieSIsc2Nyb2xsYmFyUG9zaXRpb246Imluc2lkZSIsc2Nyb2xsSW5lcnRpYTo5NTAsYXV0b0RyYWdnZXJMZW5ndGg6ITAsYWx3YXlzU2hvd1Njcm9sbGJhcjowLHNuYXBPZmZzZXQ6MCxtb3VzZVdoZWVsOntlbmFibGU6ITAsc2Nyb2xsQW1vdW50OiJhdXRvIixheGlzOiJ5IixkZWx0YUZhY3RvcjoiYXV0byIsZGlzYWJsZU92ZXI6WyJzZWxlY3QiLCJvcHRpb24iLCJrZXlnZW4iLCJkYXRhbGlzdCIsInRleHRhcmVhIl19LHNjcm9sbEJ1dHRvbnM6e3Njcm9sbFR5cGU6InN0ZXBsZXNzIixzY3JvbGxBbW91bnQ6ImF1dG8ifSxrZXlib2FyZDp7ZW5hYmxlOiEwLHNjcm9sbFR5cGU6InN0ZXBsZXNzIixzY3JvbGxBbW91bnQ6ImF1dG8ifSxjb250ZW50VG91Y2hTY3JvbGw6MjUsYWR2YW5jZWQ6e2F1dG9TY3JvbGxPbkZvY3VzOiJpbnB1dCx0ZXh0YXJlYSxzZWxlY3QsYnV0dG9uLGRhdGFsaXN0LGtleWdlbixhW3RhYmluZGV4XSxhcmVhLG9iamVjdCxbY29udGVudGVkaXRhYmxlPSd0cnVlJ10iLHVwZGF0ZU9uQ29udGVudFJlc2l6ZTohMCx1cGRhdGVPbkltYWdlTG9hZDohMCxhdXRvVXBkYXRlVGltZW91dDo2MH0sdGhlbWU6ImxpZ2h0IixjYWxsYmFja3M6e29uVG90YWxTY3JvbGxPZmZzZXQ6MCxvblRvdGFsU2Nyb2xsQmFja09mZnNldDowLGFsd2F5c1RyaWdnZXJPZmZzZXRzOiEwfX0scj0wLGw9e30scz13aW5kb3cuYXR0YWNoRXZlbnQmJiF3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8xOjAsYz0hMSxkPVsibUNTQl9kcmFnZ2VyX29uRHJhZyIsIm1DU0Jfc2Nyb2xsVG9vbHNfb25EcmFnIiwibUNTX2ltZ19sb2FkZWQiLCJtQ1NfZGlzYWJsZWQiLCJtQ1NfZGVzdHJveWVkIiwibUNTX25vX3Njcm9sbGJhciIsIm1DUy1hdXRvSGlkZSIsIm1DUy1kaXItcnRsIiwibUNTX25vX3Njcm9sbGJhcl95IiwibUNTX25vX3Njcm9sbGJhcl94IiwibUNTX3lfaGlkZGVuIiwibUNTX3hfaGlkZGVuIiwibUNTQl9kcmFnZ2VyQ29udGFpbmVyIiwibUNTQl9idXR0b25VcCIsIm1DU0JfYnV0dG9uRG93biIsIm1DU0JfYnV0dG9uTGVmdCIsIm1DU0JfYnV0dG9uUmlnaHQiXSx1PXtpbml0OmZ1bmN0aW9uKHQpe3ZhciB0PWUuZXh0ZW5kKCEwLHt9LGksdCksbz1mLmNhbGwodGhpcyk7aWYodC5saXZlKXt2YXIgcz10LmxpdmVTZWxlY3Rvcnx8dGhpcy5zZWxlY3Rvcnx8bixjPWUocyk7aWYoIm9mZiI9PT10LmxpdmUpcmV0dXJuIHZvaWQgbShzKTtsW3NdPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtjLm1DdXN0b21TY3JvbGxiYXIodCksIm9uY2UiPT09dC5saXZlJiZjLmxlbmd0aCYmbShzKX0sNTAwKX1lbHNlIG0ocyk7cmV0dXJuIHQuc2V0V2lkdGg9dC5zZXRfd2lkdGg/dC5zZXRfd2lkdGg6dC5zZXRXaWR0aCx0LnNldEhlaWdodD10LnNldF9oZWlnaHQ/dC5zZXRfaGVpZ2h0OnQuc2V0SGVpZ2h0LHQuYXhpcz10Lmhvcml6b250YWxTY3JvbGw/IngiOnAodC5heGlzKSx0LnNjcm9sbEluZXJ0aWE9dC5zY3JvbGxJbmVydGlhPjAmJnQuc2Nyb2xsSW5lcnRpYTwxNz8xNzp0LnNjcm9sbEluZXJ0aWEsIm9iamVjdCIhPXR5cGVvZiB0Lm1vdXNlV2hlZWwmJjE9PXQubW91c2VXaGVlbCYmKHQubW91c2VXaGVlbD17ZW5hYmxlOiEwLHNjcm9sbEFtb3VudDoiYXV0byIsYXhpczoieSIscHJldmVudERlZmF1bHQ6ITEsZGVsdGFGYWN0b3I6ImF1dG8iLG5vcm1hbGl6ZURlbHRhOiExLGludmVydDohMX0pLHQubW91c2VXaGVlbC5zY3JvbGxBbW91bnQ9dC5tb3VzZVdoZWVsUGl4ZWxzP3QubW91c2VXaGVlbFBpeGVsczp0Lm1vdXNlV2hlZWwuc2Nyb2xsQW1vdW50LHQubW91c2VXaGVlbC5ub3JtYWxpemVEZWx0YT10LmFkdmFuY2VkLm5vcm1hbGl6ZU1vdXNlV2hlZWxEZWx0YT90LmFkdmFuY2VkLm5vcm1hbGl6ZU1vdXNlV2hlZWxEZWx0YTp0Lm1vdXNlV2hlZWwubm9ybWFsaXplRGVsdGEsdC5zY3JvbGxCdXR0b25zLnNjcm9sbFR5cGU9Zyh0LnNjcm9sbEJ1dHRvbnMuc2Nyb2xsVHlwZSksaCh0KSxlKG8pLmVhY2goZnVuY3Rpb24oKXt2YXIgbz1lKHRoaXMpO2lmKCFvLmRhdGEoYSkpe28uZGF0YShhLHtpZHg6KytyLG9wdDp0LHNjcm9sbFJhdGlvOnt5Om51bGwseDpudWxsfSxvdmVyZmxvd2VkOm51bGwsY29udGVudFJlc2V0Ont5Om51bGwseDpudWxsfSxiaW5kRXZlbnRzOiExLHR3ZWVuUnVubmluZzohMSxzZXF1ZW50aWFsOnt9LGxhbmdEaXI6by5jc3MoImRpcmVjdGlvbiIpLGNiT2Zmc2V0czpudWxsLHRyaWdnZXI6bnVsbH0pO3ZhciBuPW8uZGF0YShhKSxpPW4ub3B0LGw9by5kYXRhKCJtY3MtYXhpcyIpLHM9by5kYXRhKCJtY3Mtc2Nyb2xsYmFyLXBvc2l0aW9uIiksYz1vLmRhdGEoIm1jcy10aGVtZSIpO2wmJihpLmF4aXM9bCkscyYmKGkuc2Nyb2xsYmFyUG9zaXRpb249cyksYyYmKGkudGhlbWU9YyxoKGkpKSx2LmNhbGwodGhpcyksZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciBpbWc6bm90KC4iK2RbMl0rIikiKS5hZGRDbGFzcyhkWzJdKSx1LnVwZGF0ZS5jYWxsKG51bGwsbyl9fSl9LHVwZGF0ZTpmdW5jdGlvbih0LG8pe3ZhciBuPXR8fGYuY2FsbCh0aGlzKTtyZXR1cm4gZShuKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtpZih0LmRhdGEoYSkpe3ZhciBuPXQuZGF0YShhKSxpPW4ub3B0LHI9ZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpLGw9W2UoIiNtQ1NCXyIrbi5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIituLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXTtpZighci5sZW5ndGgpcmV0dXJuO24udHdlZW5SdW5uaW5nJiZWKHQpLHQuaGFzQ2xhc3MoZFszXSkmJnQucmVtb3ZlQ2xhc3MoZFszXSksdC5oYXNDbGFzcyhkWzRdKSYmdC5yZW1vdmVDbGFzcyhkWzRdKSxTLmNhbGwodGhpcyksXy5jYWxsKHRoaXMpLCJ5Ij09PWkuYXhpc3x8aS5hZHZhbmNlZC5hdXRvRXhwYW5kSG9yaXpvbnRhbFNjcm9sbHx8ci5jc3MoIndpZHRoIix4KHIuY2hpbGRyZW4oKSkpLG4ub3ZlcmZsb3dlZD1CLmNhbGwodGhpcyksTy5jYWxsKHRoaXMpLGkuYXV0b0RyYWdnZXJMZW5ndGgmJmIuY2FsbCh0aGlzKSxDLmNhbGwodGhpcyksay5jYWxsKHRoaXMpO3ZhciBzPVtNYXRoLmFicyhyWzBdLm9mZnNldFRvcCksTWF0aC5hYnMoclswXS5vZmZzZXRMZWZ0KV07IngiIT09aS5heGlzJiYobi5vdmVyZmxvd2VkWzBdP2xbMF0uaGVpZ2h0KCk+bFswXS5wYXJlbnQoKS5oZWlnaHQoKT9ULmNhbGwodGhpcyk6KFEodCxzWzBdLnRvU3RyaW5nKCkse2RpcjoieSIsZHVyOjAsb3ZlcndyaXRlOiJub25lIn0pLG4uY29udGVudFJlc2V0Lnk9bnVsbCk6KFQuY2FsbCh0aGlzKSwieSI9PT1pLmF4aXM/TS5jYWxsKHRoaXMpOiJ5eCI9PT1pLmF4aXMmJm4ub3ZlcmZsb3dlZFsxXSYmUSh0LHNbMV0udG9TdHJpbmcoKSx7ZGlyOiJ4IixkdXI6MCxvdmVyd3JpdGU6Im5vbmUifSkpKSwieSIhPT1pLmF4aXMmJihuLm92ZXJmbG93ZWRbMV0/bFsxXS53aWR0aCgpPmxbMV0ucGFyZW50KCkud2lkdGgoKT9ULmNhbGwodGhpcyk6KFEodCxzWzFdLnRvU3RyaW5nKCkse2RpcjoieCIsZHVyOjAsb3ZlcndyaXRlOiJub25lIn0pLG4uY29udGVudFJlc2V0Lng9bnVsbCk6KFQuY2FsbCh0aGlzKSwieCI9PT1pLmF4aXM/TS5jYWxsKHRoaXMpOiJ5eCI9PT1pLmF4aXMmJm4ub3ZlcmZsb3dlZFswXSYmUSh0LHNbMF0udG9TdHJpbmcoKSx7ZGlyOiJ5IixkdXI6MCxvdmVyd3JpdGU6Im5vbmUifSkpKSxvJiZuJiYoMj09PW8mJmkuY2FsbGJhY2tzLm9uSW1hZ2VMb2FkJiYiZnVuY3Rpb24iPT10eXBlb2YgaS5jYWxsYmFja3Mub25JbWFnZUxvYWQ/aS5jYWxsYmFja3Mub25JbWFnZUxvYWQuY2FsbCh0aGlzKTozPT09byYmaS5jYWxsYmFja3Mub25TZWxlY3RvckNoYW5nZSYmImZ1bmN0aW9uIj09dHlwZW9mIGkuY2FsbGJhY2tzLm9uU2VsZWN0b3JDaGFuZ2U/aS5jYWxsYmFja3Mub25TZWxlY3RvckNoYW5nZS5jYWxsKHRoaXMpOmkuY2FsbGJhY2tzLm9uVXBkYXRlJiYiZnVuY3Rpb24iPT10eXBlb2YgaS5jYWxsYmFja3Mub25VcGRhdGUmJmkuY2FsbGJhY2tzLm9uVXBkYXRlLmNhbGwodGhpcykpLFguY2FsbCh0aGlzKX19KX0sc2Nyb2xsVG86ZnVuY3Rpb24odCxvKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHQmJm51bGwhPXQpe3ZhciBuPWYuY2FsbCh0aGlzKTtyZXR1cm4gZShuKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49ZSh0aGlzKTtpZihuLmRhdGEoYSkpe3ZhciBpPW4uZGF0YShhKSxyPWkub3B0LGw9e3RyaWdnZXI6ImV4dGVybmFsIixzY3JvbGxJbmVydGlhOnIuc2Nyb2xsSW5lcnRpYSxzY3JvbGxFYXNpbmc6Im1jc0Vhc2VJbk91dCIsbW92ZURyYWdnZXI6ITEsdGltZW91dDo2MCxjYWxsYmFja3M6ITAsb25TdGFydDohMCxvblVwZGF0ZTohMCxvbkNvbXBsZXRlOiEwfSxzPWUuZXh0ZW5kKCEwLHt9LGwsbyksYz1ZLmNhbGwodGhpcyx0KSxkPXMuc2Nyb2xsSW5lcnRpYT4wJiZzLnNjcm9sbEluZXJ0aWE8MTc/MTc6cy5zY3JvbGxJbmVydGlhO2NbMF09ai5jYWxsKHRoaXMsY1swXSwieSIpLGNbMV09ai5jYWxsKHRoaXMsY1sxXSwieCIpLHMubW92ZURyYWdnZXImJihjWzBdKj1pLnNjcm9sbFJhdGlvLnksY1sxXSo9aS5zY3JvbGxSYXRpby54KSxzLmR1cj1kLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtudWxsIT09Y1swXSYmInVuZGVmaW5lZCIhPXR5cGVvZiBjWzBdJiYieCIhPT1yLmF4aXMmJmkub3ZlcmZsb3dlZFswXSYmKHMuZGlyPSJ5IixzLm92ZXJ3cml0ZT0iYWxsIixRKG4sY1swXS50b1N0cmluZygpLHMpKSxudWxsIT09Y1sxXSYmInVuZGVmaW5lZCIhPXR5cGVvZiBjWzFdJiYieSIhPT1yLmF4aXMmJmkub3ZlcmZsb3dlZFsxXSYmKHMuZGlyPSJ4IixzLm92ZXJ3cml0ZT0ibm9uZSIsUShuLGNbMV0udG9TdHJpbmcoKSxzKSl9LHMudGltZW91dCl9fSl9fSxzdG9wOmZ1bmN0aW9uKCl7dmFyIHQ9Zi5jYWxsKHRoaXMpO3JldHVybiBlKHQpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpO3QuZGF0YShhKSYmVih0KX0pfSxkaXNhYmxlOmZ1bmN0aW9uKHQpe3ZhciBvPWYuY2FsbCh0aGlzKTtyZXR1cm4gZShvKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIG89ZSh0aGlzKTtpZihvLmRhdGEoYSkpe3tvLmRhdGEoYSl9WC5jYWxsKHRoaXMsInJlbW92ZSIpLE0uY2FsbCh0aGlzKSx0JiZULmNhbGwodGhpcyksTy5jYWxsKHRoaXMsITApLG8uYWRkQ2xhc3MoZFszXSl9fSl9LGRlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgdD1mLmNhbGwodGhpcyk7cmV0dXJuIGUodCkuZWFjaChmdW5jdGlvbigpe3ZhciBuPWUodGhpcyk7aWYobi5kYXRhKGEpKXt2YXIgaT1uLmRhdGEoYSkscj1pLm9wdCxsPWUoIiNtQ1NCXyIraS5pZHgpLHM9ZSgiI21DU0JfIitpLmlkeCsiX2NvbnRhaW5lciIpLGM9ZSgiLm1DU0JfIitpLmlkeCsiX3Njcm9sbGJhciIpO3IubGl2ZSYmbShyLmxpdmVTZWxlY3Rvcnx8ZSh0KS5zZWxlY3RvciksWC5jYWxsKHRoaXMsInJlbW92ZSIpLE0uY2FsbCh0aGlzKSxULmNhbGwodGhpcyksbi5yZW1vdmVEYXRhKGEpLFoodGhpcywibWNzIiksYy5yZW1vdmUoKSxzLmZpbmQoImltZy4iK2RbMl0pLnJlbW92ZUNsYXNzKGRbMl0pLGwucmVwbGFjZVdpdGgocy5jb250ZW50cygpKSxuLnJlbW92ZUNsYXNzKG8rIiBfIithKyJfIitpLmlkeCsiICIrZFs2XSsiICIrZFs3XSsiICIrZFs1XSsiICIrZFszXSkuYWRkQ2xhc3MoZFs0XSl9fSl9fSxmPWZ1bmN0aW9uKCl7cmV0dXJuIm9iamVjdCIhPXR5cGVvZiBlKHRoaXMpfHxlKHRoaXMpLmxlbmd0aDwxP246dGhpc30saD1mdW5jdGlvbih0KXt2YXIgbz1bInJvdW5kZWQiLCJyb3VuZGVkLWRhcmsiLCJyb3VuZGVkLWRvdHMiLCJyb3VuZGVkLWRvdHMtZGFyayJdLGE9WyJyb3VuZGVkLWRvdHMiLCJyb3VuZGVkLWRvdHMtZGFyayIsIjNkIiwiM2QtZGFyayIsIjNkLXRoaWNrIiwiM2QtdGhpY2stZGFyayIsImluc2V0IiwiaW5zZXQtZGFyayIsImluc2V0LTIiLCJpbnNldC0yLWRhcmsiLCJpbnNldC0zIiwiaW5zZXQtMy1kYXJrIl0sbj1bIm1pbmltYWwiLCJtaW5pbWFsLWRhcmsiXSxpPVsibWluaW1hbCIsIm1pbmltYWwtZGFyayJdLHI9WyJtaW5pbWFsIiwibWluaW1hbC1kYXJrIl07dC5hdXRvRHJhZ2dlckxlbmd0aD1lLmluQXJyYXkodC50aGVtZSxvKT4tMT8hMTp0LmF1dG9EcmFnZ2VyTGVuZ3RoLHQuYXV0b0V4cGFuZFNjcm9sbGJhcj1lLmluQXJyYXkodC50aGVtZSxhKT4tMT8hMTp0LmF1dG9FeHBhbmRTY3JvbGxiYXIsdC5zY3JvbGxCdXR0b25zLmVuYWJsZT1lLmluQXJyYXkodC50aGVtZSxuKT4tMT8hMTp0LnNjcm9sbEJ1dHRvbnMuZW5hYmxlLHQuYXV0b0hpZGVTY3JvbGxiYXI9ZS5pbkFycmF5KHQudGhlbWUsaSk+LTE/ITA6dC5hdXRvSGlkZVNjcm9sbGJhcix0LnNjcm9sbGJhclBvc2l0aW9uPWUuaW5BcnJheSh0LnRoZW1lLHIpPi0xPyJvdXRzaWRlIjp0LnNjcm9sbGJhclBvc2l0aW9ufSxtPWZ1bmN0aW9uKGUpe2xbZV0mJihjbGVhclRpbWVvdXQobFtlXSksWihsLGUpKX0scD1mdW5jdGlvbihlKXtyZXR1cm4ieXgiPT09ZXx8Inh5Ij09PWV8fCJhdXRvIj09PWU/Inl4IjoieCI9PT1lfHwiaG9yaXpvbnRhbCI9PT1lPyJ4IjoieSJ9LGc9ZnVuY3Rpb24oZSl7cmV0dXJuInN0ZXBwZWQiPT09ZXx8InBpeGVscyI9PT1lfHwic3RlcCI9PT1lfHwiY2xpY2siPT09ZT8ic3RlcHBlZCI6InN0ZXBsZXNzIn0sdj1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbj10LmRhdGEoYSksaT1uLm9wdCxyPWkuYXV0b0V4cGFuZFNjcm9sbGJhcj8iICIrZFsxXSsiX2V4cGFuZCI6IiIsbD1bIjxkaXYgaWQ9J21DU0JfIituLmlkeCsiX3Njcm9sbGJhcl92ZXJ0aWNhbCcgY2xhc3M9J21DU0Jfc2Nyb2xsVG9vbHMgbUNTQl8iK24uaWR4KyJfc2Nyb2xsYmFyIG1DUy0iK2kudGhlbWUrIiBtQ1NCX3Njcm9sbFRvb2xzX3ZlcnRpY2FsIityKyInPjxkaXYgY2xhc3M9JyIrZFsxMl0rIic+PGRpdiBpZD0nbUNTQl8iK24uaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCcgY2xhc3M9J21DU0JfZHJhZ2dlcicgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlOycgb25jb250ZXh0bWVudT0ncmV0dXJuIGZhbHNlOyc+PGRpdiBjbGFzcz0nbUNTQl9kcmFnZ2VyX2JhcicgLz48L2Rpdj48ZGl2IGNsYXNzPSdtQ1NCX2RyYWdnZXJSYWlsJyAvPjwvZGl2PjwvZGl2PiIsIjxkaXYgaWQ9J21DU0JfIituLmlkeCsiX3Njcm9sbGJhcl9ob3Jpem9udGFsJyBjbGFzcz0nbUNTQl9zY3JvbGxUb29scyBtQ1NCXyIrbi5pZHgrIl9zY3JvbGxiYXIgbUNTLSIraS50aGVtZSsiIG1DU0Jfc2Nyb2xsVG9vbHNfaG9yaXpvbnRhbCIrcisiJz48ZGl2IGNsYXNzPSciK2RbMTJdKyInPjxkaXYgaWQ9J21DU0JfIituLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCcgY2xhc3M9J21DU0JfZHJhZ2dlcicgc3R5bGU9J3Bvc2l0aW9uOmFic29sdXRlOycgb25jb250ZXh0bWVudT0ncmV0dXJuIGZhbHNlOyc+PGRpdiBjbGFzcz0nbUNTQl9kcmFnZ2VyX2JhcicgLz48L2Rpdj48ZGl2IGNsYXNzPSdtQ1NCX2RyYWdnZXJSYWlsJyAvPjwvZGl2PjwvZGl2PiJdLHM9Inl4Ij09PWkuYXhpcz8ibUNTQl92ZXJ0aWNhbF9ob3Jpem9udGFsIjoieCI9PT1pLmF4aXM/Im1DU0JfaG9yaXpvbnRhbCI6Im1DU0JfdmVydGljYWwiLGM9Inl4Ij09PWkuYXhpcz9sWzBdK2xbMV06IngiPT09aS5heGlzP2xbMV06bFswXSx1PSJ5eCI9PT1pLmF4aXM/IjxkaXYgaWQ9J21DU0JfIituLmlkeCsiX2NvbnRhaW5lcl93cmFwcGVyJyBjbGFzcz0nbUNTQl9jb250YWluZXJfd3JhcHBlcicgLz4iOiIiLGY9aS5hdXRvSGlkZVNjcm9sbGJhcj8iICIrZFs2XToiIixoPSJ4IiE9PWkuYXhpcyYmInJ0bCI9PT1uLmxhbmdEaXI/IiAiK2RbN106IiI7aS5zZXRXaWR0aCYmdC5jc3MoIndpZHRoIixpLnNldFdpZHRoKSxpLnNldEhlaWdodCYmdC5jc3MoImhlaWdodCIsaS5zZXRIZWlnaHQpLGkuc2V0TGVmdD0ieSIhPT1pLmF4aXMmJiJydGwiPT09bi5sYW5nRGlyPyI5ODk5OTlweCI6aS5zZXRMZWZ0LHQuYWRkQ2xhc3MobysiIF8iK2ErIl8iK24uaWR4K2YraCkud3JhcElubmVyKCI8ZGl2IGlkPSdtQ1NCXyIrbi5pZHgrIicgY2xhc3M9J21DdXN0b21TY3JvbGxCb3ggbUNTLSIraS50aGVtZSsiICIrcysiJz48ZGl2IGlkPSdtQ1NCXyIrbi5pZHgrIl9jb250YWluZXInIGNsYXNzPSdtQ1NCX2NvbnRhaW5lcicgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlOyB0b3A6IitpLnNldFRvcCsiOyBsZWZ0OiIraS5zZXRMZWZ0KyI7JyBkaXI9IituLmxhbmdEaXIrIiAvPjwvZGl2PiIpO3ZhciBtPWUoIiNtQ1NCXyIrbi5pZHgpLHA9ZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpOyJ5Ij09PWkuYXhpc3x8aS5hZHZhbmNlZC5hdXRvRXhwYW5kSG9yaXpvbnRhbFNjcm9sbHx8cC5jc3MoIndpZHRoIix4KHAuY2hpbGRyZW4oKSkpLCJvdXRzaWRlIj09PWkuc2Nyb2xsYmFyUG9zaXRpb24/KCJzdGF0aWMiPT09dC5jc3MoInBvc2l0aW9uIikmJnQuY3NzKCJwb3NpdGlvbiIsInJlbGF0aXZlIiksdC5jc3MoIm92ZXJmbG93IiwidmlzaWJsZSIpLG0uYWRkQ2xhc3MoIm1DU0Jfb3V0c2lkZSIpLmFmdGVyKGMpKToobS5hZGRDbGFzcygibUNTQl9pbnNpZGUiKS5hcHBlbmQoYykscC53cmFwKHUpKSx3LmNhbGwodGhpcyk7dmFyIGc9W2UoIiNtQ1NCXyIrbi5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIituLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXTtnWzBdLmNzcygibWluLWhlaWdodCIsZ1swXS5oZWlnaHQoKSksZ1sxXS5jc3MoIm1pbi13aWR0aCIsZ1sxXS53aWR0aCgpKX0seD1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5tYXguYXBwbHkoTWF0aCx0Lm1hcChmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLm91dGVyV2lkdGgoITApfSkuZ2V0KCkpfSxfPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPW8ub3B0LGk9ZSgiI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciIpO24uYWR2YW5jZWQuYXV0b0V4cGFuZEhvcml6b250YWxTY3JvbGwmJiJ5IiE9PW4uYXhpcyYmaS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6ImF1dG8ifSkud3JhcCgiPGRpdiBjbGFzcz0nbUNTQl9oX3dyYXBwZXInIHN0eWxlPSdwb3NpdGlvbjpyZWxhdGl2ZTsgbGVmdDowOyB3aWR0aDo5OTk5OTlweDsnIC8+IikuY3NzKHt3aWR0aDpNYXRoLmNlaWwoaVswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5yaWdodCsuNCktTWF0aC5mbG9vcihpWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQpLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KS51bndyYXAoKX0sdz1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1vLm9wdCxpPWUoIi5tQ1NCXyIrby5pZHgrIl9zY3JvbGxiYXI6Zmlyc3QiKSxyPXRlKG4uc2Nyb2xsQnV0dG9ucy50YWJpbmRleCk/InRhYmluZGV4PSciK24uc2Nyb2xsQnV0dG9ucy50YWJpbmRleCsiJyI6IiIsbD1bIjxhIGhyZWY9JyMnIGNsYXNzPSciK2RbMTNdKyInIG9uY29udGV4dG1lbnU9J3JldHVybiBmYWxzZTsnICIrcisiIC8+IiwiPGEgaHJlZj0nIycgY2xhc3M9JyIrZFsxNF0rIicgb25jb250ZXh0bWVudT0ncmV0dXJuIGZhbHNlOycgIityKyIgLz4iLCI8YSBocmVmPScjJyBjbGFzcz0nIitkWzE1XSsiJyBvbmNvbnRleHRtZW51PSdyZXR1cm4gZmFsc2U7JyAiK3IrIiAvPiIsIjxhIGhyZWY9JyMnIGNsYXNzPSciK2RbMTZdKyInIG9uY29udGV4dG1lbnU9J3JldHVybiBmYWxzZTsnICIrcisiIC8+Il0scz1bIngiPT09bi5heGlzP2xbMl06bFswXSwieCI9PT1uLmF4aXM/bFszXTpsWzFdLGxbMl0sbFszXV07bi5zY3JvbGxCdXR0b25zLmVuYWJsZSYmaS5wcmVwZW5kKHNbMF0pLmFwcGVuZChzWzFdKS5uZXh0KCIubUNTQl9zY3JvbGxUb29scyIpLnByZXBlbmQoc1syXSkuYXBwZW5kKHNbM10pfSxTPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPWUoIiNtQ1NCXyIrby5pZHgpLGk9dC5jc3MoIm1heC1oZWlnaHQiKXx8Im5vbmUiLHI9LTEhPT1pLmluZGV4T2YoIiUiKSxsPXQuY3NzKCJib3gtc2l6aW5nIik7aWYoIm5vbmUiIT09aSl7dmFyIHM9cj90LnBhcmVudCgpLmhlaWdodCgpKnBhcnNlSW50KGkpLzEwMDpwYXJzZUludChpKTsiYm9yZGVyLWJveCI9PT1sJiYocy09dC5pbm5lckhlaWdodCgpLXQuaGVpZ2h0KCkrKHQub3V0ZXJIZWlnaHQoKS10LmlubmVySGVpZ2h0KCkpKSxuLmNzcygibWF4LWhlaWdodCIsTWF0aC5yb3VuZChzKSl9fSxiPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPWUoIiNtQ1NCXyIrby5pZHgpLGk9ZSgiI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciIpLHI9W2UoIiNtQ1NCXyIrby5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIitvLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXSxsPVtuLmhlaWdodCgpL2kub3V0ZXJIZWlnaHQoITEpLG4ud2lkdGgoKS9pLm91dGVyV2lkdGgoITEpXSxjPVtwYXJzZUludChyWzBdLmNzcygibWluLWhlaWdodCIpKSxNYXRoLnJvdW5kKGxbMF0qclswXS5wYXJlbnQoKS5oZWlnaHQoKSkscGFyc2VJbnQoclsxXS5jc3MoIm1pbi13aWR0aCIpKSxNYXRoLnJvdW5kKGxbMV0qclsxXS5wYXJlbnQoKS53aWR0aCgpKV0sZD1zJiZjWzFdPGNbMF0/Y1swXTpjWzFdLHU9cyYmY1szXTxjWzJdP2NbMl06Y1szXTtyWzBdLmNzcyh7aGVpZ2h0OmQsIm1heC1oZWlnaHQiOnJbMF0ucGFyZW50KCkuaGVpZ2h0KCktMTB9KS5maW5kKCIubUNTQl9kcmFnZ2VyX2JhciIpLmNzcyh7ImxpbmUtaGVpZ2h0IjpjWzBdKyJweCJ9KSxyWzFdLmNzcyh7d2lkdGg6dSwibWF4LXdpZHRoIjpyWzFdLnBhcmVudCgpLndpZHRoKCktMTB9KX0sQz1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1lKCIjbUNTQl8iK28uaWR4KSxpPWUoIiNtQ1NCXyIrby5pZHgrIl9jb250YWluZXIiKSxyPVtlKCIjbUNTQl8iK28uaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCIpLGUoIiNtQ1NCXyIrby5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwiKV0sbD1baS5vdXRlckhlaWdodCghMSktbi5oZWlnaHQoKSxpLm91dGVyV2lkdGgoITEpLW4ud2lkdGgoKV0scz1bbFswXS8oclswXS5wYXJlbnQoKS5oZWlnaHQoKS1yWzBdLmhlaWdodCgpKSxsWzFdLyhyWzFdLnBhcmVudCgpLndpZHRoKCktclsxXS53aWR0aCgpKV07by5zY3JvbGxSYXRpbz17eTpzWzBdLHg6c1sxXX19LHk9ZnVuY3Rpb24oZSx0LG8pe3ZhciBhPW8/ZFswXSsiX2V4cGFuZGVkIjoiIixuPWUuY2xvc2VzdCgiLm1DU0Jfc2Nyb2xsVG9vbHMiKTsiYWN0aXZlIj09PXQ/KGUudG9nZ2xlQ2xhc3MoZFswXSsiICIrYSksbi50b2dnbGVDbGFzcyhkWzFdKSxlWzBdLl9kcmFnZ2FibGU9ZVswXS5fZHJhZ2dhYmxlPzA6MSk6ZVswXS5fZHJhZ2dhYmxlfHwoImhpZGUiPT09dD8oZS5yZW1vdmVDbGFzcyhkWzBdKSxuLnJlbW92ZUNsYXNzKGRbMV0pKTooZS5hZGRDbGFzcyhkWzBdKSxuLmFkZENsYXNzKGRbMV0pKSl9LEI9ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLG89dC5kYXRhKGEpLG49ZSgiI21DU0JfIitvLmlkeCksaT1lKCIjbUNTQl8iK28uaWR4KyJfY29udGFpbmVyIikscj1udWxsPT1vLm92ZXJmbG93ZWQ/aS5oZWlnaHQoKTppLm91dGVySGVpZ2h0KCExKSxsPW51bGw9PW8ub3ZlcmZsb3dlZD9pLndpZHRoKCk6aS5vdXRlcldpZHRoKCExKTtyZXR1cm5bcj5uLmhlaWdodCgpLGw+bi53aWR0aCgpXX0sVD1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1vLm9wdCxpPWUoIiNtQ1NCXyIrby5pZHgpLHI9ZSgiI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciIpLGw9W2UoIiNtQ1NCXyIrby5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIitvLmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXTtpZihWKHQpLCgieCIhPT1uLmF4aXMmJiFvLm92ZXJmbG93ZWRbMF18fCJ5Ij09PW4uYXhpcyYmby5vdmVyZmxvd2VkWzBdKSYmKGxbMF0uYWRkKHIpLmNzcygidG9wIiwwKSxRKHQsIl9yZXNldFkiKSksInkiIT09bi5heGlzJiYhby5vdmVyZmxvd2VkWzFdfHwieCI9PT1uLmF4aXMmJm8ub3ZlcmZsb3dlZFsxXSl7dmFyIHM9ZHg9MDsicnRsIj09PW8ubGFuZ0RpciYmKHM9aS53aWR0aCgpLXIub3V0ZXJXaWR0aCghMSksZHg9TWF0aC5hYnMocy9vLnNjcm9sbFJhdGlvLngpKSxyLmNzcygibGVmdCIscyksbFsxXS5jc3MoImxlZnQiLGR4KSxRKHQsIl9yZXNldFgiKX19LGs9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7cj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5ldmVudC5zcGVjaWFsLm1vdXNld2hlZWw/KGNsZWFyVGltZW91dChyKSxXLmNhbGwob1swXSkpOnQoKX0sMTAwKX12YXIgbz1lKHRoaXMpLG49by5kYXRhKGEpLGk9bi5vcHQ7aWYoIW4uYmluZEV2ZW50cyl7aWYoUi5jYWxsKHRoaXMpLGkuY29udGVudFRvdWNoU2Nyb2xsJiZELmNhbGwodGhpcyksRS5jYWxsKHRoaXMpLGkubW91c2VXaGVlbC5lbmFibGUpe3ZhciByO3QoKX1QLmNhbGwodGhpcyksSC5jYWxsKHRoaXMpLGkuYWR2YW5jZWQuYXV0b1Njcm9sbE9uRm9jdXMmJnouY2FsbCh0aGlzKSxpLnNjcm9sbEJ1dHRvbnMuZW5hYmxlJiZVLmNhbGwodGhpcyksaS5rZXlib2FyZC5lbmFibGUmJkYuY2FsbCh0aGlzKSxuLmJpbmRFdmVudHM9ITB9fSxNPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPW8ub3B0LGk9YSsiXyIrby5pZHgscj0iLm1DU0JfIitvLmlkeCsiX3Njcm9sbGJhciIsbD1lKCIjbUNTQl8iK28uaWR4KyIsI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciwjbUNTQl8iK28uaWR4KyJfY29udGFpbmVyX3dyYXBwZXIsIityKyIgLiIrZFsxMl0rIiwjbUNTQl8iK28uaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCwjbUNTQl8iK28uaWR4KyJfZHJhZ2dlcl9ob3Jpem9udGFsLCIrcisiPmEiKSxzPWUoIiNtQ1NCXyIrby5pZHgrIl9jb250YWluZXIiKTtuLmFkdmFuY2VkLnJlbGVhc2VEcmFnZ2FibGVTZWxlY3RvcnMmJmwuYWRkKGUobi5hZHZhbmNlZC5yZWxlYXNlRHJhZ2dhYmxlU2VsZWN0b3JzKSksby5iaW5kRXZlbnRzJiYoZShkb2N1bWVudCkudW5iaW5kKCIuIitpKSxsLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLnVuYmluZCgiLiIraSl9KSxjbGVhclRpbWVvdXQodFswXS5fZm9jdXNUaW1lb3V0KSxaKHRbMF0sIl9mb2N1c1RpbWVvdXQiKSxjbGVhclRpbWVvdXQoby5zZXF1ZW50aWFsLnN0ZXApLFooby5zZXF1ZW50aWFsLCJzdGVwIiksY2xlYXJUaW1lb3V0KHNbMF0ub25Db21wbGV0ZVRpbWVvdXQpLFooc1swXSwib25Db21wbGV0ZVRpbWVvdXQiKSxvLmJpbmRFdmVudHM9ITEpfSxPPWZ1bmN0aW9uKHQpe3ZhciBvPWUodGhpcyksbj1vLmRhdGEoYSksaT1uLm9wdCxyPWUoIiNtQ1NCXyIrbi5pZHgrIl9jb250YWluZXJfd3JhcHBlciIpLGw9ci5sZW5ndGg/cjplKCIjbUNTQl8iK24uaWR4KyJfY29udGFpbmVyIikscz1bZSgiI21DU0JfIituLmlkeCsiX3Njcm9sbGJhcl92ZXJ0aWNhbCIpLGUoIiNtQ1NCXyIrbi5pZHgrIl9zY3JvbGxiYXJfaG9yaXpvbnRhbCIpXSxjPVtzWzBdLmZpbmQoIi5tQ1NCX2RyYWdnZXIiKSxzWzFdLmZpbmQoIi5tQ1NCX2RyYWdnZXIiKV07IngiIT09aS5heGlzJiYobi5vdmVyZmxvd2VkWzBdJiYhdD8oc1swXS5hZGQoY1swXSkuYWRkKHNbMF0uY2hpbGRyZW4oImEiKSkuY3NzKCJkaXNwbGF5IiwiYmxvY2siKSxsLnJlbW92ZUNsYXNzKGRbOF0rIiAiK2RbMTBdKSk6KGkuYWx3YXlzU2hvd1Njcm9sbGJhcj8oMiE9PWkuYWx3YXlzU2hvd1Njcm9sbGJhciYmY1swXS5jc3MoImRpc3BsYXkiLCJub25lIiksbC5yZW1vdmVDbGFzcyhkWzEwXSkpOihzWzBdLmNzcygiZGlzcGxheSIsIm5vbmUiKSxsLmFkZENsYXNzKGRbMTBdKSksbC5hZGRDbGFzcyhkWzhdKSkpLCJ5IiE9PWkuYXhpcyYmKG4ub3ZlcmZsb3dlZFsxXSYmIXQ/KHNbMV0uYWRkKGNbMV0pLmFkZChzWzFdLmNoaWxkcmVuKCJhIikpLmNzcygiZGlzcGxheSIsImJsb2NrIiksbC5yZW1vdmVDbGFzcyhkWzldKyIgIitkWzExXSkpOihpLmFsd2F5c1Nob3dTY3JvbGxiYXI/KDIhPT1pLmFsd2F5c1Nob3dTY3JvbGxiYXImJmNbMV0uY3NzKCJkaXNwbGF5Iiwibm9uZSIpLGwucmVtb3ZlQ2xhc3MoZFsxMV0pKTooc1sxXS5jc3MoImRpc3BsYXkiLCJub25lIiksbC5hZGRDbGFzcyhkWzExXSkpLGwuYWRkQ2xhc3MoZFs5XSkpKSxuLm92ZXJmbG93ZWRbMF18fG4ub3ZlcmZsb3dlZFsxXT9vLnJlbW92ZUNsYXNzKGRbNV0pOm8uYWRkQ2xhc3MoZFs1XSl9LEk9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS50eXBlO3N3aXRjaCh0KXtjYXNlInBvaW50ZXJkb3duIjpjYXNlIk1TUG9pbnRlckRvd24iOmNhc2UicG9pbnRlcm1vdmUiOmNhc2UiTVNQb2ludGVyTW92ZSI6Y2FzZSJwb2ludGVydXAiOmNhc2UiTVNQb2ludGVyVXAiOnJldHVybiBlLnRhcmdldC5vd25lckRvY3VtZW50IT09ZG9jdW1lbnQ/W2Uub3JpZ2luYWxFdmVudC5zY3JlZW5ZLGUub3JpZ2luYWxFdmVudC5zY3JlZW5YLCExXTpbZS5vcmlnaW5hbEV2ZW50LnBhZ2VZLGUub3JpZ2luYWxFdmVudC5wYWdlWCwhMV07Y2FzZSJ0b3VjaHN0YXJ0IjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaGVuZCI6dmFyIG89ZS5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF18fGUub3JpZ2luYWxFdmVudC5jaGFuZ2VkVG91Y2hlc1swXSxhPWUub3JpZ2luYWxFdmVudC50b3VjaGVzLmxlbmd0aHx8ZS5vcmlnaW5hbEV2ZW50LmNoYW5nZWRUb3VjaGVzLmxlbmd0aDtyZXR1cm4gZS50YXJnZXQub3duZXJEb2N1bWVudCE9PWRvY3VtZW50P1tvLnNjcmVlblksby5zY3JlZW5YLGE+MV06W28ucGFnZVksby5wYWdlWCxhPjFdO2RlZmF1bHQ6cmV0dXJuW2UucGFnZVksZS5wYWdlWCwhMV19fSxSPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt2YXIgdD1tLmZpbmQoImlmcmFtZSIpO2lmKHQubGVuZ3RoKXt2YXIgbz1lPyJhdXRvIjoibm9uZSI7dC5jc3MoInBvaW50ZXItZXZlbnRzIixvKX19ZnVuY3Rpb24gbyhlLHQsbyxhKXtpZihtWzBdLmlkbGVUaW1lcj11LnNjcm9sbEluZXJ0aWE8MjMzPzI1MDowLG4uYXR0cigiaWQiKT09PWhbMV0pdmFyIGk9IngiLHI9KG5bMF0ub2Zmc2V0TGVmdC10K2EpKmQuc2Nyb2xsUmF0aW8ueDtlbHNlIHZhciBpPSJ5IixyPShuWzBdLm9mZnNldFRvcC1lK28pKmQuc2Nyb2xsUmF0aW8ueTtRKGwsci50b1N0cmluZygpLHtkaXI6aSxkcmFnOiEwfSl9dmFyIG4saSxyLGw9ZSh0aGlzKSxkPWwuZGF0YShhKSx1PWQub3B0LGY9YSsiXyIrZC5pZHgsaD1bIm1DU0JfIitkLmlkeCsiX2RyYWdnZXJfdmVydGljYWwiLCJtQ1NCXyIrZC5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwiXSxtPWUoIiNtQ1NCXyIrZC5pZHgrIl9jb250YWluZXIiKSxwPWUoIiMiK2hbMF0rIiwjIitoWzFdKSxnPXUuYWR2YW5jZWQucmVsZWFzZURyYWdnYWJsZVNlbGVjdG9ycz9wLmFkZChlKHUuYWR2YW5jZWQucmVsZWFzZURyYWdnYWJsZVNlbGVjdG9ycykpOnA7cC5iaW5kKCJtb3VzZWRvd24uIitmKyIgdG91Y2hzdGFydC4iK2YrIiBwb2ludGVyZG93bi4iK2YrIiBNU1BvaW50ZXJEb3duLiIrZixmdW5jdGlvbihvKXtpZihvLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLG8ucHJldmVudERlZmF1bHQoKSwkKG8pKXtjPSEwLHMmJihkb2N1bWVudC5vbnNlbGVjdHN0YXJ0PWZ1bmN0aW9uKCl7cmV0dXJuITF9KSx0KCExKSxWKGwpLG49ZSh0aGlzKTt2YXIgYT1uLm9mZnNldCgpLGQ9SShvKVswXS1hLnRvcCxmPUkobylbMV0tYS5sZWZ0LGg9bi5oZWlnaHQoKSthLnRvcCxtPW4ud2lkdGgoKSthLmxlZnQ7aD5kJiZkPjAmJm0+ZiYmZj4wJiYoaT1kLHI9ZikseShuLCJhY3RpdmUiLHUuYXV0b0V4cGFuZFNjcm9sbGJhcil9fSkuYmluZCgidG91Y2htb3ZlLiIrZixmdW5jdGlvbihlKXtlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucHJldmVudERlZmF1bHQoKTt2YXIgdD1uLm9mZnNldCgpLGE9SShlKVswXS10LnRvcCxsPUkoZSlbMV0tdC5sZWZ0O28oaSxyLGEsbCl9KSxlKGRvY3VtZW50KS5iaW5kKCJtb3VzZW1vdmUuIitmKyIgcG9pbnRlcm1vdmUuIitmKyIgTVNQb2ludGVyTW92ZS4iK2YsZnVuY3Rpb24oZSl7aWYobil7dmFyIHQ9bi5vZmZzZXQoKSxhPUkoZSlbMF0tdC50b3AsbD1JKGUpWzFdLXQubGVmdDtpZihpPT09YSlyZXR1cm47byhpLHIsYSxsKX19KS5hZGQoZykuYmluZCgibW91c2V1cC4iK2YrIiB0b3VjaGVuZC4iK2YrIiBwb2ludGVydXAuIitmKyIgTVNQb2ludGVyVXAuIitmLGZ1bmN0aW9uKGUpe24mJih5KG4sImFjdGl2ZSIsdS5hdXRvRXhwYW5kU2Nyb2xsYmFyKSxuPW51bGwpLGM9ITEscyYmKGRvY3VtZW50Lm9uc2VsZWN0c3RhcnQ9bnVsbCksdCghMCl9KX0sRD1mdW5jdGlvbigpe2Z1bmN0aW9uIG8oZSl7aWYoIWVlKGUpfHxjfHxJKGUpWzJdKXJldHVybiB2b2lkKHQ9MCk7dD0xLFM9MCxiPTAsQy5yZW1vdmVDbGFzcygibUNTX3RvdWNoX2FjdGlvbiIpO3ZhciBvPU0ub2Zmc2V0KCk7ZD1JKGUpWzBdLW8udG9wLHU9SShlKVsxXS1vLmxlZnQsQT1bSShlKVswXSxJKGUpWzFdXX1mdW5jdGlvbiBuKGUpe2lmKGVlKGUpJiYhYyYmIUkoZSlbMl0mJihlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLCFifHxTKSl7cD1KKCk7dmFyIHQ9ay5vZmZzZXQoKSxvPUkoZSlbMF0tdC50b3AsYT1JKGUpWzFdLXQubGVmdCxuPSJtY3NMaW5lYXJPdXQiO2lmKFIucHVzaChvKSxELnB1c2goYSksQVsyXT1NYXRoLmFicyhJKGUpWzBdLUFbMF0pLEFbM109TWF0aC5hYnMoSShlKVsxXS1BWzFdKSx5Lm92ZXJmbG93ZWRbMF0pdmFyIGk9T1swXS5wYXJlbnQoKS5oZWlnaHQoKS1PWzBdLmhlaWdodCgpLHI9ZC1vPjAmJm8tZD4tKGkqeS5zY3JvbGxSYXRpby55KSYmKDIqQVszXTxBWzJdfHwieXgiPT09Qi5heGlzKTtpZih5Lm92ZXJmbG93ZWRbMV0pdmFyIGw9T1sxXS5wYXJlbnQoKS53aWR0aCgpLU9bMV0ud2lkdGgoKSxmPXUtYT4wJiZhLXU+LShsKnkuc2Nyb2xsUmF0aW8ueCkmJigyKkFbMl08QVszXXx8Inl4Ij09PUIuYXhpcyk7cnx8Zj8oZS5wcmV2ZW50RGVmYXVsdCgpLFM9MSk6KGI9MSxDLmFkZENsYXNzKCJtQ1NfdG91Y2hfYWN0aW9uIikpLF89Inl4Ij09PUIuYXhpcz9bZC1vLHUtYV06IngiPT09Qi5heGlzP1tudWxsLHUtYV06W2QtbyxudWxsXSxNWzBdLmlkbGVUaW1lcj0yNTAseS5vdmVyZmxvd2VkWzBdJiZzKF9bMF0sRSxuLCJ5IiwiYWxsIiwhMCkseS5vdmVyZmxvd2VkWzFdJiZzKF9bMV0sRSxuLCJ4IixXLCEwKX19ZnVuY3Rpb24gaShlKXtpZighZWUoZSl8fGN8fEkoZSlbMl0pcmV0dXJuIHZvaWQodD0wKTt0PTEsZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxWKEMpLG09SigpO3ZhciBvPWsub2Zmc2V0KCk7Zj1JKGUpWzBdLW8udG9wLGg9SShlKVsxXS1vLmxlZnQsUj1bXSxEPVtdfWZ1bmN0aW9uIHIoZSl7aWYoZWUoZSkmJiFjJiYhSShlKVsyXSl7ZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSxTPTAsYj0wLGc9SigpO3ZhciB0PWsub2Zmc2V0KCksbz1JKGUpWzBdLXQudG9wLGE9SShlKVsxXS10LmxlZnQ7aWYoIShnLXA+MzApKXt4PTFlMy8oZy1tKTt2YXIgbj0ibWNzRWFzZU91dCIsaT0yLjU+eCxyPWk/W1JbUi5sZW5ndGgtMl0sRFtELmxlbmd0aC0yXV06WzAsMF07dj1pP1tvLXJbMF0sYS1yWzFdXTpbby1mLGEtaF07dmFyIGQ9W01hdGguYWJzKHZbMF0pLE1hdGguYWJzKHZbMV0pXTt4PWk/W01hdGguYWJzKHZbMF0vNCksTWF0aC5hYnModlsxXS80KV06W3gseF07dmFyIHU9W01hdGguYWJzKE1bMF0ub2Zmc2V0VG9wKS12WzBdKmwoZFswXS94WzBdLHhbMF0pLE1hdGguYWJzKE1bMF0ub2Zmc2V0TGVmdCktdlsxXSpsKGRbMV0veFsxXSx4WzFdKV07Xz0ieXgiPT09Qi5heGlzP1t1WzBdLHVbMV1dOiJ4Ij09PUIuYXhpcz9bbnVsbCx1WzFdXTpbdVswXSxudWxsXSx3PVs0KmRbMF0rQi5zY3JvbGxJbmVydGlhLDQqZFsxXStCLnNjcm9sbEluZXJ0aWFdO3ZhciBDPXBhcnNlSW50KEIuY29udGVudFRvdWNoU2Nyb2xsKXx8MDtfWzBdPWRbMF0+Qz9fWzBdOjAsX1sxXT1kWzFdPkM/X1sxXTowLHkub3ZlcmZsb3dlZFswXSYmcyhfWzBdLHdbMF0sbiwieSIsVywhMSkseS5vdmVyZmxvd2VkWzFdJiZzKF9bMV0sd1sxXSxuLCJ4IixXLCExKX19fWZ1bmN0aW9uIGwoZSx0KXt2YXIgbz1bMS41KnQsMip0LHQvMS41LHQvMl07cmV0dXJuIGU+OTA/dD40P29bMF06b1szXTplPjYwP3Q+Mz9vWzNdOm9bMl06ZT4zMD90Pjg/b1sxXTp0PjY/b1swXTp0PjQ/dDpvWzJdOnQ+OD90Om9bM119ZnVuY3Rpb24gcyhlLHQsbyxhLG4saSl7ZSYmUShDLGUudG9TdHJpbmcoKSx7ZHVyOnQsc2Nyb2xsRWFzaW5nOm8sZGlyOmEsb3ZlcndyaXRlOm4sZHJhZzppfSl9dmFyIGQsdSxmLGgsbSxwLGcsdix4LF8sdyxTLGIsQz1lKHRoaXMpLHk9Qy5kYXRhKGEpLEI9eS5vcHQsVD1hKyJfIit5LmlkeCxrPWUoIiNtQ1NCXyIreS5pZHgpLE09ZSgiI21DU0JfIit5LmlkeCsiX2NvbnRhaW5lciIpLE89W2UoIiNtQ1NCXyIreS5pZHgrIl9kcmFnZ2VyX3ZlcnRpY2FsIiksZSgiI21DU0JfIit5LmlkeCsiX2RyYWdnZXJfaG9yaXpvbnRhbCIpXSxSPVtdLEQ9W10sRT0wLFc9Inl4Ij09PUIuYXhpcz8ibm9uZSI6ImFsbCIsQT1bXSxQPU0uZmluZCgiaWZyYW1lIiksej1bInRvdWNoc3RhcnQuIitUKyIgcG9pbnRlcmRvd24uIitUKyIgTVNQb2ludGVyRG93bi4iK1QsInRvdWNobW92ZS4iK1QrIiBwb2ludGVybW92ZS4iK1QrIiBNU1BvaW50ZXJNb3ZlLiIrVCwidG91Y2hlbmQuIitUKyIgcG9pbnRlcnVwLiIrVCsiIE1TUG9pbnRlclVwLiIrVF07TS5iaW5kKHpbMF0sZnVuY3Rpb24oZSl7byhlKX0pLmJpbmQoelsxXSxmdW5jdGlvbihlKXtuKGUpfSksay5iaW5kKHpbMF0sZnVuY3Rpb24oZSl7aShlKX0pLmJpbmQoelsyXSxmdW5jdGlvbihlKXtyKGUpfSksUC5sZW5ndGgmJlAuZWFjaChmdW5jdGlvbigpe2UodGhpcykubG9hZChmdW5jdGlvbigpe0wodGhpcykmJmUodGhpcy5jb250ZW50RG9jdW1lbnR8fHRoaXMuY29udGVudFdpbmRvdy5kb2N1bWVudCkuYmluZCh6WzBdLGZ1bmN0aW9uKGUpe28oZSksaShlKX0pLmJpbmQoelsxXSxmdW5jdGlvbihlKXtuKGUpfSkuYmluZCh6WzJdLGZ1bmN0aW9uKGUpe3IoZSl9KX0pfSl9LEU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBvKCl7cmV0dXJuIHdpbmRvdy5nZXRTZWxlY3Rpb24/d2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk6ZG9jdW1lbnQuc2VsZWN0aW9uJiYiQ29udHJvbCIhPWRvY3VtZW50LnNlbGVjdGlvbi50eXBlP2RvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSgpLnRleHQ6MH1mdW5jdGlvbiBuKGUsdCxvKXtkLnR5cGU9byYmaT8ic3RlcHBlZCI6InN0ZXBsZXNzIixkLnNjcm9sbEFtb3VudD0xMCxxKHIsZSx0LCJtY3NMaW5lYXJPdXQiLG8/NjA6bnVsbCl9dmFyIGkscj1lKHRoaXMpLGw9ci5kYXRhKGEpLHM9bC5vcHQsZD1sLnNlcXVlbnRpYWwsdT1hKyJfIitsLmlkeCxmPWUoIiNtQ1NCXyIrbC5pZHgrIl9jb250YWluZXIiKSxoPWYucGFyZW50KCk7Zi5iaW5kKCJtb3VzZWRvd24uIit1LGZ1bmN0aW9uKGUpe3R8fGl8fChpPTEsYz0hMCl9KS5hZGQoZG9jdW1lbnQpLmJpbmQoIm1vdXNlbW92ZS4iK3UsZnVuY3Rpb24oZSl7aWYoIXQmJmkmJm8oKSl7dmFyIGE9Zi5vZmZzZXQoKSxyPUkoZSlbMF0tYS50b3ArZlswXS5vZmZzZXRUb3AsYz1JKGUpWzFdLWEubGVmdCtmWzBdLm9mZnNldExlZnQ7cj4wJiZyPGguaGVpZ2h0KCkmJmM+MCYmYzxoLndpZHRoKCk/ZC5zdGVwJiZuKCJvZmYiLG51bGwsInN0ZXBwZWQiKTooIngiIT09cy5heGlzJiZsLm92ZXJmbG93ZWRbMF0mJigwPnI/bigib24iLDM4KTpyPmguaGVpZ2h0KCkmJm4oIm9uIiw0MCkpLCJ5IiE9PXMuYXhpcyYmbC5vdmVyZmxvd2VkWzFdJiYoMD5jP24oIm9uIiwzNyk6Yz5oLndpZHRoKCkmJm4oIm9uIiwzOSkpKX19KS5iaW5kKCJtb3VzZXVwLiIrdSxmdW5jdGlvbihlKXt0fHwoaSYmKGk9MCxuKCJvZmYiLG51bGwpKSxjPSExKX0pfSxXPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGEpe2lmKFYobyksIUEobyx0LnRhcmdldCkpe3ZhciByPSJhdXRvIiE9PWkubW91c2VXaGVlbC5kZWx0YUZhY3Rvcj9wYXJzZUludChpLm1vdXNlV2hlZWwuZGVsdGFGYWN0b3IpOnMmJnQuZGVsdGFGYWN0b3I8MTAwPzEwMDp0LmRlbHRhRmFjdG9yfHwxMDA7aWYoIngiPT09aS5heGlzfHwieCI9PT1pLm1vdXNlV2hlZWwuYXhpcyl2YXIgZD0ieCIsdT1bTWF0aC5yb3VuZChyKm4uc2Nyb2xsUmF0aW8ueCkscGFyc2VJbnQoaS5tb3VzZVdoZWVsLnNjcm9sbEFtb3VudCldLGY9ImF1dG8iIT09aS5tb3VzZVdoZWVsLnNjcm9sbEFtb3VudD91WzFdOnVbMF0+PWwud2lkdGgoKT8uOSpsLndpZHRoKCk6dVswXSxoPU1hdGguYWJzKGUoIiNtQ1NCXyIrbi5pZHgrIl9jb250YWluZXIiKVswXS5vZmZzZXRMZWZ0KSxtPWNbMV1bMF0ub2Zmc2V0TGVmdCxwPWNbMV0ucGFyZW50KCkud2lkdGgoKS1jWzFdLndpZHRoKCksZz10LmRlbHRhWHx8dC5kZWx0YVl8fGE7ZWxzZSB2YXIgZD0ieSIsdT1bTWF0aC5yb3VuZChyKm4uc2Nyb2xsUmF0aW8ueSkscGFyc2VJbnQoaS5tb3VzZVdoZWVsLnNjcm9sbEFtb3VudCldLGY9ImF1dG8iIT09aS5tb3VzZVdoZWVsLnNjcm9sbEFtb3VudD91WzFdOnVbMF0+PWwuaGVpZ2h0KCk/LjkqbC5oZWlnaHQoKTp1WzBdLGg9TWF0aC5hYnMoZSgiI21DU0JfIituLmlkeCsiX2NvbnRhaW5lciIpWzBdLm9mZnNldFRvcCksbT1jWzBdWzBdLm9mZnNldFRvcCxwPWNbMF0ucGFyZW50KCkuaGVpZ2h0KCktY1swXS5oZWlnaHQoKSxnPXQuZGVsdGFZfHxhOyJ5Ij09PWQmJiFuLm92ZXJmbG93ZWRbMF18fCJ4Ij09PWQmJiFuLm92ZXJmbG93ZWRbMV18fCgoaS5tb3VzZVdoZWVsLmludmVydHx8dC53ZWJraXREaXJlY3Rpb25JbnZlcnRlZEZyb21EZXZpY2UpJiYoZz0tZyksaS5tb3VzZVdoZWVsLm5vcm1hbGl6ZURlbHRhJiYoZz0wPmc/LTE6MSksKGc+MCYmMCE9PW18fDA+ZyYmbSE9PXB8fGkubW91c2VXaGVlbC5wcmV2ZW50RGVmYXVsdCkmJih0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLHQucHJldmVudERlZmF1bHQoKSksUShvLChoLWcqZikudG9TdHJpbmcoKSx7ZGlyOmR9KSl9fWlmKGUodGhpcykuZGF0YShhKSl7dmFyIG89ZSh0aGlzKSxuPW8uZGF0YShhKSxpPW4ub3B0LHI9YSsiXyIrbi5pZHgsbD1lKCIjbUNTQl8iK24uaWR4KSxjPVtlKCIjbUNTQl8iK24uaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCIpLGUoIiNtQ1NCXyIrbi5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwiKV0sZD1lKCIjbUNTQl8iK24uaWR4KyJfY29udGFpbmVyIikuZmluZCgiaWZyYW1lIik7ZC5sZW5ndGgmJmQuZWFjaChmdW5jdGlvbigpe2UodGhpcykubG9hZChmdW5jdGlvbigpe0wodGhpcykmJmUodGhpcy5jb250ZW50RG9jdW1lbnR8fHRoaXMuY29udGVudFdpbmRvdy5kb2N1bWVudCkuYmluZCgibW91c2V3aGVlbC4iK3IsZnVuY3Rpb24oZSxvKXt0KGUsbyl9KX0pfSksbC5iaW5kKCJtb3VzZXdoZWVsLiIrcixmdW5jdGlvbihlLG8pe3QoZSxvKX0pfX0sTD1mdW5jdGlvbihlKXt2YXIgdD1udWxsO3RyeXt2YXIgbz1lLmNvbnRlbnREb2N1bWVudHx8ZS5jb250ZW50V2luZG93LmRvY3VtZW50O3Q9by5ib2R5LmlubmVySFRNTH1jYXRjaChhKXt9cmV0dXJuIG51bGwhPT10fSxBPWZ1bmN0aW9uKHQsbyl7dmFyIG49by5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLGk9dC5kYXRhKGEpLm9wdC5tb3VzZVdoZWVsLmRpc2FibGVPdmVyLHI9WyJzZWxlY3QiLCJ0ZXh0YXJlYSJdO3JldHVybiBlLmluQXJyYXkobixpKT4tMSYmIShlLmluQXJyYXkobixyKT4tMSYmIWUobykuaXMoIjpmb2N1cyIpKX0sUD1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1hKyJfIitvLmlkeCxpPWUoIiNtQ1NCXyIrby5pZHgrIl9jb250YWluZXIiKSxyPWkucGFyZW50KCksbD1lKCIubUNTQl8iK28uaWR4KyJfc2Nyb2xsYmFyIC4iK2RbMTJdKTtsLmJpbmQoInRvdWNoc3RhcnQuIituKyIgcG9pbnRlcmRvd24uIituKyIgTVNQb2ludGVyRG93bi4iK24sZnVuY3Rpb24oZSl7Yz0hMH0pLmJpbmQoInRvdWNoZW5kLiIrbisiIHBvaW50ZXJ1cC4iK24rIiBNU1BvaW50ZXJVcC4iK24sZnVuY3Rpb24oZSl7Yz0hMX0pLmJpbmQoImNsaWNrLiIrbixmdW5jdGlvbihhKXtpZihlKGEudGFyZ2V0KS5oYXNDbGFzcyhkWzEyXSl8fGUoYS50YXJnZXQpLmhhc0NsYXNzKCJtQ1NCX2RyYWdnZXJSYWlsIikpe1YodCk7dmFyIG49ZSh0aGlzKSxsPW4uZmluZCgiLm1DU0JfZHJhZ2dlciIpO2lmKG4ucGFyZW50KCIubUNTQl9zY3JvbGxUb29sc19ob3Jpem9udGFsIikubGVuZ3RoPjApe2lmKCFvLm92ZXJmbG93ZWRbMV0pcmV0dXJuO3ZhciBzPSJ4IixjPWEucGFnZVg+bC5vZmZzZXQoKS5sZWZ0Py0xOjEsdT1NYXRoLmFicyhpWzBdLm9mZnNldExlZnQpLS45KmMqci53aWR0aCgpfWVsc2V7aWYoIW8ub3ZlcmZsb3dlZFswXSlyZXR1cm47dmFyIHM9InkiLGM9YS5wYWdlWT5sLm9mZnNldCgpLnRvcD8tMToxLHU9TWF0aC5hYnMoaVswXS5vZmZzZXRUb3ApLS45KmMqci5oZWlnaHQoKX1RKHQsdS50b1N0cmluZygpLHtkaXI6cyxzY3JvbGxFYXNpbmc6Im1jc0Vhc2VJbk91dCJ9KX19KX0sej1mdW5jdGlvbigpe3ZhciB0PWUodGhpcyksbz10LmRhdGEoYSksbj1vLm9wdCxpPWErIl8iK28uaWR4LHI9ZSgiI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciIpLGw9ci5wYXJlbnQoKTtyLmJpbmQoImZvY3VzaW4uIitpLGZ1bmN0aW9uKG8pe3ZhciBhPWUoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCksaT1yLmZpbmQoIi5tQ3VzdG9tU2Nyb2xsQm94IikubGVuZ3RoLHM9MDthLmlzKG4uYWR2YW5jZWQuYXV0b1Njcm9sbE9uRm9jdXMpJiYoVih0KSxjbGVhclRpbWVvdXQodFswXS5fZm9jdXNUaW1lb3V0KSx0WzBdLl9mb2N1c1RpbWVyPWk/KHMrMTcpKmk6MCx0WzBdLl9mb2N1c1RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlPVtvZShhKVswXSxvZShhKVsxXV0sbz1bclswXS5vZmZzZXRUb3AsclswXS5vZmZzZXRMZWZ0XSxpPVtvWzBdK2VbMF0+PTAmJm9bMF0rZVswXTxsLmhlaWdodCgpLWEub3V0ZXJIZWlnaHQoITEpLG9bMV0rZVsxXT49MCYmb1swXStlWzFdPGwud2lkdGgoKS1hLm91dGVyV2lkdGgoITEpXSxjPSJ5eCIhPT1uLmF4aXN8fGlbMF18fGlbMV0/ImFsbCI6Im5vbmUiOyJ4Ij09PW4uYXhpc3x8aVswXXx8USh0LGVbMF0udG9TdHJpbmcoKSx7ZGlyOiJ5IixzY3JvbGxFYXNpbmc6Im1jc0Vhc2VJbk91dCIsb3ZlcndyaXRlOmMsZHVyOnN9KSwieSI9PT1uLmF4aXN8fGlbMV18fFEodCxlWzFdLnRvU3RyaW5nKCkse2RpcjoieCIsc2Nyb2xsRWFzaW5nOiJtY3NFYXNlSW5PdXQiLG92ZXJ3cml0ZTpjLGR1cjpzfSl9LHRbMF0uX2ZvY3VzVGltZXIpKX0pfSxIPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPWErIl8iK28uaWR4LGk9ZSgiI21DU0JfIitvLmlkeCsiX2NvbnRhaW5lciIpLnBhcmVudCgpO2kuYmluZCgic2Nyb2xsLiIrbixmdW5jdGlvbih0KXsoMCE9PWkuc2Nyb2xsVG9wKCl8fDAhPT1pLnNjcm9sbExlZnQoKSkmJmUoIi5tQ1NCXyIrby5pZHgrIl9zY3JvbGxiYXIiKS5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKX0pfSxVPWZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxvPXQuZGF0YShhKSxuPW8ub3B0LGk9by5zZXF1ZW50aWFsLHI9YSsiXyIrby5pZHgsbD0iLm1DU0JfIitvLmlkeCsiX3Njcm9sbGJhciIscz1lKGwrIj5hIik7cy5iaW5kKCJtb3VzZWRvd24uIityKyIgdG91Y2hzdGFydC4iK3IrIiBwb2ludGVyZG93bi4iK3IrIiBNU1BvaW50ZXJEb3duLiIrcisiIG1vdXNldXAuIityKyIgdG91Y2hlbmQuIityKyIgcG9pbnRlcnVwLiIrcisiIE1TUG9pbnRlclVwLiIrcisiIG1vdXNlb3V0LiIrcisiIHBvaW50ZXJvdXQuIityKyIgTVNQb2ludGVyT3V0LiIrcisiIGNsaWNrLiIrcixmdW5jdGlvbihhKXtmdW5jdGlvbiByKGUsbyl7aS5zY3JvbGxBbW91bnQ9bi5zbmFwQW1vdW50fHxuLnNjcm9sbEJ1dHRvbnMuc2Nyb2xsQW1vdW50LHEodCxlLG8pfWlmKGEucHJldmVudERlZmF1bHQoKSwkKGEpKXt2YXIgbD1lKHRoaXMpLmF0dHIoImNsYXNzIik7c3dpdGNoKGkudHlwZT1uLnNjcm9sbEJ1dHRvbnMuc2Nyb2xsVHlwZSxhLnR5cGUpe2Nhc2UibW91c2Vkb3duIjpjYXNlInRvdWNoc3RhcnQiOmNhc2UicG9pbnRlcmRvd24iOmNhc2UiTVNQb2ludGVyRG93biI6aWYoInN0ZXBwZWQiPT09aS50eXBlKXJldHVybjtjPSEwLG8udHdlZW5SdW5uaW5nPSExLHIoIm9uIixsKTticmVhaztjYXNlIm1vdXNldXAiOmNhc2UidG91Y2hlbmQiOmNhc2UicG9pbnRlcnVwIjpjYXNlIk1TUG9pbnRlclVwIjpjYXNlIm1vdXNlb3V0IjpjYXNlInBvaW50ZXJvdXQiOmNhc2UiTVNQb2ludGVyT3V0IjppZigic3RlcHBlZCI9PT1pLnR5cGUpcmV0dXJuO2M9ITEsaS5kaXImJnIoIm9mZiIsbCk7YnJlYWs7Y2FzZSJjbGljayI6aWYoInN0ZXBwZWQiIT09aS50eXBlfHxvLnR3ZWVuUnVubmluZylyZXR1cm47cigib24iLGwpfX19KX0sRj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7ZnVuY3Rpb24gYShlLHQpe3IudHlwZT1pLmtleWJvYXJkLnNjcm9sbFR5cGUsci5zY3JvbGxBbW91bnQ9aS5zbmFwQW1vdW50fHxpLmtleWJvYXJkLnNjcm9sbEFtb3VudCwic3RlcHBlZCI9PT1yLnR5cGUmJm4udHdlZW5SdW5uaW5nfHxxKG8sZSx0KX1zd2l0Y2godC50eXBlKXtjYXNlImJsdXIiOm4udHdlZW5SdW5uaW5nJiZyLmRpciYmYSgib2ZmIixudWxsKTticmVhaztjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOnZhciBsPXQua2V5Q29kZT90LmtleUNvZGU6dC53aGljaCxzPSJvbiI7aWYoIngiIT09aS5heGlzJiYoMzg9PT1sfHw0MD09PWwpfHwieSIhPT1pLmF4aXMmJigzNz09PWx8fDM5PT09bCkpe2lmKCgzOD09PWx8fDQwPT09bCkmJiFuLm92ZXJmbG93ZWRbMF18fCgzNz09PWx8fDM5PT09bCkmJiFuLm92ZXJmbG93ZWRbMV0pcmV0dXJuOyJrZXl1cCI9PT10LnR5cGUmJihzPSJvZmYiKSxlKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpLmlzKHUpfHwodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksYShzLGwpKX1lbHNlIGlmKDMzPT09bHx8MzQ9PT1sKXtpZigobi5vdmVyZmxvd2VkWzBdfHxuLm92ZXJmbG93ZWRbMV0pJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpLCJrZXl1cCI9PT10LnR5cGUpe1Yobyk7dmFyIGY9MzQ9PT1sPy0xOjE7aWYoIngiPT09aS5heGlzfHwieXgiPT09aS5heGlzJiZuLm92ZXJmbG93ZWRbMV0mJiFuLm92ZXJmbG93ZWRbMF0pdmFyIGg9IngiLG09TWF0aC5hYnMoY1swXS5vZmZzZXRMZWZ0KS0uOSpmKmQud2lkdGgoKTtlbHNlIHZhciBoPSJ5IixtPU1hdGguYWJzKGNbMF0ub2Zmc2V0VG9wKS0uOSpmKmQuaGVpZ2h0KCk7UShvLG0udG9TdHJpbmcoKSx7ZGlyOmgsc2Nyb2xsRWFzaW5nOiJtY3NFYXNlSW5PdXQifSl9fWVsc2UgaWYoKDM1PT09bHx8MzY9PT1sKSYmIWUoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkuaXModSkmJigobi5vdmVyZmxvd2VkWzBdfHxuLm92ZXJmbG93ZWRbMV0pJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpLCJrZXl1cCI9PT10LnR5cGUpKXtpZigieCI9PT1pLmF4aXN8fCJ5eCI9PT1pLmF4aXMmJm4ub3ZlcmZsb3dlZFsxXSYmIW4ub3ZlcmZsb3dlZFswXSl2YXIgaD0ieCIsbT0zNT09PWw/TWF0aC5hYnMoZC53aWR0aCgpLWMub3V0ZXJXaWR0aCghMSkpOjA7ZWxzZSB2YXIgaD0ieSIsbT0zNT09PWw/TWF0aC5hYnMoZC5oZWlnaHQoKS1jLm91dGVySGVpZ2h0KCExKSk6MDtRKG8sbS50b1N0cmluZygpLHtkaXI6aCxzY3JvbGxFYXNpbmc6Im1jc0Vhc2VJbk91dCJ9KX19fXZhciBvPWUodGhpcyksbj1vLmRhdGEoYSksaT1uLm9wdCxyPW4uc2VxdWVudGlhbCxsPWErIl8iK24uaWR4LHM9ZSgiI21DU0JfIituLmlkeCksYz1lKCIjbUNTQl8iK24uaWR4KyJfY29udGFpbmVyIiksZD1jLnBhcmVudCgpLHU9ImlucHV0LHRleHRhcmVhLHNlbGVjdCxkYXRhbGlzdCxrZXlnZW4sW2NvbnRlbnRlZGl0YWJsZT0ndHJ1ZSddIixmPWMuZmluZCgiaWZyYW1lIiksaD1bImJsdXIuIitsKyIga2V5ZG93bi4iK2wrIiBrZXl1cC4iK2xdO2YubGVuZ3RoJiZmLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLmxvYWQoZnVuY3Rpb24oKXtMKHRoaXMpJiZlKHRoaXMuY29udGVudERvY3VtZW50fHx0aGlzLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpLmJpbmQoaFswXSxmdW5jdGlvbihlKXt0KGUpfSl9KX0pLHMuYXR0cigidGFiaW5kZXgiLCIwIikuYmluZChoWzBdLGZ1bmN0aW9uKGUpe3QoZSl9KX0scT1mdW5jdGlvbih0LG8sbixpLHIpe2Z1bmN0aW9uIGwoZSl7dmFyIG89InN0ZXBwZWQiIT09Zi50eXBlLGE9cj9yOmU/bz9wLzEuNTpnOjFlMy82MCxuPWU/bz83LjU6NDA6Mi41LHM9W01hdGguYWJzKGhbMF0ub2Zmc2V0VG9wKSxNYXRoLmFicyhoWzBdLm9mZnNldExlZnQpXSxkPVtjLnNjcm9sbFJhdGlvLnk+MTA/MTA6Yy5zY3JvbGxSYXRpby55LGMuc2Nyb2xsUmF0aW8ueD4xMD8xMDpjLnNjcm9sbFJhdGlvLnhdLHU9IngiPT09Zi5kaXJbMF0/c1sxXStmLmRpclsxXSpkWzFdKm46c1swXStmLmRpclsxXSpkWzBdKm4sbT0ieCI9PT1mLmRpclswXT9zWzFdK2YuZGlyWzFdKnBhcnNlSW50KGYuc2Nyb2xsQW1vdW50KTpzWzBdK2YuZGlyWzFdKnBhcnNlSW50KGYuc2Nyb2xsQW1vdW50KSx2PSJhdXRvIiE9PWYuc2Nyb2xsQW1vdW50P206dSx4PWk/aTplP28/Im1jc0xpbmVhck91dCI6Im1jc0Vhc2VJbk91dCI6Im1jc0xpbmVhciIsXz1lPyEwOiExO3JldHVybiBlJiYxNz5hJiYodj0ieCI9PT1mLmRpclswXT9zWzFdOnNbMF0pLFEodCx2LnRvU3RyaW5nKCkse2RpcjpmLmRpclswXSxzY3JvbGxFYXNpbmc6eCxkdXI6YSxvbkNvbXBsZXRlOl99KSxlP3ZvaWQoZi5kaXI9ITEpOihjbGVhclRpbWVvdXQoZi5zdGVwKSx2b2lkKGYuc3RlcD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bCgpfSxhKSkpfWZ1bmN0aW9uIHMoKXtjbGVhclRpbWVvdXQoZi5zdGVwKSxaKGYsInN0ZXAiKSxWKHQpfXZhciBjPXQuZGF0YShhKSx1PWMub3B0LGY9Yy5zZXF1ZW50aWFsLGg9ZSgiI21DU0JfIitjLmlkeCsiX2NvbnRhaW5lciIpLG09InN0ZXBwZWQiPT09Zi50eXBlPyEwOiExLHA9dS5zY3JvbGxJbmVydGlhPDI2PzI2OnUuc2Nyb2xsSW5lcnRpYSxnPXUuc2Nyb2xsSW5lcnRpYTwxPzE3OnUuc2Nyb2xsSW5lcnRpYTtzd2l0Y2gobyl7Y2FzZSJvbiI6aWYoZi5kaXI9W249PT1kWzE2XXx8bj09PWRbMTVdfHwzOT09PW58fDM3PT09bj8ieCI6InkiLG49PT1kWzEzXXx8bj09PWRbMTVdfHwzOD09PW58fDM3PT09bj8tMToxXSxWKHQpLHRlKG4pJiYic3RlcHBlZCI9PT1mLnR5cGUpcmV0dXJuO2wobSk7YnJlYWs7Y2FzZSJvZmYiOnMoKSwobXx8Yy50d2VlblJ1bm5pbmcmJmYuZGlyKSYmbCghMCl9fSxZPWZ1bmN0aW9uKHQpe3ZhciBvPWUodGhpcykuZGF0YShhKS5vcHQsbj1bXTtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9dCgpKSx0IGluc3RhbmNlb2YgQXJyYXk/bj10Lmxlbmd0aD4xP1t0WzBdLHRbMV1dOiJ4Ij09PW8uYXhpcz9bbnVsbCx0WzBdXTpbdFswXSxudWxsXTooblswXT10Lnk/dC55OnQueHx8IngiPT09by5heGlzP251bGw6dCxuWzFdPXQueD90Lng6dC55fHwieSI9PT1vLmF4aXM/bnVsbDp0KSwiZnVuY3Rpb24iPT10eXBlb2YgblswXSYmKG5bMF09blswXSgpKSwiZnVuY3Rpb24iPT10eXBlb2YgblsxXSYmKG5bMV09blsxXSgpKSxufSxqPWZ1bmN0aW9uKHQsbyl7aWYobnVsbCE9dCYmInVuZGVmaW5lZCIhPXR5cGVvZiB0KXt2YXIgbj1lKHRoaXMpLGk9bi5kYXRhKGEpLHI9aS5vcHQsbD1lKCIjbUNTQl8iK2kuaWR4KyJfY29udGFpbmVyIikscz1sLnBhcmVudCgpLGM9dHlwZW9mIHQ7b3x8KG89IngiPT09ci5heGlzPyJ4IjoieSIpO3ZhciBkPSJ4Ij09PW8/bC5vdXRlcldpZHRoKCExKTpsLm91dGVySGVpZ2h0KCExKSxmPSJ4Ij09PW8/bFswXS5vZmZzZXRMZWZ0OmxbMF0ub2Zmc2V0VG9wLGg9IngiPT09bz8ibGVmdCI6InRvcCI7c3dpdGNoKGMpe2Nhc2UiZnVuY3Rpb24iOnJldHVybiB0KCk7Y2FzZSJvYmplY3QiOnZhciBtPXQuanF1ZXJ5P3Q6ZSh0KTtpZighbS5sZW5ndGgpcmV0dXJuO3JldHVybiJ4Ij09PW8/b2UobSlbMV06b2UobSlbMF07Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjppZih0ZSh0KSlyZXR1cm4gTWF0aC5hYnModCk7aWYoLTEhPT10LmluZGV4T2YoIiUiKSlyZXR1cm4gTWF0aC5hYnMoZCpwYXJzZUludCh0KS8xMDApO2lmKC0xIT09dC5pbmRleE9mKCItPSIpKXJldHVybiBNYXRoLmFicyhmLXBhcnNlSW50KHQuc3BsaXQoIi09IilbMV0pKTtpZigtMSE9PXQuaW5kZXhPZigiKz0iKSl7dmFyIHA9ZitwYXJzZUludCh0LnNwbGl0KCIrPSIpWzFdKTtyZXR1cm4gcD49MD8wOk1hdGguYWJzKHApfWlmKC0xIT09dC5pbmRleE9mKCJweCIpJiZ0ZSh0LnNwbGl0KCJweCIpWzBdKSlyZXR1cm4gTWF0aC5hYnModC5zcGxpdCgicHgiKVswXSk7aWYoInRvcCI9PT10fHwibGVmdCI9PT10KXJldHVybiAwO2lmKCJib3R0b20iPT09dClyZXR1cm4gTWF0aC5hYnMocy5oZWlnaHQoKS1sLm91dGVySGVpZ2h0KCExKSk7aWYoInJpZ2h0Ij09PXQpcmV0dXJuIE1hdGguYWJzKHMud2lkdGgoKS1sLm91dGVyV2lkdGgoITEpKTtpZigiZmlyc3QiPT09dHx8Imxhc3QiPT09dCl7dmFyIG09bC5maW5kKCI6Iit0KTtyZXR1cm4ieCI9PT1vP29lKG0pWzFdOm9lKG0pWzBdfXJldHVybiBlKHQpLmxlbmd0aD8ieCI9PT1vP29lKGUodCkpWzFdOm9lKGUodCkpWzBdOihsLmNzcyhoLHQpLHZvaWQgdS51cGRhdGUuY2FsbChudWxsLG5bMF0pKX19fSxYPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG8oKXtyZXR1cm4gY2xlYXJUaW1lb3V0KGhbMF0uYXV0b1VwZGF0ZSksMD09PXMucGFyZW50cygiaHRtbCIpLmxlbmd0aD92b2lkKHM9bnVsbCk6dm9pZChoWzBdLmF1dG9VcGRhdGU9c2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiBmLmFkdmFuY2VkLnVwZGF0ZU9uU2VsZWN0b3JDaGFuZ2UmJihtPXIoKSxtIT09dyk/KGwoMyksdm9pZCh3PW0pKTooZi5hZHZhbmNlZC51cGRhdGVPbkNvbnRlbnRSZXNpemUmJihwPVtoLm91dGVySGVpZ2h0KCExKSxoLm91dGVyV2lkdGgoITEpLHYuaGVpZ2h0KCksdi53aWR0aCgpLF8oKVswXSxfKClbMV1dLChwWzBdIT09U1swXXx8cFsxXSE9PVNbMV18fHBbMl0hPT1TWzJdfHxwWzNdIT09U1szXXx8cFs0XSE9PVNbNF18fHBbNV0hPT1TWzVdKSYmKGwocFswXSE9PVNbMF18fHBbMV0hPT1TWzFdKSxTPXApKSxmLmFkdmFuY2VkLnVwZGF0ZU9uSW1hZ2VMb2FkJiYoZz1uKCksZyE9PWImJihoLmZpbmQoImltZyIpLmVhY2goZnVuY3Rpb24oKXtpKHRoaXMpfSksYj1nKSksdm9pZCgoZi5hZHZhbmNlZC51cGRhdGVPblNlbGVjdG9yQ2hhbmdlfHxmLmFkdmFuY2VkLnVwZGF0ZU9uQ29udGVudFJlc2l6ZXx8Zi5hZHZhbmNlZC51cGRhdGVPbkltYWdlTG9hZCkmJm8oKSkpfSxmLmFkdmFuY2VkLmF1dG9VcGRhdGVUaW1lb3V0KSl9ZnVuY3Rpb24gbigpe3ZhciBlPTA7cmV0dXJuIGYuYWR2YW5jZWQudXBkYXRlT25JbWFnZUxvYWQmJihlPWguZmluZCgiaW1nIikubGVuZ3RoKSxlfWZ1bmN0aW9uIGkodCl7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KGUsYXJndW1lbnRzKX19ZnVuY3Rpb24gYSgpe3RoaXMub25sb2FkPW51bGwsZSh0KS5hZGRDbGFzcyhkWzJdKSxsKDIpfWlmKGUodCkuaGFzQ2xhc3MoZFsyXSkpcmV0dXJuIHZvaWQgbCgpO3ZhciBuPW5ldyBJbWFnZTtuLm9ubG9hZD1vKG4sYSksbi5zcmM9dC5zcmN9ZnVuY3Rpb24gcigpe2YuYWR2YW5jZWQudXBkYXRlT25TZWxlY3RvckNoYW5nZT09PSEwJiYoZi5hZHZhbmNlZC51cGRhdGVPblNlbGVjdG9yQ2hhbmdlPSIqIik7dmFyIHQ9MCxvPWguZmluZChmLmFkdmFuY2VkLnVwZGF0ZU9uU2VsZWN0b3JDaGFuZ2UpO3JldHVybiBmLmFkdmFuY2VkLnVwZGF0ZU9uU2VsZWN0b3JDaGFuZ2UmJm8ubGVuZ3RoPjAmJm8uZWFjaChmdW5jdGlvbigpe3QrPWUodGhpcykuaGVpZ2h0KCkrZSh0aGlzKS53aWR0aCgpfSksdH1mdW5jdGlvbiBsKGUpe2NsZWFyVGltZW91dChoWzBdLmF1dG9VcGRhdGUpLHUudXBkYXRlLmNhbGwobnVsbCxzWzBdLGUpfXZhciBzPWUodGhpcyksYz1zLmRhdGEoYSksZj1jLm9wdCxoPWUoIiNtQ1NCXyIrYy5pZHgrIl9jb250YWluZXIiKTtpZih0KXJldHVybiBjbGVhclRpbWVvdXQoaFswXS5hdXRvVXBkYXRlKSx2b2lkIFooaFswXSwiYXV0b1VwZGF0ZSIpO3ZhciBtLHAsZyx2PWgucGFyZW50KCkseD1bZSgiI21DU0JfIitjLmlkeCsiX3Njcm9sbGJhcl92ZXJ0aWNhbCIpLGUoIiNtQ1NCXyIrYy5pZHgrIl9zY3JvbGxiYXJfaG9yaXpvbnRhbCIpXSxfPWZ1bmN0aW9uKCl7cmV0dXJuW3hbMF0uaXMoIjp2aXNpYmxlIik/eFswXS5vdXRlckhlaWdodCghMCk6MCx4WzFdLmlzKCI6dmlzaWJsZSIpP3hbMV0ub3V0ZXJXaWR0aCghMCk6MF19LHc9cigpLFM9W2gub3V0ZXJIZWlnaHQoITEpLGgub3V0ZXJXaWR0aCghMSksdi5oZWlnaHQoKSx2LndpZHRoKCksXygpWzBdLF8oKVsxXV0sYj1uKCk7bygpfSxOPWZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gTWF0aC5yb3VuZChlL3QpKnQtb30sVj1mdW5jdGlvbih0KXt2YXIgbz10LmRhdGEoYSksbj1lKCIjbUNTQl8iK28uaWR4KyJfY29udGFpbmVyLCNtQ1NCXyIrby5pZHgrIl9jb250YWluZXJfd3JhcHBlciwjbUNTQl8iK28uaWR4KyJfZHJhZ2dlcl92ZXJ0aWNhbCwjbUNTQl8iK28uaWR4KyJfZHJhZ2dlcl9ob3Jpem9udGFsIik7bi5lYWNoKGZ1bmN0aW9uKCl7Sy5jYWxsKHRoaXMpfSl9LFE9ZnVuY3Rpb24odCxvLG4pe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHMmJmMuY2FsbGJhY2tzW2VdJiYiZnVuY3Rpb24iPT10eXBlb2YgYy5jYWxsYmFja3NbZV19ZnVuY3Rpb24gcigpe3JldHVybltjLmNhbGxiYWNrcy5hbHdheXNUcmlnZ2VyT2Zmc2V0c3x8Xz49d1swXStiLGMuY2FsbGJhY2tzLmFsd2F5c1RyaWdnZXJPZmZzZXRzfHwtQz49X119ZnVuY3Rpb24gbCgpe3ZhciBlPVtoWzBdLm9mZnNldFRvcCxoWzBdLm9mZnNldExlZnRdLG89W3ZbMF0ub2Zmc2V0VG9wLHZbMF0ub2Zmc2V0TGVmdF0sYT1baC5vdXRlckhlaWdodCghMSksaC5vdXRlcldpZHRoKCExKV0saT1bZi5oZWlnaHQoKSxmLndpZHRoKCldO3RbMF0ubWNzPXtjb250ZW50OmgsdG9wOmVbMF0sbGVmdDplWzFdLGRyYWdnZXJUb3A6b1swXSxkcmFnZ2VyTGVmdDpvWzFdLHRvcFBjdDpNYXRoLnJvdW5kKDEwMCpNYXRoLmFicyhlWzBdKS8oTWF0aC5hYnMoYVswXSktaVswXSkpLGxlZnRQY3Q6TWF0aC5yb3VuZCgxMDAqTWF0aC5hYnMoZVsxXSkvKE1hdGguYWJzKGFbMV0pLWlbMV0pKSxkaXJlY3Rpb246bi5kaXJ9fXZhciBzPXQuZGF0YShhKSxjPXMub3B0LGQ9e3RyaWdnZXI6ImludGVybmFsIixkaXI6InkiLHNjcm9sbEVhc2luZzoibWNzRWFzZU91dCIsZHJhZzohMSxkdXI6Yy5zY3JvbGxJbmVydGlhLG92ZXJ3cml0ZToiYWxsIiwKY2FsbGJhY2tzOiEwLG9uU3RhcnQ6ITAsb25VcGRhdGU6ITAsb25Db21wbGV0ZTohMH0sbj1lLmV4dGVuZChkLG4pLHU9W24uZHVyLG4uZHJhZz8wOm4uZHVyXSxmPWUoIiNtQ1NCXyIrcy5pZHgpLGg9ZSgiI21DU0JfIitzLmlkeCsiX2NvbnRhaW5lciIpLG09aC5wYXJlbnQoKSxwPWMuY2FsbGJhY2tzLm9uVG90YWxTY3JvbGxPZmZzZXQ/WS5jYWxsKHQsYy5jYWxsYmFja3Mub25Ub3RhbFNjcm9sbE9mZnNldCk6WzAsMF0sZz1jLmNhbGxiYWNrcy5vblRvdGFsU2Nyb2xsQmFja09mZnNldD9ZLmNhbGwodCxjLmNhbGxiYWNrcy5vblRvdGFsU2Nyb2xsQmFja09mZnNldCk6WzAsMF07aWYocy50cmlnZ2VyPW4udHJpZ2dlciwoMCE9PW0uc2Nyb2xsVG9wKCl8fDAhPT1tLnNjcm9sbExlZnQoKSkmJihlKCIubUNTQl8iK3MuaWR4KyJfc2Nyb2xsYmFyIikuY3NzKCJ2aXNpYmlsaXR5IiwidmlzaWJsZSIpLG0uc2Nyb2xsVG9wKDApLnNjcm9sbExlZnQoMCkpLCJfcmVzZXRZIiE9PW98fHMuY29udGVudFJlc2V0Lnl8fChpKCJvbk92ZXJmbG93WU5vbmUiKSYmYy5jYWxsYmFja3Mub25PdmVyZmxvd1lOb25lLmNhbGwodFswXSkscy5jb250ZW50UmVzZXQueT0xKSwiX3Jlc2V0WCIhPT1vfHxzLmNvbnRlbnRSZXNldC54fHwoaSgib25PdmVyZmxvd1hOb25lIikmJmMuY2FsbGJhY2tzLm9uT3ZlcmZsb3dYTm9uZS5jYWxsKHRbMF0pLHMuY29udGVudFJlc2V0Lng9MSksIl9yZXNldFkiIT09byYmIl9yZXNldFgiIT09byl7c3dpdGNoKCFzLmNvbnRlbnRSZXNldC55JiZ0WzBdLm1jc3x8IXMub3ZlcmZsb3dlZFswXXx8KGkoIm9uT3ZlcmZsb3dZIikmJmMuY2FsbGJhY2tzLm9uT3ZlcmZsb3dZLmNhbGwodFswXSkscy5jb250ZW50UmVzZXQueD1udWxsKSwhcy5jb250ZW50UmVzZXQueCYmdFswXS5tY3N8fCFzLm92ZXJmbG93ZWRbMV18fChpKCJvbk92ZXJmbG93WCIpJiZjLmNhbGxiYWNrcy5vbk92ZXJmbG93WC5jYWxsKHRbMF0pLHMuY29udGVudFJlc2V0Lng9bnVsbCksYy5zbmFwQW1vdW50JiYobz1OKG8sYy5zbmFwQW1vdW50LGMuc25hcE9mZnNldCkpLG4uZGlyKXtjYXNlIngiOnZhciB2PWUoIiNtQ1NCXyIrcy5pZHgrIl9kcmFnZ2VyX2hvcml6b250YWwiKSx4PSJsZWZ0IixfPWhbMF0ub2Zmc2V0TGVmdCx3PVtmLndpZHRoKCktaC5vdXRlcldpZHRoKCExKSx2LnBhcmVudCgpLndpZHRoKCktdi53aWR0aCgpXSxTPVtvLDA9PT1vPzA6by9zLnNjcm9sbFJhdGlvLnhdLGI9cFsxXSxDPWdbMV0sQj1iPjA/Yi9zLnNjcm9sbFJhdGlvLng6MCxUPUM+MD9DL3Muc2Nyb2xsUmF0aW8ueDowO2JyZWFrO2Nhc2UieSI6dmFyIHY9ZSgiI21DU0JfIitzLmlkeCsiX2RyYWdnZXJfdmVydGljYWwiKSx4PSJ0b3AiLF89aFswXS5vZmZzZXRUb3Asdz1bZi5oZWlnaHQoKS1oLm91dGVySGVpZ2h0KCExKSx2LnBhcmVudCgpLmhlaWdodCgpLXYuaGVpZ2h0KCldLFM9W28sMD09PW8/MDpvL3Muc2Nyb2xsUmF0aW8ueV0sYj1wWzBdLEM9Z1swXSxCPWI+MD9iL3Muc2Nyb2xsUmF0aW8ueTowLFQ9Qz4wP0Mvcy5zY3JvbGxSYXRpby55OjB9U1sxXTwwfHwwPT09U1swXSYmMD09PVNbMV0/Uz1bMCwwXTpTWzFdPj13WzFdP1M9W3dbMF0sd1sxXV06U1swXT0tU1swXSx0WzBdLm1jc3x8KGwoKSxpKCJvbkluaXQiKSYmYy5jYWxsYmFja3Mub25Jbml0LmNhbGwodFswXSkpLGNsZWFyVGltZW91dChoWzBdLm9uQ29tcGxldGVUaW1lb3V0KSwocy50d2VlblJ1bm5pbmd8fCEoMD09PV8mJlNbMF0+PTB8fF89PT13WzBdJiZTWzBdPD13WzBdKSkmJihHKHZbMF0seCxNYXRoLnJvdW5kKFNbMV0pLHVbMV0sbi5zY3JvbGxFYXNpbmcpLEcoaFswXSx4LE1hdGgucm91bmQoU1swXSksdVswXSxuLnNjcm9sbEVhc2luZyxuLm92ZXJ3cml0ZSx7b25TdGFydDpmdW5jdGlvbigpe24uY2FsbGJhY2tzJiZuLm9uU3RhcnQmJiFzLnR3ZWVuUnVubmluZyYmKGkoIm9uU2Nyb2xsU3RhcnQiKSYmKGwoKSxjLmNhbGxiYWNrcy5vblNjcm9sbFN0YXJ0LmNhbGwodFswXSkpLHMudHdlZW5SdW5uaW5nPSEwLHkodikscy5jYk9mZnNldHM9cigpKX0sb25VcGRhdGU6ZnVuY3Rpb24oKXtuLmNhbGxiYWNrcyYmbi5vblVwZGF0ZSYmaSgid2hpbGVTY3JvbGxpbmciKSYmKGwoKSxjLmNhbGxiYWNrcy53aGlsZVNjcm9sbGluZy5jYWxsKHRbMF0pKX0sb25Db21wbGV0ZTpmdW5jdGlvbigpe2lmKG4uY2FsbGJhY2tzJiZuLm9uQ29tcGxldGUpeyJ5eCI9PT1jLmF4aXMmJmNsZWFyVGltZW91dChoWzBdLm9uQ29tcGxldGVUaW1lb3V0KTt2YXIgZT1oWzBdLmlkbGVUaW1lcnx8MDtoWzBdLm9uQ29tcGxldGVUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpKCJvblNjcm9sbCIpJiYobCgpLGMuY2FsbGJhY2tzLm9uU2Nyb2xsLmNhbGwodFswXSkpLGkoIm9uVG90YWxTY3JvbGwiKSYmU1sxXT49d1sxXS1CJiZzLmNiT2Zmc2V0c1swXSYmKGwoKSxjLmNhbGxiYWNrcy5vblRvdGFsU2Nyb2xsLmNhbGwodFswXSkpLGkoIm9uVG90YWxTY3JvbGxCYWNrIikmJlNbMV08PVQmJnMuY2JPZmZzZXRzWzFdJiYobCgpLGMuY2FsbGJhY2tzLm9uVG90YWxTY3JvbGxCYWNrLmNhbGwodFswXSkpLHMudHdlZW5SdW5uaW5nPSExLGhbMF0uaWRsZVRpbWVyPTAseSh2LCJoaWRlIil9LGUpfX19KSl9fSxHPWZ1bmN0aW9uKGUsdCxvLGEsbixpLHIpe2Z1bmN0aW9uIGwoKXtTLnN0b3B8fCh4fHxtLmNhbGwoKSx4PUooKS12LHMoKSx4Pj1TLnRpbWUmJihTLnRpbWU9eD5TLnRpbWU/eCtmLSh4LVMudGltZSk6eCtmLTEsUy50aW1lPHgrMSYmKFMudGltZT14KzEpKSxTLnRpbWU8YT9TLmlkPWgobCk6Zy5jYWxsKCkpfWZ1bmN0aW9uIHMoKXthPjA/KFMuY3VyclZhbD11KFMudGltZSxfLGIsYSxuKSx3W3RdPU1hdGgucm91bmQoUy5jdXJyVmFsKSsicHgiKTp3W3RdPW8rInB4IixwLmNhbGwoKX1mdW5jdGlvbiBjKCl7Zj0xZTMvNjAsUy50aW1lPXgrZixoPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZTpmdW5jdGlvbihlKXtyZXR1cm4gcygpLHNldFRpbWVvdXQoZSwuMDEpfSxTLmlkPWgobCl9ZnVuY3Rpb24gZCgpe251bGwhPVMuaWQmJih3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShTLmlkKTpjbGVhclRpbWVvdXQoUy5pZCksUy5pZD1udWxsKX1mdW5jdGlvbiB1KGUsdCxvLGEsbil7c3dpdGNoKG4pe2Nhc2UibGluZWFyIjpjYXNlIm1jc0xpbmVhciI6cmV0dXJuIG8qZS9hK3Q7Y2FzZSJtY3NMaW5lYXJPdXQiOnJldHVybiBlLz1hLGUtLSxvKk1hdGguc3FydCgxLWUqZSkrdDtjYXNlImVhc2VJbk91dFNtb290aCI6cmV0dXJuIGUvPWEvMiwxPmU/by8yKmUqZSt0OihlLS0sLW8vMiooZSooZS0yKS0xKSt0KTtjYXNlImVhc2VJbk91dFN0cm9uZyI6cmV0dXJuIGUvPWEvMiwxPmU/by8yKk1hdGgucG93KDIsMTAqKGUtMSkpK3Q6KGUtLSxvLzIqKC1NYXRoLnBvdygyLC0xMCplKSsyKSt0KTtjYXNlImVhc2VJbk91dCI6Y2FzZSJtY3NFYXNlSW5PdXQiOnJldHVybiBlLz1hLzIsMT5lP28vMiplKmUqZSt0OihlLT0yLG8vMiooZSplKmUrMikrdCk7Y2FzZSJlYXNlT3V0U21vb3RoIjpyZXR1cm4gZS89YSxlLS0sLW8qKGUqZSplKmUtMSkrdDtjYXNlImVhc2VPdXRTdHJvbmciOnJldHVybiBvKigtTWF0aC5wb3coMiwtMTAqZS9hKSsxKSt0O2Nhc2UiZWFzZU91dCI6Y2FzZSJtY3NFYXNlT3V0IjpkZWZhdWx0OnZhciBpPShlLz1hKSplLHI9aSplO3JldHVybiB0K28qKC40OTk5OTk5OTk5OTk5OTcqcippKy0yLjUqaSppKzUuNSpyKy02LjUqaSs0KmUpfX1lLl9tVHdlZW58fChlLl9tVHdlZW49e3RvcDp7fSxsZWZ0Ont9fSk7dmFyIGYsaCxyPXJ8fHt9LG09ci5vblN0YXJ0fHxmdW5jdGlvbigpe30scD1yLm9uVXBkYXRlfHxmdW5jdGlvbigpe30sZz1yLm9uQ29tcGxldGV8fGZ1bmN0aW9uKCl7fSx2PUooKSx4PTAsXz1lLm9mZnNldFRvcCx3PWUuc3R5bGUsUz1lLl9tVHdlZW5bdF07ImxlZnQiPT09dCYmKF89ZS5vZmZzZXRMZWZ0KTt2YXIgYj1vLV87Uy5zdG9wPTAsIm5vbmUiIT09aSYmZCgpLGMoKX0sSj1mdW5jdGlvbigpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3c/d2luZG93LnBlcmZvcm1hbmNlLm5vdygpOndpbmRvdy5wZXJmb3JtYW5jZSYmd2luZG93LnBlcmZvcm1hbmNlLndlYmtpdE5vdz93aW5kb3cucGVyZm9ybWFuY2Uud2Via2l0Tm93KCk6RGF0ZS5ub3c/RGF0ZS5ub3coKToobmV3IERhdGUpLmdldFRpbWUoKX0sSz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5fbVR3ZWVufHwoZS5fbVR3ZWVuPXt0b3A6e30sbGVmdDp7fX0pO2Zvcih2YXIgdD1bInRvcCIsImxlZnQiXSxvPTA7bzx0Lmxlbmd0aDtvKyspe3ZhciBhPXRbb107ZS5fbVR3ZWVuW2FdLmlkJiYod2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoZS5fbVR3ZWVuW2FdLmlkKTpjbGVhclRpbWVvdXQoZS5fbVR3ZWVuW2FdLmlkKSxlLl9tVHdlZW5bYV0uaWQ9bnVsbCxlLl9tVHdlZW5bYV0uc3RvcD0xKX19LFo9ZnVuY3Rpb24oZSx0KXt0cnl7ZGVsZXRlIGVbdF19Y2F0Y2gobyl7ZVt0XT1udWxsfX0sJD1mdW5jdGlvbihlKXtyZXR1cm4hKGUud2hpY2gmJjEhPT1lLndoaWNoKX0sZWU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vcmlnaW5hbEV2ZW50LnBvaW50ZXJUeXBlO3JldHVybiEodCYmInRvdWNoIiE9PXQmJjIhPT10KX0sdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQoZSkpJiZpc0Zpbml0ZShlKX0sb2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wYXJlbnRzKCIubUNTQl9jb250YWluZXIiKTtyZXR1cm5bZS5vZmZzZXQoKS50b3AtdC5vZmZzZXQoKS50b3AsZS5vZmZzZXQoKS5sZWZ0LXQub2Zmc2V0KCkubGVmdF19O2UuZm5bb109ZnVuY3Rpb24odCl7cmV0dXJuIHVbdF0/dVt0XS5hcHBseSh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk6Im9iamVjdCIhPXR5cGVvZiB0JiZ0P3ZvaWQgZS5lcnJvcigiTWV0aG9kICIrdCsiIGRvZXMgbm90IGV4aXN0Iik6dS5pbml0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sZVtvXT1mdW5jdGlvbih0KXtyZXR1cm4gdVt0XT91W3RdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKToib2JqZWN0IiE9dHlwZW9mIHQmJnQ/dm9pZCBlLmVycm9yKCJNZXRob2QgIit0KyIgZG9lcyBub3QgZXhpc3QiKTp1LmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlW29dLmRlZmF1bHRzPWksd2luZG93W29dPSEwLGUod2luZG93KS5sb2FkKGZ1bmN0aW9uKCl7ZShuKVtvXSgpLGUuZXh0ZW5kKGUuZXhwclsiOiJdLHttY3NJblZpZXc6ZS5leHByWyI6Il0ubWNzSW5WaWV3fHxmdW5jdGlvbih0KXt2YXIgbyxhLG49ZSh0KSxpPW4ucGFyZW50cygiLm1DU0JfY29udGFpbmVyIik7aWYoaS5sZW5ndGgpcmV0dXJuIG89aS5wYXJlbnQoKSxhPVtpWzBdLm9mZnNldFRvcCxpWzBdLm9mZnNldExlZnRdLGFbMF0rb2UobilbMF0+PTAmJmFbMF0rb2UobilbMF08by5oZWlnaHQoKS1uLm91dGVySGVpZ2h0KCExKSYmYVsxXStvZShuKVsxXT49MCYmYVsxXStvZShuKVsxXTxvLndpZHRoKCktbi5vdXRlcldpZHRoKCExKX0sbWNzT3ZlcmZsb3c6ZS5leHByWyI6Il0ubWNzT3ZlcmZsb3d8fGZ1bmN0aW9uKHQpe3ZhciBvPWUodCkuZGF0YShhKTtpZihvKXJldHVybiBvLm92ZXJmbG93ZWRbMF18fG8ub3ZlcmZsb3dlZFsxXX19KX0pfSl9KTs="}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":51,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/wow.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.793Z","timestamp":1785135591793,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/wow.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 2025\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"189c-68bf75d4-e71a47b50e8a1038;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 89e160204c96720bd8f93ce311299618-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":6300,"size_decoded":2633,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (6269), with CRLF line terminators","md5":"11ac4d7173a68c50169addca2ef1b827","sha1":"621284d032a248c41753e995680fc30089bd374c","sha256":"dd90fdb6538987fe7975bd43803b1c7d8d62912a371c788caec32d016e09dca8","sha512":"658888b9d89577b55798fc56451f9458ba9b4885573a96480fd9bd480cb59854769964da9a5f54feba19ba66fa6df44c79203d35f1d6d9cafd84886c58e233a4","ssdeep":"96:3GqKWTAKHF/suCdaOVEE1FnePgJqg4SImYad6Q:y30suCYOVEE7ne4JqgpIwdh","tlshash":"bbd175c9b7467036d79ba1f6873f0145a23a19acb008047cb7e984e57d348699237f38","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:26:47.053253Z","times_seen":5602,"resource_available":true,"data":"LyohIFdPVyAtIHYxLjAuMSAtIDIwMTQtMDgtMTUNCiogQ29weXJpZ2h0IChjKSAyMDE0IE1hdHRoaWV1IEF1c3NhZ3VlbDsgTGljZW5zZWQgTUlUICovKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShiLGFyZ3VtZW50cyl9fSxlPVtdLmluZGV4T2Z8fGZ1bmN0aW9uKGEpe2Zvcih2YXIgYj0wLGM9dGhpcy5sZW5ndGg7Yz5iO2IrKylpZihiIGluIHRoaXMmJnRoaXNbYl09PT1hKXJldHVybiBiO3JldHVybi0xfTtiPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe31yZXR1cm4gYS5wcm90b3R5cGUuZXh0ZW5kPWZ1bmN0aW9uKGEsYil7dmFyIGMsZDtmb3IoYyBpbiBiKWQ9YltjXSxudWxsPT1hW2NdJiYoYVtjXT1kKTtyZXR1cm4gYX0sYS5wcm90b3R5cGUuaXNNb2JpbGU9ZnVuY3Rpb24oYSl7cmV0dXJuL0FuZHJvaWR8d2ViT1N8aVBob25lfGlQYWR8aVBvZHxCbGFja0JlcnJ5fElFTW9iaWxlfE9wZXJhIE1pbmkvaS50ZXN0KGEpfSxhfSgpLGM9dGhpcy5XZWFrTWFwfHx0aGlzLk1veldlYWtNYXB8fChjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYSgpe3RoaXMua2V5cz1bXSx0aGlzLnZhbHVlcz1bXX1yZXR1cm4gYS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7Zm9yKGY9dGhpcy5rZXlzLGI9ZD0wLGU9Zi5sZW5ndGg7ZT5kO2I9KytkKWlmKGM9ZltiXSxjPT09YSlyZXR1cm4gdGhpcy52YWx1ZXNbYl19LGEucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc7Zm9yKGc9dGhpcy5rZXlzLGM9ZT0wLGY9Zy5sZW5ndGg7Zj5lO2M9KytlKWlmKGQ9Z1tjXSxkPT09YSlyZXR1cm4gdm9pZCh0aGlzLnZhbHVlc1tjXT1iKTtyZXR1cm4gdGhpcy5rZXlzLnB1c2goYSksdGhpcy52YWx1ZXMucHVzaChiKX0sYX0oKSksYT10aGlzLk11dGF0aW9uT2JzZXJ2ZXJ8fHRoaXMuV2Via2l0TXV0YXRpb25PYnNlcnZlcnx8dGhpcy5Nb3pNdXRhdGlvbk9ic2VydmVyfHwoYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXtjb25zb2xlLndhcm4oIk11dGF0aW9uT2JzZXJ2ZXIgaXMgbm90IHN1cHBvcnRlZCBieSB5b3VyIGJyb3dzZXIuIiksY29uc29sZS53YXJuKCJXT1cuanMgY2Fubm90IGRldGVjdCBkb20gbXV0YXRpb25zLCBwbGVhc2UgY2FsbCAuc3luYygpIGFmdGVyIGxvYWRpbmcgbmV3IGNvbnRlbnQuIil9cmV0dXJuIGEubm90U3VwcG9ydGVkPSEwLGEucHJvdG90eXBlLm9ic2VydmU9ZnVuY3Rpb24oKXt9LGF9KCkpLHRoaXMuV09XPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZihhKXtudWxsPT1hJiYoYT17fSksdGhpcy5zY3JvbGxDYWxsYmFjaz1kKHRoaXMuc2Nyb2xsQ2FsbGJhY2ssdGhpcyksdGhpcy5zY3JvbGxIYW5kbGVyPWQodGhpcy5zY3JvbGxIYW5kbGVyLHRoaXMpLHRoaXMuc3RhcnQ9ZCh0aGlzLnN0YXJ0LHRoaXMpLHRoaXMuc2Nyb2xsZWQ9ITAsdGhpcy5jb25maWc9dGhpcy51dGlsKCkuZXh0ZW5kKGEsdGhpcy5kZWZhdWx0cyksdGhpcy5hbmltYXRpb25OYW1lQ2FjaGU9bmV3IGN9cmV0dXJuIGYucHJvdG90eXBlLmRlZmF1bHRzPXtib3hDbGFzczoid293IixhbmltYXRlQ2xhc3M6ImFuaW1hdGVkIixvZmZzZXQ6MCxtb2JpbGU6ITAsbGl2ZTohMH0sZi5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciBhO3JldHVybiB0aGlzLmVsZW1lbnQ9d2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwiaW50ZXJhY3RpdmUiPT09KGE9ZG9jdW1lbnQucmVhZHlTdGF0ZSl8fCJjb21wbGV0ZSI9PT1hP3RoaXMuc3RhcnQoKTpkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIix0aGlzLnN0YXJ0KSx0aGlzLmZpbmlzaGVkPVtdfSxmLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbigpe3ZhciBiLGMsZCxlO2lmKHRoaXMuc3RvcHBlZD0hMSx0aGlzLmJveGVzPWZ1bmN0aW9uKCl7dmFyIGEsYyxkLGU7Zm9yKGQ9dGhpcy5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3RoaXMuY29uZmlnLmJveENsYXNzKSxlPVtdLGE9MCxjPWQubGVuZ3RoO2M+YTthKyspYj1kW2FdLGUucHVzaChiKTtyZXR1cm4gZX0uY2FsbCh0aGlzKSx0aGlzLmFsbD1mdW5jdGlvbigpe3ZhciBhLGMsZCxlO2ZvcihkPXRoaXMuYm94ZXMsZT1bXSxhPTAsYz1kLmxlbmd0aDtjPmE7YSsrKWI9ZFthXSxlLnB1c2goYik7cmV0dXJuIGV9LmNhbGwodGhpcyksdGhpcy5ib3hlcy5sZW5ndGgpaWYodGhpcy5kaXNhYmxlZCgpKXRoaXMucmVzZXRTdHlsZSgpO2Vsc2V7Zm9yKGU9dGhpcy5ib3hlcyxjPTAsZD1lLmxlbmd0aDtkPmM7YysrKWI9ZVtjXSx0aGlzLmFwcGx5U3R5bGUoYiwhMCk7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5zY3JvbGxIYW5kbGVyLCExKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLnNjcm9sbEhhbmRsZXIsITEpLHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwodGhpcy5zY3JvbGxDYWxsYmFjayw1MCl9cmV0dXJuIHRoaXMuY29uZmlnLmxpdmU/bmV3IGEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjLGQsZSxmLGc7Zm9yKGc9W10sZT0wLGY9Yi5sZW5ndGg7Zj5lO2UrKylkPWJbZV0sZy5wdXNoKGZ1bmN0aW9uKCl7dmFyIGEsYixlLGY7Zm9yKGU9ZC5hZGRlZE5vZGVzfHxbXSxmPVtdLGE9MCxiPWUubGVuZ3RoO2I+YTthKyspYz1lW2FdLGYucHVzaCh0aGlzLmRvU3luYyhjKSk7cmV0dXJuIGZ9LmNhbGwoYSkpO3JldHVybiBnfX0odGhpcykpLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTp2b2lkIDB9LGYucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdG9wcGVkPSEwLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuc2Nyb2xsSGFuZGxlciwhMSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5zY3JvbGxIYW5kbGVyLCExKSxudWxsIT10aGlzLmludGVydmFsP2NsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCk6dm9pZCAwfSxmLnByb3RvdHlwZS5zeW5jPWZ1bmN0aW9uKCl7cmV0dXJuIGEubm90U3VwcG9ydGVkP3RoaXMuZG9TeW5jKHRoaXMuZWxlbWVudCk6dm9pZCAwfSxmLnByb3RvdHlwZS5kb1N5bmM9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGYsZztpZighdGhpcy5zdG9wcGVkKXtpZihudWxsPT1hJiYoYT10aGlzLmVsZW1lbnQpLDEhPT1hLm5vZGVUeXBlKXJldHVybjtmb3IoYT1hLnBhcmVudE5vZGV8fGEsZj1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi4iK3RoaXMuY29uZmlnLmJveENsYXNzKSxnPVtdLGM9MCxkPWYubGVuZ3RoO2Q+YztjKyspYj1mW2NdLGUuY2FsbCh0aGlzLmFsbCxiKTwwPyh0aGlzLmFwcGx5U3R5bGUoYiwhMCksdGhpcy5ib3hlcy5wdXNoKGIpLHRoaXMuYWxsLnB1c2goYiksZy5wdXNoKHRoaXMuc2Nyb2xsZWQ9ITApKTpnLnB1c2godm9pZCAwKTtyZXR1cm4gZ319LGYucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYXBwbHlTdHlsZShhKSxhLmNsYXNzTmFtZT0iIithLmNsYXNzTmFtZSsiICIrdGhpcy5jb25maWcuYW5pbWF0ZUNsYXNzfSxmLnByb3RvdHlwZS5hcHBseVN0eWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlO3JldHVybiBkPWEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1kdXJhdGlvbiIpLGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LWRlbGF5IiksZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctaXRlcmF0aW9uIiksdGhpcy5hbmltYXRlKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmLmN1c3RvbVN0eWxlKGEsYixkLGMsZSl9fSh0aGlzKSl9LGYucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oKXtyZXR1cm4icmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdz9mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhKX06ZnVuY3Rpb24oYSl7cmV0dXJuIGEoKX19KCksZi5wcm90b3R5cGUucmVzZXRTdHlsZT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGUucHVzaChhLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJ2aXNpYmlsaXR5OiB2aXNpYmxlOyIpKTtyZXR1cm4gZX0sZi5wcm90b3R5cGUuY3VzdG9tU3R5bGU9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYiYmdGhpcy5jYWNoZUFuaW1hdGlvbk5hbWUoYSksYS5zdHlsZS52aXNpYmlsaXR5PWI/ImhpZGRlbiI6InZpc2libGUiLGMmJnRoaXMudmVuZG9yU2V0KGEuc3R5bGUse2FuaW1hdGlvbkR1cmF0aW9uOmN9KSxkJiZ0aGlzLnZlbmRvclNldChhLnN0eWxlLHthbmltYXRpb25EZWxheTpkfSksZSYmdGhpcy52ZW5kb3JTZXQoYS5zdHlsZSx7YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6ZX0pLHRoaXMudmVuZG9yU2V0KGEuc3R5bGUse2FuaW1hdGlvbk5hbWU6Yj8ibm9uZSI6dGhpcy5jYWNoZWRBbmltYXRpb25OYW1lKGEpfSksYX0sZi5wcm90b3R5cGUudmVuZG9ycz1bIm1veiIsIndlYmtpdCJdLGYucHJvdG90eXBlLnZlbmRvclNldD1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmO2Y9W107Zm9yKGMgaW4gYilkPWJbY10sYVsiIitjXT1kLGYucHVzaChmdW5jdGlvbigpe3ZhciBiLGYsZyxoO2ZvcihnPXRoaXMudmVuZG9ycyxoPVtdLGI9MCxmPWcubGVuZ3RoO2Y+YjtiKyspZT1nW2JdLGgucHVzaChhWyIiK2UrYy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cigxKV09ZCk7cmV0dXJuIGh9LmNhbGwodGhpcykpO3JldHVybiBmfSxmLnByb3RvdHlwZS52ZW5kb3JDU1M9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnLGg7Zm9yKGQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYSksYz1kLmdldFByb3BlcnR5Q1NTVmFsdWUoYiksaD10aGlzLnZlbmRvcnMsZj0wLGc9aC5sZW5ndGg7Zz5mO2YrKyllPWhbZl0sYz1jfHxkLmdldFByb3BlcnR5Q1NTVmFsdWUoIi0iK2UrIi0iK2IpO3JldHVybiBjfSxmLnByb3RvdHlwZS5hbmltYXRpb25OYW1lPWZ1bmN0aW9uKGEpe3ZhciBiO3RyeXtiPXRoaXMudmVuZG9yQ1NTKGEsImFuaW1hdGlvbi1uYW1lIikuY3NzVGV4dH1jYXRjaChjKXtiPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEpLmdldFByb3BlcnR5VmFsdWUoImFuaW1hdGlvbi1uYW1lIil9cmV0dXJuIm5vbmUiPT09Yj8iIjpifSxmLnByb3RvdHlwZS5jYWNoZUFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLnNldChhLHRoaXMuYW5pbWF0aW9uTmFtZShhKSl9LGYucHJvdG90eXBlLmNhY2hlZEFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLmdldChhKX0sZi5wcm90b3R5cGUuc2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbGVkPSEwfSxmLnByb3RvdHlwZS5zY3JvbGxDYWxsYmFjaz1mdW5jdGlvbigpe3ZhciBhO3JldHVybiF0aGlzLnNjcm9sbGVkfHwodGhpcy5zY3JvbGxlZD0hMSx0aGlzLmJveGVzPWZ1bmN0aW9uKCl7dmFyIGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGEmJih0aGlzLmlzVmlzaWJsZShhKT90aGlzLnNob3coYSk6ZS5wdXNoKGEpKTtyZXR1cm4gZX0uY2FsbCh0aGlzKSx0aGlzLmJveGVzLmxlbmd0aHx8dGhpcy5jb25maWcubGl2ZSk/dm9pZCAwOnRoaXMuc3RvcCgpfSxmLnByb3RvdHlwZS5vZmZzZXRUb3A9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiO3ZvaWQgMD09PWEub2Zmc2V0VG9wOylhPWEucGFyZW50Tm9kZTtmb3IoYj1hLm9mZnNldFRvcDthPWEub2Zmc2V0UGFyZW50OyliKz1hLm9mZnNldFRvcDtyZXR1cm4gYn0sZi5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7cmV0dXJuIGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LW9mZnNldCIpfHx0aGlzLmNvbmZpZy5vZmZzZXQsZj13aW5kb3cucGFnZVlPZmZzZXQsZT1mK01hdGgubWluKHRoaXMuZWxlbWVudC5jbGllbnRIZWlnaHQsaW5uZXJIZWlnaHQpLWMsZD10aGlzLm9mZnNldFRvcChhKSxiPWQrYS5jbGllbnRIZWlnaHQsZT49ZCYmYj49Zn0sZi5wcm90b3R5cGUudXRpbD1mdW5jdGlvbigpe3JldHVybiBudWxsIT10aGlzLl91dGlsP3RoaXMuX3V0aWw6dGhpcy5fdXRpbD1uZXcgYn0sZi5wcm90b3R5cGUuZGlzYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5jb25maWcubW9iaWxlJiZ0aGlzLnV0aWwoKS5pc01vYmlsZShuYXZpZ2F0b3IudXNlckFnZW50KX0sZn0oKX0pLmNhbGwodGhpcyk7"}},"time_used":71,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":64,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/background/pattern-0.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.161Z","timestamp":1785135592161,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/background/pattern-0.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 4082\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 9790a25e062f97309b2bdfad8cc599bc-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":4082,"size_decoded":4424,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"bb7755c5a73130309e4e9021da226ac4","sha1":"d9d1d9a87f2ef1be79f868b4f0ffe6b080065450","sha256":"cd150837af528ad6ca47c3be14c66a399d2986ad878da410d998ca1633d301f4","sha512":"b8580fdb132967cdfbd94e0e0c69cee58c26eb60aef802f4e414c7403415210658eac17c4513f3f0cd0ffc20cddb730c95c95b46c48bf41b044d6d5f2e1dbd99","ssdeep":"","tlshash":"33818e3cd34a0431d2584d3938b873472a889d80e1f809abcc5d86e8de8aeb35480c8f","first_seen":"2026-07-27T05:44:01.84395Z","last_seen":"2026-07-27T11:04:25.227872Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":46,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/fonts/flaticon.woff","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.208Z","timestamp":1785135592208,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/fonts/flaticon.woff HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/flaticon.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: application/font-woff\r\ncontent-length: 53892\r\nvary: Accept-Encoding\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"d284-68bf75d4-e5333eb7c54d43c7;;;\"\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 5870\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 5faca9588b81c56179f3179ebc1788bc-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.018\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":53892,"size_decoded":54418,"mime_type":"application/font-woff","magic":"Web Open Font Format, TrueType, length 53892, version 0.0","md5":"01a404e46064afe7b39fb6cac693255c","sha1":"b99630bcde00c1cd43be32822e2ddc65091cfeef","sha256":"7540dcb56b0543caab01da19a2c6a8d8bae8b4f5faf2fc516d08b9cabe342bdd","sha512":"339d061188505506b9306990b087b16636cca3ed8f00ce48e9edcbf09d79728ace2debbd3465624af8c1bf049de7b55211dbfe95760479f78bb33952ccb9c485","ssdeep":"1536:9rabJW2RMCnbM9H6QtBI8ueZYYPykD+9gv:9ra5RMCnbMxrt/uwYVk+ev","tlshash":"9a3301b01633ea71b1e5a31fabd4947d20fc3bc780192566fc16a1b9ed812b74f4880b","first_seen":"2024-08-19T19:39:35.216427Z","last_seen":"2026-07-27T13:36:13.664118Z","times_seen":89,"resource_available":false,"data":"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"}},"time_used":47,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/color-switcher-design.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.577Z","timestamp":1785135591577,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/color-switcher-design.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 800\r\ncache-control: public, max-age=604800\r\nexpires: Thu, 30 Jul 2026 11:10:01 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"c33-68bf75d4-8f80606d4c3b715c;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 330590\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: aceba343637b5033220005bbac16d030-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":3123,"size_decoded":1390,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"984608a46e2ebe4ba81fe01c2d8581ff","sha1":"ceb9c63c95c8c440a9f1f70f6d0edab828a56b42","sha256":"cb68eb7b799a4a4f0f2d684a9b15fe668129efb44a234d4e5f1aa64c20b0ea6b","sha512":"447af4363793c0af4a388c5eef2fa4bc5e59d7a9704ce8cf75b92b92d7e5424757528ce5b7a9bd432c52298630f75f573cedba6b6c9a384208e66f02d6e2d836","ssdeep":"","tlshash":"1551ab24e72a680b72bf94eca7724605d720d0079d020a2d7ad175b1aff93bc8472e8d","first_seen":"2025-08-05T21:54:24.391581Z","last_seen":"2026-07-27T11:34:25.532926Z","times_seen":51,"resource_available":false,"data":"LyoqKiANCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCglDb2xvciBQYWxhdGUgU3R5bGUgLyBDb2xvciBTd2l0Y2hlciBTdHlsZQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KKioqLw0KDQouY29sb3ItcGFsYXRlIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmZmIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQoJLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMjBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KCS1tcy1ib3gtc2hhZG93OiAwIDAgMjBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KCS1vLWJveC1zaGFkb3c6IDAgMCAyMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7DQoJLW1vei1ib3gtc2hhZG93OiAwIDAgMjBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOw0KICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7DQogICAgcG9zaXRpb246IGZpeGVkOw0KICAgIGxlZnQ6IC0yODVweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgdG9wOiAyNSU7DQogICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAwczsNCiAgICB3aWR0aDogMjg1cHg7DQogICAgei1pbmRleDogOTk5Ow0KCXBhZGRpbmctYm90dG9tOjQwcHg7DQp9DQoNCi5jb2xvci1wYWxhdGUtaGVhZCB7DQogICAgYmFja2dyb3VuZDogI2QwNjIxYiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KICAgIHBhZGRpbmc6IDEycHggMDsNCn0NCg0KLmNvbG9yLXBhbGF0ZS1oZWFkIGg2LA0KLnNlY29uZGFyeS1oZWFkIGg2IHsNCiAgICBjb2xvcjogI2ZmZmZmZjsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgZm9udC13ZWlnaHQ6IDYwMDsNCiAgICBtYXJnaW46IDBweDsNCiAgICBtYXJnaW4tdG9wOiA0cHg7DQoJdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOw0KfQ0KDQoucGFsYXRlIHsNCiAgICBiYWNrZ3JvdW5kOiByZWQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBmbG9hdDogbGVmdDsNCiAgICBoZWlnaHQ6IDQ1cHg7DQogICAgbWFyZ2luOiAwIDIuNSUgMTJweDsNCiAgICB3aWR0aDogMjAlOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoNCi5jb2xvcnMtbGlzdCAuYWN0aXZlOjphZnRlcnsNCiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb25zL3RpY2sucG5nKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCAhaW1wb3J0YW50Ow0KICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7DQogICAgY29udGVudDogJyc7DQogICAgcG9zaXRpb246IGFic29sdXRlOw0KICAgIHRvcDogMHB4Ow0KICAgIGxlZnQ6IDBweDsNCiAgICB3aWR0aDogMTAwJTsNCiAgICBoZWlnaHQ6IDEwMCU7DQp9DQoNCi52YXJpb3VzLWNvbG9yIHsNCiAgICBvdmVyZmxvdzogaGlkZGVuOw0KICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4Ow0KfQ0KDQouY29sb3JzLWxpc3Qgew0KICAgIG1hcmdpbjogMCAyMHB4Ow0KfQ0KDQouc2Vjb25kYXJ5LWhlYWQgew0KICAgIGJhY2tncm91bmQ6ICMyMjIyMjIgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCiAgICBwYWRkaW5nOiAxNHB4IDA7DQp9DQoNCi5zZWNvbmRhcnktY29sb3Igew0KICAgIHBhZGRpbmc6IDIzcHggMDsNCn0NCg0KLnNlY29uZGFyeS1jb2xvcnMtbGlzdCB7DQogICAgbWFyZ2luOiAwIDgwcHg7DQp9DQoNCi5wYWxhdGUtZm9vIHsNCiAgICBjb2xvcjogIzc3Nzc3NzsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBwYWRkaW5nOiAwIDMwcHg7DQoJbGluZS1oZWlnaHQ6MS44ZW07DQp9DQoNCi5wYWxhdGUtZm9vIHNwYW57DQoJZGlzcGxheTpibG9jazsNCglwYWRkaW5nLXRvcDoyMHB4Ow0KCW1hcmdpbi10b3A6NXB4Ow0KCWJvcmRlci10b3A6MXB4IGRvdHRlZCAjYjJiMmIyOw0KfQ0KDQoucGFsYXRlLmRlZmF1bHQtY29sb3Igew0KICAgIGJhY2tncm91bmQ6ICNmZGE3MDAgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCn0NCg0KLnBhbGF0ZS5ncmVlbi1jb2xvciB7DQogICAgYmFja2dyb3VuZDogIzJFQ0M0MCBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KfQ0KDQoucGFsYXRlLm9saXZlLWNvbG9yIHsNCiAgICBiYWNrZ3JvdW5kOiAjM0Q5OTcwIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQp9DQoNCi5wYWxhdGUuYnJvd24tY29sb3Igew0KICAgIGJhY2tncm91bmQ6ICNhYjhiNDAgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCn0NCg0KLnBhbGF0ZS5wdXJwbGUtY29sb3Igew0KICAgIGJhY2tncm91bmQ6ICNiYjU0ZTEgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsNCn0NCg0KLnBhbGF0ZS50ZWFsLWNvbG9yIHsNCiAgICBiYWNrZ3JvdW5kOiAjMTRjNTk5IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQp9DQoNCi5wYWxhdGUub3JhbmdlLWNvbG9yIHsNCiAgICBiYWNrZ3JvdW5kOiAjZmY3ZTAwIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7DQp9DQoNCi5wYWxhdGUucmVkZC1jb2xvciB7DQogICAgYmFja2dyb3VuZDogI0ZGNDEzNiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KfQ0KDQouY29sb3ItdHJpZ2dlciB7DQogICAgYmFja2dyb3VuZDogI2QwNjIxYiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOw0KICAgIGN1cnNvcjogcG9pbnRlcjsNCiAgICBoZWlnaHQ6IDUwcHg7DQogICAgcmlnaHQ6IC00NnB4Ow0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICB0b3A6IDA7DQogICAgd2lkdGg6IDQ2cHg7DQogICAgcGFkZGluZy10b3A6IDZweDsNCn0NCi5jb2xvci10cmlnZ2VyIC5mYXsNCgkNCn0NCi5jb2xvci10cmlnZ2VyOmJlZm9yZXsNCgljb250ZW50OicnOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCWxlZnQ6MHB4Ow0KCXRvcDowcHg7DQoJd2lkdGg6MTAwJTsNCgloZWlnaHQ6MTAwJTsNCn0NCg0KLmNvbG9yLXRyaWdnZXIgaSB7DQogICAgY29sb3I6ICNmZmZmZmY7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KfQ0KDQouY29sb3ItcGFsYXRlLnZpc2libGUtcGFsYXRlIHsNCiAgICBsZWZ0OiAwcHg7DQp9"}},"time_used":57,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":55,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/script.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.795Z","timestamp":1785135591795,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/script.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 3592\r\ncache-control: public, max-age=604800\r\nexpires: Fri, 31 Jul 2026 12:14:33 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"42cf-68bf75d4-2fc8b1abac3aacc;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 240318\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: b1119e24191e760e5d1b8c97d5c988b9-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.018\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":17103,"size_decoded":4199,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (348)","md5":"d8ed427061c985cc59234e83bf2f8ead","sha1":"74dcd24ce98cde9a3d602fa980597e7fb1bea94e","sha256":"b602572345b34b39e8c50d36a63ac5d0e7d165923a84e658411dda8b76f376a6","sha512":"9c306b38855e156f57df618e2d10b98c07124eba5b319bf458ceb2d625a3e7707a06a3bacc142dfec7e79d5db9c1dfec6fe801ec2148f22a06ed94f8f913bf62","ssdeep":"384:kZIxBdLrk2eKAA/bOKuwCHJh3C6yY9kZ4dN:1k29nbOKxCHJh3UY9RdN","tlshash":"dd720ec0f7bc25b7447a3196985e75c52bad4437c84324b7f9bd11282fc871e32aae19","first_seen":"2024-06-18T00:47:46Z","last_seen":"2026-07-27T13:36:13.703598Z","times_seen":96,"resource_available":true,"data":"KGZ1bmN0aW9uKCQpIHsKCQoJInVzZSBzdHJpY3QiOwoJCgkKCS8vSGlkZSBMb2FkaW5nIEJveCAoUHJlbG9hZGVyKQoJZnVuY3Rpb24gaGFuZGxlUHJlbG9hZGVyKCkgewoJCWlmKCQoJy5wcmVsb2FkZXInKS5sZW5ndGgpewoJCQkkKCcucHJlbG9hZGVyJykuZGVsYXkoMjAwKS5mYWRlT3V0KDUwMCk7CgkJfQoJfQoJCgkKCS8vVXBkYXRlIEhlYWRlciBTdHlsZSBhbmQgU2Nyb2xsIHRvIFRvcAoJZnVuY3Rpb24gaGVhZGVyU3R5bGUoKSB7CgkJaWYoJCgnLm1haW4taGVhZGVyJykubGVuZ3RoKXsKCQkJdmFyIHdpbmRvd3BvcyA9ICQod2luZG93KS5zY3JvbGxUb3AoKTsKCQkJdmFyIHNpdGVIZWFkZXIgPSAkKCcubWFpbi1oZWFkZXInKTsKCQkJdmFyIHNjcm9sbExpbmsgPSAkKCcuc2Nyb2xsLXRvLXRvcCcpOwoJCQkKCQkJdmFyIEhlYWRlckhpZ2h0ID0gJCgnLm1haW4taGVhZGVyJykuaGVpZ2h0KCk7CgkJCWlmICh3aW5kb3dwb3MgPj0gSGVhZGVySGlnaHQpIHsKCQkJCXNpdGVIZWFkZXIuYWRkQ2xhc3MoJ2ZpeGVkLWhlYWRlcicpOwoJCQkJc2Nyb2xsTGluay5mYWRlSW4oMzAwKTsKCQkJfSBlbHNlIHsKCQkJCXNpdGVIZWFkZXIucmVtb3ZlQ2xhc3MoJ2ZpeGVkLWhlYWRlcicpOwoJCQkJc2Nyb2xsTGluay5mYWRlT3V0KDMwMCk7CgkJCX0KCQkJCgkJfQoJfQoJCgloZWFkZXJTdHlsZSgpOwoJCgkKCS8vU3VibWVudSBEcm9wZG93biBUb2dnbGUKCWlmKCQoJy5tYWluLWhlYWRlciAubmF2aWdhdGlvbiBsaS5kcm9wZG93bicpLmxlbmd0aCl7CgkJJCgnLm1haW4taGVhZGVyIC5uYXZpZ2F0aW9uIGxpLmRyb3Bkb3duJykuYXBwZW5kKCc8ZGl2IGNsYXNzPSJkcm9wZG93bi1idG4iPjxzcGFuIGNsYXNzPSJmYSBmYS1hbmdsZS1kb3duIj48L3NwYW4+PC9kaXY+Jyk7CgkJCgkJLy9Ecm9wZG93biBCdXR0b24KCQkkKCcubWFpbi1oZWFkZXIgbGkuZHJvcGRvd24gLmRyb3Bkb3duLWJ0bicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgewoJCQkkKHRoaXMpLnByZXYoJ3VsJykuc2xpZGVUb2dnbGUoNTAwKTsKCQl9KTsKCQkKCQkvL01lZ2FtZW51IFRvZ2dsZQoJCSQoJy5tYWluLWhlYWRlciAubWFpbi1tZW51IGxpLmRyb3Bkb3duIC5kcm9wZG93bi1idG4nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKCQkJJCh0aGlzKS5wcmV2KCcubWVnYS1tZW51Jykuc2xpZGVUb2dnbGUoNTAwKTsKCQl9KTsKCQkKCQkvL0Rpc2FibGUgZHJvcGRvd24gcGFyZW50IGxpbmsKCQkkKCcubWFpbi1oZWFkZXIgLm5hdmlnYXRpb24gbGkuZHJvcGRvd24gPiBhLC5oaWRkZW4tYmFyIC5zaWRlLW1lbnUgbGkuZHJvcGRvd24gPiBhJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJfSk7Cgl9CgoJCgkKCS8vTW9iaWxlIE5hdiBIaWRlIFNob3cKCWlmKCQoJy5tb2JpbGUtbWVudScpLmxlbmd0aCl7CgkJCgkJJCgnLm1vYmlsZS1tZW51IC5tZW51LWJveCcpLm1DdXN0b21TY3JvbGxiYXIoKTsKCQkKCQl2YXIgbW9iaWxlTWVudUNvbnRlbnQgPSAkKCcubWFpbi1oZWFkZXIgLm5hdi1vdXRlciAubWFpbi1tZW51JykuaHRtbCgpOwoJCSQoJy5tb2JpbGUtbWVudSAubWVudS1ib3ggLm1lbnUtb3V0ZXInKS5hcHBlbmQobW9iaWxlTWVudUNvbnRlbnQpOwoJCSQoJy5zdGlja3ktaGVhZGVyIC5tYWluLW1lbnUnKS5hcHBlbmQobW9iaWxlTWVudUNvbnRlbnQpOwoJCQoJCS8vRHJvcGRvd24gQnV0dG9uCgkJJCgnLm1vYmlsZS1tZW51IGxpLmRyb3Bkb3duIC5kcm9wZG93bi1idG4nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKCQkJJCh0aGlzKS50b2dnbGVDbGFzcygnb3BlbicpOwoJCQkkKHRoaXMpLnByZXYoJ3VsJykuc2xpZGVUb2dnbGUoNTAwKTsKCQl9KTsKCQkvL01lbnUgVG9nZ2xlIEJ0bgoJCSQoJy5tb2JpbGUtbmF2LXRvZ2dsZXInKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKCQkJJCgnYm9keScpLmFkZENsYXNzKCdtb2JpbGUtbWVudS12aXNpYmxlJyk7CgkJfSk7CgoJCS8vTWVudSBUb2dnbGUgQnRuCgkJJCgnLm1vYmlsZS1tZW51IC5tZW51LWJhY2tkcm9wLC5tb2JpbGUtbWVudSAuY2xvc2UtYnRuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7CgkJCSQoJ2JvZHknKS5yZW1vdmVDbGFzcygnbW9iaWxlLW1lbnUtdmlzaWJsZScpOwoJCX0pOwoJCQoJfQoJCgkKCQoJLy9IaWRkZW4gU2lkZWJhcgoJaWYgKCQoJy5oaWRkZW4tYmFyJykubGVuZ3RoKSB7CgkJdmFyIGhpZGRlbkJhciA9ICQoJy5oaWRkZW4tYmFyJyk7CgkJdmFyIGhpZGRlbkJhck9wZW5lciA9ICQoJy5uYXYtdG9nZ2xlcicpOwoJCXZhciBoaWRkZW5CYXJDbG9zZXIgPSAkKCcuaGlkZGVuLWJhci1jbG9zZXInKTsKCQkkKCcuaGlkZGVuLWJhci13cmFwcGVyJykubUN1c3RvbVNjcm9sbGJhcigpOwoJCQoJCS8vU2hvdyBTaWRlYmFyCgkJaGlkZGVuQmFyT3BlbmVyLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKCQkJaGlkZGVuQmFyLmFkZENsYXNzKCd2aXNpYmxlLXNpZGViYXInKTsKCQl9KTsKCQkKCQkvL0hpZGUgU2lkZWJhcgoJCWhpZGRlbkJhckNsb3Nlci5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7CgkJCWhpZGRlbkJhci5yZW1vdmVDbGFzcygndmlzaWJsZS1zaWRlYmFyJyk7CgkJfSk7Cgl9CgkKCQoJLy9IaWRkZW4gQmFyIE1lbnUgQ29uZmlnCglmdW5jdGlvbiBoaWRkZW5CYXJNZW51Q29uZmlnKCkgewoJCXZhciBtZW51V3JhcCA9ICQoJy5oaWRkZW4tYmFyIC5zaWRlLW1lbnUnKTsKCQkvLyBhcHBlbmRpbmcgZXhwYW5kZXIgYnV0dG9uCgkJbWVudVdyYXAuZmluZCgnLmRyb3Bkb3duJykuY2hpbGRyZW4oJ2EnKS5hcHBlbmQoZnVuY3Rpb24gKCkgewoJCQlyZXR1cm4gJzxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIGV4cGFuZGVyIj48aSBjbGFzcz0iaWNvbiBmYSBmYS1hbmdsZS1yaWdodCI+PC9pPjwvYnV0dG9uPic7CgkJfSk7CgkJLy8gaGlkZGluZyBzdWJtZW51CgkJbWVudVdyYXAuZmluZCgnLmRyb3Bkb3duJykuY2hpbGRyZW4oJ3VsJykuaGlkZSgpOwoJCS8vIHRvZ2dsaW5nIGNoaWxkIHVsCgkJbWVudVdyYXAuZmluZCgnLmJ0bi5leHBhbmRlcicpLmVhY2goZnVuY3Rpb24gKCkgewoJCQkkKHRoaXMpLm9uKCdjbGljaycsIGZ1bmN0aW9uICgpIHsKCQkJCSQodGhpcykucGFyZW50KCkgLy8gcmV0dXJuIHBhcmVudCBvZiAuYnRuLmV4cGFuZGVyIChhKQoJCQkJCS5wYXJlbnQoKSAvLyByZXR1cm4gcGFyZW50IG9mIGEgKGxpKQoJCQkJCQkuY2hpbGRyZW4oJ3VsJykuc2xpZGVUb2dnbGUoKTsKCgkJCQkvLyBhZGRpbmcgY2xhc3MgdG8gZXhwYW5kZXIgY29udGFpbmVyCgkJCQkkKHRoaXMpLnBhcmVudCgpLnRvZ2dsZUNsYXNzKCdjdXJyZW50Jyk7CgkJCQkvLyB0b2dnbGluZyBhcnJvdyBvZiBleHBhbmRlcgoJCQkJJCh0aGlzKS5maW5kKCdpJykudG9nZ2xlQ2xhc3MoJ2ZhLWFuZ2xlLXJpZ2h0IGZhLWFuZ2xlLWRvd24nKTsKCgkJCQlyZXR1cm4gZmFsc2U7CgoJCQl9KTsKCQl9KTsKCX0KCgloaWRkZW5CYXJNZW51Q29uZmlnKCk7CgkKCQoJLy9DdXN0b20gU2VjbGVjdCBCb3gKCWlmKCQoJy5jdXN0b20tc2VsZWN0LWJveCcpLmxlbmd0aCl7CgkJJCgnLmN1c3RvbS1zZWxlY3QtYm94Jykuc2VsZWN0bWVudSgpLnNlbGVjdG1lbnUoJ21lbnVXaWRnZXQnKS5hZGRDbGFzcygnb3ZlcmZsb3cnKTsKCX0KCQoJCgkvL0pxdWVyeSBTcGlubmVyIC8gUXVhbnRpdHkgU3Bpbm5lcgoJaWYoJCgnLnF1YW50aXR5LXNwaW5uZXInKS5sZW5ndGgpewoJCSQoImlucHV0LnF1YW50aXR5LXNwaW5uZXIiKS5Ub3VjaFNwaW4oewoJCSAgdmVydGljYWxidXR0b25zOiB0cnVlCgkJfSk7Cgl9CQoJCgkKCS8vSGVhZGVyIFNlYXJjaAoJaWYoJCgnLnNlYXJjaC1ib3gtb3V0ZXInKS5sZW5ndGgpIHsKCQkkKCcuc2VhcmNoLWJveC1vdXRlcicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgewoJCQkkKCdib2R5JykuYWRkQ2xhc3MoJ3NlYXJjaC1hY3RpdmUnKTsKCQl9KTsKCQkkKCcuY2xvc2Utc2VhcmNoJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7CgkJCSQoJ2JvZHknKS5yZW1vdmVDbGFzcygnc2VhcmNoLWFjdGl2ZScpOwoJCX0pOwoJfQoJCgkKCS8vRXZlbnQgQ291bnRkb3duIFRpbWVyCglpZigkKCcudGltZS1jb3VudGRvd24nKS5sZW5ndGgpeyAgCgkJJCgnLnRpbWUtY291bnRkb3duJykuZWFjaChmdW5jdGlvbigpIHsKCQl2YXIgJHRoaXMgPSAkKHRoaXMpLCBmaW5hbERhdGUgPSAkKHRoaXMpLmRhdGEoJ2NvdW50ZG93bicpOwoJCSR0aGlzLmNvdW50ZG93bihmaW5hbERhdGUsIGZ1bmN0aW9uKGV2ZW50KSB7CgkJCXZhciAkdGhpcyA9ICQodGhpcykuaHRtbChldmVudC5zdHJmdGltZSgnJyArICc8ZGl2IGNsYXNzPSJjb3VudGVyLWNvbHVtbiI+PHNwYW4gY2xhc3M9ImNvdW50Ij4lRDwvc3Bhbj5EYXlzPC9kaXY+ICcgKyAnPGRpdiBjbGFzcz0iY291bnRlci1jb2x1bW4iPjxzcGFuIGNsYXNzPSJjb3VudCI+JUg8L3NwYW4+SG91cnM8L2Rpdj4gICcgKyAnPGRpdiBjbGFzcz0iY291bnRlci1jb2x1bW4iPjxzcGFuIGNsYXNzPSJjb3VudCI+JU08L3NwYW4+TWludXRlczwvZGl2PiAgJyArICc8ZGl2IGNsYXNzPSJjb3VudGVyLWNvbHVtbiI+PHNwYW4gY2xhc3M9ImNvdW50Ij4lUzwvc3Bhbj5TZWNvbmRzPC9kaXY+JykpOwoJCX0pOwoJIH0pOwoJfQoJCgkKCQoJLy9DbGllbnQgVGVzdGltb25pYWwgQ2Fyb3VzZWwKCWlmICgkKCcuY2xpZW50LXRlc3RpbW9uaWFsLWNhcm91c2VsJykubGVuZ3RoICYmICQoJy5jbGllbnQtdGh1bWJzLWNhcm91c2VsJykubGVuZ3RoKSB7CgoJCXZhciAkc3luYzMgPSAkKCIuY2xpZW50LXRlc3RpbW9uaWFsLWNhcm91c2VsIiksCgkJCSRzeW5jNCA9ICQoIi5jbGllbnQtdGh1bWJzLWNhcm91c2VsIiksCgkJCWZsYWcgPSBmYWxzZSwKCQkJZHVyYXRpb24gPSA1MDA7CgoJCQkkc3luYzMKCQkJCS5vd2xDYXJvdXNlbCh7CgkJCQkJbG9vcDp0cnVlLAoJCQkJCWl0ZW1zOiAxLAoJCQkJCW1hcmdpbjogMCwKCQkJCQluYXY6IHRydWUsCgkJCQkJbmF2VGV4dDogWyAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLWxlZnQiPjwvc3Bhbj4nLCAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLXJpZ2h0Ij48L3NwYW4+JyBdLAoJCQkJCWRvdHM6IHRydWUsCgkJCQkJYXV0b3BsYXk6IHRydWUsCgkJCQkJYXV0b3BsYXlUaW1lb3V0OiA1MDAwCgkJCQl9KQoJCQkJLm9uKCdjaGFuZ2VkLm93bC5jYXJvdXNlbCcsIGZ1bmN0aW9uIChlKSB7CgkJCQkJaWYgKCFmbGFnKSB7CgkJCQkJCWZsYWcgPSBmYWxzZTsKCQkJCQkJJHN5bmM0LnRyaWdnZXIoJ3RvLm93bC5jYXJvdXNlbCcsIFtlLml0ZW0uaW5kZXgsIGR1cmF0aW9uLCB0cnVlXSk7CgkJCQkJCWZsYWcgPSBmYWxzZTsKCQkJCQl9CgkJCQl9KTsKCgkJCSRzeW5jNAoJCQkJLm93bENhcm91c2VsKHsKCQkJCQlsb29wOnRydWUsCgkJCQkJbWFyZ2luOjE5NSwKCQkJCQlpdGVtczogMSwKCQkJCQluYXY6IGZhbHNlLAoJCQkJCW5hdlRleHQ6IFsgJzxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWxlZnQtYXJyb3ctMiI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1yaWdodC1hcnJvdy0xIj48L3NwYW4+JyBdLAoJCQkJCWRvdHM6IGZhbHNlLAoJCQkJCWNlbnRlcjogdHJ1ZSwKCQkJCQlhdXRvcGxheTogdHJ1ZSwKCQkJCQlhdXRvcGxheVRpbWVvdXQ6IDUwMDAsCgkJCQkJcmVzcG9uc2l2ZTogewoJCQkJCQkwOnsKCQkJCSAgICAgICAgICAgIGl0ZW1zOjEsCgkJCQkgICAgICAgICAgICBhdXRvV2lkdGg6IGZhbHNlCgkJCQkgICAgICAgIH0sCgkJCQkgICAgICAgIDQwMDp7CgkJCQkgICAgICAgICAgICBpdGVtczoxLAoJCQkJICAgICAgICAgICAgYXV0b1dpZHRoOiBmYWxzZQoJCQkJICAgICAgICB9LAoJCQkJICAgICAgICA2MDA6ewoJCQkJICAgICAgICAgICAgaXRlbXM6MSwKCQkJCSAgICAgICAgICAgIGF1dG9XaWR0aDogZmFsc2UKCQkJCSAgICAgICAgfSwKCQkJCSAgICAgICAgMTAwMDp7CgkJCQkgICAgICAgICAgICBpdGVtczoxLAoJCQkJICAgICAgICAgICAgYXV0b1dpZHRoOiBmYWxzZQoJCQkJICAgICAgICB9LAoJCQkJCQkxMjAwOnsKCQkJCSAgICAgICAgICAgIGl0ZW1zOjEsCgkJCQkgICAgICAgICAgICBhdXRvV2lkdGg6IGZhbHNlCgkJCQkgICAgICAgIH0KCQkJCSAgICB9LAoJCQkJfSkKCQkJCQoJCS5vbignY2xpY2snLCAnLm93bC1pdGVtJywgZnVuY3Rpb24gKCkgewoJCQkkc3luYzMudHJpZ2dlcigndG8ub3dsLmNhcm91c2VsJywgWyQodGhpcykuaW5kZXgoKSwgZHVyYXRpb24sIHRydWVdKTsKCQl9KQoJCS5vbignY2hhbmdlZC5vd2wuY2Fyb3VzZWwnLCBmdW5jdGlvbiAoZSkgewoJCQlpZiAoIWZsYWcpIHsKCQkJCWZsYWcgPSB0cnVlOwkJCgkJCQkkc3luYzMudHJpZ2dlcigndG8ub3dsLmNhcm91c2VsJywgW2UuaXRlbS5pbmRleCwgZHVyYXRpb24sIHRydWVdKTsKCQkJCWZsYWcgPSBmYWxzZTsKCQkJfQoJCX0pOwoJfQoJCgkKCQoJLy9Qcm9ncmVzcyBCYXIKCWlmKCQoJy5wcm9ncmVzcy1saW5lJykubGVuZ3RoKXsKCQkkKCcucHJvZ3Jlc3MtbGluZScpLmFwcGVhcihmdW5jdGlvbigpewoJCQl2YXIgZWwgPSAkKHRoaXMpOwoJCQl2YXIgcGVyY2VudCA9IGVsLmRhdGEoJ3dpZHRoJyk7CgkJCSQoZWwpLmNzcygnd2lkdGgnLHBlcmNlbnQrJyUnKTsKCQl9LHthY2NZOiAwfSk7Cgl9CgkKCQoJCgkvL01hc29uYXJ5CglmdW5jdGlvbiBlbmFibGVNYXNvbnJ5KCkgewoJCWlmKCQoJy5tYXNvbnJ5LWl0ZW1zLWNvbnRhaW5lcicpLmxlbmd0aCl7CgkKCQkJdmFyIHdpbkRvdyA9ICQod2luZG93KTsKCQkJLy8gTmVlZGVkIHZhcmlhYmxlcwoJCQl2YXIgJGNvbnRhaW5lcj0kKCcubWFzb25yeS1pdGVtcy1jb250YWluZXInKTsKCQoJCQkkY29udGFpbmVyLmlzb3RvcGUoewoJCQkJaXRlbVNlbGVjdG9yOiAnLm1hc29ucnktaXRlbScsCgkJCQkgbWFzb25yeTogewoJCQkJCWNvbHVtbldpZHRoIDogJy5tYXNvbnJ5LWl0ZW0uY29sLWxnLTMnCgkJCQkgfSwKCQkJCWFuaW1hdGlvbk9wdGlvbnM6ewoJCQkJCWR1cmF0aW9uOjUwMCwKCQkJCQllYXNpbmc6J2xpbmVhcicKCQkJCX0KCQkJfSk7CgkKCQkJd2luRG93LmJpbmQoJ3Jlc2l6ZScsIGZ1bmN0aW9uKCl7CgoJCQkJJGNvbnRhaW5lci5pc290b3BlKHsgCgkJCQkJaXRlbVNlbGVjdG9yOiAnLm1hc29ucnktaXRlbScsCgkJCQkJYW5pbWF0aW9uT3B0aW9uczogewoJCQkJCQlkdXJhdGlvbjogNTAwLAoJCQkJCQllYXNpbmcJOiAnbGluZWFyJywKCQkJCQkJcXVldWUJOiBmYWxzZQoJCQkJCX0KCQkJCX0pOwoJCQl9KTsKCQl9Cgl9CgkKCWVuYWJsZU1hc29ucnkoKTsKCQoJCgkKCS8vRmFjdCBDb3VudGVyICsgVGV4dCBDb3VudAoJaWYoJCgnLmNvdW50LWJveCcpLmxlbmd0aCl7CgkJJCgnLmNvdW50LWJveCcpLmFwcGVhcihmdW5jdGlvbigpewoJCgkJCXZhciAkdCA9ICQodGhpcyksCgkJCQluID0gJHQuZmluZCgiLmNvdW50LXRleHQiKS5hdHRyKCJkYXRhLXN0b3AiKSwKCQkJCXIgPSBwYXJzZUludCgkdC5maW5kKCIuY291bnQtdGV4dCIpLmF0dHIoImRhdGEtc3BlZWQiKSwgMTApOwoJCQkJCgkJCWlmICghJHQuaGFzQ2xhc3MoImNvdW50ZWQiKSkgewoJCQkJJHQuYWRkQ2xhc3MoImNvdW50ZWQiKTsKCQkJCSQoewoJCQkJCWNvdW50TnVtOiAkdC5maW5kKCIuY291bnQtdGV4dCIpLnRleHQoKQoJCQkJfSkuYW5pbWF0ZSh7CgkJCQkJY291bnROdW06IG4KCQkJCX0sIHsKCQkJCQlkdXJhdGlvbjogciwKCQkJCQllYXNpbmc6ICJsaW5lYXIiLAoJCQkJCXN0ZXA6IGZ1bmN0aW9uKCkgewoJCQkJCQkkdC5maW5kKCIuY291bnQtdGV4dCIpLnRleHQoTWF0aC5mbG9vcih0aGlzLmNvdW50TnVtKSk7CgkJCQkJfSwKCQkJCQljb21wbGV0ZTogZnVuY3Rpb24oKSB7CgkJCQkJCSR0LmZpbmQoIi5jb3VudC10ZXh0IikudGV4dCh0aGlzLmNvdW50TnVtKTsKCQkJCQl9CgkJCQl9KTsKCQkJfQoJCQkKCQl9LHthY2NZOiAwfSk7Cgl9CgkKCQoJCgkvL0FjY29yZGlvbiBCb3gKCWlmKCQoJy5hY2NvcmRpb24tYm94JykubGVuZ3RoKXsKCQkkKCIuYWNjb3JkaW9uLWJveCIpLm9uKCdjbGljaycsICcuYWNjLWJ0bicsIGZ1bmN0aW9uKCkgewoJCQkKCQkJdmFyIG91dGVyQm94ID0gJCh0aGlzKS5wYXJlbnRzKCcuYWNjb3JkaW9uLWJveCcpOwoJCQl2YXIgdGFyZ2V0ID0gJCh0aGlzKS5wYXJlbnRzKCcuYWNjb3JkaW9uJyk7CgkJCQoJCQlpZigkKHRoaXMpLmhhc0NsYXNzKCdhY3RpdmUnKSE9PXRydWUpewoJCQkJJChvdXRlckJveCkuZmluZCgnLmFjY29yZGlvbiAuYWNjLWJ0bicpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTsKCQkJfQoJCQkKCQkJaWYgKCQodGhpcykubmV4dCgnLmFjYy1jb250ZW50JykuaXMoJzp2aXNpYmxlJykpewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9ZWxzZXsKCQkJCSQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwoJCQkJJChvdXRlckJveCkuY2hpbGRyZW4oJy5hY2NvcmRpb24nKS5yZW1vdmVDbGFzcygnYWN0aXZlLWJsb2NrJyk7CgkJCQkkKG91dGVyQm94KS5maW5kKCcuYWNjb3JkaW9uJykuY2hpbGRyZW4oJy5hY2MtY29udGVudCcpLnNsaWRlVXAoMzAwKTsKCQkJCXRhcmdldC5hZGRDbGFzcygnYWN0aXZlLWJsb2NrJyk7CgkJCQkkKHRoaXMpLm5leHQoJy5hY2MtY29udGVudCcpLnNsaWRlRG93bigzMDApOwkKCQkJfQoJCX0pOwkKCX0KCQoJCgkKCS8vU2luZ2xlIEl0ZW0gQ2Fyb3VzZWwKCWlmICgkKCcuc2luZ2xlLWl0ZW0tY2Fyb3VzZWwnKS5sZW5ndGgpIHsKCQkkKCcuc2luZ2xlLWl0ZW0tY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7CgkJCWxvb3A6dHJ1ZSwKCQkJbWFyZ2luOjMwLAoJCQluYXY6dHJ1ZSwKCQkJc21hcnRTcGVlZDogNTAwLAoJCQlhdXRvcGxheTogNTAwMCwKCQkJbmF2VGV4dDogWyAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLWxlZnQiPjwvc3Bhbj4nLCAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLXJpZ2h0Ij48L3NwYW4+JyBdLAoJCQlyZXNwb25zaXZlOnsKCQkJCTA6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQk2MDA6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQk4MDA6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQkxMDI0OnsKCQkJCQlpdGVtczoxCgkJCQl9LAoJCQkJMTIwMDp7CgkJCQkJaXRlbXM6MQoJCQkJfQoJCQl9CgkJfSk7ICAgIAkJCgl9CgkKCQoJLy8gVHdvIEl0ZW0gQ2Fyb3VzZWwKCWlmICgkKCcudHdvLWl0ZW0tY2Fyb3VzZWwnKS5sZW5ndGgpIHsKCQkkKCcudHdvLWl0ZW0tY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7CgkJCWxvb3A6dHJ1ZSwKCQkJbWFyZ2luOjAsCgkJCW5hdjp0cnVlLAoJCQlzbWFydFNwZWVkOiA1MDAsCgkJCWF1dG9wbGF5OiA1MDAwLAoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sCgkJCXJlc3BvbnNpdmU6ewoJCQkJMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTYwMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTgwMDp7CgkJCQkJaXRlbXM6MgoJCQkJfSwKCQkJCTEwMjQ6ewoJCQkJCWl0ZW1zOjIKCQkJCX0sCgkJCQkxMjAwOnsKCQkJCQlpdGVtczoyCgkJCQl9CgkJCX0KCQl9KTsgICAgCQkKCX0KCQoJCgkvLyBUZXN0aW1vbmlhbCBDYXJvdXNlbAoJaWYgKCQoJy50ZXN0aW1vbmlhbC1jYXJvdXNlbCcpLmxlbmd0aCkgewoJCSQoJy50ZXN0aW1vbmlhbC1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsKCQkJbG9vcDp0cnVlLAoJCQltYXJnaW46MCwKCQkJbmF2OnRydWUsCgkJCXNtYXJ0U3BlZWQ6IDcwMCwKCQkJYXV0b3BsYXk6IHRydWUsCgkJCW5hdlRleHQ6IFsgJzxzcGFuIGNsYXNzPSJmYSBmYS1sb25nLWFycm93LWxlZnQiPjwvc3Bhbj4gcHJldicsICduZXh0PHNwYW4gY2xhc3M9ImZhIGZhLWxvbmctYXJyb3ctcmlnaHQiPjwvc3Bhbj4nIF0sCgkJCXJlc3BvbnNpdmU6ewoJCQkJMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTYwMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTgwMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTEwMjQ6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQkxNDAwOnsKCQkJCQlpdGVtczoxCgkJCQl9CgkJCX0KCQl9KTsgICAgCQkKCX0KCQoJCgkvLyBUaHJlZSBJdGVtIENhcm91c2VsCglpZiAoJCgnLnRocmVlLWl0ZW0tY2Fyb3VzZWwnKS5sZW5ndGgpIHsKCQkkKCcudGhyZWUtaXRlbS1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsKCQkJbG9vcDp0cnVlLAoJCQltYXJnaW46MzAsCgkJCW5hdjp0cnVlLAoJCQlzbWFydFNwZWVkOiA1MDAsCgkJCWF1dG9wbGF5OiA1MDAwLAoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sCgkJCXJlc3BvbnNpdmU6ewoJCQkJMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTYwMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTYxMDp7CgkJCQkJaXRlbXM6MgoJCQkJfSwKCQkJCTgwMDp7CgkJCQkJaXRlbXM6MgoJCQkJfSwKCQkJCTEwMjQ6ewoJCQkJCWl0ZW1zOjMKCQkJCX0sCgkJCQkxMjAwOnsKCQkJCQlpdGVtczozCgkJCQl9CgkJCX0KCQl9KTsgICAgCQkKCX0KCQoKCQoJLy9NYWluIFNsaWRlciBDYXJvdXNlbAoJaWYgKCQoJy5tYWluLXNsaWRlci1jYXJvdXNlbCcpLmxlbmd0aCkgewoJCSQoJy5tYWluLXNsaWRlci1jYXJvdXNlbCcpLm93bENhcm91c2VsKHsKCQkJYW5pbWF0ZU91dDogJ2ZhZGVPdXQnLAogICAgCQlhbmltYXRlSW46ICdmYWRlSW4nLAoJCQlsb29wOnRydWUsCgkJCW1hcmdpbjowLAoJCQluYXY6dHJ1ZSwKCQkJYXV0b0hlaWdodDogdHJ1ZSwKCQkJc21hcnRTcGVlZDogNTAwLAoJCQlhdXRvcGxheTogNjAwMCwKCQkJbmF2VGV4dDogWyAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLWxlZnQiPjwvc3Bhbj4nLCAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLXJpZ2h0Ij48L3NwYW4+JyBdLAoJCQlyZXNwb25zaXZlOnsKCQkJCTA6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQk2MDA6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQk4MDA6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQkxMDI0OnsKCQkJCQlpdGVtczoxCgkJCQl9LAoJCQkJMTIwMDp7CgkJCQkJaXRlbXM6MQoJCQkJfQoJCQl9CgkJfSk7ICAgIAkJCgl9CgkKCQoJCgkvL01haW4gU2xpZGVyIENhcm91c2VsCglpZiAoJCgnLmZvdXItaXRlbS1jYXJvdXNlbCcpLmxlbmd0aCkgewoJCSQoJy5mb3VyLWl0ZW0tY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7CgkJCWFuaW1hdGVPdXQ6ICdmYWRlT3V0JywKICAgIAkJYW5pbWF0ZUluOiAnZmFkZUluJywKCQkJbG9vcDp0cnVlLAoJCQltYXJnaW46MTUsCgkJCW5hdjp0cnVlLAoJCQlhdXRvSGVpZ2h0OiB0cnVlLAoJCQlzbWFydFNwZWVkOiA1MDAsCgkJCWF1dG9wbGF5OiA2MDAwLAoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sCgkJCXJlc3BvbnNpdmU6ewoJCQkJMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTYwMDp7CgkJCQkJaXRlbXM6MgoJCQkJfSwKCQkJCTgwMDp7CgkJCQkJaXRlbXM6MgoJCQkJfSwKCQkJCTEwMjQ6ewoJCQkJCWl0ZW1zOjMKCQkJCX0sCgkJCQkxMjAwOnsKCQkJCQlpdGVtczo0CgkJCQl9CgkJCX0KCQl9KTsgICAgCQkKCX0KCQoJCgkKCS8vIFNwb25zb3JzIENhcm91c2VsCglpZiAoJCgnLnNwb25zb3JzLWNhcm91c2VsJykubGVuZ3RoKSB7CgkJJCgnLnNwb25zb3JzLWNhcm91c2VsJykub3dsQ2Fyb3VzZWwoewoJCQlsb29wOnRydWUsCgkJCW1hcmdpbjowLAoJCQluYXY6dHJ1ZSwKCQkJc21hcnRTcGVlZDogNTAwLAoJCQlhdXRvcGxheTogNDAwMCwKCQkJbmF2VGV4dDogWyAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLWxlZnQiPjwvc3Bhbj4nLCAnPHNwYW4gY2xhc3M9ImZhIGZhLWFuZ2xlLXJpZ2h0Ij48L3NwYW4+JyBdLAoJCQlyZXNwb25zaXZlOnsKCQkJCTA6ewoJCQkJCWl0ZW1zOjEKCQkJCX0sCgkJCQk0ODA6ewoJCQkJCWl0ZW1zOjIKCQkJCX0sCgkJCQk2MDA6ewoJCQkJCWl0ZW1zOjMKCQkJCX0sCgkJCQk4MDA6ewoJCQkJCWl0ZW1zOjQKCQkJCX0sCgkJCQkxMDI0OnsKCQkJCQlpdGVtczo0CgkJCQl9CgkJCX0KCQl9KTsgICAgCQkKCX0KCQoJCgkKCWZ1bmN0aW9uIHNvcnRhYmxlTWFzb25yeSgpIHsKCQlpZigkKCcuc29ydGFibGUtbWFzb25yeScpLmxlbmd0aCl7CgkKCQkJdmFyIHdpbkRvdyA9ICQod2luZG93KTsKCQkJLy8gTmVlZGVkIHZhcmlhYmxlcwoJCQl2YXIgJGNvbnRhaW5lcj0kKCcuc29ydGFibGUtbWFzb25yeSAuaXRlbXMtY29udGFpbmVyJyk7CgkJCXZhciAkZmlsdGVyPSQoJy5maWx0ZXItYnRucycpOwoJCgkJCSRjb250YWluZXIuaXNvdG9wZSh7CgkJCQlmaWx0ZXI6JyonLAoJCQkJIG1hc29ucnk6IHsKCQkJCQljb2x1bW5XaWR0aCA6ICcubWFzb25yeS1pdGVtLmNvbC1sZy00JwoJCQkJIH0sCgkJCQlhbmltYXRpb25PcHRpb25zOnsKCQkJCQlkdXJhdGlvbjo1MDAsCgkJCQkJZWFzaW5nOidsaW5lYXInCgkJCQl9CgkJCX0pOwoJCQkvLyBJc290b3BlIEZpbHRlciAKCQkJJGZpbHRlci5maW5kKCdsaScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCl7CgkJCQl2YXIgc2VsZWN0b3IgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtZmlsdGVyJyk7CgkKCQkJCXRyeSB7CgkJCQkJJGNvbnRhaW5lci5pc290b3BlKHsgCgkJCQkJCWZpbHRlcgk6IHNlbGVjdG9yLAoJCQkJCQlhbmltYXRpb25PcHRpb25zOiB7CgkJCQkJCQlkdXJhdGlvbjogNTAwLAoJCQkJCQkJZWFzaW5nCTogJ2xpbmVhcicsCgkJCQkJCQlxdWV1ZQk6IGZhbHNlCgkJCQkJCX0KCQkJCQl9KTsKCQkJCX0gY2F0Y2goZXJyKSB7CgkKCQkJCX0KCQkJCXJldHVybiBmYWxzZTsKCQkJfSk7CgkKCQoJCQl3aW5Eb3cuYmluZCgncmVzaXplJywgZnVuY3Rpb24oKXsKCQkJCXZhciBzZWxlY3RvciA9ICRmaWx0ZXIuZmluZCgnbGkuYWN0aXZlJykuYXR0cignZGF0YS1maWx0ZXInKTsKCgkJCQkkY29udGFpbmVyLmlzb3RvcGUoeyAKCQkJCQlmaWx0ZXIJOiBzZWxlY3RvciwKCQkJCQlhbmltYXRpb25PcHRpb25zOiB7CgkJCQkJCWR1cmF0aW9uOiA1MDAsCgkJCQkJCWVhc2luZwk6ICdsaW5lYXInLAoJCQkJCQlxdWV1ZQk6IGZhbHNlCgkJCQkJfQoJCQkJfSk7CgkJCX0pOwoJCgkKCQkJdmFyIGZpbHRlckl0ZW1BCT0gJCgnLmZpbHRlci1idG5zIGxpJyk7CgkKCQkJZmlsdGVySXRlbUEub24oJ2NsaWNrJywgZnVuY3Rpb24oKXsKCQkJCXZhciAkdGhpcyA9ICQodGhpcyk7CgkJCQlpZiAoICEkdGhpcy5oYXNDbGFzcygnYWN0aXZlJykpIHsKCQkJCQlmaWx0ZXJJdGVtQS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCQkJJHRoaXMuYWRkQ2xhc3MoJ2FjdGl2ZScpOwoJCQkJfQoJCQl9KTsKCQl9Cgl9Cglzb3J0YWJsZU1hc29ucnkoKTsKCQoJCgkKCS8vUHJvZHVjdCBDYXJvdXNlbAoJaWYgKCQoJy5wcm9qZWN0LWNhcm91c2VsJykubGVuZ3RoKSB7CgkJJCgnLnByb2plY3QtY2Fyb3VzZWwnKS5vd2xDYXJvdXNlbCh7CgkJCWxvb3A6dHJ1ZSwKCQkJbWFyZ2luOjYsCgkJCW5hdjp0cnVlLAoJCQlzbWFydFNwZWVkOiA3MDAsCgkJCWF1dG9wbGF5OiA1MDAwLAoJCQluYXZUZXh0OiBbICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9zcGFuPicsICc8c3BhbiBjbGFzcz0iZmEgZmEtYW5nbGUtcmlnaHQiPjwvc3Bhbj4nIF0sCgkJCXJlc3BvbnNpdmU6ewoJCQkJMDp7CgkJCQkJaXRlbXM6MQoJCQkJfSwKCQkJCTYwMDp7CgkJCQkJaXRlbXM6MgoJCQkJfSwKCQkJCTgwMDp7CgkJCQkJaXRlbXM6MgoJCQkJfSwKCQkJCTEwMjQ6ewoJCQkJCWl0ZW1zOjMKCQkJCX0sCgkJCQkxMjAwOnsKCQkJCQlpdGVtczo0CgkJCQl9LAoJCQkJMTQwMDp7CgkJCQkJaXRlbXM6NAoJCQkJfSwKCQkJCTE2MDA6ewoJCQkJCWl0ZW1zOjQKCQkJCX0KCQkJfQoJCX0pOyAgICAJCQoJfQoJCgkKCS8vUHJvZHVjdCBUYWJzCglpZigkKCcucHJvamVjdC10YWInKS5sZW5ndGgpewoJCSQoJy5wcm9qZWN0LXRhYiAucHJvZHVjdC10YWItYnRucyAucC10YWItYnRuJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJCXZhciB0YXJnZXQgPSAkKCQodGhpcykuYXR0cignZGF0YS10YWInKSk7CgkJCQoJCQlpZiAoJCh0YXJnZXQpLmhhc0NsYXNzKCdhY3R2ZS10YWInKSl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX1lbHNlewoJCQkJJCgnLnByb2plY3QtdGFiIC5wcm9kdWN0LXRhYi1idG5zIC5wLXRhYi1idG4nKS5yZW1vdmVDbGFzcygnYWN0aXZlLWJ0bicpOwoJCQkJJCh0aGlzKS5hZGRDbGFzcygnYWN0aXZlLWJ0bicpOwoJCQkJJCgnLnByb2plY3QtdGFiIC5wLXRhYnMtY29udGVudCAucC10YWInKS5yZW1vdmVDbGFzcygnYWN0aXZlLXRhYicpOwoJCQkJJCh0YXJnZXQpLmFkZENsYXNzKCdhY3RpdmUtdGFiJyk7CgkJCX0KCQl9KTsKCX0KCQoJCgkKCS8vVGFicyBCb3gKCWlmKCQoJy50YWJzLWJveCcpLmxlbmd0aCl7CgkJJCgnLnRhYnMtYm94IC50YWItYnV0dG9ucyAudGFiLWJ0bicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQl2YXIgdGFyZ2V0ID0gJCgkKHRoaXMpLmF0dHIoJ2RhdGEtdGFiJykpOwoJCQkKCQkJaWYgKCQodGFyZ2V0KS5pcygnOnZpc2libGUnKSl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX1lbHNlewoJCQkJdGFyZ2V0LnBhcmVudHMoJy50YWJzLWJveCcpLmZpbmQoJy50YWItYnV0dG9ucycpLmZpbmQoJy50YWItYnRuJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZS1idG4nKTsKCQkJCSQodGhpcykuYWRkQ2xhc3MoJ2FjdGl2ZS1idG4nKTsKCQkJCXRhcmdldC5wYXJlbnRzKCcudGFicy1ib3gnKS5maW5kKCcudGFicy1jb250ZW50JykuZmluZCgnLnRhYicpLmZhZGVPdXQoMCk7CgkJCQl0YXJnZXQucGFyZW50cygnLnRhYnMtYm94JykuZmluZCgnLnRhYnMtY29udGVudCcpLmZpbmQoJy50YWInKS5yZW1vdmVDbGFzcygnYWN0aXZlLXRhYicpOwoJCQkJJCh0YXJnZXQpLmZhZGVJbigzMDApOwoJCQkJJCh0YXJnZXQpLmFkZENsYXNzKCdhY3RpdmUtdGFiJyk7CgkJCX0KCQl9KTsKCX0KCQoJCgkKCS8vTGlnaHRCb3ggLyBGYW5jeWJveAoJaWYoJCgnLmxpZ2h0Ym94LWltYWdlJykubGVuZ3RoKSB7CgkJJCgnLmxpZ2h0Ym94LWltYWdlJykuZmFuY3lib3goewoJCQlvcGVuRWZmZWN0ICA6ICdmYWRlJywKCQkJY2xvc2VFZmZlY3QgOiAnZmFkZScsCgkJCWhlbHBlcnMgOiB7CgkJCQltZWRpYSA6IHt9CgkJCX0KCQl9KTsKCX0KCQoJCgkvL0NvbnRhY3QgRm9ybSBWYWxpZGF0aW9uCglpZigkKCcjY29udGFjdC1mb3JtJykubGVuZ3RoKXsKCQkkKCcjY29udGFjdC1mb3JtJykudmFsaWRhdGUoewoJCQlydWxlczogewoJCQkJdXNlcm5hbWU6IHsKCQkJCQlyZXF1aXJlZDogdHJ1ZQoJCQkJfSwKCQkJCWVtYWlsOiB7CgkJCQkJcmVxdWlyZWQ6IHRydWUsCgkJCQkJZW1haWw6IHRydWUKCQkJCX0sCgkJCQlwaG9uZTogewoJCQkJCXJlcXVpcmVkOiB0cnVlCgkJCQl9LAoJCQkJc2VydmljZTogewoJCQkJCXJlcXVpcmVkOiB0cnVlCgkJCQl9LAoJCQkJbWVzc2FnZTogewoJCQkJCXJlcXVpcmVkOiB0cnVlCgkJCQl9CgkJCX0KCQl9KTsKCX0KCQoJLy9HYWxsZXJ5IEZpbHRlcnMKCWlmKCQoJy5maWx0ZXItbGlzdCcpLmxlbmd0aCl7CgkJJCgnLmZpbHRlci1saXN0JykubWl4SXRVcCh7fSk7Cgl9CgkKCS8vIFNjcm9sbCB0byBhIFNwZWNpZmljIERpdgoJaWYoJCgnLnNjcm9sbC10by10YXJnZXQnKS5sZW5ndGgpewoJCSQoIi5zY3JvbGwtdG8tdGFyZ2V0Iikub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7CgkJCXZhciB0YXJnZXQgPSAkKHRoaXMpLmF0dHIoJ2RhdGEtdGFyZ2V0Jyk7CgkJICAgLy8gYW5pbWF0ZQoJCSAgICQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHsKCQkJICAgc2Nyb2xsVG9wOiAkKHRhcmdldCkub2Zmc2V0KCkudG9wCgkJCSB9LCAxNTAwKTsKCQoJCX0pOwoJfQoJCgkKCS8vIEVsZW1lbnRzIEFuaW1hdGlvbgoJaWYoJCgnLndvdycpLmxlbmd0aCl7CgkJdmFyIHdvdyA9IG5ldyBXT1coCgkJICB7CgkJCWJveENsYXNzOiAgICAgJ3dvdycsICAgICAgLy8gYW5pbWF0ZWQgZWxlbWVudCBjc3MgY2xhc3MgKGRlZmF1bHQgaXMgd293KQoJCQlhbmltYXRlQ2xhc3M6ICdhbmltYXRlZCcsIC8vIGFuaW1hdGlvbiBjc3MgY2xhc3MgKGRlZmF1bHQgaXMgYW5pbWF0ZWQpCgkJCW9mZnNldDogICAgICAgMCwgICAgICAgICAgLy8gZGlzdGFuY2UgdG8gdGhlIGVsZW1lbnQgd2hlbiB0cmlnZ2VyaW5nIHRoZSBhbmltYXRpb24gKGRlZmF1bHQgaXMgMCkKCQkJbW9iaWxlOiAgICAgICB0cnVlLCAgICAgICAvLyB0cmlnZ2VyIGFuaW1hdGlvbnMgb24gbW9iaWxlIGRldmljZXMgKGRlZmF1bHQgaXMgdHJ1ZSkKCQkJbGl2ZTogICAgICAgICB0cnVlICAgICAgIC8vIGFjdCBvbiBhc3luY2hyb25vdXNseSBsb2FkZWQgY29udGVudCAoZGVmYXVsdCBpcyB0cnVlKQoJCSAgfQoJCSk7CgkJd293LmluaXQoKTsKCX0KCgovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBXaGVuIGRvY3VtZW50IGlzIFNjcm9sbGlnLCBkbwogICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwoJCgkkKHdpbmRvdykub24oJ3Njcm9sbCcsIGZ1bmN0aW9uKCkgewoJCWhlYWRlclN0eWxlKCk7Cgl9KTsKCQovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICBXaGVuIGRvY3VtZW50IGlzIGxvYWRpbmcsIGRvCiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCgkKCSQod2luZG93KS5vbignbG9hZCcsIGZ1bmN0aW9uKCkgewoJCWhhbmRsZVByZWxvYWRlcigpOwoJCXNvcnRhYmxlTWFzb25yeSgpOwoJfSk7CQoKfSkod2luZG93LmpRdWVyeSk7"}},"time_used":82,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":62,"receive":20,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/img/africa.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.811Z","timestamp":1785135591811,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/img/africa.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 9a1677fa585c0bd3572c2b9807ddc15e-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":4511,"size_decoded":2165,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":114,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":67,"receive":47,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/fonts/fontawesome-webfonte0a5e0a5.woff2","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.284Z","timestamp":1785135592284,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/fonts/fontawesome-webfonte0a5e0a5.woff2 HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/font-awesome.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: font/woff2\r\ncontent-length: 56780\r\ncache-control: public, max-age=604800\r\nexpires: Mon, 03 Aug 2026 03:09:02 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"ddcc-68bf75d4-f19616c2604f99ff;;;\"\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 13850\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 7b0a840169cf689bafc1d9f43b7c366e-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":56780,"size_decoded":57352,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 56780, version 4.197","md5":"97493d3f11c0a3bd5cbd959f5d19b699","sha1":"1075231650f579955905bb2f6527148a8e2b4b16","sha256":"aadc3580d2b64ff5a7e6f1425587db4e8b033efcbf8f5c332ca52a5ed580c87c","sha512":"bfe4679bbe5d1db21f6ecb2d6c2810dd02d3b698efdd50004cc355c1d0bc51de8dd102707c796b26e8250c600b4b64db88b67d3f28157777b68e36ad7930bfc0","ssdeep":"1536:zxwdj+K8kLkunGAASpdw6hsxD/G+zSIoiCQN+n:zxmVY6dwJThoiCQE","tlshash":"eb430269f84b577202275a0509ee0d34ef804962eef247fbb1fb90c5d6309ac1ea1b56","first_seen":"2023-04-05T09:41:17Z","last_seen":"2026-08-18T04:12:40.542191Z","times_seen":30861,"resource_available":false,"data":"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"}},"time_used":49,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":47,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:59.638Z","timestamp":1785135599638,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/shared-CgMCAfor.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://goldenprofitstock.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:59 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-42705\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k16TG82oqOq5wg7MTD22JiLg+4J5N4SkmwXbSpVhzqQoXYeoGZHPWneDz6XhAfxxl0CgB2c\r\nx-77-nzt-ray: e2f75420e3e72d83ef01676ace690a26\r\nx-77-cache: HIT\r\nx-77-age: 1722561\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":272133,"size_decoded":92592,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"resource_available":true,"data":"dmFyIGU9T2JqZWN0LmNyZWF0ZSx0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxpPU9iamVjdC5nZXRQcm90b3R5cGVPZixhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbz0oZSx0KT0+KCk9PihlJiYodD1lKGU9MCkpLHQpLHM9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSxjPShlLG4pPT57bGV0IHI9e307Zm9yKHZhciBpIGluIGUpdChyLGkse2dldDplW2ldLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gbnx8dChyLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6YE1vZHVsZWB9KSxyfSxsPShlLGksbyxzKT0+e2lmKGkmJnR5cGVvZiBpPT1gb2JqZWN0YHx8dHlwZW9mIGk9PWBmdW5jdGlvbmApZm9yKHZhciBjPXIoaSksbD0wLHU9Yy5sZW5ndGgsZDtsPHU7bCsrKWQ9Y1tsXSwhYS5jYWxsKGUsZCkmJmQhPT1vJiZ0KGUsZCx7Z2V0OihlPT5pW2VdKS5iaW5kKG51bGwsZCksZW51bWVyYWJsZTohKHM9bihpLGQpKXx8cy5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9LHU9KG4scixhKT0+KGE9bj09bnVsbD97fTplKGkobikpLGwocnx8IW58fCFuLl9fZXNNb2R1bGU/dChhLGBkZWZhdWx0YCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwfSk6YSxuKSksZD1lPT5hLmNhbGwoZSxgbW9kdWxlLmV4cG9ydHNgKT9lW2Btb2R1bGUuZXhwb3J0c2BdOmwodCh7fSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZSksZj1BcnJheS5pc0FycmF5LHA9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsbT1BcnJheS5wcm90b3R5cGUuaW5jbHVkZXMsaD1BcnJheS5mcm9tLGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LF89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHk9T2JqZWN0LnByb3RvdHlwZSxlZT1BcnJheS5wcm90b3R5cGUsYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsdGU9T2JqZWN0LmlzRXh0ZW5zaWJsZTtmdW5jdGlvbiBuZShlKXtyZXR1cm4gdHlwZW9mIGU9PWBmdW5jdGlvbmB9dmFyIHg9KCk9Pnt9O2Z1bmN0aW9uIHJlKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gaWUoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpfWZ1bmN0aW9uIGFlKCl7dmFyIGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgobixyKT0+e2U9bix0PXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fXZhciBvZT0xPDwyNCxzZT0xMDI0LGNlPTIwNDgsbGU9NDA5Nix1ZT04MTkyLGRlPTE2Mzg0LGZlPTMyNzY4LHBlPTE8PDI1LG1lPTY1NTM2LGhlPTE8PDE5LGdlPTE8PDIwLF9lPTE8PDI1LHZlPTY1NTM2LHllPTE8PDIxLGJlPTE8PDIyLHhlPTE8PDIzLFNlPVN5bWJvbChgJHN0YXRlYCksQ2U9U3ltYm9sKGBsZWdhY3kgcHJvcHNgKSx3ZT1TeW1ib2woYGApLFRlPW5ldyBjbGFzcyBleHRlbmRzIEVycm9ye25hbWU9YFN0YWxlUmVhY3Rpb25FcnJvcmA7bWVzc2FnZT0iVGhlIHJlYWN0aW9uIHRoYXQgY2FsbGVkIGBnZXRBYm9ydFNpZ25hbCgpYCB3YXMgcmUtcnVuIG9yIGRlc3Ryb3llZCJ9LEVlPSEhZ2xvYmFsVGhpcy5kb2N1bWVudD8uY29udGVudFR5cGUmJmdsb2JhbFRoaXMuZG9jdW1lbnQuY29udGVudFR5cGUuaW5jbHVkZXMoYHhtbGApO2Z1bmN0aW9uIERlKGUpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9saWZlY3ljbGVfb3V0c2lkZV9jb21wb25lbnRgKX1mdW5jdGlvbiBPZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9hc3luY19kZXJpdmVkX29ycGhhbmApfWZ1bmN0aW9uIGtlKGUsdCxuKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWFjaF9rZXlfZHVwbGljYXRlYCl9ZnVuY3Rpb24gQWUoZSl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl90ZWFyZG93bmApfWZ1bmN0aW9uIGplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl91bm93bmVkX2Rlcml2ZWRgKX1mdW5jdGlvbiBNZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWZmZWN0X29ycGhhbmApfWZ1bmN0aW9uIE5lKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF91cGRhdGVfZGVwdGhfZXhjZWVkZWRgKX1mdW5jdGlvbiBQZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvcHJvcHNfaW52YWxpZF92YWx1ZWApfWZ1bmN0aW9uIEZlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3NldF9jb250ZXh0X2FmdGVyX2luaXRgKX1mdW5jdGlvbiBJZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9zdGF0ZV9kZXNjcmlwdG9yc19maXhlZGApfWZ1bmN0aW9uIExlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Byb3RvdHlwZV9maXhlZGApfWZ1bmN0aW9uIFJlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Vuc2FmZV9tdXRhdGlvbmApfWZ1bmN0aW9uIHplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N2ZWx0ZV9ib3VuZGFyeV9yZXNldF9vbmVycm9yYCl9dmFyIEJlPXt9LFM9U3ltYm9sKCksVmU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxgLEhlPWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2AsVWU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxgO2Z1bmN0aW9uIFdlKCl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9kZXJpdmVkX2luZXJ0YCl9ZnVuY3Rpb24gR2UoZSl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9oeWRyYXRpb25fbWlzbWF0Y2hgKX1mdW5jdGlvbiBLZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc2VsZWN0X211bHRpcGxlX2ludmFsaWRfdmFsdWVgKX1mdW5jdGlvbiBxZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc3ZlbHRlX2JvdW5kYXJ5X3Jlc2V0X25vb3BgKX12YXIgQz0hMTtmdW5jdGlvbiBKZShlKXtDPWV9dmFyIHc7ZnVuY3Rpb24gVChlKXtpZihlPT09bnVsbCl0aHJvdyBHZSgpLEJlO3JldHVybiB3PWV9ZnVuY3Rpb24gWWUoKXtyZXR1cm4gVChCbih3KSl9ZnVuY3Rpb24gWGUoZSl7aWYoQyl7aWYoQm4odykhPT1udWxsKXRocm93IEdlKCksQmU7dz1lfX1mdW5jdGlvbiBaZShlPTEpe2lmKEMpe2Zvcih2YXIgdD1lLG49dzt0LS07KW49Qm4obik7dz1ufX1mdW5jdGlvbiBRZShlPSEwKXtmb3IodmFyIHQ9MCxuPXc7Oyl7aWYobi5ub2RlVHlwZT09PTgpe3ZhciByPW4uZGF0YTtpZihyPT09YF1gKXtpZih0PT09MClyZXR1cm4gbjstLXR9ZWxzZSAocj09PWBbYHx8cj09PWBbIWB8fHJbMF09PT1gW2AmJiFpc05hTihOdW1iZXIoci5zbGljZSgxKSkpKSYmKHQrPTEpfXZhciBpPUJuKG4pO2UmJm4ucmVtb3ZlKCksbj1pfX1mdW5jdGlvbiAkZShlKXtpZighZXx8ZS5ub2RlVHlwZSE9PTgpdGhyb3cgR2UoKSxCZTtyZXR1cm4gZS5kYXRhfWZ1bmN0aW9uIGV0KGUpe3JldHVybiBlPT09dGhpcy52fWZ1bmN0aW9uIHR0KGUsdCl7cmV0dXJuIGU9PWU/ZSE9PXR8fHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlfHx0eXBlb2YgZT09YGZ1bmN0aW9uYDp0PT10fWZ1bmN0aW9uIG50KGUpe3JldHVybiF0dChlLHRoaXMudil9dmFyIHJ0PSExLGl0PSExO2Z1bmN0aW9uIGF0KCl7aXQ9ITB9dmFyIEU9bnVsbDtmdW5jdGlvbiBvdChlKXtFPWV9ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIGZ0KGBnZXRDb250ZXh0YCkuZ2V0KGUpfWZ1bmN0aW9uIGN0KGUsdCl7bGV0IG49ZnQoYHNldENvbnRleHRgKTtpZihydCl7dmFyIHI9SS5mOyFGJiZyJjMyJiYhRS5pfHxGZSgpfXJldHVybiBuLnNldChlLHQpLHR9ZnVuY3Rpb24gbHQoZSx0PSExLG4pe0U9e3A6RSxpOiExLGM6bnVsbCxlOm51bGwsczplLHg6bnVsbCxyOkksbDppdCYmIXQ/e3M6bnVsbCx1Om51bGwsJDpbXX06bnVsbH19ZnVuY3Rpb24gdXQoZSl7dmFyIHQ9RSxuPXQuZTtpZihuIT09bnVsbCl7dC5lPW51bGw7Zm9yKHZhciByIG9mIG4pc3Iocil9cmV0dXJuIGUhPT12b2lkIDAmJih0Lng9ZSksdC5pPSEwLEU9dC5wLGU/P3t9fWZ1bmN0aW9uIGR0KCl7cmV0dXJuIWl0fHxFIT09bnVsbCYmRS5sPT09bnVsbH1mdW5jdGlvbiBmdChlKXtyZXR1cm4gRT09PW51bGwmJkRlKGUpLEUuYz8/PW5ldyBNYXAocHQoRSl8fHZvaWQgMCl9ZnVuY3Rpb24gcHQoZSl7bGV0IHQ9ZS5wO2Zvcig7dCE9PW51bGw7KXtsZXQgZT10LmM7aWYoZSE9PW51bGwpcmV0dXJuIGU7dD10LnB9cmV0dXJuIG51bGx9dmFyIG10PVtdO2Z1bmN0aW9uIGh0KCl7dmFyIGU9bXQ7bXQ9W10saWUoZSl9ZnVuY3Rpb24gZ3QoZSl7aWYobXQubGVuZ3RoPT09MCYmIXp0KXt2YXIgdD1tdDtxdWV1ZU1pY3JvdGFzaygoKT0+e3Q9PT1tdCYmaHQoKX0pfW10LnB1c2goZSl9ZnVuY3Rpb24gX3QoKXtmb3IoO210Lmxlbmd0aD4wOylodCgpfWZ1bmN0aW9uIHZ0KGUpe3ZhciB0PUk7aWYodD09PW51bGwpcmV0dXJuIEYuZnw9eGUsZTtpZighKHQuZiYzMjc2OCkmJiEodC5mJjQpKXRocm93IGU7eXQoZSx0KX1mdW5jdGlvbiB5dChlLHQpe2Zvcig7dCE9PW51bGw7KXtpZih0LmYmMTI4KXtpZighKHQuZiYzMjc2OCkpdGhyb3cgZTt0cnl7dC5iLmVycm9yKGUpO3JldHVybn1jYXRjaCh0KXtlPXR9fXQ9dC5wYXJlbnR9dGhyb3cgZX12YXIgYnQ9fihjZXxsZXxzZSk7ZnVuY3Rpb24gRChlLHQpe2UuZj1lLmYmYnR8dH1mdW5jdGlvbiB4dChlKXtlLmYmNTEyfHxlLmRlcHM9PT1udWxsP0QoZSxzZSk6RChlLGxlKX1mdW5jdGlvbiBTdChlKXtpZihlIT09bnVsbClmb3IobGV0IHQgb2YgZSkhKHQuZiYyKXx8ISh0LmYmNjU1MzYpfHwodC5mXj12ZSxTdCh0LmRlcHMpKX1mdW5jdGlvbiBDdChlLHQsbil7ZS5mJjIwNDg/dC5hZGQoZSk6ZS5mJjQwOTYmJm4uYWRkKGUpLFN0KGUuZGVwcyksRChlLHNlKX1mdW5jdGlvbiB3dChlLHQsbil7aWYoZT09bnVsbClyZXR1cm4gdCh2b2lkIDApLG4mJm4odm9pZCAwKSx4O2xldCByPSRyKCgpPT5lLnN1YnNjcmliZSh0LG4pKTtyZXR1cm4gci51bnN1YnNjcmliZT8oKT0+ci51bnN1YnNjcmliZSgpOnJ9dmFyIFR0PVtdO2Z1bmN0aW9uIEV0KGUsdCl7cmV0dXJue3N1YnNjcmliZTpPKGUsdCkuc3Vic2NyaWJlfX1mdW5jdGlvbiBPKGUsdD14KXtsZXQgbj1udWxsLHI9bmV3IFNldDtmdW5jdGlvbiBpKHQpe2lmKHR0KGUsdCkmJihlPXQsbikpe2xldCB0PSFUdC5sZW5ndGg7Zm9yKGxldCB0IG9mIHIpdFsxXSgpLFR0LnB1c2godCxlKTtpZih0KXtmb3IobGV0IGU9MDtlPFR0Lmxlbmd0aDtlKz0yKVR0W2VdWzBdKFR0W2UrMV0pO1R0Lmxlbmd0aD0wfX19ZnVuY3Rpb24gYSh0KXtpKHQoZSkpfWZ1bmN0aW9uIG8obyxzPXgpe2xldCBjPVtvLHNdO3JldHVybiByLmFkZChjKSxyLnNpemU9PT0xJiYobj10KGksYSl8fHgpLG8oZSksKCk9PntyLmRlbGV0ZShjKSxyLnNpemU9PT0wJiZuJiYobigpLG49bnVsbCl9fXJldHVybntzZXQ6aSx1cGRhdGU6YSxzdWJzY3JpYmU6b319ZnVuY3Rpb24gayhlLHQsbil7bGV0IHI9IUFycmF5LmlzQXJyYXkoZSksaT1yP1tlXTplO2lmKCFpLmV2ZXJ5KEJvb2xlYW4pKXRocm93IEVycm9yKGBkZXJpdmVkKCkgZXhwZWN0cyBzdG9yZXMgYXMgaW5wdXQsIGdvdCBhIGZhbHN5IHZhbHVlYCk7bGV0IGE9dC5sZW5ndGg8MjtyZXR1cm4gRXQobiwoZSxuKT0+e2xldCBvPSExLHM9W10sYz0wLGw9eCx1PSgpPT57aWYoYylyZXR1cm47bCgpO2xldCBpPXQocj9zWzBdOnMsZSxuKTthP2UoaSk6bD10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOnh9LGQ9aS5tYXAoKGUsdCk9Pnd0KGUsZT0+e3NbdF09ZSxjJj1+KDE8PHQpLG8mJnUoKX0sKCk9PntjfD0xPDx0fSkpO3JldHVybiBvPSEwLHUoKSxmdW5jdGlvbigpe2llKGQpLGwoKSxvPSExfX0pfWZ1bmN0aW9uIEEoZSl7bGV0IHQ7cmV0dXJuIHd0KGUsZT0+dD1lKSgpLHR9dmFyIER0PSExLE90PSExLGt0PVN5bWJvbCgpO2Z1bmN0aW9uIEF0KGUsdCxuKXtsZXQgcj1uW3RdPz89e3N0b3JlOm51bGwsc291cmNlOnduKHZvaWQgMCksdW5zdWJzY3JpYmU6eH07aWYoci5zdG9yZSE9PWUmJiEoa3QgaW4gbikpaWYoci51bnN1YnNjcmliZSgpLHIuc3RvcmU9ZT8/bnVsbCxlPT1udWxsKXIuc291cmNlLnY9dm9pZCAwLHIudW5zdWJzY3JpYmU9eDtlbHNle3ZhciBpPSEwO3IudW5zdWJzY3JpYmU9d3QoZSxlPT57aT9yLnNvdXJjZS52PWU6VG4oci5zb3VyY2UsZSl9KSxpPSExfXJldHVybiBlJiZrdCBpbiBuP0EoZSk6UihyLnNvdXJjZSl9ZnVuY3Rpb24ganQoZSx0KXtyZXR1cm4gTnQoZSx0KSx0fWZ1bmN0aW9uIE10KCl7bGV0IGU9e307ZnVuY3Rpb24gdCgpe2FyKCgpPT57Zm9yKHZhciB0IGluIGUpZVt0XS51bnN1YnNjcmliZSgpO2coZSxrdCx7ZW51bWVyYWJsZTohMSx2YWx1ZTohMH0pfSl9cmV0dXJuW2UsdF19ZnVuY3Rpb24gTnQoZSx0KXtEdD0hMDt0cnl7ZS5zZXQodCl9ZmluYWxseXtEdD0hMX19ZnVuY3Rpb24gUHQoZSx0LG4pe3JldHVybiBOdChlLG4pLHR9ZnVuY3Rpb24gRnQoZSl7dmFyIHQ9T3Q7dHJ5e3JldHVybiBPdD0hMSxbZSgpLE90XX1maW5hbGx5e090PXR9fXZhciBJdD1uZXcgU2V0LGo9bnVsbCxMdD1udWxsLE09bnVsbCxSdD1udWxsLHp0PSExLEJ0PSExLFZ0PW51bGwsSHQ9bnVsbCxVdD0wLFd0PTEsR3Q9Y2xhc3MgZXtpZD1XdCsrO2N1cnJlbnQ9bmV3IE1hcDtwcmV2aW91cz1uZXcgTWFwOyNlPW5ldyBTZXQ7I3Q9bmV3IFNldDsjbj1uZXcgU2V0OyNyPW5ldyBNYXA7I2k9bmV3IE1hcDsjYT1udWxsOyNvPVtdOyNzPVtdOyNjPW5ldyBTZXQ7I2w9bmV3IFNldDsjdT1uZXcgTWFwOyNkPW5ldyBTZXQ7aXNfZm9yaz0hMTsjZj0hMTsjcD1uZXcgU2V0OyNtKCl7cmV0dXJuIHRoaXMuaXNfZm9ya3x8dGhpcy4jaS5zaXplPjB9I2goKXtmb3IobGV0IG4gb2YgdGhpcy4jcClmb3IobGV0IHIgb2Ygbi4jaS5rZXlzKCkpe2Zvcih2YXIgZT0hMSx0PXI7dC5wYXJlbnQhPT1udWxsOyl7aWYodGhpcy4jdS5oYXModCkpe2U9ITA7YnJlYWt9dD10LnBhcmVudH1pZighZSlyZXR1cm4hMH1yZXR1cm4hMX1za2lwX2VmZmVjdChlKXt0aGlzLiN1LmhhcyhlKXx8dGhpcy4jdS5zZXQoZSx7ZDpbXSxtOltdfSksdGhpcy4jZC5kZWxldGUoZSl9dW5za2lwX2VmZmVjdChlLHQ9ZT0+dGhpcy5zY2hlZHVsZShlKSl7dmFyIG49dGhpcy4jdS5nZXQoZSk7aWYobil7dGhpcy4jdS5kZWxldGUoZSk7Zm9yKHZhciByIG9mIG4uZClEKHIsY2UpLHQocik7Zm9yKHIgb2Ygbi5tKUQocixsZSksdChyKX10aGlzLiNkLmFkZChlKX0jZygpe2lmKFV0Kys+MWUzJiYoSXQuZGVsZXRlKHRoaXMpLHF0KCkpLCF0aGlzLiNtKCkpe2ZvcihsZXQgZSBvZiB0aGlzLiNjKXRoaXMuI2wuZGVsZXRlKGUpLEQoZSxjZSksdGhpcy5zY2hlZHVsZShlKTtmb3IobGV0IGUgb2YgdGhpcy4jbClEKGUsbGUpLHRoaXMuc2NoZWR1bGUoZSl9bGV0IHQ9dGhpcy4jbzt0aGlzLiNvPVtdLHRoaXMuYXBwbHkoKTt2YXIgbj1WdD1bXSxyPVtdLGk9SHQ9W107Zm9yKGxldCBlIG9mIHQpdHJ5e3RoaXMuI18oZSxuLHIpfWNhdGNoKHQpe3Rocm93IGVuKGUpLHR9aWYoaj1udWxsLGkubGVuZ3RoPjApe3ZhciBhPWUuZW5zdXJlKCk7Zm9yKGxldCBlIG9mIGkpYS5zY2hlZHVsZShlKX1pZihWdD1udWxsLEh0PW51bGwsdGhpcy4jbSgpfHx0aGlzLiNoKCkpe3RoaXMuI3YociksdGhpcy4jdihuKTtmb3IobGV0W2UsdF1vZiB0aGlzLiN1KSR0KGUsdCl9ZWxzZXt0aGlzLiNyLnNpemU9PT0wJiZJdC5kZWxldGUodGhpcyksdGhpcy4jYy5jbGVhcigpLHRoaXMuI2wuY2xlYXIoKTtmb3IobGV0IGUgb2YgdGhpcy4jZSllKHRoaXMpO3RoaXMuI2UuY2xlYXIoKSxMdD10aGlzLFl0KHIpLFl0KG4pLEx0PW51bGwsdGhpcy4jYT8ucmVzb2x2ZSgpfXZhciBvPWo7aWYodGhpcy4jby5sZW5ndGg+MCl7bGV0IGU9bz8/PXRoaXM7ZS4jby5wdXNoKC4uLnRoaXMuI28uZmlsdGVyKHQ9PiFlLiNvLmluY2x1ZGVzKHQpKSl9byE9PW51bGwmJihJdC5hZGQobyksby4jZygpKSxydCYmIUl0Lmhhcyh0aGlzKSYmdGhpcy4jeSgpfSNfKGUsdCxuKXtlLmZePXNlO2Zvcih2YXIgcj1lLmZpcnN0O3IhPT1udWxsOyl7dmFyIGk9ci5mLGE9KGkmOTYpIT0wO2lmKCEoYSYmaSYxMDI0fHxpJjgxOTJ8fHRoaXMuI3UuaGFzKHIpKSYmci5mbiE9PW51bGwpe2E/ci5mXj1zZTppJjQ/dC5wdXNoKHIpOnJ0JiZpJjE2Nzc3MjI0P24ucHVzaChyKTpXcihyKSYmKGkmMTYmJnRoaXMuI2wuYWRkKHIpLFlyKHIpKTt2YXIgbz1yLmZpcnN0O2lmKG8hPT1udWxsKXtyPW87Y29udGludWV9fWZvcig7ciE9PW51bGw7KXt2YXIgcz1yLm5leHQ7aWYocyE9PW51bGwpe3I9czticmVha31yPXIucGFyZW50fX19I3YoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKUN0KGVbdF0sdGhpcy4jYyx0aGlzLiNsKX1jYXB0dXJlKGUsdCxuPSExKXtlLnYhPT1TJiYhdGhpcy5wcmV2aW91cy5oYXMoZSkmJnRoaXMucHJldmlvdXMuc2V0KGUsZS52KSxlLmYmODM4ODYwOHx8KHRoaXMuY3VycmVudC5zZXQoZSxbdCxuXSksTT8uc2V0KGUsdCkpLHRoaXMuaXNfZm9ya3x8KGUudj10KX1hY3RpdmF0ZSgpe2o9dGhpc31kZWFjdGl2YXRlKCl7aj1udWxsLE09bnVsbH1mbHVzaCgpe3RyeXtCdD0hMCxqPXRoaXMsdGhpcy4jZygpfWZpbmFsbHl7VXQ9MCxSdD1udWxsLFZ0PW51bGwsSHQ9bnVsbCxCdD0hMSxqPW51bGwsTT1udWxsLGJuLmNsZWFyKCl9fWRpc2NhcmQoKXtmb3IobGV0IGUgb2YgdGhpcy4jdCllKHRoaXMpO3RoaXMuI3QuY2xlYXIoKSx0aGlzLiNuLmNsZWFyKCksSXQuZGVsZXRlKHRoaXMpfXJlZ2lzdGVyX2NyZWF0ZWRfZWZmZWN0KGUpe3RoaXMuI3MucHVzaChlKX0jeSgpe2ZvcihsZXQgbCBvZiBJdCl7dmFyIGU9bC5pZDx0aGlzLmlkLHQ9W107Zm9yKGxldFtyLFtpLGFdXW9mIHRoaXMuY3VycmVudCl7aWYobC5jdXJyZW50LmhhcyhyKSl7dmFyIG49bC5jdXJyZW50LmdldChyKVswXTtpZihlJiZpIT09bilsLmN1cnJlbnQuc2V0KHIsW2ksYV0pO2Vsc2UgY29udGludWV9dC5wdXNoKHIpfXZhciByPVsuLi5sLmN1cnJlbnQua2V5cygpXS5maWx0ZXIoZT0+IXRoaXMuY3VycmVudC5oYXMoZSkpO2lmKHIubGVuZ3RoPT09MCllJiZsLmRpc2NhcmQoKTtlbHNlIGlmKHQubGVuZ3RoPjApe2lmKGUpZm9yKGxldCBlIG9mIHRoaXMuI2QpbC51bnNraXBfZWZmZWN0KGUsZT0+e2UuZiY0MTk0MzIwP2wuc2NoZWR1bGUoZSk6bC4jdihbZV0pfSk7bC5hY3RpdmF0ZSgpO3ZhciBpPW5ldyBTZXQsYT1uZXcgTWFwO2Zvcih2YXIgbyBvZiB0KVh0KG8scixpLGEpO2E9bmV3IE1hcDt2YXIgcz1bLi4ubC5jdXJyZW50LmtleXMoKV0uZmlsdGVyKGU9PnRoaXMuY3VycmVudC5oYXMoZSk/dGhpcy5jdXJyZW50LmdldChlKVswXSE9PWU6ITApO2ZvcihsZXQgZSBvZiB0aGlzLiNzKSEoZS5mJjE1NTY0OCkmJlp0KGUscyxhKSYmKGUuZiY0MTk0MzIwPyhEKGUsY2UpLGwuc2NoZWR1bGUoZSkpOmwuI2MuYWRkKGUpKTtpZihsLiNvLmxlbmd0aD4wKXtsLmFwcGx5KCk7Zm9yKHZhciBjIG9mIGwuI28pbC4jXyhjLFtdLFtdKTtsLiNvPVtdfWwuZGVhY3RpdmF0ZSgpfX1mb3IobGV0IGUgb2YgSXQpZS4jcC5oYXModGhpcykmJihlLiNwLmRlbGV0ZSh0aGlzKSxlLiNwLnNpemU9PT0wJiYhZS4jbSgpJiYoZS5hY3RpdmF0ZSgpLGUuI2coKSkpfWluY3JlbWVudChlLHQpe2xldCBuPXRoaXMuI3IuZ2V0KHQpPz8wO2lmKHRoaXMuI3Iuc2V0KHQsbisxKSxlKXtsZXQgZT10aGlzLiNpLmdldCh0KT8/MDt0aGlzLiNpLnNldCh0LGUrMSl9fWRlY3JlbWVudChlLHQsbil7bGV0IHI9dGhpcy4jci5nZXQodCk/PzA7aWYocj09PTE/dGhpcy4jci5kZWxldGUodCk6dGhpcy4jci5zZXQodCxyLTEpLGUpe2xldCBlPXRoaXMuI2kuZ2V0KHQpPz8wO2U9PT0xP3RoaXMuI2kuZGVsZXRlKHQpOnRoaXMuI2kuc2V0KHQsZS0xKX10aGlzLiNmfHxufHwodGhpcy4jZj0hMCxndCgoKT0+e3RoaXMuI2Y9ITEsdGhpcy5mbHVzaCgpfSkpfXRyYW5zZmVyX2VmZmVjdHMoZSx0KXtmb3IobGV0IHQgb2YgZSl0aGlzLiNjLmFkZCh0KTtmb3IobGV0IGUgb2YgdCl0aGlzLiNsLmFkZChlKTtlLmNsZWFyKCksdC5jbGVhcigpfW9uY29tbWl0KGUpe3RoaXMuI2UuYWRkKGUpfW9uZGlzY2FyZChlKXt0aGlzLiN0LmFkZChlKX1vbl9mb3JrX2NvbW1pdChlKXt0aGlzLiNuLmFkZChlKX1ydW5fZm9ya19jb21taXRfY2FsbGJhY2tzKCl7Zm9yKGxldCBlIG9mIHRoaXMuI24pZSh0aGlzKTt0aGlzLiNuLmNsZWFyKCl9c2V0dGxlZCgpe3JldHVybih0aGlzLiNhPz89YWUoKSkucHJvbWlzZX1zdGF0aWMgZW5zdXJlKCl7aWYoaj09PW51bGwpe2xldCB0PWo9bmV3IGU7QnR8fChJdC5hZGQoaiksenR8fGd0KCgpPT57aj09PXQmJnQuZmx1c2goKX0pKX1yZXR1cm4gan1hcHBseSgpe2lmKCFydHx8IXRoaXMuaXNfZm9yayYmSXQuc2l6ZT09PTEpe009bnVsbDtyZXR1cm59TT1uZXcgTWFwO2ZvcihsZXRbZSxbdF1db2YgdGhpcy5jdXJyZW50KU0uc2V0KGUsdCk7Zm9yKGxldCBuIG9mIEl0KWlmKCEobj09PXRoaXN8fG4uaXNfZm9yaykpe3ZhciBlPSExLHQ9ITE7aWYobi5pZDx0aGlzLmlkKWZvcihsZXRbcixbLGldXW9mIG4uY3VycmVudClpfHwoZXx8PXRoaXMuY3VycmVudC5oYXMociksdHx8PSF0aGlzLmN1cnJlbnQuaGFzKHIpKTtpZihlJiZ0KXRoaXMuI3AuYWRkKG4pO2Vsc2UgZm9yKGxldFtlLHRdb2Ygbi5wcmV2aW91cylNLmhhcyhlKXx8TS5zZXQoZSx0KX19c2NoZWR1bGUoZSl7aWYoUnQ9ZSxlLmI/LmlzX3BlbmRpbmcmJmUuZiYxNjc3NzIyOCYmIShlLmYmMzI3NjgpKXtlLmIuZGVmZXJfZWZmZWN0KGUpO3JldHVybn1mb3IodmFyIHQ9ZTt0LnBhcmVudCE9PW51bGw7KXt0PXQucGFyZW50O3ZhciBuPXQuZjtpZihWdCE9PW51bGwmJnQ9PT1JJiYocnR8fChGPT09bnVsbHx8IShGLmYmMikpJiYhRHQpKXJldHVybjtpZihuJjk2KXtpZighKG4mMTAyNCkpcmV0dXJuO3QuZl49c2V9fXRoaXMuI28ucHVzaCh0KX19O2Z1bmN0aW9uIEt0KGUpe3ZhciB0PXp0O3p0PSEwO3RyeXt2YXIgbjtmb3IoZSYmKGohPT1udWxsJiYhai5pc19mb3JrJiZqLmZsdXNoKCksbj1lKCkpOzspe2lmKF90KCksaj09PW51bGwpcmV0dXJuIG47ai5mbHVzaCgpfX1maW5hbGx5e3p0PXR9fWZ1bmN0aW9uIHF0KCl7dHJ5e05lKCl9Y2F0Y2goZSl7eXQoZSxSdCl9fXZhciBKdD1udWxsO2Z1bmN0aW9uIFl0KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQhPT0wKXtmb3IodmFyIG49MDtuPHQ7KXt2YXIgcj1lW24rK107aWYoIShyLmYmMjQ1NzYpJiZXcihyKSYmKEp0PW5ldyBTZXQsWXIociksci5kZXBzPT09bnVsbCYmci5maXJzdD09PW51bGwmJnIubm9kZXM9PT1udWxsJiZyLnRlYXJkb3duPT09bnVsbCYmci5hYz09PW51bGwmJnhyKHIpLEp0Py5zaXplPjApKXtibi5jbGVhcigpO2ZvcihsZXQgZSBvZiBKdCl7aWYoZS5mJjI0NTc2KWNvbnRpbnVlO2xldCB0PVtlXSxuPWUucGFyZW50O2Zvcig7biE9PW51bGw7KUp0LmhhcyhuKSYmKEp0LmRlbGV0ZShuKSx0LnB1c2gobikpLG49bi5wYXJlbnQ7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe2xldCBuPXRbZV07bi5mJjI0NTc2fHxZcihuKX19SnQuY2xlYXIoKX19SnQ9bnVsbH19ZnVuY3Rpb24gWHQoZSx0LG4scil7aWYoIW4uaGFzKGUpJiYobi5hZGQoZSksZS5yZWFjdGlvbnMhPT1udWxsKSlmb3IobGV0IGkgb2YgZS5yZWFjdGlvbnMpe2xldCBlPWkuZjtlJjI/WHQoaSx0LG4scik6ZSY0MTk0MzIwJiYhKGUmMjA0OCkmJlp0KGksdCxyKSYmKEQoaSxjZSksUXQoaSkpfX1mdW5jdGlvbiBadChlLHQsbil7bGV0IHI9bi5nZXQoZSk7aWYociE9PXZvaWQgMClyZXR1cm4gcjtpZihlLmRlcHMhPT1udWxsKWZvcihsZXQgciBvZiBlLmRlcHMpe2lmKG0uY2FsbCh0LHIpKXJldHVybiEwO2lmKHIuZiYyJiZadChyLHQsbikpcmV0dXJuIG4uc2V0KHIsITApLCEwfXJldHVybiBuLnNldChlLCExKSwhMX1mdW5jdGlvbiBRdChlKXtqLnNjaGVkdWxlKGUpfWZ1bmN0aW9uICR0KGUsdCl7aWYoIShlLmYmMzImJmUuZiYxMDI0KSl7ZS5mJjIwNDg/dC5kLnB1c2goZSk6ZS5mJjQwOTYmJnQubS5wdXNoKGUpLEQoZSxzZSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KSR0KG4sdCksbj1uLm5leHR9fWZ1bmN0aW9uIGVuKGUpe0QoZSxzZSk7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KWVuKHQpLHQ9dC5uZXh0fWZ1bmN0aW9uIHRuKGUpe2xldCB0PTAsbj1TbigwKSxyO3JldHVybigpPT57aXIoKSYmKFIobiksZnIoKCk9Pih0PT09MCYmKHI9JHIoKCk9PmUoKCk9PmtuKG4pKSkpLHQrPTEsKCk9PntndCgoKT0+ey0tdCx0PT09MCYmKHI/LigpLHI9dm9pZCAwLGtuKG4pKX0pfSkpKX19dmFyIG5uPW1lfGhlO2Z1bmN0aW9uIHJuKGUsdCxuLHIpe25ldyBhbihlLHQsbixyKX12YXIgYW49Y2xhc3N7cGFyZW50O2lzX3BlbmRpbmc9ITE7dHJhbnNmb3JtX2Vycm9yOyNlOyN0PUM/dzpudWxsOyNuOyNyOyNpOyNhPW51bGw7I289bnVsbDsjcz1udWxsOyNjPW51bGw7I2w9MDsjdT0wOyNkPSExOyNmPW5ldyBTZXQ7I3A9bmV3IFNldDsjbT1udWxsOyNoPXRuKCgpPT4odGhpcy4jbT1Tbih0aGlzLiNsKSwoKT0+e3RoaXMuI209bnVsbH0pKTtjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLiNlPWUsdGhpcy4jbj10LHRoaXMuI3I9ZT0+e3ZhciB0PUk7dC5iPXRoaXMsdC5mfD0xMjgsbihlKX0sdGhpcy5wYXJlbnQ9SS5iLHRoaXMudHJhbnNmb3JtX2Vycm9yPXI/P3RoaXMucGFyZW50Py50cmFuc2Zvcm1fZXJyb3I/PyhlPT5lKSx0aGlzLiNpPW1yKCgpPT57aWYoQyl7bGV0IGU9dGhpcy4jdDtZZSgpO2xldCB0PWUuZGF0YT09PWBbIWA7aWYoZS5kYXRhLnN0YXJ0c1dpdGgoYFs/YCkpe2xldCB0PUpTT04ucGFyc2UoZS5kYXRhLnNsaWNlKDIpKTt0aGlzLiNfKHQpfWVsc2UgdD90aGlzLiN2KCk6dGhpcy4jZygpfWVsc2UgdGhpcy4jeSgpfSxubiksQyYmKHRoaXMuI2U9dyl9I2coKXt0cnl7dGhpcy4jYT1ncigoKT0+dGhpcy4jcih0aGlzLiNlKSl9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I18oZSl7bGV0IHQ9dGhpcy4jbi5mYWlsZWQ7dCYmKHRoaXMuI3M9Z3IoKCk9Pnt0KHRoaXMuI2UsKCk9PmUsKCk9PigpPT57fSl9KSl9I3YoKXtsZXQgZT10aGlzLiNuLnBlbmRpbmc7ZSYmKHRoaXMuaXNfcGVuZGluZz0hMCx0aGlzLiNvPWdyKCgpPT5lKHRoaXMuI2UpKSxndCgoKT0+e3ZhciBlPXRoaXMuI2M9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9em4oKTtlLmFwcGVuZCh0KSx0aGlzLiNhPXRoaXMuI3goKCk9PmdyKCgpPT50aGlzLiNyKHQpKSksdGhpcy4jdT09PTAmJih0aGlzLiNlLmJlZm9yZShlKSx0aGlzLiNjPW51bGwsU3IodGhpcy4jbywoKT0+e3RoaXMuI289bnVsbH0pLHRoaXMuI2IoaikpfSkpfSN5KCl7dHJ5e2lmKHRoaXMuaXNfcGVuZGluZz10aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSx0aGlzLiN1PTAsdGhpcy4jbD0wLHRoaXMuI2E9Z3IoKCk9Pnt0aGlzLiNyKHRoaXMuI2UpfSksdGhpcy4jdT4wKXt2YXIgZT10aGlzLiNjPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtFcih0aGlzLiNhLGUpO2xldCB0PXRoaXMuI24ucGVuZGluZzt0aGlzLiNvPWdyKCgpPT50KHRoaXMuI2UpKX1lbHNlIHRoaXMuI2Ioail9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I2IoZSl7dGhpcy5pc19wZW5kaW5nPSExLGUudHJhbnNmZXJfZWZmZWN0cyh0aGlzLiNmLHRoaXMuI3ApfWRlZmVyX2VmZmVjdChlKXtDdChlLHRoaXMuI2YsdGhpcy4jcCl9aXNfcmVuZGVyZWQoKXtyZXR1cm4hdGhpcy5pc19wZW5kaW5nJiYoIXRoaXMucGFyZW50fHx0aGlzLnBhcmVudC5pc19yZW5kZXJlZCgpKX1oYXNfcGVuZGluZ19zbmlwcGV0KCl7cmV0dXJuISF0aGlzLiNuLnBlbmRpbmd9I3goZSl7dmFyIHQ9SSxuPUYscj1FO05yKHRoaXMuI2kpLE1yKHRoaXMuI2kpLG90KHRoaXMuI2kuY3R4KTt0cnl7cmV0dXJuIEd0LmVuc3VyZSgpLGUoKX1jYXRjaChlKXtyZXR1cm4gdnQoZSksbnVsbH1maW5hbGx5e05yKHQpLE1yKG4pLG90KHIpfX0jUyhlLHQpe2lmKCF0aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSl7dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LiNTKGUsdCk7cmV0dXJufXRoaXMuI3UrPWUsdGhpcy4jdT09PTAmJih0aGlzLiNiKHQpLHRoaXMuI28mJlNyKHRoaXMuI28sKCk9Pnt0aGlzLiNvPW51bGx9KSx0aGlzLiNjJiY9KHRoaXMuI2UuYmVmb3JlKHRoaXMuI2MpLG51bGwpKX11cGRhdGVfcGVuZGluZ19jb3VudChlLHQpe3RoaXMuI1MoZSx0KSx0aGlzLiNsKz1lLCEoIXRoaXMuI218fHRoaXMuI2QpJiYodGhpcy4jZD0hMCxndCgoKT0+e3RoaXMuI2Q9ITEsdGhpcy4jbSYmRW4odGhpcy4jbSx0aGlzLiNsKX0pKX1nZXRfZWZmZWN0X3BlbmRpbmcoKXtyZXR1cm4gdGhpcy4jaCgpLFIodGhpcy4jbSl9ZXJyb3IoZSl7aWYoIXRoaXMuI24ub25lcnJvciYmIXRoaXMuI24uZmFpbGVkKXRocm93IGU7aj8uaXNfZm9yaz8odGhpcy4jYSYmai5za2lwX2VmZmVjdCh0aGlzLiNhKSx0aGlzLiNvJiZqLnNraXBfZWZmZWN0KHRoaXMuI28pLHRoaXMuI3MmJmouc2tpcF9lZmZlY3QodGhpcy4jcyksai5vbl9mb3JrX2NvbW1pdCgoKT0+e3RoaXMuI0MoZSl9KSk6dGhpcy4jQyhlKX0jQyhlKXt0aGlzLiNhJiY9KFAodGhpcy4jYSksbnVsbCksdGhpcy4jbyYmPShQKHRoaXMuI28pLG51bGwpLHRoaXMuI3MmJj0oUCh0aGlzLiNzKSxudWxsKSxDJiYoVCh0aGlzLiN0KSxaZSgpLFQoUWUoKSkpO3ZhciB0PXRoaXMuI24ub25lcnJvcjtsZXQgbj10aGlzLiNuLmZhaWxlZDt2YXIgcj0hMSxpPSExO2xldCBhPSgpPT57aWYocil7cWUoKTtyZXR1cm59cj0hMCxpJiZ6ZSgpLHRoaXMuI3MhPT1udWxsJiZTcih0aGlzLiNzLCgpPT57dGhpcy4jcz1udWxsfSksdGhpcy4jeCgoKT0+e3RoaXMuI3koKX0pfSxvPWU9Pnt0cnl7aT0hMCx0Py4oZSxhKSxpPSExfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpfW4mJih0aGlzLiNzPXRoaXMuI3goKCk9Pnt0cnl7cmV0dXJuIGdyKCgpPT57dmFyIHQ9STt0LmI9dGhpcyx0LmZ8PTEyOCxuKHRoaXMuI2UsKCk9PmUsKCk9PmEpfSl9Y2F0Y2goZSl7cmV0dXJuIHl0KGUsdGhpcy4jaS5wYXJlbnQpLG51bGx9fSkpfTtndCgoKT0+e3ZhciB0O3RyeXt0PXRoaXMudHJhbnNmb3JtX2Vycm9yKGUpfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpO3JldHVybn10eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmA/dC50aGVuKG8sZT0+eXQoZSx0aGlzLiNpJiZ0aGlzLiNpLnBhcmVudCkpOm8odCl9KX19O2Z1bmN0aW9uIG9uKGUsdCxuLHIpe2xldCBpPWR0KCk/dW46cG47dmFyIGE9ZS5maWx0ZXIoZT0+IWUuc2V0dGxlZCk7aWYobi5sZW5ndGg9PT0wJiZhLmxlbmd0aD09PTApe3IodC5tYXAoaSkpO3JldHVybn12YXIgbz1JLHM9c24oKSxjPWEubGVuZ3RoPT09MT9hWzBdLnByb21pc2U6YS5sZW5ndGg+MT9Qcm9taXNlLmFsbChhLm1hcChlPT5lLnByb21pc2UpKTpudWxsO2Z1bmN0aW9uIGwoZSl7cygpO3RyeXtyKGUpfWNhdGNoKGUpe28uZiYxNjM4NHx8eXQoZSxvKX1jbigpfWlmKG4ubGVuZ3RoPT09MCl7Yy50aGVuKCgpPT5sKHQubWFwKGkpKSk7cmV0dXJufXZhciB1PWxuKCk7ZnVuY3Rpb24gZCgpe1Byb21pc2UuYWxsKG4ubWFwKGU9PmRuKGUpKSkudGhlbihlPT5sKFsuLi50Lm1hcChpKSwuLi5lXSkpLmNhdGNoKGU9Pnl0KGUsbykpLmZpbmFsbHkoKCk9PnUoKSl9Yz9jLnRoZW4oKCk9PntzKCksZCgpLGNuKCl9KTpkKCl9ZnVuY3Rpb24gc24oKXt2YXIgZT1JLHQ9RixuPUUscj1qO3JldHVybiBmdW5jdGlvbihpPSEwKXtOcihlKSxNcih0KSxvdChuKSxpJiYhKGUuZiYxNjM4NCkmJihyPy5hY3RpdmF0ZSgpLHI/LmFwcGx5KCkpfX1mdW5jdGlvbiBjbihlPSEwKXtOcihudWxsKSxNcihudWxsKSxvdChudWxsKSxlJiZqPy5kZWFjdGl2YXRlKCl9ZnVuY3Rpb24gbG4oKXt2YXIgZT1JLHQ9ZS5iLG49aixyPXQuaXNfcmVuZGVyZWQoKTtyZXR1cm4gdC51cGRhdGVfcGVuZGluZ19jb3VudCgxLG4pLG4uaW5jcmVtZW50KHIsZSksKGk9ITEpPT57dC51cGRhdGVfcGVuZGluZ19jb3VudCgtMSxuKSxuLmRlY3JlbWVudChyLGUsaSl9fWZ1bmN0aW9uIHVuKGUpe3ZhciB0PTJ8Y2U7cmV0dXJuIEkhPT1udWxsJiYoSS5mfD1oZSkse2N0eDpFLGRlcHM6bnVsbCxlZmZlY3RzOm51bGwsZXF1YWxzOmV0LGY6dCxmbjplLHJlYWN0aW9uczpudWxsLHJ2OjAsdjpTLHd2OjAscGFyZW50OkksYWM6bnVsbH19ZnVuY3Rpb24gZG4oZSx0LG4pe2xldCByPUk7cj09PW51bGwmJk9lKCk7dmFyIGk9dm9pZCAwLGE9U24oUyksbz0hRixzPW5ldyBNYXA7cmV0dXJuIGRyKCgpPT57dmFyIHQ9SSxuPWFlKCk7aT1uLnByb21pc2U7dHJ5e1Byb21pc2UucmVzb2x2ZShlKCkpLnRoZW4obi5yZXNvbHZlLG4ucmVqZWN0KS5maW5hbGx5KGNuKX1jYXRjaChlKXtuLnJlamVjdChlKSxjbigpfXZhciBjPWo7aWYobyl7aWYodC5mJjMyNzY4KXZhciBsPWxuKCk7aWYoci5iLmlzX3JlbmRlcmVkKCkpcy5nZXQoYyk/LnJlamVjdChUZSkscy5kZWxldGUoYyk7ZWxzZXtmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSk7cy5jbGVhcigpfXMuc2V0KGMsbil9bGV0IHU9KGUsbj12b2lkIDApPT57aWYobCYmbChuPT09VGUpLCEobj09PVRlfHx0LmYmMTYzODQpKXtpZihjLmFjdGl2YXRlKCksbilhLmZ8PXhlLEVuKGEsbik7ZWxzZXthLmYmODM4ODYwOCYmKGEuZl49eGUpLEVuKGEsZSk7Zm9yKGxldFtlLHRdb2Ygcyl7aWYocy5kZWxldGUoZSksZT09PWMpYnJlYWs7dC5yZWplY3QoVGUpfX1jLmRlYWN0aXZhdGUoKX19O24ucHJvbWlzZS50aGVuKHUsZT0+dShudWxsLGV8fGB1bmtub3duYCkpfSksYXIoKCk9Pntmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSl9KSxuZXcgUHJvbWlzZShlPT57ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiByKCl7bj09PWk/ZShhKTp0KGkpfW4udGhlbihyLHIpfXQoaSl9KX1mdW5jdGlvbiBmbihlKXtsZXQgdD11bihlKTtyZXR1cm4gcnR8fEZyKHQpLHR9ZnVuY3Rpb24gcG4oZSl7bGV0IHQ9dW4oZSk7cmV0dXJuIHQuZXF1YWxzPW50LHR9ZnVuY3Rpb24gbW4oZSl7dmFyIHQ9ZS5lZmZlY3RzO2lmKHQhPT1udWxsKXtlLmVmZmVjdHM9bnVsbDtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rPTEpUCh0W25dKX19ZnVuY3Rpb24gaG4oZSl7dmFyIHQsbj1JLHI9ZS5wYXJlbnQ7aWYoIWtyJiZyIT09bnVsbCYmci5mJjI0NTc2KXJldHVybiBXZSgpLGUudjtOcihyKTt0cnl7ZS5mJj1+dmUsbW4oZSksdD1LcihlKX1maW5hbGx5e05yKG4pfXJldHVybiB0fWZ1bmN0aW9uIGduKGUpe3ZhciB0PWhuKGUpO2lmKCFlLmVxdWFscyh0KSYmKGUud3Y9VXIoKSwoIWo/LmlzX2Zvcmt8fGUuZGVwcz09PW51bGwpJiYoaj09PW51bGw/ZS52PXQ6ai5jYXB0dXJlKGUsdCwhMCksZS5kZXBzPT09bnVsbCkpKXtEKGUsc2UpO3JldHVybn1rcnx8KE09PT1udWxsP3h0KGUpOihpcigpfHxqPy5pc19mb3JrKSYmTS5zZXQoZSx0KSl9ZnVuY3Rpb24gX24oZSl7aWYoZS5lZmZlY3RzIT09bnVsbClmb3IobGV0IHQgb2YgZS5lZmZlY3RzKSh0LnRlYXJkb3dufHx0LmFjKSYmKHQudGVhcmRvd24/LigpLHQuYWM/LmFib3J0KFRlKSx0LnRlYXJkb3duPXgsdC5hYz1udWxsLEpyKHQsMCksdnIodCkpfWZ1bmN0aW9uIHZuKGUpe2lmKGUuZWZmZWN0cyE9PW51bGwpZm9yKGxldCB0IG9mIGUuZWZmZWN0cyl0LnRlYXJkb3duJiZZcih0KX12YXIgeW49bmV3IFNldCxibj1uZXcgTWFwLHhuPSExO2Z1bmN0aW9uIFNuKGUsdCl7cmV0dXJue2Y6MCx2OmUscmVhY3Rpb25zOm51bGwsZXF1YWxzOmV0LHJ2OjAsd3Y6MH19ZnVuY3Rpb24gQ24oZSx0KXtsZXQgbj1TbihlLHQpO3JldHVybiBGcihuKSxufWZ1bmN0aW9uIHduKGUsdD0hMSxuPSEwKXtsZXQgcj1TbihlKTtyZXR1cm4gdHx8KHIuZXF1YWxzPW50KSxpdCYmbiYmRSE9PW51bGwmJkUubCE9PW51bGwmJihFLmwucz8/PVtdKS5wdXNoKHIpLHJ9ZnVuY3Rpb24gVG4oZSx0LG49ITEpe3JldHVybiBGIT09bnVsbCYmKCFqcnx8Ri5mJjEzMTA3MikmJmR0KCkmJkYuZiY0MzI1Mzk0JiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSYmUmUoKSxFbihlLG4/am4odCk6dCxIdCl9ZnVuY3Rpb24gRW4oZSx0LG49bnVsbCl7aWYoIWUuZXF1YWxzKHQpKXtibi5zZXQoZSxrcj90OmUudik7dmFyIHI9R3QuZW5zdXJlKCk7aWYoci5jYXB0dXJlKGUsdCksZS5mJjIpe2xldCB0PWU7ZS5mJjIwNDgmJmhuKHQpLE09PT1udWxsJiZ4dCh0KX1lLnd2PVVyKCksQW4oZSxjZSxuKSxkdCgpJiZJIT09bnVsbCYmSS5mJjEwMjQmJiEoSS5mJjk2KSYmKExyPT09bnVsbD9ScihbZV0pOkxyLnB1c2goZSkpLCFyLmlzX2ZvcmsmJnluLnNpemU+MCYmIXhuJiZEbigpfXJldHVybiB0fWZ1bmN0aW9uIERuKCl7eG49ITE7Zm9yKGxldCBlIG9mIHluKWUuZiYxMDI0JiZEKGUsbGUpLFdyKGUpJiZZcihlKTt5bi5jbGVhcigpfWZ1bmN0aW9uIE9uKGUsdD0xKXt2YXIgbj1SKGUpLHI9dD09PTE/bisrOm4tLTtyZXR1cm4gVG4oZSxuKSxyfWZ1bmN0aW9uIGtuKGUpe1RuKGUsZS52KzEpfWZ1bmN0aW9uIEFuKGUsdCxuKXt2YXIgcj1lLnJlYWN0aW9ucztpZihyIT09bnVsbClmb3IodmFyIGk9ZHQoKSxhPXIubGVuZ3RoLG89MDtvPGE7bysrKXt2YXIgcz1yW29dLGM9cy5mO2lmKCEoIWkmJnM9PT1JKSl7dmFyIGw9KGMmY2UpPT09MDtpZihsJiZEKHMsdCksYyYyKXt2YXIgdT1zO00/LmRlbGV0ZSh1KSxjJjY1NTM2fHwoYyY1MTImJihJPT09bnVsbHx8IShJLmYmMjA5NzE1MikpJiYocy5mfD12ZSksQW4odSxsZSxuKSl9ZWxzZSBpZihsKXt2YXIgZD1zO2MmMTYmJkp0IT09bnVsbCYmSnQuYWRkKGQpLG49PT1udWxsP1F0KGQpOm4ucHVzaChkKX19fX1mdW5jdGlvbiBqbihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxTZSBpbiBlKXJldHVybiBlO2xldCB0PWIoZSk7aWYodCE9PXkmJnQhPT1lZSlyZXR1cm4gZTt2YXIgbj1uZXcgTWFwLHI9ZihlKSxpPUNuKDApLGE9bnVsbCxvPVZyLHM9ZT0+e2lmKFZyPT09bylyZXR1cm4gZSgpO3ZhciB0PUYsbj1WcjtNcihudWxsKSxIcihvKTt2YXIgcj1lKCk7cmV0dXJuIE1yKHQpLEhyKG4pLHJ9O3JldHVybiByJiZuLnNldChgbGVuZ3RoYCxDbihlLmxlbmd0aCxhKSksbmV3IFByb3h5KGUse2RlZmluZVByb3BlcnR5KGUsdCxyKXsoIShgdmFsdWVgaW4gcil8fHIuY29uZmlndXJhYmxlPT09ITF8fHIuZW51bWVyYWJsZT09PSExfHxyLndyaXRhYmxlPT09ITEpJiZJZSgpO3ZhciBpPW4uZ2V0KHQpO3JldHVybiBpPT09dm9pZCAwP3MoKCk9Pnt2YXIgZT1DbihyLnZhbHVlLGEpO3JldHVybiBuLnNldCh0LGUpLGV9KTpUbihpLHIudmFsdWUsITApLCEwfSxkZWxldGVQcm9wZXJ0eShlLHQpe3ZhciByPW4uZ2V0KHQpO2lmKHI9PT12b2lkIDApe2lmKHQgaW4gZSl7bGV0IGU9cygoKT0+Q24oUyxhKSk7bi5zZXQodCxlKSxrbihpKX19ZWxzZSBUbihyLFMpLGtuKGkpO3JldHVybiEwfSxnZXQodCxyLGkpe2lmKHI9PT1TZSlyZXR1cm4gZTt2YXIgbz1uLmdldChyKSxjPXIgaW4gdDtpZihvPT09dm9pZCAwJiYoIWN8fF8odCxyKT8ud3JpdGFibGUpJiYobz1zKCgpPT5DbihqbihjP3Rbcl06UyksYSkpLG4uc2V0KHIsbykpLG8hPT12b2lkIDApe3ZhciBsPVIobyk7cmV0dXJuIGw9PT1TP3ZvaWQgMDpsfXJldHVybiBSZWZsZWN0LmdldCh0LHIsaSl9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe3ZhciByPVJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYociYmYHZhbHVlYGluIHIpe3ZhciBpPW4uZ2V0KHQpO2kmJihyLnZhbHVlPVIoaSkpfWVsc2UgaWYocj09PXZvaWQgMCl7dmFyIGE9bi5nZXQodCksbz1hPy52O2lmKGEhPT12b2lkIDAmJm8hPT1TKXJldHVybntlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpvLHdyaXRhYmxlOiEwfX1yZXR1cm4gcn0saGFzKGUsdCl7aWYodD09PVNlKXJldHVybiEwO3ZhciByPW4uZ2V0KHQpLGk9ciE9PXZvaWQgMCYmci52IT09U3x8UmVmbGVjdC5oYXMoZSx0KTtyZXR1cm4ociE9PXZvaWQgMHx8SSE9PW51bGwmJighaXx8XyhlLHQpPy53cml0YWJsZSkpJiYocj09PXZvaWQgMCYmKHI9cygoKT0+Q24oaT9qbihlW3RdKTpTLGEpKSxuLnNldCh0LHIpKSxSKHIpPT09Uyk/ITE6aX0sc2V0KGUsdCxvLGMpe3ZhciBsPW4uZ2V0KHQpLHU9dCBpbiBlO2lmKHImJnQ9PT1gbGVuZ3RoYClmb3IodmFyIGQ9bztkPGwudjtkKz0xKXt2YXIgZj1uLmdldChkK2BgKTtmPT09dm9pZCAwP2QgaW4gZSYmKGY9cygoKT0+Q24oUyxhKSksbi5zZXQoZCtgYCxmKSk6VG4oZixTKX1pZihsPT09dm9pZCAwKSghdXx8XyhlLHQpPy53cml0YWJsZSkmJihsPXMoKCk9PkNuKHZvaWQgMCxhKSksVG4obCxqbihvKSksbi5zZXQodCxsKSk7ZWxzZXt1PWwudiE9PVM7dmFyIHA9cygoKT0+am4obykpO1RuKGwscCl9dmFyIG09UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtpZihtPy5zZXQmJm0uc2V0LmNhbGwoYyxvKSwhdSl7aWYociYmdHlwZW9mIHQ9PWBzdHJpbmdgKXt2YXIgaD1uLmdldChgbGVuZ3RoYCksZz1OdW1iZXIodCk7TnVtYmVyLmlzSW50ZWdlcihnKSYmZz49aC52JiZUbihoLGcrMSl9a24oaSl9cmV0dXJuITB9LG93bktleXMoZSl7UihpKTt2YXIgdD1SZWZsZWN0Lm93bktleXMoZSkuZmlsdGVyKGU9Pnt2YXIgdD1uLmdldChlKTtyZXR1cm4gdD09PXZvaWQgMHx8dC52IT09U30pO2Zvcih2YXJbcixhXW9mIG4pYS52IT09UyYmIShyIGluIGUpJiZ0LnB1c2gocik7cmV0dXJuIHR9LHNldFByb3RvdHlwZU9mKCl7TGUoKX19KX1mdW5jdGlvbiBNbihlKXt0cnl7aWYodHlwZW9mIGU9PWBvYmplY3RgJiZlJiZTZSBpbiBlKXJldHVybiBlW1NlXX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gTm4oZSx0KXtyZXR1cm4gT2JqZWN0LmlzKE1uKGUpLE1uKHQpKX12YXIgUG4sRm4sSW4sTG47ZnVuY3Rpb24gUm4oKXtpZihQbj09PXZvaWQgMCl7UG49d2luZG93LEZuPS9GaXJlZm94Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO3ZhciBlPUVsZW1lbnQucHJvdG90eXBlLHQ9Tm9kZS5wcm90b3R5cGUsbj1UZXh0LnByb3RvdHlwZTtJbj1fKHQsYGZpcnN0Q2hpbGRgKS5nZXQsTG49Xyh0LGBuZXh0U2libGluZ2ApLmdldCx0ZShlKSYmKGUuX19jbGljaz12b2lkIDAsZS5fX2NsYXNzTmFtZT12b2lkIDAsZS5fX2F0dHJpYnV0ZXM9bnVsbCxlLl9fc3R5bGU9dm9pZCAwLGUuX19lPXZvaWQgMCksdGUobikmJihuLl9fdD12b2lkIDApfX1mdW5jdGlvbiB6bihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gSW4uY2FsbChlKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gTG4uY2FsbChlKX1mdW5jdGlvbiBWbihlLHQpe2lmKCFDKXJldHVybiBOKGUpO3ZhciBuPU4odyk7aWYobj09PW51bGwpbj13LmFwcGVuZENoaWxkKHpuKCkpO2Vsc2UgaWYodCYmbi5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIG4/LmJlZm9yZShyKSxUKHIpLHJ9cmV0dXJuIHQmJkpuKG4pLFQobiksbn1mdW5jdGlvbiBIbihlLHQ9ITEpe2lmKCFDKXt2YXIgbj1OKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQ29tbWVudCYmbi5kYXRhPT09YGA/Qm4obik6bn1pZih0KXtpZih3Py5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIHc/LmJlZm9yZShyKSxUKHIpLHJ9Sm4odyl9cmV0dXJuIHd9ZnVuY3Rpb24gVW4oZSx0PTEsbj0hMSl7bGV0IHI9Qz93OmU7Zm9yKHZhciBpO3QtLTspaT1yLHI9Qm4ocik7aWYoIUMpcmV0dXJuIHI7aWYobil7aWYocj8ubm9kZVR5cGUhPT0zKXt2YXIgYT16bigpO3JldHVybiByPT09bnVsbD9pPy5hZnRlcihhKTpyLmJlZm9yZShhKSxUKGEpLGF9Sm4ocil9cmV0dXJuIFQocikscn1mdW5jdGlvbiBXbihlKXtlLnRleHRDb250ZW50PWBgfWZ1bmN0aW9uIEduKCl7cmV0dXJuIXJ0fHxKdCE9PW51bGw/ITE6KEkuZiZmZSkhPT0wfWZ1bmN0aW9uIEtuKGUsdCxuKXtsZXQgcj1uP3tpczpufTp2b2lkIDA7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0Pz9gaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbGAsZSxyKX1mdW5jdGlvbiBxbihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiBKbihlKXtpZihlLm5vZGVWYWx1ZS5sZW5ndGg8NjU1MzYpcmV0dXJuO2xldCB0PWUubmV4dFNpYmxpbmc7Zm9yKDt0IT09bnVsbCYmdC5ub2RlVHlwZT09PTM7KXQucmVtb3ZlKCksZS5ub2RlVmFsdWUrPXQubm9kZVZhbHVlLHQ9ZS5uZXh0U2libGluZ31mdW5jdGlvbiBZbihlLHQpe2lmKHQpe2xldCB0PWRvY3VtZW50LmJvZHk7ZS5hdXRvZm9jdXM9ITAsZ3QoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dCYmZS5mb2N1cygpfSl9fWZ1bmN0aW9uIFhuKGUpe0MmJk4oZSkhPT1udWxsJiZXbihlKX12YXIgWm49ITE7ZnVuY3Rpb24gUW4oKXtabnx8KFpuPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHJlc2V0YCxlPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2lmKCFlLmRlZmF1bHRQcmV2ZW50ZWQpZm9yKGxldCB0IG9mIGUudGFyZ2V0LmVsZW1lbnRzKXQuX19vbl9yPy4oKX0pfSx7Y2FwdHVyZTohMH0pKX1mdW5jdGlvbiAkbihlKXt2YXIgdD1GLG49STtNcihudWxsKSxOcihudWxsKTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e01yKHQpLE5yKG4pfX1mdW5jdGlvbiBlcihlLHQsbixyPW4pe2UuYWRkRXZlbnRMaXN0ZW5lcih0LCgpPT4kbihuKSk7bGV0IGk9ZS5fX29uX3I7aT9lLl9fb25fcj0oKT0+e2koKSxyKCEwKX06ZS5fX29uX3I9KCk9PnIoITApLFFuKCl9ZnVuY3Rpb24gdHIoZSl7ST09PW51bGwmJihGPT09bnVsbCYmTWUoZSksamUoKSksa3ImJkFlKGUpfWZ1bmN0aW9uIG5yKGUsdCl7dmFyIG49dC5sYXN0O249PT1udWxsP3QubGFzdD10LmZpcnN0PWU6KG4ubmV4dD1lLGUucHJldj1uLHQubGFzdD1lKX1mdW5jdGlvbiBycihlLHQpe3ZhciBuPUk7biE9PW51bGwmJm4uZiY4MTkyJiYoZXw9dWUpO3ZhciByPXtjdHg6RSxkZXBzOm51bGwsbm9kZXM6bnVsbCxmOmV8Y2V8NTEyLGZpcnN0Om51bGwsZm46dCxsYXN0Om51bGwsbmV4dDpudWxsLHBhcmVudDpuLGI6biYmbi5iLHByZXY6bnVsbCx0ZWFyZG93bjpudWxsLHd2OjAsYWM6bnVsbH07aj8ucmVnaXN0ZXJfY3JlYXRlZF9lZmZlY3Qocik7dmFyIGk9cjtpZihlJjQpVnQ9PT1udWxsP0d0LmVuc3VyZSgpLnNjaGVkdWxlKHIpOlZ0LnB1c2gocik7ZWxzZSBpZih0IT09bnVsbCl7dHJ5e1lyKHIpfWNhdGNoKGUpe3Rocm93IFAociksZX1pLmRlcHM9PT1udWxsJiZpLnRlYXJkb3duPT09bnVsbCYmaS5ub2Rlcz09PW51bGwmJmkuZmlyc3Q9PT1pLmxhc3QmJiEoaS5mJjUyNDI4OCkmJihpPWkuZmlyc3QsZSYxNiYmZSY2NTUzNiYmaSE9PW51bGwmJihpLmZ8PW1lKSl9aWYoaSE9PW51bGwmJihpLnBhcmVudD1uLG4hPT1udWxsJiZucihpLG4pLEYhPT1udWxsJiZGLmYmMiYmIShlJjY0KSkpe3ZhciBhPUY7KGEuZWZmZWN0cz8/PVtdKS5wdXNoKGkpfXJldHVybiByfWZ1bmN0aW9uIGlyKCl7cmV0dXJuIEYhPT1udWxsJiYhanJ9ZnVuY3Rpb24gYXIoZSl7bGV0IHQ9cnIoOCxudWxsKTtyZXR1cm4gRCh0LHNlKSx0LnRlYXJkb3duPWUsdH1mdW5jdGlvbiBvcihlKXt0cihgJGVmZmVjdGApO3ZhciB0PUkuZjtpZighRiYmdCYzMiYmISh0JjMyNzY4KSl7dmFyIG49RTsobi5lPz89W10pLnB1c2goZSl9ZWxzZSByZXR1cm4gc3IoZSl9ZnVuY3Rpb24gc3IoZSl7cmV0dXJuIHJyKDR8Z2UsZSl9ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIHRyKGAkZWZmZWN0LnByZWApLHJyKDh8Z2UsZSl9ZnVuY3Rpb24gbHIoZSl7R3QuZW5zdXJlKCk7bGV0IHQ9cnIoNjR8aGUsZSk7cmV0dXJuKGU9e30pPT5uZXcgUHJvbWlzZShuPT57ZS5vdXRybz9Tcih0LCgpPT57UCh0KSxuKHZvaWQgMCl9KTooUCh0KSxuKHZvaWQgMCkpfSl9ZnVuY3Rpb24gdXIoZSl7cmV0dXJuIHJyKDQsZSl9ZnVuY3Rpb24gZHIoZSl7cmV0dXJuIHJyKGJlfGhlLGUpfWZ1bmN0aW9uIGZyKGUsdD0wKXtyZXR1cm4gcnIoOHx0LGUpfWZ1bmN0aW9uIHByKGUsdD1bXSxuPVtdLHI9W10pe29uKHIsdCxuLHQ9Pntycig4LCgpPT5lKC4uLnQubWFwKFIpKSl9KX1mdW5jdGlvbiBtcihlLHQ9MCl7cmV0dXJuIHJyKDE2fHQsZSl9ZnVuY3Rpb24gaHIoZSx0PTApe3JldHVybiBycihvZXx0LGUpfWZ1bmN0aW9uIGdyKGUpe3JldHVybiBycigzMnxoZSxlKX1mdW5jdGlvbiBfcihlKXt2YXIgdD1lLnRlYXJkb3duO2lmKHQhPT1udWxsKXtsZXQgZT1rcixuPUY7QXIoITApLE1yKG51bGwpO3RyeXt0LmNhbGwobnVsbCl9ZmluYWxseXtBcihlKSxNcihuKX19fWZ1bmN0aW9uIHZyKGUsdD0hMSl7dmFyIG49ZS5maXJzdDtmb3IoZS5maXJzdD1lLmxhc3Q9bnVsbDtuIT09bnVsbDspe2xldCBlPW4uYWM7ZSE9PW51bGwmJiRuKCgpPT57ZS5hYm9ydChUZSl9KTt2YXIgcj1uLm5leHQ7bi5mJjY0P24ucGFyZW50PW51bGw6UChuLHQpLG49cn19ZnVuY3Rpb24geXIoZSl7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KXt2YXIgbj10Lm5leHQ7dC5mJjMyfHxQKHQpLHQ9bn19ZnVuY3Rpb24gUChlLHQ9ITApe3ZhciBuPSExOyh0fHxlLmYmMjYyMTQ0KSYmZS5ub2RlcyE9PW51bGwmJmUubm9kZXMuZW5kIT09bnVsbCYmKGJyKGUubm9kZXMuc3RhcnQsZS5ub2Rlcy5lbmQpLG49ITApLEQoZSxwZSksdnIoZSx0JiYhbiksSnIoZSwwKTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpZS5zdG9wKCk7X3IoZSksZS5mXj1wZSxlLmZ8PWRlO3ZhciBpPWUucGFyZW50O2khPT1udWxsJiZpLmZpcnN0IT09bnVsbCYmeHIoZSksZS5uZXh0PWUucHJldj1lLnRlYXJkb3duPWUuY3R4PWUuZGVwcz1lLmZuPWUubm9kZXM9ZS5hYz1lLmI9bnVsbH1mdW5jdGlvbiBicihlLHQpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1lPT09dD9udWxsOkJuKGUpO2UucmVtb3ZlKCksZT1ufX1mdW5jdGlvbiB4cihlKXt2YXIgdD1lLnBhcmVudCxuPWUucHJldixyPWUubmV4dDtuIT09bnVsbCYmKG4ubmV4dD1yKSxyIT09bnVsbCYmKHIucHJldj1uKSx0IT09bnVsbCYmKHQuZmlyc3Q9PT1lJiYodC5maXJzdD1yKSx0Lmxhc3Q9PT1lJiYodC5sYXN0PW4pKX1mdW5jdGlvbiBTcihlLHQsbj0hMCl7dmFyIHI9W107Q3IoZSxyLCEwKTt2YXIgaT0oKT0+e24mJlAoZSksdCYmdCgpfSxhPXIubGVuZ3RoO2lmKGE+MCl7dmFyIG89KCk9Pi0tYXx8aSgpO2Zvcih2YXIgcyBvZiByKXMub3V0KG8pfWVsc2UgaSgpfWZ1bmN0aW9uIENyKGUsdCxuKXtpZighKGUuZiY4MTkyKSl7ZS5mXj11ZTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpKGUuaXNfZ2xvYmFsfHxuKSYmdC5wdXNoKGUpO2Zvcih2YXIgaT1lLmZpcnN0O2khPT1udWxsOyl7dmFyIGE9aS5uZXh0O2lmKCEoaS5mJjY0KSl7dmFyIG89KGkuZiY2NTUzNikhPTB8fChpLmYmMzIpIT0wJiYoZS5mJjE2KSE9MDtDcihpLHQsbz9uOiExKX1pPWF9fX1mdW5jdGlvbiB3cihlKXtUcihlLCEwKX1mdW5jdGlvbiBUcihlLHQpe2lmKGUuZiY4MTkyKXtlLmZePXVlLGUuZiYxMDI0fHwoRChlLGNlKSxHdC5lbnN1cmUoKS5zY2hlZHVsZShlKSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KXt2YXIgcj1uLm5leHQsaT0obi5mJjY1NTM2KSE9MHx8KG4uZiYzMikhPTA7VHIobixpP3Q6ITEpLG49cn12YXIgYT1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYoYSE9PW51bGwpZm9yKGxldCBlIG9mIGEpKGUuaXNfZ2xvYmFsfHx0KSYmZS5pbigpfX1mdW5jdGlvbiBFcihlLHQpe2lmKGUubm9kZXMpZm9yKHZhciBuPWUubm9kZXMuc3RhcnQscj1lLm5vZGVzLmVuZDtuIT09bnVsbDspe3ZhciBpPW49PT1yP251bGw6Qm4obik7dC5hcHBlbmQobiksbj1pfX12YXIgRHI9bnVsbCxPcj0hMSxrcj0hMTtmdW5jdGlvbiBBcihlKXtrcj1lfXZhciBGPW51bGwsanI9ITE7ZnVuY3Rpb24gTXIoZSl7Rj1lfXZhciBJPW51bGw7ZnVuY3Rpb24gTnIoZSl7ST1lfXZhciBQcj1udWxsO2Z1bmN0aW9uIEZyKGUpe0YhPT1udWxsJiYoIXJ0fHxGLmYmMikmJihQcj09PW51bGw/UHI9W2VdOlByLnB1c2goZSkpfXZhciBMPW51bGwsSXI9MCxMcj1udWxsO2Z1bmN0aW9uIFJyKGUpe0xyPWV9dmFyIHpyPTEsQnI9MCxWcj1CcjtmdW5jdGlvbiBIcihlKXtWcj1lfWZ1bmN0aW9uIFVyKCl7cmV0dXJuKyt6cn1mdW5jdGlvbiBXcihlKXt2YXIgdD1lLmY7aWYodCYyMDQ4KXJldHVybiEwO2lmKHQmMiYmKGUuZiY9fnZlKSx0JjQwOTYpe2Zvcih2YXIgbj1lLmRlcHMscj1uLmxlbmd0aCxpPTA7aTxyO2krKyl7dmFyIGE9bltpXTtpZihXcihhKSYmZ24oYSksYS53dj5lLnd2KXJldHVybiEwfXQmNTEyJiZNPT09bnVsbCYmRChlLHNlKX1yZXR1cm4hMX1mdW5jdGlvbiBHcihlLHQsbj0hMCl7dmFyIHI9ZS5yZWFjdGlvbnM7aWYociE9PW51bGwmJiEoIXJ0JiZQciE9PW51bGwmJm0uY2FsbChQcixlKSkpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV07YS5mJjI/R3IoYSx0LCExKTp0PT09YSYmKG4/RChhLGNlKTphLmYmMTAyNCYmRChhLGxlKSxRdChhKSl9fWZ1bmN0aW9uIEtyKGUpe3ZhciB0PUwsbj1JcixyPUxyLGk9RixhPVByLG89RSxzPWpyLGM9VnIsbD1lLmY7TD1udWxsLElyPTAsTHI9bnVsbCxGPWwmOTY/bnVsbDplLFByPW51bGwsb3QoZS5jdHgpLGpyPSExLFZyPSsrQnIsZS5hYyE9PW51bGwmJigkbigoKT0+e2UuYWMuYWJvcnQoVGUpfSksZS5hYz1udWxsKTt0cnl7ZS5mfD15ZTt2YXIgdT1lLmZuLGQ9dSgpO2UuZnw9ZmU7dmFyIGY9ZS5kZXBzLHA9aj8uaXNfZm9yaztpZihMIT09bnVsbCl7dmFyIG07aWYocHx8SnIoZSxJciksZiE9PW51bGwmJklyPjApZm9yKGYubGVuZ3RoPUlyK0wubGVuZ3RoLG09MDttPEwubGVuZ3RoO20rKylmW0lyK21dPUxbbV07ZWxzZSBlLmRlcHM9Zj1MO2lmKGlyKCkmJmUuZiY1MTIpZm9yKG09SXI7bTxmLmxlbmd0aDttKyspKGZbbV0ucmVhY3Rpb25zPz89W10pLnB1c2goZSl9ZWxzZSAhcCYmZiE9PW51bGwmJklyPGYubGVuZ3RoJiYoSnIoZSxJciksZi5sZW5ndGg9SXIpO2lmKGR0KCkmJkxyIT09bnVsbCYmIWpyJiZmIT09bnVsbCYmIShlLmYmNjE0NikpZm9yKG09MDttPExyLmxlbmd0aDttKyspR3IoTHJbbV0sZSk7aWYoaSE9PW51bGwmJmkhPT1lKXtpZihCcisrLGkuZGVwcyE9PW51bGwpZm9yKGxldCBlPTA7ZTxuO2UrPTEpaS5kZXBzW2VdLnJ2PUJyO2lmKHQhPT1udWxsKWZvcihsZXQgZSBvZiB0KWUucnY9QnI7THIhPT1udWxsJiYocj09PW51bGw/cj1McjpyLnB1c2goLi4uTHIpKX1yZXR1cm4gZS5mJjgzODg2MDgmJihlLmZePXhlKSxkfWNhdGNoKGUpe3JldHVybiB2dChlKX1maW5hbGx5e2UuZl49eWUsTD10LElyPW4sTHI9cixGPWksUHI9YSxvdChvKSxqcj1zLFZyPWN9fWZ1bmN0aW9uIHFyKGUsdCl7bGV0IG49dC5yZWFjdGlvbnM7aWYobiE9PW51bGwpe3ZhciByPXAuY2FsbChuLGUpO2lmKHIhPT0tMSl7dmFyIGk9bi5sZW5ndGgtMTtpPT09MD9uPXQucmVhY3Rpb25zPW51bGw6KG5bcl09bltpXSxuLnBvcCgpKX19aWYobj09PW51bGwmJnQuZiYyJiYoTD09PW51bGx8fCFtLmNhbGwoTCx0KSkpe3ZhciBhPXQ7YS5mJjUxMiYmKGEuZl49NTEyLGEuZiY9fnZlKSxhLnYhPT1TJiZ4dChhKSxfbihhKSxKcihhLDApfX1mdW5jdGlvbiBKcihlLHQpe3ZhciBuPWUuZGVwcztpZihuIT09bnVsbClmb3IodmFyIHI9dDtyPG4ubGVuZ3RoO3IrKylxcihlLG5bcl0pfWZ1bmN0aW9uIFlyKGUpe3ZhciB0PWUuZjtpZighKHQmMTYzODQpKXtEKGUsc2UpO3ZhciBuPUkscj1PcjtJPWUsT3I9ITA7dHJ5e3QmMTY3NzcyMzI/eXIoZSk6dnIoZSksX3IoZSk7dmFyIGk9S3IoZSk7ZS50ZWFyZG93bj10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOm51bGwsZS53dj16cn1maW5hbGx5e09yPXIsST1ufX19YXN5bmMgZnVuY3Rpb24gWHIoKXtpZihydClyZXR1cm4gbmV3IFByb21pc2UoZT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZSgpKSxzZXRUaW1lb3V0KCgpPT5lKCkpfSk7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksS3QoKX1mdW5jdGlvbiBSKGUpe3ZhciB0PShlLmYmMikhPTA7aWYoRHI/LmFkZChlKSxGIT09bnVsbCYmIWpyJiYhKEkhPT1udWxsJiZJLmYmMTYzODQpJiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSl7dmFyIG49Ri5kZXBzO2lmKEYuZiYyMDk3MTUyKWUucnY8QnImJihlLnJ2PUJyLEw9PT1udWxsJiZuIT09bnVsbCYmbltJcl09PT1lP0lyKys6TD09PW51bGw/TD1bZV06TC5wdXNoKGUpKTtlbHNleyhGLmRlcHM/Pz1bXSkucHVzaChlKTt2YXIgcj1lLnJlYWN0aW9ucztyPT09bnVsbD9lLnJlYWN0aW9ucz1bRl06bS5jYWxsKHIsRil8fHIucHVzaChGKX19aWYoa3ImJmJuLmhhcyhlKSlyZXR1cm4gYm4uZ2V0KGUpO2lmKHQpe3ZhciBpPWU7aWYoa3Ipe3ZhciBhPWkudjtyZXR1cm4oIShpLmYmMTAyNCkmJmkucmVhY3Rpb25zIT09bnVsbHx8UXIoaSkpJiYoYT1obihpKSksYm4uc2V0KGksYSksYX12YXIgbz0oaS5mJjUxMik9PTAmJiFqciYmRiE9PW51bGwmJihPcnx8KEYuZiY1MTIpIT0wKSxzPShpLmYmZmUpPT09MDtXcihpKSYmKG8mJihpLmZ8PTUxMiksZ24oaSkpLG8mJiFzJiYodm4oaSksWnIoaSkpfWlmKE0/LmhhcyhlKSlyZXR1cm4gTS5nZXQoZSk7aWYoZS5mJjgzODg2MDgpdGhyb3cgZS52O3JldHVybiBlLnZ9ZnVuY3Rpb24gWnIoZSl7aWYoZS5mfD01MTIsZS5kZXBzIT09bnVsbClmb3IobGV0IHQgb2YgZS5kZXBzKSh0LnJlYWN0aW9ucz8/PVtdKS5wdXNoKGUpLHQuZiYyJiYhKHQuZiY1MTIpJiYodm4odCksWnIodCkpfWZ1bmN0aW9uIFFyKGUpe2lmKGUudj09PVMpcmV0dXJuITA7aWYoZS5kZXBzPT09bnVsbClyZXR1cm4hMTtmb3IobGV0IHQgb2YgZS5kZXBzKWlmKGJuLmhhcyh0KXx8dC5mJjImJlFyKHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uICRyKGUpe3ZhciB0PWpyO3RyeXtyZXR1cm4ganI9ITAsZSgpfWZpbmFsbHl7anI9dH19ZnVuY3Rpb24gZWkoZSl7aWYoISh0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxlIGluc3RhbmNlb2YgRXZlbnRUYXJnZXQpKXtpZihTZSBpbiBlKXRpKGUpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0IGluIGUpe2xldCBuPWVbdF07dHlwZW9mIG49PWBvYmplY3RgJiZuJiZTZSBpbiBuJiZ0aShuKX19fWZ1bmN0aW9uIHRpKGUsdD1uZXcgU2V0KXtpZih0eXBlb2YgZT09YG9iamVjdGAmJmUmJiEoZSBpbnN0YW5jZW9mIEV2ZW50VGFyZ2V0KSYmIXQuaGFzKGUpKXt0LmFkZChlKSxlIGluc3RhbmNlb2YgRGF0ZSYmZS5nZXRUaW1lKCk7Zm9yKGxldCBuIGluIGUpdHJ5e3RpKGVbbl0sdCl9Y2F0Y2h7fWxldCBuPWIoZSk7aWYobiE9PU9iamVjdC5wcm90b3R5cGUmJm4hPT1BcnJheS5wcm90b3R5cGUmJm4hPT1NYXAucHJvdG90eXBlJiZuIT09U2V0LnByb3RvdHlwZSYmbiE9PURhdGUucHJvdG90eXBlKXtsZXQgdD12KG4pO2ZvcihsZXQgbiBpbiB0KXtsZXQgcj10W25dLmdldDtpZihyKXRyeXtyLmNhbGwoZSl9Y2F0Y2h7fX19fX1mdW5jdGlvbiBuaShlKXtyZXR1cm4gZS5lbmRzV2l0aChgY2FwdHVyZWApJiZlIT09YGdvdHBvaW50ZXJjYXB0dXJlYCYmZSE9PWBsb3N0cG9pbnRlcmNhcHR1cmVgfXZhciByaT1bYGJlZm9yZWlucHV0YCxgY2xpY2tgLGBjaGFuZ2VgLGBkYmxjbGlja2AsYGNvbnRleHRtZW51YCxgZm9jdXNpbmAsYGZvY3Vzb3V0YCxgaW5wdXRgLGBrZXlkb3duYCxga2V5dXBgLGBtb3VzZWRvd25gLGBtb3VzZW1vdmVgLGBtb3VzZW91dGAsYG1vdXNlb3ZlcmAsYG1vdXNldXBgLGBwb2ludGVyZG93bmAsYHBvaW50ZXJtb3ZlYCxgcG9pbnRlcm91dGAsYHBvaW50ZXJvdmVyYCxgcG9pbnRlcnVwYCxgdG91Y2hlbmRgLGB0b3VjaG1vdmVgLGB0b3VjaHN0YXJ0YF07ZnVuY3Rpb24gaWkoZSl7cmV0dXJuIHJpLmluY2x1ZGVzKGUpfXZhciBhaT1gYWxsb3dmdWxsc2NyZWVuLmFzeW5jLmF1dG9mb2N1cy5hdXRvcGxheS5jaGVja2VkLmNvbnRyb2xzLmRlZmF1bHQuZGlzYWJsZWQuZm9ybW5vdmFsaWRhdGUuaW5kZXRlcm1pbmF0ZS5pbmVydC5pc21hcC5sb29wLm11bHRpcGxlLm11dGVkLm5vbW9kdWxlLm5vdmFsaWRhdGUub3Blbi5wbGF5c2lubGluZS5yZWFkb25seS5yZXF1aXJlZC5yZXZlcnNlZC5zZWFtbGVzcy5zZWxlY3RlZC53ZWJraXRkaXJlY3RvcnkuZGVmZXIuZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmUuZGlzYWJsZXJlbW90ZXBsYXliYWNrYC5zcGxpdChgLmApLG9pPXtmb3Jtbm92YWxpZGF0ZTpgZm9ybU5vVmFsaWRhdGVgLGlzbWFwOmBpc01hcGAsbm9tb2R1bGU6YG5vTW9kdWxlYCxwbGF5c2lubGluZTpgcGxheXNJbmxpbmVgLHJlYWRvbmx5OmByZWFkT25seWAsZGVmYXVsdHZhbHVlOmBkZWZhdWx0VmFsdWVgLGRlZmF1bHRjaGVja2VkOmBkZWZhdWx0Q2hlY2tlZGAsc3Jjb2JqZWN0OmBzcmNPYmplY3RgLG5vdmFsaWRhdGU6YG5vVmFsaWRhdGVgLGFsbG93ZnVsbHNjcmVlbjpgYWxsb3dGdWxsc2NyZWVuYCxkaXNhYmxlcGljdHVyZWlucGljdHVyZTpgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmVgLGRpc2FibGVyZW1vdGVwbGF5YmFjazpgZGlzYWJsZVJlbW90ZVBsYXliYWNrYH07ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLG9pW2VdPz9lfVsuLi5haV07dmFyIGNpPVtgdG91Y2hzdGFydGAsYHRvdWNobW92ZWBdO2Z1bmN0aW9uIGxpKGUpe3JldHVybiBjaS5pbmNsdWRlcyhlKX12YXIgdWk9U3ltYm9sKGBldmVudHNgKSxkaT1uZXcgU2V0LGZpPW5ldyBTZXQ7ZnVuY3Rpb24gcGkoZSl7aWYoIUMpcmV0dXJuO2UucmVtb3ZlQXR0cmlidXRlKGBvbmxvYWRgKSxlLnJlbW92ZUF0dHJpYnV0ZShgb25lcnJvcmApO2xldCB0PWUuX19lO3QhPT12b2lkIDAmJihlLl9fZT12b2lkIDAscXVldWVNaWNyb3Rhc2soKCk9PntlLmlzQ29ubmVjdGVkJiZlLmRpc3BhdGNoRXZlbnQodCl9KSl9ZnVuY3Rpb24gbWkoZSx0LG4scj17fSl7ZnVuY3Rpb24gaShlKXtpZihyLmNhcHR1cmV8fHlpLmNhbGwodCxlKSwhZS5jYW5jZWxCdWJibGUpcmV0dXJuICRuKCgpPT5uPy5jYWxsKHRoaXMsZSkpfXJldHVybiBlLnN0YXJ0c1dpdGgoYHBvaW50ZXJgKXx8ZS5zdGFydHNXaXRoKGB0b3VjaGApfHxlPT09YHdoZWVsYD9ndCgoKT0+e3QuYWRkRXZlbnRMaXN0ZW5lcihlLGkscil9KTp0LmFkZEV2ZW50TGlzdGVuZXIoZSxpLHIpLGl9ZnVuY3Rpb24gaGkoZSx0LG4scixpKXt2YXIgYT17Y2FwdHVyZTpyLHBhc3NpdmU6aX0sbz1taShlLHQsbixhKTsodD09PWRvY3VtZW50LmJvZHl8fHQ9PT13aW5kb3d8fHQ9PT1kb2N1bWVudHx8dCBpbnN0YW5jZW9mIEhUTUxNZWRpYUVsZW1lbnQpJiZhcigoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8sYSl9KX1mdW5jdGlvbiBnaShlLHQsbil7KHRbdWldPz89e30pW2VdPW59ZnVuY3Rpb24gX2koZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZGkuYWRkKGVbdF0pO2Zvcih2YXIgbiBvZiBmaSluKGUpfXZhciB2aT1udWxsO2Z1bmN0aW9uIHlpKGUpe3ZhciB0PXRoaXMsbj10Lm93bmVyRG9jdW1lbnQscj1lLnR5cGUsaT1lLmNvbXBvc2VkUGF0aD8uKCl8fFtdLGE9aVswXXx8ZS50YXJnZXQ7dmk9ZTt2YXIgbz0wLHM9dmk9PT1lJiZlW3VpXTtpZihzKXt2YXIgYz1pLmluZGV4T2Yocyk7aWYoYyE9PS0xJiYodD09PWRvY3VtZW50fHx0PT09d2luZG93KSl7ZVt1aV09dDtyZXR1cm59dmFyIGw9aS5pbmRleE9mKHQpO2lmKGw9PT0tMSlyZXR1cm47Yzw9bCYmKG89Yyl9aWYoYT1pW29dfHxlLnRhcmdldCxhIT09dCl7ZyhlLGBjdXJyZW50VGFyZ2V0YCx7Y29uZmlndXJhYmxlOiEwLGdldCgpe3JldHVybiBhfHxufX0pO3ZhciB1PUYsZD1JO01yKG51bGwpLE5yKG51bGwpO3RyeXtmb3IodmFyIGYscD1bXTthIT09bnVsbDspe3ZhciBtPWEuYXNzaWduZWRTbG90fHxhLnBhcmVudE5vZGV8fGEuaG9zdHx8bnVsbDt0cnl7dmFyIGg9YVt1aV0/LltyXTtoIT1udWxsJiYoIWEuZGlzYWJsZWR8fGUudGFyZ2V0PT09YSkmJmguY2FsbChhLGUpfWNhdGNoKGUpe2Y/cC5wdXNoKGUpOmY9ZX1pZihlLmNhbmNlbEJ1YmJsZXx8bT09PXR8fG09PT1udWxsKWJyZWFrO2E9bX1pZihmKXtmb3IobGV0IGUgb2YgcClxdWV1ZU1pY3JvdGFzaygoKT0+e3Rocm93IGV9KTt0aHJvdyBmfX1maW5hbGx5e2VbdWldPXQsZGVsZXRlIGUuY3VycmVudFRhcmdldCxNcih1KSxOcihkKX19fXZhciBiaT1nbG9iYWxUaGlzPy53aW5kb3c/LnRydXN0ZWRUeXBlcyYmZ2xvYmFsVGhpcy53aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeShgc3ZlbHRlLXRydXN0ZWQtaHRtbGAse2NyZWF0ZUhUTUw6ZT0+ZX0pO2Z1bmN0aW9uIHhpKGUpe3JldHVybiBiaT8uY3JlYXRlSFRNTChlKT8/ZX1mdW5jdGlvbiBTaShlKXt2YXIgdD1LbihgdGVtcGxhdGVgKTtyZXR1cm4gdC5pbm5lckhUTUw9eGkoZS5yZXBsYWNlQWxsKGA8IT5gLGA8IS0tLS0+YCkpLHQuY29udGVudH1mdW5jdGlvbiBDaShlLHQpe3ZhciBuPUk7bi5ub2Rlcz09PW51bGwmJihuLm5vZGVzPXtzdGFydDplLGVuZDp0LGE6bnVsbCx0Om51bGx9KX1mdW5jdGlvbiB3aShlLHQpe3ZhciBuPSh0JjEpIT0wLHI9KHQmMikhPTAsaSxhPSFlLnN0YXJ0c1dpdGgoYDwhPmApO3JldHVybigpPT57aWYoQylyZXR1cm4gQ2kodyxudWxsKSx3O2k9PT12b2lkIDAmJihpPVNpKGE/ZTpgPCE+YCtlKSxufHwoaT1OKGkpKSk7dmFyIHQ9cnx8Rm4/ZG9jdW1lbnQuaW1wb3J0Tm9kZShpLCEwKTppLmNsb25lTm9kZSghMCk7aWYobil7dmFyIG89Tih0KSxzPXQubGFzdENoaWxkO0NpKG8scyl9ZWxzZSBDaSh0LHQpO3JldHVybiB0fX1mdW5jdGlvbiBUaShlLHQsbj1gc3ZnYCl7dmFyIHI9IWUuc3RhcnRzV2l0aChgPCE+YCksaT0odCYxKSE9MCxhPWA8JHtufT4ke3I/ZTpgPCE+YCtlfTwvJHtufT5gLG87cmV0dXJuKCk9PntpZihDKXJldHVybiBDaSh3LG51bGwpLHc7aWYoIW8pe3ZhciBlPU4oU2koYSkpO2lmKGkpZm9yKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO04oZSk7KW8uYXBwZW5kQ2hpbGQoTihlKSk7ZWxzZSBvPU4oZSl9dmFyIHQ9by5jbG9uZU5vZGUoITApO2lmKGkpe3ZhciBuPU4odCkscj10Lmxhc3RDaGlsZDtDaShuLHIpfWVsc2UgQ2kodCx0KTtyZXR1cm4gdH19ZnVuY3Rpb24gRWkoZSx0KXtyZXR1cm4gVGkoZSx0LGBzdmdgKX1mdW5jdGlvbiBEaShlPWBgKXtpZighQyl7dmFyIHQ9em4oZStgYCk7cmV0dXJuIENpKHQsdCksdH12YXIgbj13O3JldHVybiBuLm5vZGVUeXBlPT09Mz9KbihuKToobi5iZWZvcmUobj16bigpKSxUKG4pKSxDaShuLG4pLG59ZnVuY3Rpb24gT2koKXtpZihDKXJldHVybiBDaSh3LG51bGwpLHc7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChgYCksbj16bigpO3JldHVybiBlLmFwcGVuZCh0LG4pLENpKHQsbiksZX1mdW5jdGlvbiBraShlLHQpe2lmKEMpe3ZhciBuPUk7KCEobi5mJjMyNzY4KXx8bi5ub2Rlcy5lbmQ9PT1udWxsKSYmKG4ubm9kZXMuZW5kPXcpLFllKCk7cmV0dXJufWUhPT1udWxsJiZlLmJlZm9yZSh0KX12YXIgQWk9ITA7ZnVuY3Rpb24gamkoZSx0KXt2YXIgbj10PT1udWxsP2BgOnR5cGVvZiB0PT1gb2JqZWN0YD9gJHt0fWA6dDtuIT09KGUuX190Pz89ZS5ub2RlVmFsdWUpJiYoZS5fX3Q9bixlLm5vZGVWYWx1ZT1gJHtufWApfWZ1bmN0aW9uIE1pKGUsdCl7cmV0dXJuIFBpKGUsdCl9dmFyIE5pPW5ldyBNYXA7ZnVuY3Rpb24gUGkoZSx7dGFyZ2V0OnQsYW5jaG9yOm4scHJvcHM6cj17fSxldmVudHM6aSxjb250ZXh0OmEsaW50cm86bz0hMCx0cmFuc2Zvcm1FcnJvcjpzfSl7Um4oKTt2YXIgYz12b2lkIDAsbD1scigoKT0+e3ZhciBsPW4/P3QuYXBwZW5kQ2hpbGQoem4oKSk7cm4obCx7cGVuZGluZzooKT0+e319LHQ9PntsdCh7fSk7dmFyIG49RTtpZihhJiYobi5jPWEpLGkmJihyLiQkZXZlbnRzPWkpLEMmJkNpKHQsbnVsbCksQWk9byxjPWUodCxyKXx8e30sQWk9ITAsQyYmKEkubm9kZXMuZW5kPXcsdz09PW51bGx8fHcubm9kZVR5cGUhPT04fHx3LmRhdGEhPT1gXWApKXRocm93IEdlKCksQmU7dXQoKX0scyk7dmFyIHU9bmV3IFNldCxkPWU9Pntmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtpZighdS5oYXMocikpe3UuYWRkKHIpO3ZhciBpPWxpKHIpO2ZvcihsZXQgZSBvZlt0LGRvY3VtZW50XSl7dmFyIGE9TmkuZ2V0KGUpO2E9PT12b2lkIDAmJihhPW5ldyBNYXAsTmkuc2V0KGUsYSkpO3ZhciBvPWEuZ2V0KHIpO289PT12b2lkIDA/KGUuYWRkRXZlbnRMaXN0ZW5lcihyLHlpLHtwYXNzaXZlOml9KSxhLnNldChyLDEpKTphLnNldChyLG8rMSl9fX19O3JldHVybiBkKGgoZGkpKSxmaS5hZGQoZCksKCk9Pntmb3IodmFyIGUgb2YgdSlmb3IobGV0IG4gb2ZbdCxkb2N1bWVudF0pe3ZhciByPU5pLmdldChuKSxpPXIuZ2V0KGUpOy0taT09MD8obi5yZW1vdmVFdmVudExpc3RlbmVyKGUseWkpLHIuZGVsZXRlKGUpLHIuc2l6ZT09PTAmJk5pLmRlbGV0ZShuKSk6ci5zZXQoZSxpKX1maS5kZWxldGUoZCksbCE9PW4mJmwucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQobCl9fSk7cmV0dXJuIEZpLnNldChjLGwpLGN9dmFyIEZpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIElpKGUsdCl7bGV0IG49RmkuZ2V0KGUpO3JldHVybiBuPyhGaS5kZWxldGUoZSksbih0KSk6UHJvbWlzZS5yZXNvbHZlKCl9dmFyIExpPWNsYXNze2FuY2hvcjsjZT1uZXcgTWFwOyN0PW5ldyBNYXA7I249bmV3IE1hcDsjcj1uZXcgU2V0OyNpPSEwO2NvbnN0cnVjdG9yKGUsdD0hMCl7dGhpcy5hbmNob3I9ZSx0aGlzLiNpPXR9I2E9ZT0+e2lmKHRoaXMuI2UuaGFzKGUpKXt2YXIgdD10aGlzLiNlLmdldChlKSxuPXRoaXMuI3QuZ2V0KHQpO2lmKG4pd3IobiksdGhpcy4jci5kZWxldGUodCk7ZWxzZXt2YXIgcj10aGlzLiNuLmdldCh0KTtyJiYodGhpcy4jdC5zZXQodCxyLmVmZmVjdCksdGhpcy4jbi5kZWxldGUodCksci5mcmFnbWVudC5sYXN0Q2hpbGQucmVtb3ZlKCksdGhpcy5hbmNob3IuYmVmb3JlKHIuZnJhZ21lbnQpLG49ci5lZmZlY3QpfWZvcihsZXRbdCxuXW9mIHRoaXMuI2Upe2lmKHRoaXMuI2UuZGVsZXRlKHQpLHQ9PT1lKWJyZWFrO2xldCByPXRoaXMuI24uZ2V0KG4pO3ImJihQKHIuZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShuKSl9Zm9yKGxldFtlLHJdb2YgdGhpcy4jdCl7aWYoZT09PXR8fHRoaXMuI3IuaGFzKGUpKWNvbnRpbnVlO2xldCBpPSgpPT57aWYoQXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKS5pbmNsdWRlcyhlKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO0VyKHIsdCksdC5hcHBlbmQoem4oKSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OnIsZnJhZ21lbnQ6dH0pfWVsc2UgUChyKTt0aGlzLiNyLmRlbGV0ZShlKSx0aGlzLiN0LmRlbGV0ZShlKX07dGhpcy4jaXx8IW4/KHRoaXMuI3IuYWRkKGUpLFNyKHIsaSwhMSkpOmkoKX19fTsjbz1lPT57dGhpcy4jZS5kZWxldGUoZSk7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKTtmb3IobGV0W2Usbl1vZiB0aGlzLiNuKXQuaW5jbHVkZXMoZSl8fChQKG4uZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShlKSl9O2Vuc3VyZShlLHQpe3ZhciBuPWoscj1HbigpO2lmKHQmJiF0aGlzLiN0LmhhcyhlKSYmIXRoaXMuI24uaGFzKGUpKWlmKHIpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXpuKCk7aS5hcHBlbmQoYSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OmdyKCgpPT50KGEpKSxmcmFnbWVudDppfSl9ZWxzZSB0aGlzLiN0LnNldChlLGdyKCgpPT50KHRoaXMuYW5jaG9yKSkpO2lmKHRoaXMuI2Uuc2V0KG4sZSkscil7Zm9yKGxldFt0LHJdb2YgdGhpcy4jdCl0PT09ZT9uLnVuc2tpcF9lZmZlY3Qocik6bi5za2lwX2VmZmVjdChyKTtmb3IobGV0W3Qscl1vZiB0aGlzLiNuKXQ9PT1lP24udW5za2lwX2VmZmVjdChyLmVmZmVjdCk6bi5za2lwX2VmZmVjdChyLmVmZmVjdCk7bi5vbmNvbW1pdCh0aGlzLiNhKSxuLm9uZGlzY2FyZCh0aGlzLiNvKX1lbHNlIEMmJih0aGlzLmFuY2hvcj13KSx0aGlzLiNhKG4pfX07ZnVuY3Rpb24gUmkoZSx0LG49ITEpe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpLGE9bj9tZTowO2Z1bmN0aW9uIG8oZSx0KXtpZihDKXt2YXIgbj0kZShyKTtpZihlIT09cGFyc2VJbnQobi5zdWJzdHJpbmcoMSkpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSx0KSxKZSghMCk7cmV0dXJufX1pLmVuc3VyZShlLHQpfW1yKCgpPT57dmFyIGU9ITE7dCgodCxuPTApPT57ZT0hMCxvKG4sdCl9KSxlfHxvKC0xLG51bGwpfSxhKX12YXIgemk9U3ltYm9sKGBOYU5gKTtmdW5jdGlvbiBCaShlLHQsbil7QyYmWWUoKTt2YXIgcj1uZXcgTGkoZSksaT0hZHQoKTttcigoKT0+e3ZhciBlPXQoKTtlIT09ZSYmKGU9emkpLGkmJnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmKGU9e30pLHIuZW5zdXJlKGUsbil9KX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIEhpKGUsdCxuKXtmb3IodmFyIHI9W10saT10Lmxlbmd0aCxhLG89dC5sZW5ndGgscz0wO3M8aTtzKyspe2xldCBuPXRbc107U3IobiwoKT0+e2lmKGEpe2lmKGEucGVuZGluZy5kZWxldGUobiksYS5kb25lLmFkZChuKSxhLnBlbmRpbmcuc2l6ZT09PTApe3ZhciB0PWUub3V0cm9ncm91cHM7VWkoZSxoKGEuZG9uZSkpLHQuZGVsZXRlKGEpLHQuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfX1lbHNlIC0tb30sITEpfWlmKG89PT0wKXt2YXIgYz1yLmxlbmd0aD09PTAmJm4hPT1udWxsO2lmKGMpe3ZhciBsPW4sdT1sLnBhcmVudE5vZGU7V24odSksdS5hcHBlbmQobCksZS5pdGVtcy5jbGVhcigpfVVpKGUsdCwhYyl9ZWxzZSBhPXtwZW5kaW5nOm5ldyBTZXQodCksZG9uZTpuZXcgU2V0fSwoZS5vdXRyb2dyb3Vwcz8/PW5ldyBTZXQpLmFkZChhKX1mdW5jdGlvbiBVaShlLHQsbj0hMCl7dmFyIHI7aWYoZS5wZW5kaW5nLnNpemU+MCl7cj1uZXcgU2V0O2ZvcihsZXQgdCBvZiBlLnBlbmRpbmcudmFsdWVzKCkpZm9yKGxldCBuIG9mIHQpci5hZGQoZS5pdGVtcy5nZXQobikuZSl9Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07cj8uaGFzKGEpPyhhLmZ8PV9lLEVyKGEsZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSk6UCh0W2ldLG4pfX12YXIgV2k7ZnVuY3Rpb24gR2koZSx0LG4scixpLGE9bnVsbCl7dmFyIG89ZSxzPW5ldyBNYXA7aWYodCY0KXt2YXIgYz1lO289Qz9UKE4oYykpOmMuYXBwZW5kQ2hpbGQoem4oKSl9QyYmWWUoKTt2YXIgbD1udWxsLHU9cG4oKCk9Pnt2YXIgZT1uKCk7cmV0dXJuIGYoZSk/ZTplPT1udWxsP1tdOmgoZSl9KSxkLHA9bmV3IE1hcCxtPSEwO2Z1bmN0aW9uIGcoZSl7di5lZmZlY3QuZiYxNjM4NHx8KHYucGVuZGluZy5kZWxldGUoZSksdi5mYWxsYmFjaz1sLHFpKHYsZCxvLHQsciksbCE9PW51bGwmJihkLmxlbmd0aD09PTA/bC5mJjMzNTU0NDMyPyhsLmZePV9lLFlpKGwsbnVsbCxvKSk6d3IobCk6U3IobCwoKT0+e2w9bnVsbH0pKSl9ZnVuY3Rpb24gXyhlKXt2LnBlbmRpbmcuZGVsZXRlKGUpfXZhciB2PXtlZmZlY3Q6bXIoKCk9PntkPVIodSk7dmFyIGU9ZC5sZW5ndGg7bGV0IGM9ITE7QyYmJGUobyk9PT1gWyFgIT0oZT09PTApJiYobz1RZSgpLFQobyksSmUoITEpLGM9ITApO2Zvcih2YXIgZj1uZXcgU2V0LGg9aix2PUduKCkseT0wO3k8ZTt5Kz0xKXtDJiZ3Lm5vZGVUeXBlPT09OCYmdy5kYXRhPT09YF1gJiYobz13LGM9ITAsSmUoITEpKTt2YXIgZWU9ZFt5XSxiPXIoZWUseSksdGU9bT9udWxsOnMuZ2V0KGIpO3RlPyh0ZS52JiZFbih0ZS52LGVlKSx0ZS5pJiZFbih0ZS5pLHkpLHYmJmgudW5za2lwX2VmZmVjdCh0ZS5lKSk6KHRlPUppKHMsbT9vOldpPz89em4oKSxlZSxiLHksaSx0LG4pLG18fCh0ZS5lLmZ8PV9lKSxzLnNldChiLHRlKSksZi5hZGQoYil9aWYoZT09PTAmJmEmJiFsJiYobT9sPWdyKCgpPT5hKG8pKToobD1ncigoKT0+YShXaT8/PXpuKCkpKSxsLmZ8PV9lKSksZT5mLnNpemUmJmtlKGBgLGBgLGBgKSxDJiZlPjAmJlQoUWUoKSksIW0paWYocC5zZXQoaCxmKSx2KXtmb3IobGV0W2UsdF1vZiBzKWYuaGFzKGUpfHxoLnNraXBfZWZmZWN0KHQuZSk7aC5vbmNvbW1pdChnKSxoLm9uZGlzY2FyZChfKX1lbHNlIGcoaCk7YyYmSmUoITApLFIodSl9KSxmbGFnczp0LGl0ZW1zOnMscGVuZGluZzpwLG91dHJvZ3JvdXBzOm51bGwsZmFsbGJhY2s6bH07bT0hMSxDJiYobz13KX1mdW5jdGlvbiBLaShlKXtmb3IoO2UhPT1udWxsJiYhKGUuZiYzMik7KWU9ZS5uZXh0O3JldHVybiBlfWZ1bmN0aW9uIHFpKGUsdCxuLHIsaSl7dmFyIGE9KHImOCkhPTAsbz10Lmxlbmd0aCxzPWUuaXRlbXMsYz1LaShlLmVmZmVjdC5maXJzdCksbCx1PW51bGwsZCxmPVtdLHA9W10sbSxnLF8sdjtpZihhKWZvcih2PTA7djxvO3YrPTEpbT10W3ZdLGc9aShtLHYpLF89cy5nZXQoZykuZSxfLmYmMzM1NTQ0MzJ8fChfLm5vZGVzPy5hPy5tZWFzdXJlKCksKGQ/Pz1uZXcgU2V0KS5hZGQoXykpO2Zvcih2PTA7djxvO3YrPTEpe2lmKG09dFt2XSxnPWkobSx2KSxfPXMuZ2V0KGcpLmUsZS5vdXRyb2dyb3VwcyE9PW51bGwpZm9yKGxldCB0IG9mIGUub3V0cm9ncm91cHMpdC5wZW5kaW5nLmRlbGV0ZShfKSx0LmRvbmUuZGVsZXRlKF8pO2lmKF8uZiY4MTkyJiYod3IoXyksYSYmKF8ubm9kZXM/LmE/LnVuZml4KCksKGQ/Pz1uZXcgU2V0KS5kZWxldGUoXykpKSxfLmYmMzM1NTQ0MzIpaWYoXy5mXj1fZSxfPT09YylZaShfLG51bGwsbik7ZWxzZXt2YXIgeT11P3UubmV4dDpjO189PT1lLmVmZmVjdC5sYXN0JiYoZS5lZmZlY3QubGFzdD1fLnByZXYpLF8ucHJldiYmKF8ucHJldi5uZXh0PV8ubmV4dCksXy5uZXh0JiYoXy5uZXh0LnByZXY9Xy5wcmV2KSxYaShlLHUsXyksWGkoZSxfLHkpLFlpKF8seSxuKSx1PV8sZj1bXSxwPVtdLGM9S2kodS5uZXh0KTtjb250aW51ZX1pZihfIT09Yyl7aWYobCE9PXZvaWQgMCYmbC5oYXMoXykpe2lmKGYubGVuZ3RoPHAubGVuZ3RoKXt2YXIgZWU9cFswXSxiO3U9ZWUucHJldjt2YXIgdGU9ZlswXSxuZT1mW2YubGVuZ3RoLTFdO2ZvcihiPTA7YjxmLmxlbmd0aDtiKz0xKVlpKGZbYl0sZWUsbik7Zm9yKGI9MDtiPHAubGVuZ3RoO2IrPTEpbC5kZWxldGUocFtiXSk7WGkoZSx0ZS5wcmV2LG5lLm5leHQpLFhpKGUsdSx0ZSksWGkoZSxuZSxlZSksYz1lZSx1PW5lLC0tdixmPVtdLHA9W119ZWxzZSBsLmRlbGV0ZShfKSxZaShfLGMsbiksWGkoZSxfLnByZXYsXy5uZXh0KSxYaShlLF8sdT09PW51bGw/ZS5lZmZlY3QuZmlyc3Q6dS5uZXh0KSxYaShlLHUsXyksdT1fO2NvbnRpbnVlfWZvcihmPVtdLHA9W107YyE9PW51bGwmJmMhPT1fOykobD8/PW5ldyBTZXQpLmFkZChjKSxwLnB1c2goYyksYz1LaShjLm5leHQpO2lmKGM9PT1udWxsKWNvbnRpbnVlfV8uZiYzMzU1NDQzMnx8Zi5wdXNoKF8pLHU9XyxjPUtpKF8ubmV4dCl9aWYoZS5vdXRyb2dyb3VwcyE9PW51bGwpe2ZvcihsZXQgdCBvZiBlLm91dHJvZ3JvdXBzKXQucGVuZGluZy5zaXplPT09MCYmKFVpKGUsaCh0LmRvbmUpKSxlLm91dHJvZ3JvdXBzPy5kZWxldGUodCkpO2Uub3V0cm9ncm91cHMuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfWlmKGMhPT1udWxsfHxsIT09dm9pZCAwKXt2YXIgeD1bXTtpZihsIT09dm9pZCAwKWZvcihfIG9mIGwpXy5mJjgxOTJ8fHgucHVzaChfKTtmb3IoO2MhPT1udWxsOykhKGMuZiY4MTkyKSYmYyE9PWUuZmFsbGJhY2smJngucHVzaChjKSxjPUtpKGMubmV4dCk7dmFyIHJlPXgubGVuZ3RoO2lmKHJlPjApe3ZhciBpZT1yJjQmJm89PT0wP246bnVsbDtpZihhKXtmb3Iodj0wO3Y8cmU7dis9MSl4W3ZdLm5vZGVzPy5hPy5tZWFzdXJlKCk7Zm9yKHY9MDt2PHJlO3YrPTEpeFt2XS5ub2Rlcz8uYT8uZml4KCl9SGkoZSx4LGllKX19YSYmZ3QoKCk9PntpZihkIT09dm9pZCAwKWZvcihfIG9mIGQpXy5ub2Rlcz8uYT8uYXBwbHkoKX0pfWZ1bmN0aW9uIEppKGUsdCxuLHIsaSxhLG8scyl7dmFyIGM9byYxP28mMTY/U24obik6d24obiwhMSwhMSk6bnVsbCxsPW8mMj9TbihpKTpudWxsO3JldHVybnt2OmMsaTpsLGU6Z3IoKCk9PihhKHQsYz8/bixsPz9pLHMpLCgpPT57ZS5kZWxldGUocil9KSl9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihlLm5vZGVzKWZvcih2YXIgcj1lLm5vZGVzLnN0YXJ0LGk9ZS5ub2Rlcy5lbmQsYT10JiYhKHQuZiYzMzU1NDQzMik/dC5ub2Rlcy5zdGFydDpuO3IhPT1udWxsOyl7dmFyIG89Qm4ocik7aWYoYS5iZWZvcmUocikscj09PWkpcmV0dXJuO3I9b319ZnVuY3Rpb24gWGkoZSx0LG4pe3Q9PT1udWxsP2UuZWZmZWN0LmZpcnN0PW46dC5uZXh0PW4sbj09PW51bGw/ZS5lZmZlY3QubGFzdD10Om4ucHJldj10fWZ1bmN0aW9uIFppKGUsdCxuPSExLHI9ITEsaT0hMSxhPSExKXt2YXIgbz1lLHM9YGA7aWYobil7dmFyIGM9ZTtDJiYobz1UKE4oYykpKX1wcigoKT0+e3ZhciBlPUk7aWYocz09PShzPXQoKT8/YGApKXtDJiZZZSgpO3JldHVybn1pZihuJiYhQyl7ZS5ub2Rlcz1udWxsLGMuaW5uZXJIVE1MPXMscyE9PWBgJiZDaShOKGMpLGMubGFzdENoaWxkKTtyZXR1cm59aWYoZS5ub2RlcyE9PW51bGwmJihicihlLm5vZGVzLnN0YXJ0LGUubm9kZXMuZW5kKSxlLm5vZGVzPW51bGwpLHMhPT1gYCl7aWYoQyl7Zm9yKHZhciBhPXcuZGF0YSxsPVllKCksdT1sO2whPT1udWxsJiYobC5ub2RlVHlwZSE9PTh8fGwuZGF0YSE9PWBgKTspdT1sLGw9Qm4obCk7aWYobD09PW51bGwpdGhyb3cgR2UoKSxCZTtDaSh3LHUpLG89VChsKTtyZXR1cm59dmFyIGQ9S24ocj9gc3ZnYDppP2BtYXRoYDpgdGVtcGxhdGVgLHI/SGU6aT9VZTp2b2lkIDApO2QuaW5uZXJIVE1MPXM7dmFyIGY9cnx8aT9kOmQuY29udGVudDtpZihDaShOKGYpLGYubGFzdENoaWxkKSxyfHxpKWZvcig7TihmKTspby5iZWZvcmUoTihmKSk7ZWxzZSBvLmJlZm9yZShmKX19KX1mdW5jdGlvbiBRaShlLHQsLi4ubil7dmFyIHI9bmV3IExpKGUpO21yKCgpPT57bGV0IGU9dCgpPz9udWxsO3IuZW5zdXJlKGUsZSYmKHQ9PmUodCwuLi5uKSkpfSxtZSl9ZnVuY3Rpb24gJGkoZSx0LG4pe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpO21yKCgpPT57dmFyIGU9dCgpPz9udWxsO2lmKEMmJiRlKHIpPT09YFtgIT0oZSE9PW51bGwpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSxlJiYodD0+bih0LGUpKSksSmUoITApO3JldHVybn1pLmVuc3VyZShlLGUmJih0PT5uKHQsZSkpKX0sbWUpfXZhciBlYT0oKT0+cGVyZm9ybWFuY2Uubm93KCksdGE9e3RpY2s6ZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpLG5vdzooKT0+ZWEoKSx0YXNrczpuZXcgU2V0fTtmdW5jdGlvbiBuYSgpe2xldCBlPXRhLm5vdygpO3RhLnRhc2tzLmZvckVhY2godD0+e3QuYyhlKXx8KHRhLnRhc2tzLmRlbGV0ZSh0KSx0LmYoKSl9KSx0YS50YXNrcy5zaXplIT09MCYmdGEudGljayhuYSl9ZnVuY3Rpb24gcmEoZSl7bGV0IHQ7cmV0dXJuIHRhLnRhc2tzLnNpemU9PT0wJiZ0YS50aWNrKG5hKSx7cHJvbWlzZTpuZXcgUHJvbWlzZShuPT57dGEudGFza3MuYWRkKHQ9e2M6ZSxmOm59KX0pLGFib3J0KCl7dGEudGFza3MuZGVsZXRlKHQpfX19ZnVuY3Rpb24gaWEoZSx0KXskbigoKT0+e2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQodCkpfSl9ZnVuY3Rpb24gYWEoZSl7aWYoZT09PWBmbG9hdGApcmV0dXJuYGNzc0Zsb2F0YDtpZihlPT09YG9mZnNldGApcmV0dXJuYGNzc09mZnNldGA7aWYoZS5zdGFydHNXaXRoKGAtLWApKXJldHVybiBlO2xldCB0PWUuc3BsaXQoYC1gKTtyZXR1cm4gdC5sZW5ndGg9PT0xP3RbMF06dFswXSt0LnNsaWNlKDEpLm1hcChlPT5lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSkuam9pbihgYCl9ZnVuY3Rpb24gb2EoZSl7bGV0IHQ9e30sbj1lLnNwbGl0KGA7YCk7Zm9yKGxldCBlIG9mIG4pe2xldFtuLHJdPWUuc3BsaXQoYDpgKTtpZighbnx8cj09PXZvaWQgMClicmVhaztsZXQgaT1hYShuLnRyaW0oKSk7dFtpXT1yLnRyaW0oKX1yZXR1cm4gdH12YXIgc2E9ZT0+ZTtmdW5jdGlvbiBjYShlLHQsbixyKXt2YXIgaT0oZSYxKSE9MCxhPShlJjIpIT0wLG89aSYmYSxzPShlJjQpIT0wLGM9bz9gYm90aGA6aT9gaW5gOmBvdXRgLGwsdT10LmluZXJ0LGQ9dC5zdHlsZS5vdmVyZmxvdyxmLHA7ZnVuY3Rpb24gbSgpe3JldHVybiAkbigoKT0+bD8/PW4oKSh0LHI/LigpPz97fSx7ZGlyZWN0aW9uOmN9KSl9dmFyIGg9e2lzX2dsb2JhbDpzLGluKCl7aWYodC5pbmVydD11LCFpKXtwPy5hYm9ydCgpLHA/LnJlc2V0Py4oKTtyZXR1cm59YXx8Zj8uYWJvcnQoKSxmPWxhKHQsbSgpLHAsMSwoKT0+e2lhKHQsYGludHJvc3RhcnRgKX0sKCk9PntpYSh0LGBpbnRyb2VuZGApLGY/LmFib3J0KCksZj1sPXZvaWQgMCx0LnN0eWxlLm92ZXJmbG93PWR9KX0sb3V0KGUpe2lmKCFhKXtlPy4oKSxsPXZvaWQgMDtyZXR1cm59dC5pbmVydD0hMCxwPWxhKHQsbSgpLGYsMCwoKT0+e2lhKHQsYG91dHJvc3RhcnRgKX0sKCk9PntpYSh0LGBvdXRyb2VuZGApLGU/LigpfSl9LHN0b3A6KCk9PntmPy5hYm9ydCgpLHA/LmFib3J0KCl9fSxnPUk7aWYoKGcubm9kZXMudD8/PVtdKS5wdXNoKGgpLGkmJkFpKXt2YXIgXz1zO2lmKCFfKXtmb3IodmFyIHY9Zy5wYXJlbnQ7diYmdi5mJjY1NTM2Oylmb3IoOyh2PXYucGFyZW50KSYmISh2LmYmMTYpOyk7Xz0hdnx8KHYuZiYzMjc2OCkhPTB9XyYmdXIoKCk9PnskcigoKT0+aC5pbigpKX0pfX1mdW5jdGlvbiBsYShlLHQsbixyLGksYSl7dmFyIG89cj09PTE7aWYobmUodCkpe3ZhciBzLGM9ITE7cmV0dXJuIGd0KCgpPT57Y3x8KHM9bGEoZSx0KHtkaXJlY3Rpb246bz9gaW5gOmBvdXRgfSksbixyLGksYSkpfSkse2Fib3J0OigpPT57Yz0hMCxzPy5hYm9ydCgpfSxkZWFjdGl2YXRlOigpPT5zLmRlYWN0aXZhdGUoKSxyZXNldDooKT0+cy5yZXNldCgpLHQ6KCk9PnMudCgpfX1pZihuPy5kZWFjdGl2YXRlKCksIXQ/LmR1cmF0aW9uJiYhdD8uZGVsYXkpcmV0dXJuIGkoKSxhKCkse2Fib3J0OngsZGVhY3RpdmF0ZTp4LHJlc2V0OngsdDooKT0+cn07bGV0e2RlbGF5Omw9MCxjc3M6dSx0aWNrOmQsZWFzaW5nOmY9c2F9PXQ7dmFyIHA9W107aWYobyYmbj09PXZvaWQgMCYmKGQmJmQoMCwxKSx1KSl7dmFyIG09b2EodSgwLDEpKTtwLnB1c2gobSxtKX12YXIgaD0oKT0+MS1yLGc9ZS5hbmltYXRlKHAse2R1cmF0aW9uOmwsZmlsbDpgZm9yd2FyZHNgfSk7cmV0dXJuIGcub25maW5pc2g9KCk9PntnLmNhbmNlbCgpLGkoKTt2YXIgbz1uPy50KCk/PzEtcjtuPy5hYm9ydCgpO3ZhciBzPXItbyxjPXQuZHVyYXRpb24qTWF0aC5hYnMocyksbD1bXTtpZihjPjApe3ZhciBwPSExO2lmKHUpZm9yKHZhciBtPU1hdGguY2VpbChjLygxZTMvNjApKSxfPTA7Xzw9bTtfKz0xKXt2YXIgdj1vK3MqZihfL20pLHk9b2EodSh2LDEtdikpO2wucHVzaCh5KSxwfHw9eS5vdmVyZmxvdz09PWBoaWRkZW5gfXAmJihlLnN0eWxlLm92ZXJmbG93PWBoaWRkZW5gKSxoPSgpPT57dmFyIGU9Zy5jdXJyZW50VGltZTtyZXR1cm4gbytzKmYoZS9jKX0sZCYmcmEoKCk9PntpZihnLnBsYXlTdGF0ZSE9PWBydW5uaW5nYClyZXR1cm4hMTt2YXIgZT1oKCk7cmV0dXJuIGQoZSwxLWUpLCEwfSl9Zz1lLmFuaW1hdGUobCx7ZHVyYXRpb246YyxmaWxsOmBmb3J3YXJkc2B9KSxnLm9uZmluaXNoPSgpPT57aD0oKT0+cixkPy4ociwxLXIpLGEoKX19LHthYm9ydDooKT0+e2cmJihnLmNhbmNlbCgpLGcuZWZmZWN0PW51bGwsZy5vbmZpbmlzaD14KX0sZGVhY3RpdmF0ZTooKT0+e2E9eH0scmVzZXQ6KCk9PntyPT09MCYmZD8uKDEsMCl9LHQ6KCk9PmgoKX19ZnVuY3Rpb24gdWEoZSx0LG4pe3VyKCgpPT57dmFyIHI9JHIoKCk9PnQoZSxuPy4oKSl8fHt9KTtpZihuJiZyPy51cGRhdGUpe3ZhciBpPSExLGE9e307ZnIoKCk9Pnt2YXIgZT1uKCk7ZWkoZSksaSYmdHQoYSxlKSYmKGE9ZSxyLnVwZGF0ZShlKSl9KSxpPSEwfWlmKHI/LmRlc3Ryb3kpcmV0dXJuKCk9PnIuZGVzdHJveSgpfSl9ZnVuY3Rpb24gZGEoZSx0KXt2YXIgbj12b2lkIDAscjtocigoKT0+e24hPT0obj10KCkpJiYociYmPShQKHIpLG51bGwpLG4mJihyPWdyKCgpPT57dXIoKCk9Pm4oZSkpfSkpKX0pfWZ1bmN0aW9uIGZhKGUpe3ZhciB0LG4scj1gYDtpZih0eXBlb2YgZT09YHN0cmluZ2B8fHR5cGVvZiBlPT1gbnVtYmVyYClyKz1lO2Vsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgKWlmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciBpPWUubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKyllW3RdJiYobj1mYShlW3RdKSkmJihyJiYocis9YCBgKSxyKz1uKX1lbHNlIGZvcihuIGluIGUpZVtuXSYmKHImJihyKz1gIGApLHIrPW4pO3JldHVybiByfWZ1bmN0aW9uIHBhKCl7Zm9yKHZhciBlLHQsbj0wLHI9YGAsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspKGU9YXJndW1lbnRzW25dKSYmKHQ9ZmEoZSkpJiYociYmKHIrPWAgYCkscis9dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gbWEoZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YD9wYShlKTplPz9gYH12YXIgaGE9Wy4uLmAgCQpcclxmXHhBMFx277u/YF07ZnVuY3Rpb24gZ2EoZSx0LG4pe3ZhciByPWU9PW51bGw/YGA6YGArZTtpZih0JiYocj1yP3IrYCBgK3Q6dCksbil7Zm9yKHZhciBpIG9mIE9iamVjdC5rZXlzKG4pKWlmKG5baV0pcj1yP3IrYCBgK2k6aTtlbHNlIGlmKHIubGVuZ3RoKWZvcih2YXIgYT1pLmxlbmd0aCxvPTA7KG89ci5pbmRleE9mKGksbykpPj0wOyl7dmFyIHM9bythOyhvPT09MHx8aGEuaW5jbHVkZXMocltvLTFdKSkmJihzPT09ci5sZW5ndGh8fGhhLmluY2x1ZGVzKHJbc10pKT9yPShvPT09MD9gYDpyLnN1YnN0cmluZygwLG8pKStyLnN1YnN0cmluZyhzKzEpOm89c319cmV0dXJuIHI9PT1gYD9udWxsOnJ9ZnVuY3Rpb24gX2EoZSx0PSExKXt2YXIgbj10P2AgIWltcG9ydGFudDtgOmA7YCxyPWBgO2Zvcih2YXIgaSBvZiBPYmplY3Qua2V5cyhlKSl7dmFyIGE9ZVtpXTthIT1udWxsJiZhIT09YGAmJihyKz1gIGAraStgOiBgK2Erbil9cmV0dXJuIHJ9ZnVuY3Rpb24gdmEoZSl7cmV0dXJuIGVbMF0hPT1gLWB8fGVbMV0hPT1gLWA/ZS50b0xvd2VyQ2FzZSgpOmV9ZnVuY3Rpb24geWEoZSx0KXtpZih0KXt2YXIgbj1gYCxyLGk7aWYoQXJyYXkuaXNBcnJheSh0KT8ocj10WzBdLGk9dFsxXSk6cj10LGUpe2U9U3RyaW5nKGUpLnJlcGxhY2VBbGwoL1xzKlwvXCouKj9cKlwvXHMqL2csYGApLnRyaW0oKTt2YXIgYT0hMSxvPTAscz0hMSxjPVtdO3ImJmMucHVzaCguLi5PYmplY3Qua2V5cyhyKS5tYXAodmEpKSxpJiZjLnB1c2goLi4uT2JqZWN0LmtleXMoaSkubWFwKHZhKSk7dmFyIGw9MCx1PS0xO2xldCB0PWUubGVuZ3RoO2Zvcih2YXIgZD0wO2Q8dDtkKyspe3ZhciBmPWVbZF07aWYocz9mPT09YC9gJiZlW2QtMV09PT1gKmAmJihzPSExKTphP2E9PT1mJiYoYT0hMSk6Zj09PWAvYCYmZVtkKzFdPT09YCpgP3M9ITA6Zj09PWAiYHx8Zj09PWAnYD9hPWY6Zj09PWAoYD9vKys6Zj09PWApYCYmby0tLCFzJiZhPT09ITEmJm89PT0wKXtpZihmPT09YDpgJiZ1PT09LTEpdT1kO2Vsc2UgaWYoZj09PWA7YHx8ZD09PXQtMSl7aWYodSE9PS0xKXt2YXIgcD12YShlLnN1YnN0cmluZyhsLHUpLnRyaW0oKSk7aWYoIWMuaW5jbHVkZXMocCkpe2YhPT1gO2AmJmQrKzt2YXIgbT1lLnN1YnN0cmluZyhsLGQpLnRyaW0oKTtuKz1gIGArbStgO2B9fWw9ZCsxLHU9LTF9fX19cmV0dXJuIHImJihuKz1fYShyKSksaSYmKG4rPV9hKGksITApKSxuPW4udHJpbSgpLG49PT1gYD9udWxsOm59cmV0dXJuIGU9PW51bGw/bnVsbDpTdHJpbmcoZSl9ZnVuY3Rpb24gYmEoZSx0LG4scixpLGEpe3ZhciBvPWUuX19jbGFzc05hbWU7aWYoQ3x8byE9PW58fG89PT12b2lkIDApe3ZhciBzPWdhKG4scixhKTsoIUN8fHMhPT1lLmdldEF0dHJpYnV0ZShgY2xhc3NgKSkmJihzPT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKGBjbGFzc2ApOnQ/ZS5jbGFzc05hbWU9czplLnNldEF0dHJpYnV0ZShgY2xhc3NgLHMpKSxlLl9fY2xhc3NOYW1lPW59ZWxzZSBpZihhJiZpIT09YSlmb3IodmFyIGMgaW4gYSl7dmFyIGw9ISFhW2NdOyhpPT1udWxsfHxsIT09ISFpW2NdKSYmZS5jbGFzc0xpc3QudG9nZ2xlKGMsbCl9cmV0dXJuIGF9ZnVuY3Rpb24geGEoZSx0PXt9LG4scil7Zm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07dFtpXSE9PWEmJihuW2ldPT1udWxsP2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoaSk6ZS5zdHlsZS5zZXRQcm9wZXJ0eShpLGEscikpfX1mdW5jdGlvbiBTYShlLHQsbixyKXt2YXIgaT1lLl9fc3R5bGU7aWYoQ3x8aSE9PXQpe3ZhciBhPXlhKHQscik7KCFDfHxhIT09ZS5nZXRBdHRyaWJ1dGUoYHN0eWxlYCkpJiYoYT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKTplLnN0eWxlLmNzc1RleHQ9YSksZS5fX3N0eWxlPXR9ZWxzZSByJiYoQXJyYXkuaXNBcnJheShyKT8oeGEoZSxuPy5bMF0sclswXSkseGEoZSxuPy5bMV0sclsxXSxgaW1wb3J0YW50YCkpOnhhKGUsbixyKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ2EoZSx0LG49ITEpe2lmKGUubXVsdGlwbGUpe2lmKHQ9PW51bGwpcmV0dXJuO2lmKCFmKHQpKXJldHVybiBLZSgpO2Zvcih2YXIgciBvZiBlLm9wdGlvbnMpci5zZWxlY3RlZD10LmluY2x1ZGVzKEVhKHIpKTtyZXR1cm59Zm9yKHIgb2YgZS5vcHRpb25zKWlmKE5uKEVhKHIpLHQpKXtyLnNlbGVjdGVkPSEwO3JldHVybn0oIW58fHQhPT12b2lkIDApJiYoZS5zZWxlY3RlZEluZGV4PS0xKX1mdW5jdGlvbiB3YShlKXt2YXIgdD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e0NhKGUsZS5fX3ZhbHVlKX0pO3Qub2JzZXJ2ZShlLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbYHZhbHVlYF19KSxhcigoKT0+e3QuZGlzY29ubmVjdCgpfSl9ZnVuY3Rpb24gVGEoZSx0LG49dCl7dmFyIHI9bmV3IFdlYWtTZXQsaT0hMDtlcihlLGBjaGFuZ2VgLHQ9Pnt2YXIgaT10P2Bbc2VsZWN0ZWRdYDpgOmNoZWNrZWRgLGE7aWYoZS5tdWx0aXBsZSlhPVtdLm1hcC5jYWxsKGUucXVlcnlTZWxlY3RvckFsbChpKSxFYSk7ZWxzZXt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoaSk/P2UucXVlcnlTZWxlY3Rvcihgb3B0aW9uOm5vdChbZGlzYWJsZWRdKWApO2E9byYmRWEobyl9bihhKSxlLl9fdmFsdWU9YSxqIT09bnVsbCYmci5hZGQoail9KSx1cigoKT0+e3ZhciBhPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIG89cnQ/THQ6ajtpZihyLmhhcyhvKSlyZXR1cm59aWYoQ2EoZSxhLGkpLGkmJmE9PT12b2lkIDApe3ZhciBzPWUucXVlcnlTZWxlY3RvcihgOmNoZWNrZWRgKTtzIT09bnVsbCYmKGE9RWEocyksbihhKSl9ZS5fX3ZhbHVlPWEsaT0hMX0pLHdhKGUpfWZ1bmN0aW9uIEVhKGUpe3JldHVybmBfX3ZhbHVlYGluIGU/ZS5fX3ZhbHVlOmUudmFsdWV9dmFyIERhPVN5bWJvbChgY2xhc3NgKSxPYT1TeW1ib2woYHN0eWxlYCksa2E9U3ltYm9sKGBpcyBjdXN0b20gZWxlbWVudGApLEFhPVN5bWJvbChgaXMgaHRtbGApLGphPUVlP2BsaW5rYDpgTElOS2AsTWE9RWU/YGlucHV0YDpgSU5QVVRgLE5hPUVlP2BvcHRpb25gOmBPUFRJT05gLFBhPUVlP2BzZWxlY3RgOmBTRUxFQ1RgLEZhPUVlP2Bwcm9ncmVzc2A6YFBST0dSRVNTYDtmdW5jdGlvbiBJYShlKXtpZihDKXt2YXIgdD0hMSxuPSgpPT57aWYoIXQpe2lmKHQ9ITAsZS5oYXNBdHRyaWJ1dGUoYHZhbHVlYCkpe3ZhciBuPWUudmFsdWU7emEoZSxgdmFsdWVgLG51bGwpLGUudmFsdWU9bn1pZihlLmhhc0F0dHJpYnV0ZShgY2hlY2tlZGApKXt2YXIgcj1lLmNoZWNrZWQ7emEoZSxgY2hlY2tlZGAsbnVsbCksZS5jaGVja2VkPXJ9fX07ZS5fX29uX3I9bixndChuKSxRbigpfX1mdW5jdGlvbiBMYShlLHQpe3ZhciBuPUhhKGUpO24udmFsdWU9PT0obi52YWx1ZT10Pz92b2lkIDApfHxlLnZhbHVlPT09dCYmKHQhPT0wfHxlLm5vZGVOYW1lIT09RmEpfHwoZS52YWx1ZT10Pz9gYCl9ZnVuY3Rpb24gUmEoZSx0KXt0P2UuaGFzQXR0cmlidXRlKGBzZWxlY3RlZGApfHxlLnNldEF0dHJpYnV0ZShgc2VsZWN0ZWRgLGBgKTplLnJlbW92ZUF0dHJpYnV0ZShgc2VsZWN0ZWRgKX1mdW5jdGlvbiB6YShlLHQsbixyKXt2YXIgaT1IYShlKTtDJiYoaVt0XT1lLmdldEF0dHJpYnV0ZSh0KSx0PT09YHNyY2B8fHQ9PT1gc3Jjc2V0YHx8dD09PWBocmVmYCYmZS5ub2RlTmFtZT09PWphKXx8aVt0XSE9PShpW3RdPW4pJiYodD09PWBsb2FkaW5nYCYmKGVbd2VdPW4pLG49PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6dHlwZW9mIG4hPWBzdHJpbmdgJiZXYShlKS5pbmNsdWRlcyh0KT9lW3RdPW46ZS5zZXRBdHRyaWJ1dGUodCxuKSl9ZnVuY3Rpb24gQmEoZSx0LG4scixpPSExLGE9ITEpe2lmKEMmJmkmJmUubm9kZU5hbWU9PT1NYSl7dmFyIG89ZTsoby50eXBlPT09YGNoZWNrYm94YD9gZGVmYXVsdENoZWNrZWRgOmBkZWZhdWx0VmFsdWVgKWluIG58fElhKG8pfXZhciBzPUhhKGUpLGM9c1trYV0sbD0hc1tBYV07bGV0IHU9QyYmYzt1JiZKZSghMSk7dmFyIGQ9dHx8e30sZj1lLm5vZGVOYW1lPT09TmE7Zm9yKHZhciBwIGluIHQpcCBpbiBufHwobltwXT1udWxsKTtuLmNsYXNzP24uY2xhc3M9bWEobi5jbGFzcyk6KHJ8fG5bRGFdKSYmKG4uY2xhc3M9bnVsbCksbltPYV0mJihuLnN0eWxlPz89bnVsbCk7dmFyIG09V2EoZSk7Zm9yKGxldCBpIGluIG4pe2xldCBvPW5baV07aWYoZiYmaT09PWB2YWx1ZWAmJm89PW51bGwpe2UudmFsdWU9ZS5fX3ZhbHVlPWBgLGRbaV09bztjb250aW51ZX1pZihpPT09YGNsYXNzYCl7YmEoZSxlLm5hbWVzcGFjZVVSST09PWBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sYCxvLHIsdD8uW0RhXSxuW0RhXSksZFtpXT1vLGRbRGFdPW5bRGFdO2NvbnRpbnVlfWlmKGk9PT1gc3R5bGVgKXtTYShlLG8sdD8uW09hXSxuW09hXSksZFtpXT1vLGRbT2FdPW5bT2FdO2NvbnRpbnVlfXZhciBoPWRbaV07aWYoIShvPT09aCYmIShvPT09dm9pZCAwJiZlLmhhc0F0dHJpYnV0ZShpKSkpKXtkW2ldPW87dmFyIGc9aVswXStpWzFdO2lmKGchPT1gJCRgKWlmKGc9PT1gb25gKXtsZXQgdD17fSxuPWAkJGAraSxyPWkuc2xpY2UoMik7dmFyIF89aWkocik7aWYobmkocikmJihyPXIuc2xpY2UoMCwtNyksdC5jYXB0dXJlPSEwKSwhXyYmaCl7aWYobyE9bnVsbCljb250aW51ZTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIocixkW25dLHQpLGRbbl09bnVsbH1pZihfKWdpKHIsZSxvKSxfaShbcl0pO2Vsc2UgaWYobyE9bnVsbCl7ZnVuY3Rpb24gYShlKXtkW2ldLmNhbGwodGhpcyxlKX1kW25dPW1pKHIsZSxhLHQpfX1lbHNlIGlmKGk9PT1gc3R5bGVgKXphKGUsaSxvKTtlbHNlIGlmKGk9PT1gYXV0b2ZvY3VzYClZbihlLCEhbyk7ZWxzZSBpZighYyYmKGk9PT1gX192YWx1ZWB8fGk9PT1gdmFsdWVgJiZvIT1udWxsKSllLnZhbHVlPWUuX192YWx1ZT1vO2Vsc2UgaWYoaT09PWBzZWxlY3RlZGAmJmYpUmEoZSxvKTtlbHNle3ZhciB2PWk7bHx8KHY9c2kodikpO3ZhciB5PXY9PT1gZGVmYXVsdFZhbHVlYHx8dj09PWBkZWZhdWx0Q2hlY2tlZGA7aWYobz09bnVsbCYmIWMmJiF5KWlmKHNbaV09bnVsbCx2PT09YHZhbHVlYHx8dj09PWBjaGVja2VkYCl7bGV0IG49ZSxyPXQ9PT12b2lkIDA7aWYodj09PWB2YWx1ZWApe2xldCBlPW4uZGVmYXVsdFZhbHVlO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdFZhbHVlPWUsbi52YWx1ZT1uLl9fdmFsdWU9cj9lOm51bGx9ZWxzZXtsZXQgZT1uLmRlZmF1bHRDaGVja2VkO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdENoZWNrZWQ9ZSxuLmNoZWNrZWQ9cj9lOiExfX1lbHNlIGUucmVtb3ZlQXR0cmlidXRlKGkpO2Vsc2UgeXx8bS5pbmNsdWRlcyh2KSYmKGN8fHR5cGVvZiBvIT1gc3RyaW5nYCk/KGVbdl09byx2IGluIHMmJihzW3ZdPVMpKTp0eXBlb2YgbyE9YGZ1bmN0aW9uYCYmemEoZSx2LG8sYSl9fX1yZXR1cm4gdSYmSmUoITApLGR9ZnVuY3Rpb24gVmEoZSx0LG49W10scj1bXSxpPVtdLGEsbz0hMSxzPSExKXtvbihpLG4scixuPT57dmFyIHI9dm9pZCAwLGk9e30sYz1lLm5vZGVOYW1lPT09UGEsbD0hMTtpZihocigoKT0+e3ZhciB1PXQoLi4ubi5tYXAoUikpLGQ9QmEoZSxyLHUsYSxvLHMpO2wmJmMmJmB2YWx1ZWBpbiB1JiZDYShlLHUudmFsdWUpO2ZvcihsZXQgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGkpKXVbZV18fFAoaVtlXSk7Zm9yKGxldCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModSkpe3ZhciBmPXVbdF07dC5kZXNjcmlwdGlvbj09PWBAYXR0YWNoYCYmKCFyfHxmIT09clt0XSkmJihpW3RdJiZQKGlbdF0pLGlbdF09Z3IoKCk9PmRhKGUsKCk9PmYpKSksZFt0XT1mfXI9ZH0pLGMpe3ZhciB1PWU7dXIoKCk9PntDYSh1LHIudmFsdWUsITApLHdhKHUpfSl9bD0hMH0pfWZ1bmN0aW9uIEhhKGUpe3JldHVybiBlLl9fYXR0cmlidXRlcz8/PXtba2FdOmUubm9kZU5hbWUuaW5jbHVkZXMoYC1gKSxbQWFdOmUubmFtZXNwYWNlVVJJPT09VmV9fXZhciBVYT1uZXcgTWFwO2Z1bmN0aW9uIFdhKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKGBpc2ApfHxlLm5vZGVOYW1lLG49VWEuZ2V0KHQpO2lmKG4pcmV0dXJuIG47VWEuc2V0KHQsbj1bXSk7Zm9yKHZhciByLGk9ZSxhPUVsZW1lbnQucHJvdG90eXBlO2EhPT1pOyl7Zm9yKHZhciBvIGluIHI9dihpKSxyKXJbb10uc2V0JiZuLnB1c2gobyk7aT1iKGkpfXJldHVybiBufXZhciBHYT1udWxsO2Z1bmN0aW9uIEthKCl7aWYoR2E9PT1udWxsKXt2YXIgZT1Lbihgc2VsZWN0YCk7ZS5pbm5lckhUTUw9eGkoYDxvcHRpb24+PHNwYW4+dDwvc3Bhbj48L29wdGlvbj5gKSxHYT1lLmZpcnN0Q2hpbGQ/LmZpcnN0Q2hpbGQ/Lm5vZGVUeXBlPT09MX1yZXR1cm4gR2F9ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1DO0thKCl8fChKZSghMSksZS50ZXh0Q29udGVudD1gYCxlLmFwcGVuZChxbihgYCkpKTt0cnl7dCgpfWZpbmFsbHl7biYmKEM/WGUoZSk6KEplKCEwKSxUKGUpKSl9fWZ1bmN0aW9uIEphKGUsdCxuPXQpe3ZhciByPW5ldyBXZWFrU2V0O2VyKGUsYGlucHV0YCxhc3luYyBpPT57dmFyIGE9aT9lLmRlZmF1bHRWYWx1ZTplLnZhbHVlO2lmKGE9WGEoZSk/WmEoYSk6YSxuKGEpLGohPT1udWxsJiZyLmFkZChqKSxhd2FpdCBYcigpLGEhPT0oYT10KCkpKXt2YXIgbz1lLnNlbGVjdGlvblN0YXJ0LHM9ZS5zZWxlY3Rpb25FbmQsYz1lLnZhbHVlLmxlbmd0aDtpZihlLnZhbHVlPWE/P2BgLHMhPT1udWxsKXt2YXIgbD1lLnZhbHVlLmxlbmd0aDtvPT09cyYmcz09PWMmJmw+Yz8oZS5zZWxlY3Rpb25TdGFydD1sLGUuc2VsZWN0aW9uRW5kPWwpOihlLnNlbGVjdGlvblN0YXJ0PW8sZS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4ocyxsKSl9fX0pLChDJiZlLmRlZmF1bHRWYWx1ZSE9PWUudmFsdWV8fCRyKHQpPT1udWxsJiZlLnZhbHVlKSYmKG4oWGEoZSk/WmEoZS52YWx1ZSk6ZS52YWx1ZSksaiE9PW51bGwmJnIuYWRkKGopKSxmcigoKT0+e3ZhciBuPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIGk9cnQ/THQ6ajtpZihyLmhhcyhpKSlyZXR1cm59WGEoZSkmJm49PT1aYShlLnZhbHVlKXx8ZS50eXBlPT09YGRhdGVgJiYhbiYmIWUudmFsdWV8fG4hPT1lLnZhbHVlJiYoZS52YWx1ZT1uPz9gYCl9KX1mdW5jdGlvbiBZYShlLHQsbj10KXtlcihlLGBjaGFuZ2VgLHQ9PntuKHQ/ZS5kZWZhdWx0Q2hlY2tlZDplLmNoZWNrZWQpfSksKEMmJmUuZGVmYXVsdENoZWNrZWQhPT1lLmNoZWNrZWR8fCRyKHQpPT1udWxsKSYmbihlLmNoZWNrZWQpLGZyKCgpPT57ZS5jaGVja2VkPSEhdCgpfSl9ZnVuY3Rpb24gWGEoZSl7dmFyIHQ9ZS50eXBlO3JldHVybiB0PT09YG51bWJlcmB8fHQ9PT1gcmFuZ2VgfWZ1bmN0aW9uIFphKGUpe3JldHVybiBlPT09YGA/bnVsbDorZX1mdW5jdGlvbiBRYShlLHQpe3JldHVybiBlPT09dHx8ZT8uW1NlXT09PXR9ZnVuY3Rpb24gJGEoZT17fSx0LG4scil7dmFyIGk9RS5yLGE9STtyZXR1cm4gdXIoKCk9Pnt2YXIgbyxzO3JldHVybiBmcigoKT0+e289cyxzPXI/LigpfHxbXSwkcigoKT0+e2UhPT1uKC4uLnMpJiYodChlLC4uLnMpLG8mJlFhKG4oLi4ubyksZSkmJnQobnVsbCwuLi5vKSl9KX0pLCgpPT57bGV0IHI9YTtmb3IoO3IhPT1pJiZyLnBhcmVudCE9PW51bGwmJnIucGFyZW50LmYmMzM1NTQ0MzI7KXI9ci5wYXJlbnQ7bGV0IG89KCk9PntzJiZRYShuKC4uLnMpLGUpJiZ0KG51bGwsLi4ucyl9LGM9ci50ZWFyZG93bjtyLnRlYXJkb3duPSgpPT57bygpLGM/LigpfX19KSxlfWZ1bmN0aW9uIGVvKGU9ITEpe2xldCB0PUUsbj10LmwudTtpZighbilyZXR1cm47bGV0IHI9KCk9PmVpKHQucyk7aWYoZSl7bGV0IGU9MCxuPXt9LGk9dW4oKCk9PntsZXQgcj0hMSxpPXQucztmb3IobGV0IGUgaW4gaSlpW2VdIT09bltlXSYmKG5bZV09aVtlXSxyPSEwKTtyZXR1cm4gciYmZSsrLGV9KTtyPSgpPT5SKGkpfW4uYi5sZW5ndGgmJmNyKCgpPT57dG8odCxyKSxpZShuLmIpfSksb3IoKCk9PntsZXQgZT0kcigoKT0+bi5tLm1hcChyZSkpO3JldHVybigpPT57Zm9yKGxldCB0IG9mIGUpdHlwZW9mIHQ9PWBmdW5jdGlvbmAmJnQoKX19KSxuLmEubGVuZ3RoJiZvcigoKT0+e3RvKHQsciksaWUobi5hKX0pfWZ1bmN0aW9uIHRvKGUsdCl7aWYoZS5sLnMpZm9yKGxldCB0IG9mIGUubC5zKVIodCk7dCgpfXZhciBubz17Z2V0KGUsdCl7aWYoIWUuZXhjbHVkZS5pbmNsdWRlcyh0KSlyZXR1cm4gZS5wcm9wc1t0XX0sc2V0KGUsdCl7cmV0dXJuITF9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe2lmKCFlLmV4Y2x1ZGUuaW5jbHVkZXModCkmJnQgaW4gZS5wcm9wcylyZXR1cm57ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6ZS5wcm9wc1t0XX19LGhhcyhlLHQpe3JldHVybiBlLmV4Y2x1ZGUuaW5jbHVkZXModCk/ITE6dCBpbiBlLnByb3BzfSxvd25LZXlzKGUpe3JldHVybiBSZWZsZWN0Lm93bktleXMoZS5wcm9wcykuZmlsdGVyKHQ9PiFlLmV4Y2x1ZGUuaW5jbHVkZXModCkpfX07ZnVuY3Rpb24gcm8oZSx0LG4pe3JldHVybiBuZXcgUHJveHkoe3Byb3BzOmUsZXhjbHVkZTp0fSxubyl9dmFyIGlvPXtnZXQoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpcmV0dXJuIHJbdF19fSxzZXQoZSx0LG4pe2xldCByPWUucHJvcHMubGVuZ3RoO2Zvcig7ci0tOyl7bGV0IGk9ZS5wcm9wc1tyXTtuZShpKSYmKGk9aSgpKTtsZXQgYT1fKGksdCk7aWYoYSYmYS5zZXQpcmV0dXJuIGEuc2V0KG4pLCEwfXJldHVybiExfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpe2xldCBlPV8ocix0KTtyZXR1cm4gZSYmIWUuY29uZmlndXJhYmxlJiYoZS5jb25maWd1cmFibGU9ITApLGV9fX0saGFzKGUsdCl7aWYodD09PVNlfHx0PT09Q2UpcmV0dXJuITE7Zm9yKGxldCBuIG9mIGUucHJvcHMpaWYobmUobikmJihuPW4oKSksbiE9bnVsbCYmdCBpbiBuKXJldHVybiEwO3JldHVybiExfSxvd25LZXlzKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLnByb3BzKWlmKG5lKG4pJiYobj1uKCkpLG4pe2ZvcihsZXQgZSBpbiBuKXQuaW5jbHVkZXMoZSl8fHQucHVzaChlKTtmb3IobGV0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhuKSl0LmluY2x1ZGVzKGUpfHx0LnB1c2goZSl9cmV0dXJuIHR9fTtmdW5jdGlvbiBhbyguLi5lKXtyZXR1cm4gbmV3IFByb3h5KHtwcm9wczplfSxpbyl9ZnVuY3Rpb24gb28oZSx0LG4scil7dmFyIGk9IWl0fHwobiYyKSE9MCxhPShuJjgpIT0wLG89KG4mMTYpIT0wLHM9cixjPSEwLGw9KCk9PihjJiYoYz0hMSxzPW8/JHIocik6cikscyk7bGV0IHU7aWYoYSl7dmFyIGQ9U2UgaW4gZXx8Q2UgaW4gZTt1PV8oZSx0KT8uc2V0Pz8oZCYmdCBpbiBlP249PmVbdF09bjp2b2lkIDApfXZhciBmLHA9ITE7YT9bZixwXT1GdCgoKT0+ZVt0XSk6Zj1lW3RdLGY9PT12b2lkIDAmJnIhPT12b2lkIDAmJihmPWwoKSx1JiYoaSYmUGUodCksdShmKSkpO3ZhciBtPWk/KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuPT09dm9pZCAwP2woKTooYz0hMCxuKX06KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuIT09dm9pZCAwJiYocz12b2lkIDApLG49PT12b2lkIDA/czpufTtpZihpJiYhKG4mNCkpcmV0dXJuIG07aWYodSl7dmFyIGg9ZS4kJGxlZ2FjeTtyZXR1cm4oZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wPygoIWl8fCF0fHxofHxwKSYmdSh0P20oKTplKSxlKTptKCl9KX12YXIgZz0hMSx2PShuJjE/dW46cG4pKCgpPT4oZz0hMSxtKCkpKTthJiZSKHYpO3ZhciB5PUk7cmV0dXJuKGZ1bmN0aW9uKGUsdCl7aWYoYXJndW1lbnRzLmxlbmd0aD4wKXtsZXQgbj10P1Iodik6aSYmYT9qbihlKTplO3JldHVybiBUbih2LG4pLGc9ITAscyE9PXZvaWQgMCYmKHM9biksZX1yZXR1cm4ga3ImJmd8fHkuZiYxNjM4ND92LnY6Uih2KX0pfWZ1bmN0aW9uIHNvKGUpe0U9PT1udWxsJiZEZShgb25Nb3VudGApLGl0JiZFLmwhPT1udWxsP2xvKEUpLm0ucHVzaChlKTpvcigoKT0+e2xldCB0PSRyKGUpO2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXJldHVybiB0fSl9ZnVuY3Rpb24gY28oZSl7RT09PW51bGwmJkRlKGBvbkRlc3Ryb3lgKSxzbygoKT0+KCk9PiRyKGUpKX1mdW5jdGlvbiBsbyhlKXt2YXIgdD1lLmw7cmV0dXJuIHQudT8/PXthOltdLGI6W10sbTpbXX19dmFyIHo9KCgpPT57bGV0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7b246KHQsbik9PntsZXQgcj1lLmdldCh0KTtyP3IucHVzaChuKTplLnNldCh0LFtuXSl9LG9mZjoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJmUuc2V0KHQsci5maWx0ZXIoZT0+ZSE9PW4pKX0sZW1pdDoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJnIuZm9yRWFjaChlPT5lKG4pKX19KX0pKCksdW89YGRhdGEtc21hcnRzdXBwLWlkYCxmbz0oKT0+d2luZG93LnRvcD8/d2luZG93LnBhcmVudCxCPSgpPT53aW5kb3cucGFyZW50LHBvPSgpPT5CKCkuZG9jdW1lbnQsbW89ZT0+ZSYmZS5vd25lckRvY3VtZW50fHxkb2N1bWVudCxobz0oe3ZpZDplfSk9PntsZXQgdD1CKCkuc21hcnRzdXBwfHx7fTt0LnZpZD1lLEIoKS5zbWFydHN1cHA9dH0sZ289YGRlYnVnYCxfbz1lPT57dHJ5e2xldCB0PUIoKS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShnbyk7aWYoIXQpcmV0dXJuITE7aWYodD09PWV8fHQ9PT1gKmApcmV0dXJuITA7bGV0IG49ZS5tYXRjaCgvXlx3KzovZyk7cmV0dXJuIG4/dD09PWAke25bMF19KmA6ITF9Y2F0Y2h7cmV0dXJuITF9fSx2bz0oKGUsdCk9PihuLC4uLnIpPT57X28oZSkmJmNvbnNvbGUuZGVidWcoYCVjJHtlfWAsYGNvbG9yOiAke3R9O2AsbiwuLi5yKX0pKGBzbWFydHN1cHA6d2lkZ2V0YCxgIzEyMzNkZmApLFY9KCgpPT57bGV0IGU9bnVsbCx0PVtdO3JldHVybiBPYmplY3QuZnJlZXplKHtpbml0Om49PntlPW4sdm8oYHdpZGdldCBvcHRpb25zYCxuKSx0LmZvckVhY2goZT0+ZShuKSl9LGdldE9wdGlvbnM6KCk9PntpZighZSl0aHJvdyBFcnJvcihgV2lkZ2V0IG9wdGlvbnMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LGF3YWl0T3B0aW9uczphc3luYygpPT5lfHxuZXcgUHJvbWlzZShlPT57dC5wdXNoKGUpfSksdXBkYXRlT3B0aW9uczp0PT57ZT17Li4uZSwuLi50fX19KX0pKCkseW89ZT0+e2xldCB0PWUuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGJvZHlgKVswXS5nZXRBdHRyaWJ1dGUodW8pO2lmKCF0KXRocm93IEVycm9yKGBNaXNzaW5nIGNoYXQgSUQgYXR0cmlidXRlIG9uIGJvZHkgZWxlbWVudC5gKTtpZighZS5wYXJlbnQuJHNtYXJ0c3VwcCl0aHJvdyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFNlZW1zIGxpa2UgbG9hZGVyLmpzIGRpZCBub3QgaW5pdGlhbGl6ZSB3aWRnZXQuYCk7aWYoIWUucGFyZW50LiRzbWFydHN1cHAuZ2V0V2lkZ2V0KXRocm93IEVycm9yKGBHZXQgd2lkZ2V0IGZ1bmN0aW9uIHdhcyBub3Qgc3VwcGxpZWQgYnkgbG9hZGVyLmpzLmApO3JldHVybiBlLnBhcmVudC4kc21hcnRzdXBwLmdldFdpZGdldCh0KX07ZnVuY3Rpb24gYm8oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKWVbcl09bltyXX1yZXR1cm4gZX12YXIgeG89e3JlYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF09PT1gImAmJihlPWUuc2xpY2UoMSwtMSkpLGUucmVwbGFjZSgvKCVbXGRBLUZdezJ9KSsvZ2ksZGVjb2RlVVJJQ29tcG9uZW50KX0sd3JpdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2QkZdfDNbQUMtRl18NDB8NVtCREVdfDYwfDdbQkNEXSkvZyxkZWNvZGVVUklDb21wb25lbnQpfX07ZnVuY3Rpb24gU28oZSx0KXtmdW5jdGlvbiBuKG4scixpKXtpZighKHR5cGVvZiBkb2N1bWVudD5gdWApKXtpPWJvKHt9LHQsaSksdHlwZW9mIGkuZXhwaXJlcz09YG51bWJlcmAmJihpLmV4cGlyZXM9bmV3IERhdGUoRGF0ZS5ub3coKStpLmV4cGlyZXMqODY0ZTUpKSxpLmV4cGlyZXMmJj1pLmV4cGlyZXMudG9VVENTdHJpbmcoKSxuPWVuY29kZVVSSUNvbXBvbmVudChuKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKTt2YXIgYT1gYDtmb3IodmFyIG8gaW4gaSlpW29dJiYoYSs9YDsgYCtvLGlbb10hPT0hMCYmKGErPWA9YCtpW29dLnNwbGl0KGA7YClbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPW4rYD1gK2Uud3JpdGUocixuKSthfX1mdW5jdGlvbiByKHQpe2lmKCEodHlwZW9mIGRvY3VtZW50PmB1YHx8YXJndW1lbnRzLmxlbmd0aCYmIXQpKXtmb3IodmFyIG49ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdChgOyBgKTpbXSxyPXt9LGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXS5zcGxpdChgPWApLG89YS5zbGljZSgxKS5qb2luKGA9YCk7dHJ5e3ZhciBzPWRlY29kZVVSSUNvbXBvbmVudChhWzBdKTtpZihyW3NdPWUucmVhZChvLHMpLHQ9PT1zKWJyZWFrfWNhdGNoe319cmV0dXJuIHQ/clt0XTpyfX1yZXR1cm4gT2JqZWN0LmNyZWF0ZSh7c2V0Om4sZ2V0OnIscmVtb3ZlOmZ1bmN0aW9uKGUsdCl7bihlLGBgLGJvKHt9LHQse2V4cGlyZXM6LTF9KSl9LHdpdGhBdHRyaWJ1dGVzOmZ1bmN0aW9uKGUpe3JldHVybiBTbyh0aGlzLmNvbnZlcnRlcixibyh7fSx0aGlzLmF0dHJpYnV0ZXMsZSkpfSx3aXRoQ29udmVydGVyOmZ1bmN0aW9uKGUpe3JldHVybiBTbyhibyh7fSx0aGlzLmNvbnZlcnRlcixlKSx0aGlzLmF0dHJpYnV0ZXMpfX0se2F0dHJpYnV0ZXM6e3ZhbHVlOk9iamVjdC5mcmVlemUodCl9LGNvbnZlcnRlcjp7dmFsdWU6T2JqZWN0LmZyZWV6ZShlKX19KX12YXIgQ289U28oeG8se3BhdGg6YC9gfSksd289YHNzdXBwYCxUbz0oZT0xODIpPT4oe2V4cGlyZXM6ZSxkb21haW46Vi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluLHBhdGg6Vi5nZXRPcHRpb25zKCkuY29va2llUGF0aHx8YC9gLHNhbWVTaXRlOmBzdHJpY3RgLHNlY3VyZTpCKCkubG9jYXRpb24ucHJvdG9jb2w9PT1gaHR0cHM6YH0pLEVvPWU9PmAke1YuZ2V0T3B0aW9ucygpLmNvb2tpZVByZWZpeHx8YGB9JHt3b30uJHtlfWAsRG89KHtuYW1lOmUsdmFsdWU6dCxleHBpcmF0aW9uSW5EYXlzOm49MTgyLG9wdGlvbnM6cn0pPT57Q28uc2V0KEVvKGUpLHQsey4uLlRvKG4pLC4uLnJ9KX0sT289ZT0+Q28uZ2V0KEVvKGUpKSxrbz1lPT57bGV0IHQ9RW8oZSk7aWYoQ28uZ2V0KHQpKXtsZXR7cGF0aDplLGRvbWFpbjpufT1UbygpO0NvLnJlbW92ZSh0LHtwYXRoOmUsZG9tYWluOm59KX19LEFvPWU9Pih0LC4uLm4pPT57ZShgW1NtYXJ0c3VwcF0gJHt0fWAsLi4ubil9LEg9QW8oY29uc29sZS53YXJuKSxqbz1Bbyhjb25zb2xlLmVycm9yKSxNbz0oKT0+e2xldHtrZXk6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7QigpLlNNQVJUU1VQUF9BVVRPQ1JFQVRFPT09ITE/YCR7eW8od2luZG93KS5pZH1fJHt3b31gOndvfV8ke2V9YH0sTm89ZT0+YCR7TW8oKX0ke2U/YF8ke2V9YDpgYH1gLFBvPWU9Pnt0cnl7bGV0IHQ9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKE5vKGUpKT8/YHt9YDtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaHtyZXR1cm57fX19LEZvPShlLHQpPT57dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShObyh0KSxKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7SChgU2V0IHRvIGxvY2FsIHN0b3JhZ2UgZmFpbGVkYCxlKX19LElvPShlLHQpPT57Rm8oey4uLlBvKCksW2VdOlN0cmluZyh0KX0pfSxMbz1lPT57bGV0IHQ9UG8oKTt0W2VdJiYoZGVsZXRlIHRbZV0sRm8odCkpfSxSbz0oKT0+e3dpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShObygpKSx3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTm8oYGNhcmRzYCkpfSxVPWZ1bmN0aW9uKGUpe3JldHVybiBlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuQXV0aEZvcm09YGF1dGhGb3JtYCxlLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZD1gaXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkYCxlLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQ9YG9wZW5lZGAsZS5NYXJrZXRpbmdDb25zZW50PWBtYXJrZXRpbmdDb25zZW50YCxlLk1lc3NhZ2U9YG1lc3NhZ2VgLGUuUG9wdXBDbG9zZWRBdD1gcG9wdXBDbG9zZWRBdGAsZS5SYXRpbmdUZXh0PWByYXRpbmdUZXh0YCxlLlNvdW5kc0VuYWJsZWQ9YGVuYWJsZVNvdW5kc2AsZS5WaXNpdG9ySWQ9YHZpZGAsZS5WaXNpdHM9YHZpc2l0c2AsZS5UaWNrZXRGb3JtPWB0aWNrZXRGb3JtYCxlLlNlc3Npb25JZD1gc2Vzc2lvbklkYCxlfSh7fSksem89ZT0+e2xldCB0PWBgO3JldHVybiBlPT09VS5WaXNpdG9ySWQmJlYuZ2V0T3B0aW9ucygpLmNvb2tpZURvbWFpbiYmKHQ9T28oZSkpLHR8fFBvKClbZV19LEJvPSh7bmFtZTplLHZhbHVlOnR9KT0+e2U9PT1VLlZpc2l0b3JJZCYmVi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluJiZEbyh7bmFtZTplLHZhbHVlOnR9KSxJbyhlLHQpfSxWbz1lPT57TG8oZSl9O3oub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxlPT57Qm8oe25hbWU6VS5BbmFseXRpY3NDb25zZW50LHZhbHVlOlN0cmluZyhlKX0pfSksei5vbihgbWFya2V0aW5nQ29uc2VudENoYW5nZWRgLGU9PntCbyh7bmFtZTpVLk1hcmtldGluZ0NvbnNlbnQsdmFsdWU6U3RyaW5nKGUpfSl9KTt2YXIgSG89KCk9PiEhVi5nZXRPcHRpb25zKCkuY29uc2VudE1vZGVFbmFibGVkLFVvPSgpPT57bGV0IGU9em8oVS5BbmFseXRpY3NDb25zZW50KT09PWB0cnVlYDtyZXR1cm4hKEhvKCkmJiFlKX0sV289KCk9PntsZXQgZT16byhVLk1hcmtldGluZ0NvbnNlbnQpPT09YHRydWVgO3JldHVybiEoSG8oKSYmIWUpfSxHbz1gbW9kdWxlcHJlbG9hZGAsS289ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFVSTChlLHQpLmhyZWZ9LHFvPXt9LEpvPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1Qcm9taXNlLnJlc29sdmUoKTtpZih0JiZ0Lmxlbmd0aD4wKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgbGlua2ApLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdYCksYT1pPy5ub25jZXx8aT8uZ2V0QXR0cmlidXRlKGBub25jZWApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGU9PlByb21pc2UucmVzb2x2ZShlKS50aGVuKGU9Pih7c3RhdHVzOmBmdWxmaWxsZWRgLHZhbHVlOmV9KSxlPT4oe3N0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjplfSkpKSl9cj1vKHQubWFwKHQ9PntpZih0PUtvKHQsbiksdCBpbiBxbylyZXR1cm47cW9bdF09ITA7bGV0IHI9dC5lbmRzV2l0aChgLmNzc2ApLGk9cj9gW3JlbD0ic3R5bGVzaGVldCJdYDpgYDtpZihuKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgaT1lW25dO2lmKGkuaHJlZj09PXQmJighcnx8aS5yZWw9PT1gc3R5bGVzaGVldGApKXJldHVybn1lbHNlIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHt0fSJdJHtpfWApKXJldHVybjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBsaW5rYCk7aWYoby5yZWw9cj9gc3R5bGVzaGVldGA6R28scnx8KG8uYXM9YHNjcmlwdGApLG8uY3Jvc3NPcmlnaW49YGAsby5ocmVmPXQsYSYmby5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxhKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pLHIpcmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57by5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxvLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+bihFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke3R9YCkpKX0pfSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIHIudGhlbih0PT57Zm9yKGxldCBlIG9mIHR8fFtdKWUuc3RhdHVzPT09YHJlamVjdGVkYCYmaShlLnJlYXNvbik7cmV0dXJuIGUoKS5jYXRjaChpKX0pfSxZbz0oKT0+ISFWLmdldE9wdGlvbnMoKS5jcm9zc0RvbWFpbkVuYWJsZWQsWG89KCk9PlYuZ2V0T3B0aW9ucygpLmFsbG93ZWREb21haW5zLmxlbmd0aD4wLFpvPWFzeW5jKCk9Pnt0cnl7bGV0IGU9YXdhaXQgbmV3KGF3YWl0KEpvKCgpPT5pbXBvcnQoYC4vdGh1bWJtYXJrLmVzbS1DUDRDVTB5TC5qc2ApLFtdLGltcG9ydC5tZXRhLnVybCkpKS5UaHVtYm1hcmsoKS5nZXQoKTtyZXR1cm4gdm8oYFZpc2l0b3IgZmluZ2VycHJpbnQgY3JlYXRlZGAsZS50aHVtYm1hcmspLGUudGh1bWJtYXJrfWNhdGNoKGUpe0goYEZhaWxlZCB0byBnZW5lcmF0ZSBmaW5nZXJwcmludDpgLGUpfX0sUW89YXN5bmMoKT0+e2lmKCEoIVlvKCl8fCFYbygpKSlyZXR1cm4gWm8oKX0sJG89KCk9PnpvKFUuVmlzaXRvcklkKXx8bnVsbCxlcz1lPT5Cbyh7bmFtZTpVLlZpc2l0b3JJZCx2YWx1ZTpTdHJpbmcoZSl9KSx0cz0oKT0+e2lmKFdvKCkpcmV0dXJuIHpvKFUuVmlzaXRzKT9OdW1iZXIoem8oVS5WaXNpdHMpKTowfSxucz1lPT57V28oKSYmQm8oe25hbWU6VS5WaXNpdHMsdmFsdWU6U3RyaW5nKGUpfSl9O3oub24oYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCxlPT57ZXx8Vm8oVS5WaXNpdHMpfSk7dmFyIHJzPShlLHQsbik9PntsZXR7c2V0OnIsc3Vic2NyaWJlOml9PU8odCx0PT57bGV0IHI9em8oZSk7ciYmdChuP24ocik6cil9KSxhPXQ9PntCbyh7bmFtZTplLHZhbHVlOlN0cmluZyh0KX0pfTtyZXR1cm57c2V0OmU9PnthKGUpLHIoZSl9LHN1YnNjcmliZTppfX0saXM9KCk9PmBvbnRvdWNoc3RhcnRgaW4gd2luZG93fHxuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wLGFzPSgpPT5bYGlQYWQgU2ltdWxhdG9yYCxgaVBob25lIFNpbXVsYXRvcmAsYGlQb2QgU2ltdWxhdG9yYCxgaVBhZGAsYGlQaG9uZWAsYGlQb2RgXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKGBNYWNgKSYmYG9udG91Y2hlbmRgaW4gZG9jdW1lbnQsb3M9TyhudWxsKSxzcz1rKFtvcyxPKHt3aWR0aDpCKCkuaW5uZXJXaWR0aCxoZWlnaHQ6QigpLmlubmVySGVpZ2h0fSldLChbZSx0XSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOm59PVYuZ2V0T3B0aW9ucygpO2lmKG4/LmVuZm9yY2VEZXNrdG9wTW9kZSlyZXR1cm4hMTtpZihlKXtsZXR7aXNNb2JpbGU6dCxpc1RhYmxldDpufT1lO2lmKG4pcmV0dXJuITE7aWYodClyZXR1cm4hMH1yZXR1cm4gdC53aWR0aDw0NTB8fHQuaGVpZ2h0PDUwMH0pLGNzPWsoW3NzXSwoW2VdKT0+e2xldHtmdWxsU2NyZWVuRW5hYmxlZDp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4hIShlfHx0KX0pLGxzPWsoW29zXSwoW2VdKT0+ZT8hIWU/LmlzRGVza3RvcCYmIWFzKCk6IWlzKCkpLHVzPWsoW2xzLGNzXSwoW2UsdF0pPT5lJiYhdCk7ayhbb3NdLChbZV0pPT4hIWU/LmlzVGFibGV0KTt2YXIgZHM9KCgpPT57bGV0IGU9Tyh7fSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lO3JldHVybntzdWJzY3JpYmU6dCxhZGQ6ZT0+e24odD0+KHsuLi50LFtlLmlkXTplfSkpfSxyZW1vdmU6ZT0+e24odD0+e2xldHtbZV06biwuLi5yfT10O3JldHVybiByfSl9LGZpbmQ6dD0+QShlKVt0XXx8bnVsbH19KSgpLGZzPWsoW2RzXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKSkscHM9ZT0+KHQsbj0zZTMpPT57bGV0IHI9YGZtLSR7ZX0tJHt0fWAsaT1kcy5maW5kKHIpLGE9MTtpJiYoY2xlYXJUaW1lb3V0KGkudGltZW91dCksYT1pLnJlY3VycmVuY2UrMSk7bGV0IG87cmV0dXJuIG4+MCYmKG89d2luZG93LnNldFRpbWVvdXQoKCk9PnttcyhyKX0sbikpLGRzLmFkZCh7aWQ6cix0eXBlOmUsdGV4dDp0LHRpbWVvdXQ6byxyZWN1cnJlbmNlOmF9KSwoKT0+bXMocil9LG1zPWU9Pntkcy5yZW1vdmUoZSl9LGhzPXBzKGBzdWNjZXNzYCksZ3M9cHMoYGVycm9yYCksX3M9cHMoYHdhcm5pbmdgKSx2cz1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkdvb2Q9NV09YEdvb2RgLGVbZS5Ob3JtYWw9M109YE5vcm1hbGAsZVtlLkJhZD0xXT1gQmFkYCxlfSh7fSkseXM9e1t2cy5Hb29kXTp7dmFsdWU6dnMuR29vZCx0ZXh0OmBhZ2VudFJhdGluZy5nb29kLmZvcm1UZXh0YCxuYW1lOmBnb29kYH0sW3ZzLk5vcm1hbF06e3ZhbHVlOnZzLk5vcm1hbCx0ZXh0OmBhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHRgLG5hbWU6YG5ldXRyYWxgfSxbdnMuQmFkXTp7dmFsdWU6dnMuQmFkLHRleHQ6YGFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dGAsbmFtZTpgYmFkYH19LGJzPU9iamVjdC52YWx1ZXMoeXMpLnNvcnQoKGUsdCk9PnQudmFsdWUtZS52YWx1ZSkseHM9YHJhdGVfZm9ybV9pZGAsU3M9e2lkOnhzLHR5cGU6YG1lc3NhZ2VgLHN1YlR5cGU6YHN5c3RlbWAsY2hhbm5lbDp7dHlwZTpgZGVmYXVsdGAsaWQ6bnVsbH0sY2hhdElkOmBgLHZpc2l0b3JJZDpgYCxncm91cElkOm51bGwsYWdlbnRJZDpudWxsLHRyaWdnZXI6bnVsbCxjcmVhdGVkQXQ6YGAsY29udGVudDp7dHlwZTpgcmF0ZV9mb3JtYCxkYXRhOnt9fSxhdHRhY2htZW50czpbXSxzdWJqZWN0Om51bGwsZm9yd2FyZGVkTWVzc2FnZUlkOm51bGwscGFydGljaXBhbnRzOltdLHJlcGx5VG9NZXNzYWdlSWQ6bnVsbCxkZWxldGVkQXQ6bnVsbCx3aWRnZXRPcHRpb25zOntkaXNhYmxlSW5wdXQ6ITEsZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiExLGRpc2FibGVBdHRhY2htZW50czohMX19LENzPU8obnVsbCksd3M9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjcscz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBjKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNGaW5pdGUoZSkpcmV0dXJuIHQubG9uZz91KGUpOmwoZSk7dGhyb3cgRXJyb3IoYHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9YCtKU09OLnN0cmluZ2lmeShlKSl9O2Z1bmN0aW9uIGMoZSl7aWYoZT1TdHJpbmcoZSksIShlLmxlbmd0aD4xMDApKXt2YXIgdD0vXigtPyg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIGM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIGMqcztjYXNlYHdlZWtzYDpjYXNlYHdlZWtgOmNhc2Vgd2A6cmV0dXJuIGMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBjKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gYyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIGMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBjKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIGM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gbChlKXt2YXIgdD1NYXRoLmFicyhlKTtyZXR1cm4gdD49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOnQ+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDp0Pj1yP01hdGgucm91bmQoZS9yKStgbWA6dD49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiB1KGUpe3ZhciB0PU1hdGguYWJzKGUpO3JldHVybiB0Pj1hP2QoZSx0LGEsYGRheWApOnQ+PWk/ZChlLHQsaSxgaG91cmApOnQ+PXI/ZChlLHQscixgbWludXRlYCk6dD49bj9kKGUsdCxuLGBzZWNvbmRgKTplK2AgbXNgfWZ1bmN0aW9uIGQoZSx0LG4scil7dmFyIGk9dD49bioxLjU7cmV0dXJuIE1hdGgucm91bmQoZS9uKStgIGArcisoaT9gc2A6YGApfX0pKSxUcz1zKCgoZSx0KT0+e2Z1bmN0aW9uIG4oZSl7bi5kZWJ1Zz1uLG4uZGVmYXVsdD1uLG4uY29lcmNlPWMsbi5kaXNhYmxlPW8sbi5lbmFibGU9aSxuLmVuYWJsZWQ9cyxuLmh1bWFuaXplPXdzKCksbi5kZXN0cm95PWwsT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57blt0XT1lW3RdfSksbi5uYW1lcz1bXSxuLnNraXBzPVtdLG4uZm9ybWF0dGVycz17fTtmdW5jdGlvbiB0KGUpe2xldCB0PTA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdD0odDw8NSktdCtlLmNoYXJDb2RlQXQobiksdHw9MDtyZXR1cm4gbi5jb2xvcnNbTWF0aC5hYnModCklbi5jb2xvcnMubGVuZ3RoXX1uLnNlbGVjdENvbG9yPXQ7ZnVuY3Rpb24gbihlKXtsZXQgdCxpPW51bGwsYSxvO2Z1bmN0aW9uIHMoLi4uZSl7aWYoIXMuZW5hYmxlZClyZXR1cm47bGV0IHI9cyxpPU51bWJlcihuZXcgRGF0ZSk7ci5kaWZmPWktKHR8fGkpLHIucHJldj10LHIuY3Vycj1pLHQ9aSxlWzBdPW4uY29lcmNlKGVbMF0pLHR5cGVvZiBlWzBdIT1gc3RyaW5nYCYmZS51bnNoaWZ0KGAlT2ApO2xldCBhPTA7ZVswXT1lWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCh0LGkpPT57aWYodD09PWAlJWApcmV0dXJuYCVgO2ErKztsZXQgbz1uLmZvcm1hdHRlcnNbaV07aWYodHlwZW9mIG89PWBmdW5jdGlvbmApe2xldCBuPWVbYV07dD1vLmNhbGwocixuKSxlLnNwbGljZShhLDEpLGEtLX1yZXR1cm4gdH0pLG4uZm9ybWF0QXJncy5jYWxsKHIsZSksKHIubG9nfHxuLmxvZykuYXBwbHkocixlKX1yZXR1cm4gcy5uYW1lc3BhY2U9ZSxzLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLHMuY29sb3I9bi5zZWxlY3RDb2xvcihlKSxzLmV4dGVuZD1yLHMuZGVzdHJveT1uLmRlc3Ryb3ksT2JqZWN0LmRlZmluZVByb3BlcnR5KHMsYGVuYWJsZWRgLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMSxnZXQ6KCk9Pmk9PT1udWxsPyhhIT09bi5uYW1lc3BhY2VzJiYoYT1uLm5hbWVzcGFjZXMsbz1uLmVuYWJsZWQoZSkpLG8pOmksc2V0OmU9PntpPWV9fSksdHlwZW9mIG4uaW5pdD09YGZ1bmN0aW9uYCYmbi5pbml0KHMpLHN9ZnVuY3Rpb24gcihlLHQpe2xldCByPW4odGhpcy5uYW1lc3BhY2UrKHQ9PT12b2lkIDA/YDpgOnQpK2UpO3JldHVybiByLmxvZz10aGlzLmxvZyxyfWZ1bmN0aW9uIGkoZSl7bi5zYXZlKGUpLG4ubmFtZXNwYWNlcz1lLG4ubmFtZXM9W10sbi5za2lwcz1bXTtsZXQgdD0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnRyaW0oKS5yZXBsYWNlKC9ccysvZyxgLGApLnNwbGl0KGAsYCkuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZSBvZiB0KWVbMF09PT1gLWA/bi5za2lwcy5wdXNoKGUuc2xpY2UoMSkpOm4ubmFtZXMucHVzaChlKX1mdW5jdGlvbiBhKGUsdCl7bGV0IG49MCxyPTAsaT0tMSxhPTA7Zm9yKDtuPGUubGVuZ3RoOylpZihyPHQubGVuZ3RoJiYodFtyXT09PWVbbl18fHRbcl09PT1gKmApKXRbcl09PT1gKmA/KGk9cixhPW4scisrKToobisrLHIrKyk7ZWxzZSBpZihpIT09LTEpcj1pKzEsYSsrLG49YTtlbHNlIHJldHVybiExO2Zvcig7cjx0Lmxlbmd0aCYmdFtyXT09PWAqYDspcisrO3JldHVybiByPT09dC5sZW5ndGh9ZnVuY3Rpb24gbygpe2xldCBlPVsuLi5uLm5hbWVzLC4uLm4uc2tpcHMubWFwKGU9PmAtYCtlKV0uam9pbihgLGApO3JldHVybiBuLmVuYWJsZShgYCksZX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBuLnNraXBzKWlmKGEoZSx0KSlyZXR1cm4hMTtmb3IobGV0IHQgb2Ygbi5uYW1lcylpZihhKGUsdCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yP2Uuc3RhY2t8fGUubWVzc2FnZTplfWZ1bmN0aW9uIGwoKXtjb25zb2xlLndhcm4oIkluc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4iKX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksRXM9cygoKGUsdCk9PntlLmZvcm1hdEFyZ3M9cixlLnNhdmU9aSxlLmxvYWQ9YSxlLnVzZUNvbG9ycz1uLGUuc3RvcmFnZT1vKCksZS5kZXN0cm95PSgoKT0+e2xldCBlPSExO3JldHVybigpPT57ZXx8KGU9ITAsY29uc29sZS53YXJuKCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuIikpfX0pKCksZS5jb2xvcnM9YCMwMDAwQ0MuIzAwMDBGRi4jMDAzM0NDLiMwMDMzRkYuIzAwNjZDQy4jMDA2NkZGLiMwMDk5Q0MuIzAwOTlGRi4jMDBDQzAwLiMwMENDMzMuIzAwQ0M2Ni4jMDBDQzk5LiMwMENDQ0MuIzAwQ0NGRi4jMzMwMENDLiMzMzAwRkYuIzMzMzNDQy4jMzMzM0ZGLiMzMzY2Q0MuIzMzNjZGRi4jMzM5OUNDLiMzMzk5RkYuIzMzQ0MwMC4jMzNDQzMzLiMzM0NDNjYuIzMzQ0M5OS4jMzNDQ0NDLiMzM0NDRkYuIzY2MDBDQy4jNjYwMEZGLiM2NjMzQ0MuIzY2MzNGRi4jNjZDQzAwLiM2NkNDMzMuIzk5MDBDQy4jOTkwMEZGLiM5OTMzQ0MuIzk5MzNGRi4jOTlDQzAwLiM5OUNDMzMuI0NDMDAwMC4jQ0MwMDMzLiNDQzAwNjYuI0NDMDA5OS4jQ0MwMENDLiNDQzAwRkYuI0NDMzMwMC4jQ0MzMzMzLiNDQzMzNjYuI0NDMzM5OS4jQ0MzM0NDLiNDQzMzRkYuI0NDNjYwMC4jQ0M2NjMzLiNDQzk5MDAuI0NDOTkzMy4jQ0NDQzAwLiNDQ0NDMzMuI0ZGMDAwMC4jRkYwMDMzLiNGRjAwNjYuI0ZGMDA5OS4jRkYwMENDLiNGRjAwRkYuI0ZGMzMwMC4jRkYzMzMzLiNGRjMzNjYuI0ZGMzM5OS4jRkYzM0NDLiNGRjMzRkYuI0ZGNjYwMC4jRkY2NjMzLiNGRjk5MDAuI0ZGOTkzMy4jRkZDQzAwLiNGRkNDMzNgLnNwbGl0KGAuYCk7ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpKXJldHVybiEwO2lmKHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pKXJldHVybiExO2xldCBlO3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2V8fHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cuY29uc29sZSYmKHdpbmRvdy5jb25zb2xlLmZpcmVidWd8fHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiYmd2luZG93LmNvbnNvbGUudGFibGUpfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmKGU9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pKSYmcGFyc2VJbnQoZVsxXSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZS5sb2c9Y29uc29sZS5kZWJ1Z3x8Y29uc29sZS5sb2d8fCgoKT0+e30pO2Z1bmN0aW9uIGkodCl7dHJ5e3Q/ZS5zdG9yYWdlLnNldEl0ZW0oYGRlYnVnYCx0KTplLnN0b3JhZ2UucmVtb3ZlSXRlbShgZGVidWdgKX1jYXRjaHt9fWZ1bmN0aW9uIGEoKXtsZXQgdDt0cnl7dD1lLnN0b3JhZ2UuZ2V0SXRlbShgZGVidWdgKXx8ZS5zdG9yYWdlLmdldEl0ZW0oYERFQlVHYCl9Y2F0Y2h7fXJldHVybiF0JiZ0eXBlb2YgcHJvY2VzczxgdWAmJmBlbnZgaW4gcHJvY2VzcyYmKHQ9e30uREVCVUcpLHR9ZnVuY3Rpb24gbygpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlfWNhdGNoe319dC5leHBvcnRzPVRzKCkoZSk7dmFye2Zvcm1hdHRlcnM6c309dC5leHBvcnRzO3Muaj1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWNhdGNoKGUpe3JldHVybmBbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogYCtlLm1lc3NhZ2V9fX0pKSxEcz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuY3JlYXRlRW1pdHRlcj1lLmNyZWF0ZUNhbGxiYWNrPWUuYm91bmQ9ZS5jcmVhdGVTb2NrZXRFcnJvcj1lLlNvY2tldEVycm9yPWUuZGVidWc9dm9pZCAwLGUuZGVidWc9bigpO2Z1bmN0aW9uIG4oKXt0cnl7cmV0dXJuIEVzKCkoYHNtYXJ0c3VwcDpjbGllbnRgKX1jYXRjaHtyZXR1cm4gZnVuY3Rpb24oKXt9fX12YXIgcj1mdW5jdGlvbihlKXt0KG4sZSk7ZnVuY3Rpb24gbih0LHIpe3ZhciBpPWUuY2FsbCh0aGlzLHQpfHx0aGlzO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoaSxuLnByb3RvdHlwZSksaS5uYW1lPWkuY29uc3RydWN0b3IubmFtZSxpLmNvZGU9ci5jb2RlLGkudHlwZT1yLnR5cGUsaS5ldmVudD1yLmV2ZW50LHImJnIuc3RhY2smJihpLnN0YWNrPWAke2kuc3RhY2t9CkNhdXNlZCBCeTogJHtyLnN0YWNrfWApLGl9cmV0dXJuIG59KEVycm9yKTtlLlNvY2tldEVycm9yPXI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbmV3IHIoZS5tZXNzYWdlLGUpfWUuY3JlYXRlU29ja2V0RXJyb3I9aTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Wy4uLmFyZ3VtZW50c107ZVt0XS5hcHBseShlLG4pfX1lLmJvdW5kPWE7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe24/dChpKG4pKTplKHIpfX1lLmNyZWF0ZUNhbGxiYWNrPW87ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuKXtlLmVtaXQodCxuKX19ZS5jcmVhdGVFbWl0dGVyPXN9KSksT3M9cygoKGUsdCk9Pnt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHI9YH5gO2Z1bmN0aW9uIGkoKXt9T2JqZWN0LmNyZWF0ZSYmKGkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksbmV3IGkoKS5fX3Byb3RvX198fChyPSExKSk7ZnVuY3Rpb24gYShlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBvKGUsdCxuLGksbyl7aWYodHlwZW9mIG4hPWBmdW5jdGlvbmApdGhyb3cgVHlwZUVycm9yKGBUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uYCk7dmFyIHM9bmV3IGEobixpfHxlLG8pLGM9cj9yK3Q6dDtyZXR1cm4gZS5fZXZlbnRzW2NdP2UuX2V2ZW50c1tjXS5mbj9lLl9ldmVudHNbY109W2UuX2V2ZW50c1tjXSxzXTplLl9ldmVudHNbY10ucHVzaChzKTooZS5fZXZlbnRzW2NdPXMsZS5fZXZlbnRzQ291bnQrKyksZX1mdW5jdGlvbiBzKGUsdCl7LS1lLl9ldmVudHNDb3VudD09PTA/ZS5fZXZlbnRzPW5ldyBpOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYygpe3RoaXMuX2V2ZW50cz1uZXcgaSx0aGlzLl9ldmVudHNDb3VudD0wfWMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0LGk7aWYodGhpcy5fZXZlbnRzQ291bnQ9PT0wKXJldHVybiBlO2ZvcihpIGluIHQ9dGhpcy5fZXZlbnRzKW4uY2FsbCh0LGkpJiZlLnB1c2gocj9pLnNsaWNlKDEpOmkpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2UuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpOmV9LGMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO2lmKCFuKXJldHVybltdO2lmKG4uZm4pcmV0dXJuW24uZm5dO2Zvcih2YXIgaT0wLGE9bi5sZW5ndGgsbz1BcnJheShhKTtpPGE7aSsrKW9baV09bltpXS5mbjtyZXR1cm4gb30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO3JldHVybiBuP24uZm4/MTpuLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUsdCxuLGksYSxvKXt2YXIgcz1yP3IrZTplO2lmKCF0aGlzLl9ldmVudHNbc10pcmV0dXJuITE7dmFyIGM9dGhpcy5fZXZlbnRzW3NdLGw9YXJndW1lbnRzLmxlbmd0aCx1LGQ7aWYoYy5mbil7c3dpdGNoKGMub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGMuZm4sdm9pZCAwLCEwKSxsKXtjYXNlIDE6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0KSwhMDtjYXNlIDM6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuKSwhMDtjYXNlIDQ6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGkpLCEwO2Nhc2UgNTpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0LG4saSxhKSwhMDtjYXNlIDY6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGksYSxvKSwhMH1mb3IoZD0xLHU9QXJyYXkobC0xKTtkPGw7ZCsrKXVbZC0xXT1hcmd1bWVudHNbZF07Yy5mbi5hcHBseShjLmNvbnRleHQsdSl9ZWxzZXt2YXIgZj1jLmxlbmd0aCxwO2ZvcihkPTA7ZDxmO2QrKylzd2l0Y2goY1tkXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsY1tkXS5mbix2b2lkIDAsITApLGwpe2Nhc2UgMTpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0KTticmVhaztjYXNlIDI6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0KTticmVhaztjYXNlIDM6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0LG4pO2JyZWFrO2Nhc2UgNDpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0LHQsbixpKTticmVhaztkZWZhdWx0OmlmKCF1KWZvcihwPTEsdT1BcnJheShsLTEpO3A8bDtwKyspdVtwLTFdPWFyZ3VtZW50c1twXTtjW2RdLmZuLmFwcGx5KGNbZF0uY29udGV4dCx1KX19cmV0dXJuITB9LGMucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyh0aGlzLGUsdCxuLCExKX0sYy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG8odGhpcyxlLHQsbiwhMCl9LGMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBhPXI/citlOmU7aWYoIXRoaXMuX2V2ZW50c1thXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGEpLHRoaXM7dmFyIG89dGhpcy5fZXZlbnRzW2FdO2lmKG8uZm4pby5mbj09PXQmJighaXx8by5vbmNlKSYmKCFufHxvLmNvbnRleHQ9PT1uKSYmcyh0aGlzLGEpO2Vsc2V7Zm9yKHZhciBjPTAsbD1bXSx1PW8ubGVuZ3RoO2M8dTtjKyspKG9bY10uZm4hPT10fHxpJiYhb1tjXS5vbmNlfHxuJiZvW2NdLmNvbnRleHQhPT1uKSYmbC5wdXNoKG9bY10pO2wubGVuZ3RoP3RoaXMuX2V2ZW50c1thXT1sLmxlbmd0aD09PTE/bFswXTpsOnModGhpcyxhKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PXI/citlOmUsdGhpcy5fZXZlbnRzW3RdJiZzKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IGksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9cixjLkV2ZW50RW1pdHRlcj1jLHQhPT12b2lkIDAmJih0LmV4cG9ydHM9Yyl9KSksa3M9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsaT1lLmluZGV4T2YoYFtgKSxhPWUuaW5kZXhPZihgXWApO2khPS0xJiZhIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxpKStlLnN1YnN0cmluZyhpLGEpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKGEsZS5sZW5ndGgpKTtmb3IodmFyIG89bi5leGVjKGV8fGBgKSxzPXt9LGM9MTQ7Yy0tOylzW3JbY11dPW9bY118fGBgO3JldHVybiBpIT0tMSYmYSE9LTEmJihzLnNvdXJjZT10LHMuaG9zdD1zLmhvc3Quc3Vic3RyaW5nKDEscy5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxzLmF1dGhvcml0eT1zLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLHMuaXB2NnVyaT0hMCksc319KSksQXM9cygoKGUsdCk9PntmdW5jdGlvbiBuKGUpe24uZGVidWc9bixuLmRlZmF1bHQ9bixuLmNvZXJjZT1sLG4uZGlzYWJsZT1vLG4uZW5hYmxlPWEsbi5lbmFibGVkPXMsbi5odW1hbml6ZT13cygpLE9iamVjdC5rZXlzKGUpLmZvckVhY2godD0+e25bdF09ZVt0XX0pLG4uaW5zdGFuY2VzPVtdLG4ubmFtZXM9W10sbi5za2lwcz1bXSxuLmZvcm1hdHRlcnM9e307ZnVuY3Rpb24gdChlKXtsZXQgdD0wO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQ9KHQ8PDUpLXQrZS5jaGFyQ29kZUF0KG4pLHR8PTA7cmV0dXJuIG4uY29sb3JzW01hdGguYWJzKHQpJW4uY29sb3JzLmxlbmd0aF19bi5zZWxlY3RDb2xvcj10O2Z1bmN0aW9uIG4oZSl7bGV0IGE7ZnVuY3Rpb24gbyguLi5lKXtpZighby5lbmFibGVkKXJldHVybjtsZXQgdD1vLHI9TnVtYmVyKG5ldyBEYXRlKTt0LmRpZmY9ci0oYXx8ciksdC5wcmV2PWEsdC5jdXJyPXIsYT1yLGVbMF09bi5jb2VyY2UoZVswXSksdHlwZW9mIGVbMF0hPWBzdHJpbmdgJiZlLnVuc2hpZnQoYCVPYCk7bGV0IGk9MDtlWzBdPWVbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csKHIsYSk9PntpZihyPT09YCUlYClyZXR1cm4gcjtpKys7bGV0IG89bi5mb3JtYXR0ZXJzW2FdO2lmKHR5cGVvZiBvPT1gZnVuY3Rpb25gKXtsZXQgbj1lW2ldO3I9by5jYWxsKHQsbiksZS5zcGxpY2UoaSwxKSxpLS19cmV0dXJuIHJ9KSxuLmZvcm1hdEFyZ3MuY2FsbCh0LGUpLCh0LmxvZ3x8bi5sb2cpLmFwcGx5KHQsZSl9cmV0dXJuIG8ubmFtZXNwYWNlPWUsby5lbmFibGVkPW4uZW5hYmxlZChlKSxvLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLG8uY29sb3I9dChlKSxvLmRlc3Ryb3k9cixvLmV4dGVuZD1pLHR5cGVvZiBuLmluaXQ9PWBmdW5jdGlvbmAmJm4uaW5pdChvKSxuLmluc3RhbmNlcy5wdXNoKG8pLG99ZnVuY3Rpb24gcigpe2xldCBlPW4uaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7cmV0dXJuIGU9PT0tMT8hMToobi5pbnN0YW5jZXMuc3BsaWNlKGUsMSksITApfWZ1bmN0aW9uIGkoZSx0KXtsZXQgcj1uKHRoaXMubmFtZXNwYWNlKyh0PT09dm9pZCAwP2A6YDp0KStlKTtyZXR1cm4gci5sb2c9dGhpcy5sb2cscn1mdW5jdGlvbiBhKGUpe24uc2F2ZShlKSxuLm5hbWVzPVtdLG4uc2tpcHM9W107bGV0IHQscj0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnNwbGl0KC9bXHMsXSsvKSxpPXIubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKylyW3RdJiYoZT1yW3RdLnJlcGxhY2UoL1wqL2csYC4qP2ApLGVbMF09PT1gLWA/bi5za2lwcy5wdXNoKFJlZ0V4cChgXmArZS5zdWJzdHIoMSkrYCRgKSk6bi5uYW1lcy5wdXNoKFJlZ0V4cChgXmArZStgJGApKSk7Zm9yKHQ9MDt0PG4uaW5zdGFuY2VzLmxlbmd0aDt0Kyspe2xldCBlPW4uaW5zdGFuY2VzW3RdO2UuZW5hYmxlZD1uLmVuYWJsZWQoZS5uYW1lc3BhY2UpfX1mdW5jdGlvbiBvKCl7bGV0IGU9Wy4uLm4ubmFtZXMubWFwKGMpLC4uLm4uc2tpcHMubWFwKGMpLm1hcChlPT5gLWArZSldLmpvaW4oYCxgKTtyZXR1cm4gbi5lbmFibGUoYGApLGV9ZnVuY3Rpb24gcyhlKXtpZihlW2UubGVuZ3RoLTFdPT09YCpgKXJldHVybiEwO2xldCB0LHI7Zm9yKHQ9MCxyPW4uc2tpcHMubGVuZ3RoO3Q8cjt0KyspaWYobi5za2lwc1t0XS50ZXN0KGUpKXJldHVybiExO2Zvcih0PTAscj1uLm5hbWVzLmxlbmd0aDt0PHI7dCsrKWlmKG4ubmFtZXNbdF0udGVzdChlKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIsZS50b1N0cmluZygpLmxlbmd0aC0yKS5yZXBsYWNlKC9cLlwqXD8kLyxgKmApfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksanM9cygoKGUsdCk9PntlLmxvZz1pLGUuZm9ybWF0QXJncz1yLGUuc2F2ZT1hLGUubG9hZD1vLGUudXNlQ29sb3JzPW4sZS5zdG9yYWdlPXMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpPyEwOnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pPyExOnR5cGVvZiBkb2N1bWVudDxgdWAmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZXx8dHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5jb25zb2xlJiYod2luZG93LmNvbnNvbGUuZmlyZWJ1Z3x8d2luZG93LmNvbnNvbGUuZXhjZXB0aW9uJiZ3aW5kb3cuY29uc29sZS50YWJsZSl8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcLyhcZCspLykmJnBhcnNlSW50KFJlZ0V4cC4kMSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZnVuY3Rpb24gaSguLi5lKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coLi4uZSl9ZnVuY3Rpb24gYSh0KXt0cnl7dD9lLnN0b3JhZ2Uuc2V0SXRlbShgZGVidWdgLHQpOmUuc3RvcmFnZS5yZW1vdmVJdGVtKGBkZWJ1Z2ApfWNhdGNoe319ZnVuY3Rpb24gbygpe2xldCB0O3RyeXt0PWUuc3RvcmFnZS5nZXRJdGVtKGBkZWJ1Z2ApfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWZ1bmN0aW9uIHMoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZX1jYXRjaHt9fXQuZXhwb3J0cz1BcygpKGUpO3Zhcntmb3JtYXR0ZXJzOmN9PXQuZXhwb3J0cztjLmo9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtyZXR1cm5gW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06IGArZS5tZXNzYWdlfX19KSksTXM9cygoKGUsdCk9Pnt2YXIgbj1rcygpLHI9anMoKShgc29ja2V0LmlvLWNsaWVudDp1cmxgKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUsdCl7dmFyIGk9ZTt0fHw9dHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24sZT8/PXQucHJvdG9jb2wrYC8vYCt0Lmhvc3QsdHlwZW9mIGU9PWBzdHJpbmdgJiYoZS5jaGFyQXQoMCk9PT1gL2AmJihlPWUuY2hhckF0KDEpPT09YC9gP3QucHJvdG9jb2wrZTp0Lmhvc3QrZSksL14oaHR0cHM/fHdzcz8pOlwvXC8vLnRlc3QoZSl8fChyKGBwcm90b2NvbC1sZXNzIHVybCAlc2AsZSksZT10PT09dm9pZCAwP2BodHRwczovL2ArZTp0LnByb3RvY29sK2AvL2ArZSkscihgcGFyc2UgJXNgLGUpLGk9bihlKSksaS5wb3J0fHwoL14oaHR0cHx3cykkLy50ZXN0KGkucHJvdG9jb2wpP2kucG9ydD1gODBgOi9eKGh0dHB8d3MpcyQvLnRlc3QoaS5wcm90b2NvbCkmJihpLnBvcnQ9YDQ0M2ApKSxpLnBhdGg9aS5wYXRofHxgL2A7dmFyIGE9aS5ob3N0LmluZGV4T2YoYDpgKT09PS0xP2kuaG9zdDpgW2AraS5ob3N0K2BdYDtyZXR1cm4gaS5pZD1pLnByb3RvY29sK2A6Ly9gK2ErYDpgK2kucG9ydCxpLmhyZWY9aS5wcm90b2NvbCtgOi8vYCthKyh0JiZ0LnBvcnQ9PT1pLnBvcnQ/YGA6YDpgK2kucG9ydCksaX19KSksTnM9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBzKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNOYU4oZSk9PT0hMSlyZXR1cm4gdC5sb25nP2woZSk6YyhlKTt0aHJvdyBFcnJvcihgdmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD1gK0pTT04uc3RyaW5naWZ5KGUpKX07ZnVuY3Rpb24gcyhlKXtpZihlPVN0cmluZyhlKSwhKGUubGVuZ3RoPjEwMCkpe3ZhciB0PS9eKCg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIHM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIHMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBzKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gcyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIHMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBzKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIHM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZT49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOmU+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDplPj1yP01hdGgucm91bmQoZS9yKStgbWA6ZT49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiBsKGUpe3JldHVybiB1KGUsYSxgZGF5YCl8fHUoZSxpLGBob3VyYCl8fHUoZSxyLGBtaW51dGVgKXx8dShlLG4sYHNlY29uZGApfHxlK2AgbXNgfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKCEoZTx0KSlyZXR1cm4gZTx0KjEuNT9NYXRoLmZsb29yKGUvdCkrYCBgK246TWF0aC5jZWlsKGUvdCkrYCBgK24rYHNgfX0pKSxQcz1zKCgoZSx0KT0+e2U9dC5leHBvcnRzPXIuZGVidWc9ci5kZWZhdWx0PXIsZS5jb2VyY2U9YyxlLmRpc2FibGU9byxlLmVuYWJsZT1hLGUuZW5hYmxlZD1zLGUuaHVtYW5pemU9TnMoKSxlLmluc3RhbmNlcz1bXSxlLm5hbWVzPVtdLGUuc2tpcHM9W10sZS5mb3JtYXR0ZXJzPXt9O2Z1bmN0aW9uIG4odCl7dmFyIG49MCxyO2ZvcihyIGluIHQpbj0objw8NSktbit0LmNoYXJDb2RlQXQociksbnw9MDtyZXR1cm4gZS5jb2xvcnNbTWF0aC5hYnMobiklZS5jb2xvcnMubGVuZ3RoXX1mdW5jdGlvbiByKHQpe3ZhciByO2Z1bmN0aW9uIGEoKXtpZihhLmVuYWJsZWQpe3ZhciB0PWEsbj0rbmV3IERhdGU7dC5kaWZmPW4tKHJ8fG4pLHQucHJldj1yLHQuY3Vycj1uLHI9bjtmb3IodmFyIGk9QXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbz0wO288aS5sZW5ndGg7bysrKWlbb109YXJndW1lbnRzW29dO2lbMF09ZS5jb2VyY2UoaVswXSksdHlwZW9mIGlbMF0hPWBzdHJpbmdgJiZpLnVuc2hpZnQoYCVPYCk7dmFyIHM9MDtpWzBdPWlbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csZnVuY3Rpb24obixyKXtpZihuPT09YCUlYClyZXR1cm4gbjtzKys7dmFyIGE9ZS5mb3JtYXR0ZXJzW3JdO2lmKHR5cGVvZiBhPT1gZnVuY3Rpb25gKXt2YXIgbz1pW3NdO249YS5jYWxsKHQsbyksaS5zcGxpY2UocywxKSxzLS19cmV0dXJuIG59KSxlLmZvcm1hdEFyZ3MuY2FsbCh0LGkpLChhLmxvZ3x8ZS5sb2d8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSkpLmFwcGx5KHQsaSl9fXJldHVybiBhLm5hbWVzcGFjZT10LGEuZW5hYmxlZD1lLmVuYWJsZWQodCksYS51c2VDb2xvcnM9ZS51c2VDb2xvcnMoKSxhLmNvbG9yPW4odCksYS5kZXN0cm95PWksdHlwZW9mIGUuaW5pdD09YGZ1bmN0aW9uYCYmZS5pbml0KGEpLGUuaW5zdGFuY2VzLnB1c2goYSksYX1mdW5jdGlvbiBpKCl7dmFyIHQ9ZS5pbnN0YW5jZXMuaW5kZXhPZih0aGlzKTtyZXR1cm4gdD09PS0xPyExOihlLmluc3RhbmNlcy5zcGxpY2UodCwxKSwhMCl9ZnVuY3Rpb24gYSh0KXtlLnNhdmUodCksZS5uYW1lcz1bXSxlLnNraXBzPVtdO3ZhciBuLHI9KHR5cGVvZiB0PT1gc3RyaW5nYD90OmBgKS5zcGxpdCgvW1xzLF0rLyksaT1yLmxlbmd0aDtmb3Iobj0wO248aTtuKyspcltuXSYmKHQ9cltuXS5yZXBsYWNlKC9cKi9nLGAuKj9gKSx0WzBdPT09YC1gP2Uuc2tpcHMucHVzaChSZWdFeHAoYF5gK3Quc3Vic3RyKDEpK2AkYCkpOmUubmFtZXMucHVzaChSZWdFeHAoYF5gK3QrYCRgKSkpO2ZvcihuPTA7bjxlLmluc3RhbmNlcy5sZW5ndGg7bisrKXt2YXIgYT1lLmluc3RhbmNlc1tuXTthLmVuYWJsZWQ9ZS5lbmFibGVkKGEubmFtZXNwYWNlKX19ZnVuY3Rpb24gbygpe2UuZW5hYmxlKGBgKX1mdW5jdGlvbiBzKHQpe2lmKHRbdC5sZW5ndGgtMV09PT1gKmApcmV0dXJuITA7dmFyIG4scjtmb3Iobj0wLHI9ZS5za2lwcy5sZW5ndGg7bjxyO24rKylpZihlLnNraXBzW25dLnRlc3QodCkpcmV0dXJuITE7Zm9yKG49MCxyPWUubmFtZXMubGVuZ3RoO248cjtuKyspaWYoZS5uYW1lc1tuXS50ZXN0KHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX19KSksRnM9cygoKGUsdCk9PntlPXQuZXhwb3J0cz1QcygpLGUubG9nPWksZS5mb3JtYXRBcmdzPXIsZS5zYXZlPWEsZS5sb2FkPW8sZS51c2VDb2xvcnM9bixlLnN0b3JhZ2U9dHlwZW9mIGNocm9tZTxgdWAmJmNocm9tZS5zdG9yYWdlIT09dm9pZCAwP2Nocm9tZS5zdG9yYWdlLmxvY2FsOnMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmd2luZG93LnByb2Nlc3MudHlwZT09PWByZW5kZXJlcmA/ITA6dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcLyhcZCspLyk/ITE6dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlfHx0eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmNvbnNvbGUmJih3aW5kb3cuY29uc29sZS5maXJlYnVnfHx3aW5kb3cuY29uc29sZS5leGNlcHRpb24mJndpbmRvdy5jb25zb2xlLnRhYmxlKXx8dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFwvKFxkKykvKSYmcGFyc2VJbnQoUmVnRXhwLiQxLDEwKT49MzF8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2FwcGxld2Via2l0XC8oXGQrKS8pfWUuZm9ybWF0dGVycy5qPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2goZSl7cmV0dXJuYFtVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiBgK2UubWVzc2FnZX19O2Z1bmN0aW9uIHIodCl7dmFyIG49dGhpcy51c2VDb2xvcnM7aWYodFswXT0obj9gJWNgOmBgKSt0aGlzLm5hbWVzcGFjZSsobj9gICVjYDpgIGApK3RbMF0rKG4/YCVjIGA6YCBgKStgK2ArZS5odW1hbml6ZSh0aGlzLmRpZmYpLG4pe3ZhciByPWBjb2xvcjogYCt0aGlzLmNvbG9yO3Quc3BsaWNlKDEsMCxyLGBjb2xvcjogaW5oZXJpdGApO3ZhciBpPTAsYT0wO3RbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLGZ1bmN0aW9uKGUpe2UhPT1gJSVgJiYoaSsrLGU9PT1gJWNgJiYoYT1pKSl9KSx0LnNwbGljZShhLDAscil9fWZ1bmN0aW9uIGkoKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZS5sb2csY29uc29sZSxhcmd1bWVudHMpfWZ1bmN0aW9uIGEodCl7dHJ5e3Q9PW51bGw/ZS5zdG9yYWdlLnJlbW92ZUl0ZW0oYGRlYnVnYCk6ZS5zdG9yYWdlLmRlYnVnPXR9Y2F0Y2h7fX1mdW5jdGlvbiBvKCl7dmFyIHQ7dHJ5e3Q9ZS5zdG9yYWdlLmRlYnVnfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWUuZW5hYmxlKG8oKSk7ZnVuY3Rpb24gcygpe3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9fX0pKSxJcz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gbi5sZW5ndGg9PT0wJiZkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzfSxuLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9O2Zvcih2YXIgdD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2lmKG4pe249bi5zbGljZSgwKTtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTsrK3IpbltyXS5hcHBseSh0aGlzLHQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LHRoaXMuX2NhbGxiYWNrc1tgJGArZV18fFtdfSxuLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxpc3RlbmVycyhlKS5sZW5ndGh9fSkpLExzPXMoKChlLHQpPT57dmFyIG49e30udG9TdHJpbmc7dC5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbGwoZSk9PWBbb2JqZWN0IEFycmF5XWB9fSkpLFJzPXMoKChlLHQpPT57dC5leHBvcnRzPWE7dmFyIG49dHlwZW9mIEJ1ZmZlcj09YGZ1bmN0aW9uYCYmdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlcj09YGZ1bmN0aW9uYCxyPXR5cGVvZiBBcnJheUJ1ZmZlcj09YGZ1bmN0aW9uYCxpPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3PT1gZnVuY3Rpb25gP0FycmF5QnVmZmVyLmlzVmlldyhlKTplLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfTtmdW5jdGlvbiBhKGUpe3JldHVybiBuJiZCdWZmZXIuaXNCdWZmZXIoZSl8fHImJihlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkoZSkpfX0pKSx6cz1zKChlPT57dmFyIHQ9THMoKSxuPVJzKCkscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9dHlwZW9mIEJsb2I9PWBmdW5jdGlvbmB8fHR5cGVvZiBCbG9iPGB1YCYmci5jYWxsKEJsb2IpPT09YFtvYmplY3QgQmxvYkNvbnN0cnVjdG9yXWAsYT10eXBlb2YgRmlsZT09YGZ1bmN0aW9uYHx8dHlwZW9mIEZpbGU8YHVgJiZyLmNhbGwoRmlsZSk9PT1gW29iamVjdCBGaWxlQ29uc3RydWN0b3JdYDtlLmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5kYXRhLHI9ZTtyZXR1cm4gci5kYXRhPW8obix0KSxyLmF0dGFjaG1lbnRzPXQubGVuZ3RoLHtwYWNrZXQ6cixidWZmZXJzOnR9fTtmdW5jdGlvbiBvKGUscil7aWYoIWUpcmV0dXJuIGU7aWYobihlKSl7dmFyIGk9e19wbGFjZWhvbGRlcjohMCxudW06ci5sZW5ndGh9O3JldHVybiByLnB1c2goZSksaX1lbHNlIGlmKHQoZSkpe2Zvcih2YXIgYT1BcnJheShlLmxlbmd0aCkscz0wO3M8ZS5sZW5ndGg7cysrKWFbc109byhlW3NdLHIpO3JldHVybiBhfWVsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgJiYhKGUgaW5zdGFuY2VvZiBEYXRlKSl7dmFyIGE9e307Zm9yKHZhciBjIGluIGUpYVtjXT1vKGVbY10scik7cmV0dXJuIGF9cmV0dXJuIGV9ZS5yZWNvbnN0cnVjdFBhY2tldD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmRhdGE9cyhlLmRhdGEsdCksZS5hdHRhY2htZW50cz12b2lkIDAsZX07ZnVuY3Rpb24gcyhlLG4pe2lmKCFlKXJldHVybiBlO2lmKGUmJmUuX3BsYWNlaG9sZGVyPT09ITApe2lmKHR5cGVvZiBlLm51bT09YG51bWJlcmAmJmUubnVtPj0wJiZlLm51bTxuLmxlbmd0aClyZXR1cm4gbltlLm51bV07dGhyb3cgRXJyb3IoYGlsbGVnYWwgYXR0YWNobWVudHNgKX1lbHNlIGlmKHQoZSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXT1zKGVbcl0sbik7ZWxzZSBpZih0eXBlb2YgZT09YG9iamVjdGApZm9yKHZhciBpIGluIGUpZVtpXT1zKGVbaV0sbik7cmV0dXJuIGV9ZS5yZW1vdmVCbG9icz1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG8oZSxsLHUpe2lmKCFlKXJldHVybiBlO2lmKGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSl7cysrO3ZhciBkPW5ldyBGaWxlUmVhZGVyO2Qub25sb2FkPWZ1bmN0aW9uKCl7dT91W2xdPXRoaXMucmVzdWx0OmM9dGhpcy5yZXN1bHQsLS1zfHxyKGMpfSxkLnJlYWRBc0FycmF5QnVmZmVyKGUpfWVsc2UgaWYodChlKSlmb3IodmFyIGY9MDtmPGUubGVuZ3RoO2YrKylvKGVbZl0sZixlKTtlbHNlIGlmKHR5cGVvZiBlPT1gb2JqZWN0YCYmIW4oZSkpZm9yKHZhciBwIGluIGUpbyhlW3BdLHAsZSl9dmFyIHM9MCxjPWU7byhjKSxzfHxyKGMpfX0pKSxCcz1zKChlPT57dmFyIHQ9RnMoKShgc29ja2V0LmlvLXBhcnNlcmApLG49SXMoKSxyPXpzKCksaT1McygpLGE9UnMoKTtlLnByb3RvY29sPTQsZS50eXBlcz1bYENPTk5FQ1RgLGBESVNDT05ORUNUYCxgRVZFTlRgLGBBQ0tgLGBFUlJPUmAsYEJJTkFSWV9FVkVOVGAsYEJJTkFSWV9BQ0tgXSxlLkNPTk5FQ1Q9MCxlLkRJU0NPTk5FQ1Q9MSxlLkVWRU5UPTIsZS5BQ0s9MyxlLkVSUk9SPTQsZS5CSU5BUllfRVZFTlQ9NSxlLkJJTkFSWV9BQ0s9NixlLkVuY29kZXI9byxlLkRlY29kZXI9ZDtmdW5jdGlvbiBvKCl7fXZhciBzPWUuRVJST1IrYCJlbmNvZGUgZXJyb3IiYDtvLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24obixyKXt0KGBlbmNvZGluZyBwYWNrZXQgJWpgLG4pLGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGU/dShuLHIpOnIoW2MobildKX07ZnVuY3Rpb24gYyhuKXt2YXIgcj1gYCtuLnR5cGU7aWYoKGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGUpJiYocis9bi5hdHRhY2htZW50cytgLWApLG4ubnNwJiZuLm5zcCE9PWAvYCYmKHIrPW4ubnNwK2AsYCksbi5pZCE9bnVsbCYmKHIrPW4uaWQpLG4uZGF0YSE9bnVsbCl7dmFyIGk9bChuLmRhdGEpO2lmKGkhPT0hMSlyKz1pO2Vsc2UgcmV0dXJuIHN9cmV0dXJuIHQoYGVuY29kZWQgJWogYXMgJXNgLG4scikscn1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSx0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXIuZGVjb25zdHJ1Y3RQYWNrZXQoZSksaT1jKG4ucGFja2V0KSxhPW4uYnVmZmVyczthLnVuc2hpZnQoaSksdChhKX1yLnJlbW92ZUJsb2JzKGUsbil9ZnVuY3Rpb24gZCgpe3RoaXMucmVjb25zdHJ1Y3Rvcj1udWxsfW4oZC5wcm90b3R5cGUpLGQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgbjtpZih0eXBlb2YgdD09YHN0cmluZ2Ape2lmKHRoaXMucmVjb25zdHJ1Y3Rvcil0aHJvdyBFcnJvcihgZ290IHBsYWludGV4dCBkYXRhIHdoZW4gcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtuPWYodCksZS5CSU5BUllfRVZFTlQ9PT1uLnR5cGV8fGUuQklOQVJZX0FDSz09PW4udHlwZT8odGhpcy5yZWNvbnN0cnVjdG9yPW5ldyBtKG4pLHRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHM9PT0wJiZ0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTp0aGlzLmVtaXQoYGRlY29kZWRgLG4pfWVsc2UgaWYoYSh0KXx8dC5iYXNlNjQpaWYodGhpcy5yZWNvbnN0cnVjdG9yKW49dGhpcy5yZWNvbnN0cnVjdG9yLnRha2VCaW5hcnlEYXRhKHQpLG4mJih0aGlzLnJlY29uc3RydWN0b3I9bnVsbCx0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTtlbHNlIHRocm93IEVycm9yKGBnb3QgYmluYXJ5IGRhdGEgd2hlbiBub3QgcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtlbHNlIHRocm93IEVycm9yKGBVbmtub3duIHR5cGU6IGArdCl9O2Z1bmN0aW9uIGYobil7dmFyIHI9MCxhPXt0eXBlOk51bWJlcihuLmNoYXJBdCgwKSl9O2lmKGUudHlwZXNbYS50eXBlXT09bnVsbClyZXR1cm4gaChgdW5rbm93biBwYWNrZXQgdHlwZSBgK2EudHlwZSk7aWYoZS5CSU5BUllfRVZFTlQ9PT1hLnR5cGV8fGUuQklOQVJZX0FDSz09PWEudHlwZSl7Zm9yKHZhciBvPXIrMTtuLmNoYXJBdCgrK3IpIT09YC1gJiZyIT1uLmxlbmd0aDspO3ZhciBzPW4uc3Vic3RyaW5nKG8scik7aWYocyE9TnVtYmVyKHMpfHxuLmNoYXJBdChyKSE9PWAtYCl0aHJvdyBFcnJvcihgSWxsZWdhbCBhdHRhY2htZW50c2ApO2EuYXR0YWNobWVudHM9TnVtYmVyKHMpfWlmKG4uY2hhckF0KHIrMSk9PT1gL2Ape2Zvcih2YXIgbz1yKzE7KytyOyl7dmFyIGM9bi5jaGFyQXQocik7aWYoYz09PWAsYHx8cj09PW4ubGVuZ3RoKWJyZWFrfWEubnNwPW4uc3Vic3RyaW5nKG8scil9ZWxzZSBhLm5zcD1gL2A7dmFyIGw9bi5jaGFyQXQocisxKTtpZihsIT09YGAmJk51bWJlcihsKT09bCl7Zm9yKHZhciBvPXIrMTsrK3I7KXt2YXIgYz1uLmNoYXJBdChyKTtpZihjPT1udWxsfHxOdW1iZXIoYykhPWMpey0tcjticmVha31pZihyPT09bi5sZW5ndGgpYnJlYWt9YS5pZD1OdW1iZXIobi5zdWJzdHJpbmcobyxyKzEpKX1pZihuLmNoYXJBdCgrK3IpKXt2YXIgdT1wKG4uc3Vic3RyKHIpKTtpZih1IT09ITEmJihhLnR5cGU9PT1lLkVSUk9SfHxpKHUpKSlhLmRhdGE9dTtlbHNlIHJldHVybiBoKGBpbnZhbGlkIHBheWxvYWRgKX1yZXR1cm4gdChgZGVjb2RlZCAlcyBhcyAlamAsbixhKSxhfWZ1bmN0aW9uIHAoZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybiExfX1kLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5yZWNvbnN0cnVjdG9yJiZ0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpfTtmdW5jdGlvbiBtKGUpe3RoaXMucmVjb25QYWNrPWUsdGhpcy5idWZmZXJzPVtdfW0ucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhPWZ1bmN0aW9uKGUpe2lmKHRoaXMuYnVmZmVycy5wdXNoKGUpLHRoaXMuYnVmZmVycy5sZW5ndGg9PT10aGlzLnJlY29uUGFjay5hdHRhY2htZW50cyl7dmFyIHQ9ci5yZWNvbnN0cnVjdFBhY2tldCh0aGlzLnJlY29uUGFjayx0aGlzLmJ1ZmZlcnMpO3JldHVybiB0aGlzLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKSx0fXJldHVybiBudWxsfSxtLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZWNvblBhY2s9bnVsbCx0aGlzLmJ1ZmZlcnM9W119O2Z1bmN0aW9uIGgodCl7cmV0dXJue3R5cGU6ZS5FUlJPUixkYXRhOmBwYXJzZXIgZXJyb3I6IGArdH19fSkpLFZzPXMoKChlLHQpPT57dHJ5e3QuZXhwb3J0cz10eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiZgd2l0aENyZWRlbnRpYWxzYGluIG5ldyBYTUxIdHRwUmVxdWVzdH1jYXRjaHt0LmV4cG9ydHM9ITF9fSkpLEhzPXMoKChlLHQpPT57dC5leHBvcnRzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2Ygc2VsZjxgdWA/c2VsZjp0eXBlb2Ygd2luZG93PGB1YD93aW5kb3c6RnVuY3Rpb24oYHJldHVybiB0aGlzYCkoKX0pKCl9KSksVXM9cygoKGUsdCk9Pnt2YXIgbj1WcygpLHI9SHMoKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS54ZG9tYWluLGk9ZS54c2NoZW1lLGE9ZS5lbmFibGVzWERSO3RyeXtpZih0eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiYoIXR8fG4pKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2h7fXRyeXtpZih0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhaSYmYSlyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoe31pZighdCl0cnl7cmV0dXJuIG5ldyByW1tgQWN0aXZlYCxgT2JqZWN0YF0uam9pbihgWGApXShgTWljcm9zb2Z0LlhNTEhUVFBgKX1jYXRjaHt9fX0pKSxXcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Zvcih2YXIgciBpbiBlKW4uY2FsbChlLHIpJiZ0LnB1c2gocik7cmV0dXJuIHR9fSkpLEdzPXMoKChlLHQpPT57dmFyIG49THMoKSxyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsaT10eXBlb2YgQmxvYj09YGZ1bmN0aW9uYHx8dHlwZW9mIEJsb2I8YHVgJiZyLmNhbGwoQmxvYik9PT1gW29iamVjdCBCbG9iQ29uc3RydWN0b3JdYCxhPXR5cGVvZiBGaWxlPT1gZnVuY3Rpb25gfHx0eXBlb2YgRmlsZTxgdWAmJnIuY2FsbChGaWxlKT09PWBbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl1gO3QuZXhwb3J0cz1vO2Z1bmN0aW9uIG8oZSl7aWYoIWV8fHR5cGVvZiBlIT1gb2JqZWN0YClyZXR1cm4hMTtpZihuKGUpKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0KyspaWYobyhlW3RdKSlyZXR1cm4hMDtyZXR1cm4hMX1pZih0eXBlb2YgQnVmZmVyPT1gZnVuY3Rpb25gJiZCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKXx8dHlwZW9mIEFycmF5QnVmZmVyPT1gZnVuY3Rpb25gJiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSlyZXR1cm4hMDtpZihlLnRvSlNPTiYmdHlwZW9mIGUudG9KU09OPT1gZnVuY3Rpb25gJiZhcmd1bWVudHMubGVuZ3RoPT09MSlyZXR1cm4gbyhlLnRvSlNPTigpLCEwKTtmb3IodmFyIHMgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmbyhlW3NdKSlyZXR1cm4hMDtyZXR1cm4hMX19KSksS3M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuYnl0ZUxlbmd0aDtpZih0fHw9MCxufHw9cixlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQsbik7aWYodDwwJiYodCs9ciksbjwwJiYobis9ciksbj5yJiYobj1yKSx0Pj1yfHx0Pj1ufHxyPT09MClyZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShlKSxhPW5ldyBVaW50OEFycmF5KG4tdCksbz10LHM9MDtvPG47bysrLHMrKylhW3NdPWlbb107cmV0dXJuIGEuYnVmZmVyfX0pKSxxcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1uO2Z1bmN0aW9uIG4oZSx0LG4pe3ZhciBpPSExO3JldHVybiBufHw9cixhLmNvdW50PWUsZT09PTA/dCgpOmE7ZnVuY3Rpb24gYShlLHIpe2lmKGEuY291bnQ8PTApdGhyb3cgRXJyb3IoYGFmdGVyIGNhbGxlZCB0b28gbWFueSB0aW1lc2ApOy0tYS5jb3VudCxlPyhpPSEwLHQoZSksdD1uKTphLmNvdW50PT09MCYmIWkmJnQobnVsbCxyKX19ZnVuY3Rpb24gcigpe319KSksSnM9cygoKGUsdCk9Pnt2YXIgbj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIHIoZSl7Zm9yKHZhciB0PVtdLG49MCxyPWUubGVuZ3RoLGksYTtuPHI7KWk9ZS5jaGFyQ29kZUF0KG4rKyksaT49NTUyOTYmJmk8PTU2MzE5JiZuPHI/KGE9ZS5jaGFyQ29kZUF0KG4rKyksKGEmNjQ1MTIpPT01NjMyMD90LnB1c2goKChpJjEwMjMpPDwxMCkrKGEmMTAyMykrNjU1MzYpOih0LnB1c2goaSksbi0tKSk6dC5wdXNoKGkpO3JldHVybiB0fWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PWUubGVuZ3RoLHI9LTEsaSxhPWBgOysrcjx0OylpPWVbcl0saT42NTUzNSYmKGktPTY1NTM2LGErPW4oaT4+PjEwJjEwMjN8NTUyOTYpLGk9NTYzMjB8aSYxMDIzKSxhKz1uKGkpO3JldHVybiBhfWZ1bmN0aW9uIGEoZSx0KXtpZihlPj01NTI5NiYmZTw9NTczNDMpe2lmKHQpdGhyb3cgRXJyb3IoYExvbmUgc3Vycm9nYXRlIFUrYCtlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpK2AgaXMgbm90IGEgc2NhbGFyIHZhbHVlYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBuKGU+PnQmNjN8MTI4KX1mdW5jdGlvbiBzKGUsdCl7aWYoIShlJjQyOTQ5NjcxNjgpKXJldHVybiBuKGUpO3ZhciByPWBgO3JldHVybiBlJjQyOTQ5NjUyNDg/ZSY0Mjk0OTAxNzYwP2UmNDI5Mjg3MDE0NHx8KHI9bihlPj4xOCY3fDI0MCkscis9byhlLDEyKSxyKz1vKGUsNikpOihhKGUsdCl8fChlPTY1NTMzKSxyPW4oZT4+MTImMTV8MjI0KSxyKz1vKGUsNikpOnI9bihlPj42JjMxfDE5Mikscis9bihlJjYzfDEyOCkscn1mdW5jdGlvbiBjKGUsdCl7dHx8PXt9O2Zvcih2YXIgbj0hMSE9PXQuc3RyaWN0LGk9cihlKSxhPWkubGVuZ3RoLG89LTEsYyxsPWBgOysrbzxhOyljPWlbb10sbCs9cyhjLG4pO3JldHVybiBsfWZ1bmN0aW9uIGwoKXtpZihwPj1mKXRocm93IEVycm9yKGBJbnZhbGlkIGJ5dGUgaW5kZXhgKTt2YXIgZT1kW3BdJjI1NTtpZihwKyssKGUmMTkyKT09MTI4KXJldHVybiBlJjYzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9ZnVuY3Rpb24gdShlKXt2YXIgdCxuLHIsaSxvO2lmKHA+Zil0aHJvdyBFcnJvcihgSW52YWxpZCBieXRlIGluZGV4YCk7aWYocD09ZilyZXR1cm4hMTtpZih0PWRbcF0mMjU1LHArKywhKHQmMTI4KSlyZXR1cm4gdDtpZigodCYyMjQpPT0xOTIpe2lmKG49bCgpLG89KHQmMzEpPDw2fG4sbz49MTI4KXJldHVybiBvO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQwKT09MjI0KXtpZihuPWwoKSxyPWwoKSxvPSh0JjE1KTw8MTJ8bjw8NnxyLG8+PTIwNDgpcmV0dXJuIGEobyxlKT9vOjY1NTMzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQ4KT09MjQwJiYobj1sKCkscj1sKCksaT1sKCksbz0odCY3KTw8MTh8bjw8MTJ8cjw8NnxpLG8+PTY1NTM2JiZvPD0xMTE0MTExKSlyZXR1cm4gbzt0aHJvdyBFcnJvcihgSW52YWxpZCBVVEYtOCBkZXRlY3RlZGApfXZhciBkLGYscDtmdW5jdGlvbiBtKGUsdCl7dHx8PXt9O3ZhciBuPSExIT09dC5zdHJpY3Q7ZD1yKGUpLGY9ZC5sZW5ndGgscD0wO2Zvcih2YXIgYT1bXSxvOyhvPXUobikpIT09ITE7KWEucHVzaChvKTtyZXR1cm4gaShhKX10LmV4cG9ydHM9e3ZlcnNpb246YDIuMS4yYCxlbmNvZGU6YyxkZWNvZGU6bX19KSksWXM9cygoZT0+eyhmdW5jdGlvbih0KXtlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgbj1uZXcgVWludDhBcnJheShlKSxyLGk9bi5sZW5ndGgsYT1gYDtmb3Iocj0wO3I8aTtyKz0zKWErPXRbbltyXT4+Ml0sYSs9dFsobltyXSYzKTw8NHxuW3IrMV0+PjRdLGErPXRbKG5bcisxXSYxNSk8PDJ8bltyKzJdPj42XSxhKz10W25bcisyXSY2M107cmV0dXJuIGklMz09Mj9hPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMSkrYD1gOmklMz09MSYmKGE9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0yKStgPT1gKSxhfSxlLmRlY29kZT1mdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCouNzUscj1lLmxlbmd0aCxpLGE9MCxvLHMsYyxsO2VbZS5sZW5ndGgtMV09PT1gPWAmJihuLS0sZVtlLmxlbmd0aC0yXT09PWA9YCYmbi0tKTt2YXIgdT1uZXcgQXJyYXlCdWZmZXIobiksZD1uZXcgVWludDhBcnJheSh1KTtmb3IoaT0wO2k8cjtpKz00KW89dC5pbmRleE9mKGVbaV0pLHM9dC5pbmRleE9mKGVbaSsxXSksYz10LmluZGV4T2YoZVtpKzJdKSxsPXQuaW5kZXhPZihlW2krM10pLGRbYSsrXT1vPDwyfHM+PjQsZFthKytdPShzJjE1KTw8NHxjPj4yLGRbYSsrXT0oYyYzKTw8NnxsJjYzO3JldHVybiB1fX0pKGBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvYCl9KSksWHM9cygoKGUsdCk9Pnt2YXIgbj1uPT09dm9pZCAwP3R5cGVvZiBXZWJLaXRCbG9iQnVpbGRlcjxgdWA/V2ViS2l0QmxvYkJ1aWxkZXI6dHlwZW9mIE1TQmxvYkJ1aWxkZXI8YHVgP01TQmxvYkJ1aWxkZXI6dHlwZW9mIE1vekJsb2JCdWlsZGVyPGB1YD9Nb3pCbG9iQnVpbGRlcjohMTpuLHI9KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgQmxvYihbYGhpYF0pLnNpemU9PT0yfWNhdGNoe3JldHVybiExfX0pKCksaT1yJiYoZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKS5zaXplPT09Mn1jYXRjaHtyZXR1cm4hMX19KSgpLGE9biYmbi5wcm90b3R5cGUuYXBwZW5kJiZuLnByb3RvdHlwZS5nZXRCbG9iO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe2lmKGUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpe3ZhciB0PWUuYnVmZmVyO2lmKGUuYnl0ZUxlbmd0aCE9PXQuYnl0ZUxlbmd0aCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKTtuLnNldChuZXcgVWludDhBcnJheSh0LGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpKSx0PW4uYnVmZmVyfXJldHVybiB0fXJldHVybiBlfSl9ZnVuY3Rpb24gcyhlLHQpe3R8fD17fTt2YXIgcj1uZXcgbjtyZXR1cm4gbyhlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IuYXBwZW5kKGUpfSksdC50eXBlP3IuZ2V0QmxvYih0LnR5cGUpOnIuZ2V0QmxvYigpfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gbmV3IEJsb2IobyhlKSx0fHx7fSl9dHlwZW9mIEJsb2I8YHVgJiYocy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUsYy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUpLHQuZXhwb3J0cz0oZnVuY3Rpb24oKXtpZihyKXJldHVybiBpP0Jsb2I6YztpZihhKXJldHVybiBzfSkoKX0pKSxacz1zKChlPT57dmFyIHQ9V3MoKSxuPUdzKCkscj1LcygpLGk9cXMoKSxhPUpzKCksbzt0eXBlb2YgQXJyYXlCdWZmZXI8YHVgJiYobz1ZcygpKTt2YXIgcz10eXBlb2YgbmF2aWdhdG9yPGB1YCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGw9c3x8YztlLnByb3RvY29sPTM7dmFyIHU9ZS5wYWNrZXRzPXtvcGVuOjAsY2xvc2U6MSxwaW5nOjIscG9uZzozLG1lc3NhZ2U6NCx1cGdyYWRlOjUsbm9vcDo2fSxkPXQodSksZj17dHlwZTpgZXJyb3JgLGRhdGE6YHBhcnNlciBlcnJvcmB9LHA9WHMoKTtlLmVuY29kZVBhY2tldD1mdW5jdGlvbihlLHQsbixyKXt0eXBlb2YgdD09YGZ1bmN0aW9uYCYmKHI9dCx0PSExKSx0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpPWUuZGF0YT09PXZvaWQgMD92b2lkIDA6ZS5kYXRhLmJ1ZmZlcnx8ZS5kYXRhO2lmKHR5cGVvZiBBcnJheUJ1ZmZlcjxgdWAmJmkgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gaChlLHQscik7aWYocCE9PXZvaWQgMCYmaSBpbnN0YW5jZW9mIHApcmV0dXJuIF8oZSx0LHIpO2lmKGkmJmkuYmFzZTY0KXJldHVybiBtKGUscik7dmFyIG89dVtlLnR5cGVdO3JldHVybiBlLmRhdGEhPT12b2lkIDAmJihvKz1uP2EuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSkscihgYCtvKX07ZnVuY3Rpb24gbSh0LG4pe3JldHVybiBuKGBiYCtlLnBhY2tldHNbdC50eXBlXSt0LmRhdGEuZGF0YSl9ZnVuY3Rpb24gaCh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7dmFyIGk9dC5kYXRhLGE9bmV3IFVpbnQ4QXJyYXkoaSksbz1uZXcgVWludDhBcnJheSgxK2kuYnl0ZUxlbmd0aCk7b1swXT11W3QudHlwZV07Zm9yKHZhciBzPTA7czxhLmxlbmd0aDtzKyspb1tzKzFdPWFbc107cmV0dXJuIHIoby5idWZmZXIpfWZ1bmN0aW9uIGcodCxuLHIpe2lmKCFuKXJldHVybiBlLmVuY29kZUJhc2U2NFBhY2tldCh0LHIpO3ZhciBpPW5ldyBGaWxlUmVhZGVyO3JldHVybiBpLm9ubG9hZD1mdW5jdGlvbigpe2UuZW5jb2RlUGFja2V0KHt0eXBlOnQudHlwZSxkYXRhOmkucmVzdWx0fSxuLCEwLHIpfSxpLnJlYWRBc0FycmF5QnVmZmVyKHQuZGF0YSl9ZnVuY3Rpb24gXyh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7aWYobClyZXR1cm4gZyh0LG4scik7dmFyIGk9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGlbMF09dVt0LnR5cGVdLHIobmV3IHAoW2kuYnVmZmVyLHQuZGF0YV0pKX1lLmVuY29kZUJhc2U2NFBhY2tldD1mdW5jdGlvbih0LG4pe3ZhciByPWBiYCtlLnBhY2tldHNbdC50eXBlXTtpZihwIT09dm9pZCAwJiZ0LmRhdGEgaW5zdGFuY2VvZiBwKXt2YXIgaT1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gaS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1pLnJlc3VsdC5zcGxpdChgLGApWzFdO24ocitlKX0saS5yZWFkQXNEYXRhVVJMKHQuZGF0YSl9dmFyIGE7dHJ5e2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KHQuZGF0YSkpfWNhdGNoe2Zvcih2YXIgbz1uZXcgVWludDhBcnJheSh0LmRhdGEpLHM9QXJyYXkoby5sZW5ndGgpLGM9MDtjPG8ubGVuZ3RoO2MrKylzW2NdPW9bY107YT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwscyl9cmV0dXJuIHIrPWJ0b2EoYSksbihyKX0sZS5kZWNvZGVQYWNrZXQ9ZnVuY3Rpb24odCxuLGkpe2lmKHQ9PT12b2lkIDApcmV0dXJuIGY7aWYodHlwZW9mIHQ9PWBzdHJpbmdgKXtpZih0LmNoYXJBdCgwKT09PWBiYClyZXR1cm4gZS5kZWNvZGVCYXNlNjRQYWNrZXQodC5zdWJzdHIoMSksbik7aWYoaSYmKHQ9dih0KSx0PT09ITEpKXJldHVybiBmO3ZhciBhPXQuY2hhckF0KDApO3JldHVybiBOdW1iZXIoYSkhPWF8fCFkW2FdP2Y6dC5sZW5ndGg+MT97dHlwZTpkW2FdLGRhdGE6dC5zdWJzdHJpbmcoMSl9Ont0eXBlOmRbYV19fXZhciBhPW5ldyBVaW50OEFycmF5KHQpWzBdLG89cih0LDEpO3JldHVybiBwJiZuPT09YGJsb2JgJiYobz1uZXcgcChbb10pKSx7dHlwZTpkW2FdLGRhdGE6b319O2Z1bmN0aW9uIHYoZSl7dHJ5e2U9YS5kZWNvZGUoZSx7c3RyaWN0OiExfSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuIGV9ZS5kZWNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kW2UuY2hhckF0KDApXTtpZighbylyZXR1cm57dHlwZTpuLGRhdGE6e2Jhc2U2NDohMCxkYXRhOmUuc3Vic3RyKDEpfX07dmFyIHI9by5kZWNvZGUoZS5zdWJzdHIoMSkpO3JldHVybiB0PT09YGJsb2JgJiZwJiYocj1uZXcgcChbcl0pKSx7dHlwZTpuLGRhdGE6cn19LGUuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbih0LHIsaSl7dHlwZW9mIHI9PWBmdW5jdGlvbmAmJihpPXIscj1udWxsKTt2YXIgYT1uKHQpO2lmKHImJmEpcmV0dXJuIHAmJiFsP2UuZW5jb2RlUGF5bG9hZEFzQmxvYih0LGkpOmUuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIodCxpKTtpZighdC5sZW5ndGgpcmV0dXJuIGkoYDA6YCk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5sZW5ndGgrYDpgK2V9ZnVuY3Rpb24gcyh0LG4pe2UuZW5jb2RlUGFja2V0KHQsYT9yOiExLCExLGZ1bmN0aW9uKGUpe24obnVsbCxvKGUpKX0pfXkodCxzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodC5qb2luKGBgKSl9KX07ZnVuY3Rpb24geShlLHQsbil7Zm9yKHZhciByPUFycmF5KGUubGVuZ3RoKSxhPWkoZS5sZW5ndGgsbiksbz1mdW5jdGlvbihlLG4saSl7dChuLGZ1bmN0aW9uKHQsbil7cltlXT1uLGkodCxyKX0pfSxzPTA7czxlLmxlbmd0aDtzKyspbyhzLGVbc10sYSl9ZS5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKHQsbixyKXtpZih0eXBlb2YgdCE9YHN0cmluZ2ApcmV0dXJuIGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KHQsbixyKTt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpO2lmKHQ9PT1gYClyZXR1cm4gcihmLDAsMSk7Zm9yKHZhciBhPWBgLG8scyxjPTAsbD10Lmxlbmd0aDtjPGw7YysrKXt2YXIgdT10LmNoYXJBdChjKTtpZih1IT09YDpgKXthKz11O2NvbnRpbnVlfWlmKGE9PT1gYHx8YSE9KG89TnVtYmVyKGEpKXx8KHM9dC5zdWJzdHIoYysxLG8pLGEhPXMubGVuZ3RoKSlyZXR1cm4gcihmLDAsMSk7aWYocy5sZW5ndGgpe2lmKGk9ZS5kZWNvZGVQYWNrZXQocyxuLCExKSxmLnR5cGU9PT1pLnR5cGUmJmYuZGF0YT09PWkuZGF0YSlyZXR1cm4gcihmLDAsMSk7aWYoITE9PT1yKGksYytvLGwpKXJldHVybn1jKz1vLGE9YGB9aWYoYSE9PWBgKXJldHVybiByKGYsMCwxKX0sZS5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcj1mdW5jdGlvbih0LG4pe2lmKCF0Lmxlbmd0aClyZXR1cm4gbihuZXcgQXJyYXlCdWZmZXIoMCkpO2Z1bmN0aW9uIHIodCxuKXtlLmVuY29kZVBhY2tldCh0LCEwLCEwLGZ1bmN0aW9uKGUpe3JldHVybiBuKG51bGwsZSl9KX15KHQscixmdW5jdGlvbihlLHQpe3ZhciByPXQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ9PWBzdHJpbmdgP3QubGVuZ3RoOnQuYnl0ZUxlbmd0aDtyZXR1cm4gZStuLnRvU3RyaW5nKCkubGVuZ3RoK24rMn0sMCksaT1uZXcgVWludDhBcnJheShyKSxhPTA7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD10eXBlb2YgZT09YHN0cmluZ2Asbj1lO2lmKHQpe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShlLmxlbmd0aCksbz0wO288ZS5sZW5ndGg7bysrKXJbb109ZS5jaGFyQ29kZUF0KG8pO249ci5idWZmZXJ9dD9pW2ErK109MDppW2ErK109MTtmb3IodmFyIHM9bi5ieXRlTGVuZ3RoLnRvU3RyaW5nKCksbz0wO288cy5sZW5ndGg7bysrKWlbYSsrXT1wYXJzZUludChzW29dKTtpW2ErK109MjU1O2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShuKSxvPTA7bzxyLmxlbmd0aDtvKyspaVthKytdPXJbb119KSxuKGkuYnVmZmVyKX0pfSxlLmVuY29kZVBheWxvYWRBc0Jsb2I9ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiByKHQsbil7ZS5lbmNvZGVQYWNrZXQodCwhMCwhMCxmdW5jdGlvbihlKXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtpZih0WzBdPTEsdHlwZW9mIGU9PWBzdHJpbmdgKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoO2krKylyW2ldPWUuY2hhckNvZGVBdChpKTtlPXIuYnVmZmVyLHRbMF09MH1mb3IodmFyIGE9KGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9lLmJ5dGVMZW5ndGg6ZS5zaXplKS50b1N0cmluZygpLG89bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgrMSksaT0wO2k8YS5sZW5ndGg7aSsrKW9baV09cGFyc2VJbnQoYVtpXSk7b1thLmxlbmd0aF09MjU1LHAmJm4obnVsbCxuZXcgcChbdC5idWZmZXIsby5idWZmZXIsZV0pKX0pfXkodCxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4obmV3IHAodCkpfSl9LGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5PWZ1bmN0aW9uKHQsbixpKXt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKGk9bixuPW51bGwpO2Zvcih2YXIgYT10LG89W107YS5ieXRlTGVuZ3RoPjA7KXtmb3IodmFyIHM9bmV3IFVpbnQ4QXJyYXkoYSksYz1zWzBdPT09MCxsPWBgLHU9MTtzW3VdIT09MjU1O3UrKyl7aWYobC5sZW5ndGg+MzEwKXJldHVybiBpKGYsMCwxKTtsKz1zW3VdfWE9cihhLDIrbC5sZW5ndGgpLGw9cGFyc2VJbnQobCk7dmFyIGQ9cihhLDAsbCk7aWYoYyl0cnl7ZD1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoZCkpfWNhdGNoe3ZhciBwPW5ldyBVaW50OEFycmF5KGQpO2Q9YGA7Zm9yKHZhciB1PTA7dTxwLmxlbmd0aDt1KyspZCs9U3RyaW5nLmZyb21DaGFyQ29kZShwW3VdKX1vLnB1c2goZCksYT1yKGEsbCl9dmFyIG09by5sZW5ndGg7by5mb3JFYWNoKGZ1bmN0aW9uKHQscil7aShlLmRlY29kZVBhY2tldCh0LG4sITApLHIsbSl9KX19KSksUXM9cygoKGUsdCk9Pnt2YXIgbj1acygpLHI9SXMoKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUpe3RoaXMucGF0aD1lLnBhdGgsdGhpcy5ob3N0bmFtZT1lLmhvc3RuYW1lLHRoaXMucG9ydD1lLnBvcnQsdGhpcy5zZWN1cmU9ZS5zZWN1cmUsdGhpcy5xdWVyeT1lLnF1ZXJ5LHRoaXMudGltZXN0YW1wUGFyYW09ZS50aW1lc3RhbXBQYXJhbSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPWUudGltZXN0YW1wUmVxdWVzdHMsdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMuYWdlbnQ9ZS5hZ2VudHx8ITEsdGhpcy5zb2NrZXQ9ZS5zb2NrZXQsdGhpcy5lbmFibGVzWERSPWUuZW5hYmxlc1hEUix0aGlzLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5mb3JjZU5vZGU9ZS5mb3JjZU5vZGUsdGhpcy5pc1JlYWN0TmF0aXZlPWUuaXNSZWFjdE5hdGl2ZSx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0aGlzLmxvY2FsQWRkcmVzcz1lLmxvY2FsQWRkcmVzc31yKGkucHJvdG90eXBlKSxpLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUsdCl7dmFyIG49RXJyb3IoZSk7cmV0dXJuIG4udHlwZT1gVHJhbnNwb3J0RXJyb3JgLG4uZGVzY3JpcHRpb249dCx0aGlzLmVtaXQoYGVycm9yYCxuKSx0aGlzfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgfHx0aGlzLnJlYWR5U3RhdGU9PT1gYCkmJih0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuZG9PcGVuKCkpLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKSYmKHRoaXMuZG9DbG9zZSgpLHRoaXMub25DbG9zZSgpKSx0aGlzfSxpLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYCl0aGlzLndyaXRlKGUpO2Vsc2UgdGhyb3cgRXJyb3IoYFRyYW5zcG9ydCBub3Qgb3BlbmApfSxpLnByb3RvdHlwZS5vbk9wZW49ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMud3JpdGFibGU9ITAsdGhpcy5lbWl0KGBvcGVuYCl9LGkucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt2YXIgdD1uLmRlY29kZVBhY2tldChlLHRoaXMuc29ja2V0LmJpbmFyeVR5cGUpO3RoaXMub25QYWNrZXQodCl9LGkucHJvdG90eXBlLm9uUGFja2V0PWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0saS5wcm90b3R5cGUub25DbG9zZT1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCl9fSkpLCRzPXMoKGU9PntlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdD1gYDtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodC5sZW5ndGgmJih0Kz1gJmApLHQrPWVuY29kZVVSSUNvbXBvbmVudChuKStgPWArZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pKTtyZXR1cm4gdH0sZS5kZWNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LG49ZS5zcGxpdChgJmApLHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBhPW5bcl0uc3BsaXQoYD1gKTt0W2RlY29kZVVSSUNvbXBvbmVudChhWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KGFbMV0pfXJldHVybiB0fX0pKSxlYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKCl7fTtuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX0pKSx0Yz1zKCgoZSx0KT0+e3ZhciBuPWAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei1fYC5zcGxpdChgYCkscj02NCxpPXt9LGE9MCxvPTAscztmdW5jdGlvbiBjKGUpe3ZhciB0PWBgO2RvIHQ9bltlJXJdK3QsZT1NYXRoLmZsb29yKGUvcik7d2hpbGUoZT4wKTtyZXR1cm4gdH1mdW5jdGlvbiBsKGUpe3ZhciB0PTA7Zm9yKG89MDtvPGUubGVuZ3RoO28rKyl0PXQqcitpW2UuY2hhckF0KG8pXTtyZXR1cm4gdH1mdW5jdGlvbiB1KCl7dmFyIGU9YygrbmV3IERhdGUpO3JldHVybiBlPT09cz9lK2AuYCtjKGErKyk6KGE9MCxzPWUpfWZvcig7bzxyO28rKylpW25bb11dPW87dS5lbmNvZGU9Yyx1LmRlY29kZT1sLHQuZXhwb3J0cz11fSkpLG5jPXMoKChlLHQpPT57dmFyIG49UXMoKSxyPSRzKCksaT1acygpLGE9ZWMoKSxvPXRjKCkscz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmdgKTt0LmV4cG9ydHM9bDt2YXIgYz0oZnVuY3Rpb24oKXtyZXR1cm4gbmV3KFVzKCkpKHt4ZG9tYWluOiExfSkucmVzcG9uc2VUeXBlIT1udWxsfSkoKTtmdW5jdGlvbiBsKGUpe3ZhciB0PWUmJmUuZm9yY2VCYXNlNjQ7KCFjfHx0KSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLG4uY2FsbCh0aGlzLGUpfWEobCxuKSxsLnByb3RvdHlwZS5uYW1lPWBwb2xsaW5nYCxsLnByb3RvdHlwZS5kb09wZW49ZnVuY3Rpb24oKXt0aGlzLnBvbGwoKX0sbC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLnJlYWR5U3RhdGU9YHBhdXNpbmdgO2Z1bmN0aW9uIG4oKXtzKGBwYXVzZWRgKSx0LnJlYWR5U3RhdGU9YHBhdXNlZGAsZSgpfWlmKHRoaXMucG9sbGluZ3x8IXRoaXMud3JpdGFibGUpe3ZhciByPTA7dGhpcy5wb2xsaW5nJiYocyhgd2UgYXJlIGN1cnJlbnRseSBwb2xsaW5nIC0gd2FpdGluZyB0byBwYXVzZWApLHIrKyx0aGlzLm9uY2UoYHBvbGxDb21wbGV0ZWAsZnVuY3Rpb24oKXtzKGBwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZWApLC0tcnx8bigpfSkpLHRoaXMud3JpdGFibGV8fChzKGB3ZSBhcmUgY3VycmVudGx5IHdyaXRpbmcgLSB3YWl0aW5nIHRvIHBhdXNlYCkscisrLHRoaXMub25jZShgZHJhaW5gLGZ1bmN0aW9uKCl7cyhgcHJlLXBhdXNlIHdyaXRpbmcgY29tcGxldGVgKSwtLXJ8fG4oKX0pKX1lbHNlIG4oKX0sbC5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3MoYHBvbGxpbmdgKSx0aGlzLnBvbGxpbmc9ITAsdGhpcy5kb1BvbGwoKSx0aGlzLmVtaXQoYHBvbGxgKX0sbC5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cyhgcG9sbGluZyBnb3QgZGF0YSAlc2AsZSksaS5kZWNvZGVQYXlsb2FkKGUsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSxmdW5jdGlvbihlLG4scil7aWYodC5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0Lm9uT3BlbigpLGUudHlwZT09PWBjbG9zZWApcmV0dXJuIHQub25DbG9zZSgpLCExO3Qub25QYWNrZXQoZSl9KSx0aGlzLnJlYWR5U3RhdGUhPT1gY2xvc2VkYCYmKHRoaXMucG9sbGluZz0hMSx0aGlzLmVtaXQoYHBvbGxDb21wbGV0ZWApLHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD90aGlzLnBvbGwoKTpzKGBpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSkpfSxsLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiB0KCl7cyhgd3JpdGluZyBjbG9zZSBwYWNrZXRgKSxlLndyaXRlKFt7dHlwZTpgY2xvc2VgfV0pfXRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD8ocyhgdHJhbnNwb3J0IG9wZW4gLSBjbG9zaW5nYCksdCgpKToocyhgdHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlYCksdGhpcy5vbmNlKGBvcGVuYCx0KSl9LGwucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy53cml0YWJsZT0hMTt2YXIgbj1mdW5jdGlvbigpe3Qud3JpdGFibGU9ITAsdC5lbWl0KGBkcmFpbmApfTtpLmVuY29kZVBheWxvYWQoZSx0aGlzLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKGUpe3QuZG9Xcml0ZShlLG4pfSl9LGwucHJvdG90eXBlLnVyaT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucXVlcnl8fHt9LHQ9dGhpcy5zZWN1cmU/YGh0dHBzYDpgaHR0cGAsbj1gYDshMSE9PXRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksIXRoaXMuc3VwcG9ydHNCaW5hcnkmJiFlLnNpZCYmKGUuYjY0PTEpLGU9ci5lbmNvZGUoZSksdGhpcy5wb3J0JiYodD09PWBodHRwc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YGh0dHBgJiZOdW1iZXIodGhpcy5wb3J0KSE9PTgwKSYmKG49YDpgK3RoaXMucG9ydCksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgaT10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhpP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfX0pKSxyYz1zKCgoZSx0KT0+e3ZhciBuPVVzKCkscj1uYygpLGk9SXMoKSxhPWVjKCksbz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyYCkscz1IcygpO3QuZXhwb3J0cz1sLHQuZXhwb3J0cy5SZXF1ZXN0PXU7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe2lmKHIuY2FsbCh0aGlzLGUpLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0eXBlb2YgbG9jYXRpb248YHVgKXt2YXIgdD1sb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgLG49bG9jYXRpb24ucG9ydDtufHw9dD80NDM6ODAsdGhpcy54ZD10eXBlb2YgbG9jYXRpb248YHVgJiZlLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fG4hPT1lLnBvcnQsdGhpcy54cz1lLnNlY3VyZSE9PXR9fWEobCxyKSxsLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeT0hMCxsLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiBlfHw9e30sZS51cmk9dGhpcy51cmkoKSxlLnhkPXRoaXMueGQsZS54cz10aGlzLnhzLGUuYWdlbnQ9dGhpcy5hZ2VudHx8ITEsZS5zdXBwb3J0c0JpbmFyeT10aGlzLnN1cHBvcnRzQmluYXJ5LGUuZW5hYmxlc1hEUj10aGlzLmVuYWJsZXNYRFIsZS53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMsZS5wZng9dGhpcy5wZngsZS5rZXk9dGhpcy5rZXksZS5wYXNzcGhyYXNlPXRoaXMucGFzc3BocmFzZSxlLmNlcnQ9dGhpcy5jZXJ0LGUuY2E9dGhpcy5jYSxlLmNpcGhlcnM9dGhpcy5jaXBoZXJzLGUucmVqZWN0VW5hdXRob3JpemVkPXRoaXMucmVqZWN0VW5hdXRob3JpemVkLGUucmVxdWVzdFRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCxlLmV4dHJhSGVhZGVycz10aGlzLmV4dHJhSGVhZGVycyxuZXcgdShlKX0sbC5wcm90b3R5cGUuZG9Xcml0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlIT1gc3RyaW5nYCYmZSE9PXZvaWQgMCxyPXRoaXMucmVxdWVzdCh7bWV0aG9kOmBQT1NUYCxkYXRhOmUsaXNCaW5hcnk6bn0pLGk9dGhpcztyLm9uKGBzdWNjZXNzYCx0KSxyLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7aS5vbkVycm9yKGB4aHIgcG9zdCBlcnJvcmAsZSl9KSx0aGlzLnNlbmRYaHI9cn0sbC5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7byhgeGhyIHBvbGxgKTt2YXIgZT10aGlzLnJlcXVlc3QoKSx0PXRoaXM7ZS5vbihgZGF0YWAsZnVuY3Rpb24oZSl7dC5vbkRhdGEoZSl9KSxlLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7dC5vbkVycm9yKGB4aHIgcG9sbCBlcnJvcmAsZSl9KSx0aGlzLnBvbGxYaHI9ZX07ZnVuY3Rpb24gdShlKXt0aGlzLm1ldGhvZD1lLm1ldGhvZHx8YEdFVGAsdGhpcy51cmk9ZS51cmksdGhpcy54ZD0hIWUueGQsdGhpcy54cz0hIWUueHMsdGhpcy5hc3luYz0hMSE9PWUuYXN5bmMsdGhpcy5kYXRhPWUuZGF0YT09PXZvaWQgMD9udWxsOmUuZGF0YSx0aGlzLmFnZW50PWUuYWdlbnQsdGhpcy5pc0JpbmFyeT1lLmlzQmluYXJ5LHRoaXMuc3VwcG9ydHNCaW5hcnk9ZS5zdXBwb3J0c0JpbmFyeSx0aGlzLmVuYWJsZXNYRFI9ZS5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPWUud2l0aENyZWRlbnRpYWxzLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnM9ZS5leHRyYUhlYWRlcnMsdGhpcy5jcmVhdGUoKX1pZihpKHUucHJvdG90eXBlKSx1LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgZT17YWdlbnQ6dGhpcy5hZ2VudCx4ZG9tYWluOnRoaXMueGQseHNjaGVtZTp0aGlzLnhzLGVuYWJsZXNYRFI6dGhpcy5lbmFibGVzWERSfTtlLnBmeD10aGlzLnBmeCxlLmtleT10aGlzLmtleSxlLnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLGUuY2VydD10aGlzLmNlcnQsZS5jYT10aGlzLmNhLGUuY2lwaGVycz10aGlzLmNpcGhlcnMsZS5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7dmFyIHQ9dGhpcy54aHI9bmV3IG4oZSkscj10aGlzO3RyeXtvKGB4aHIgb3BlbiAlczogJXNgLHRoaXMubWV0aG9kLHRoaXMudXJpKSx0Lm9wZW4odGhpcy5tZXRob2QsdGhpcy51cmksdGhpcy5hc3luYyk7dHJ5e2lmKHRoaXMuZXh0cmFIZWFkZXJzKWZvcih2YXIgaSBpbiB0LnNldERpc2FibGVIZWFkZXJDaGVjayYmdC5zZXREaXNhYmxlSGVhZGVyQ2hlY2soITApLHRoaXMuZXh0cmFIZWFkZXJzKXRoaXMuZXh0cmFIZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiZ0LnNldFJlcXVlc3RIZWFkZXIoaSx0aGlzLmV4dHJhSGVhZGVyc1tpXSl9Y2F0Y2h7fWlmKHRoaXMubWV0aG9kPT09YFBPU1RgKXRyeXt0aGlzLmlzQmluYXJ5P3Quc2V0UmVxdWVzdEhlYWRlcihgQ29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCk6dC5zZXRSZXF1ZXN0SGVhZGVyKGBDb250ZW50LXR5cGVgLGB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLThgKX1jYXRjaHt9dHJ5e3Quc2V0UmVxdWVzdEhlYWRlcihgQWNjZXB0YCxgKi8qYCl9Y2F0Y2h7fWB3aXRoQ3JlZGVudGlhbHNgaW4gdCYmKHQud2l0aENyZWRlbnRpYWxzPXRoaXMud2l0aENyZWRlbnRpYWxzKSx0aGlzLnJlcXVlc3RUaW1lb3V0JiYodC50aW1lb3V0PXRoaXMucmVxdWVzdFRpbWVvdXQpLHRoaXMuaGFzWERSKCk/KHQub25sb2FkPWZ1bmN0aW9uKCl7ci5vbkxvYWQoKX0sdC5vbmVycm9yPWZ1bmN0aW9uKCl7ci5vbkVycm9yKHQucmVzcG9uc2VUZXh0KX0pOnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodC5yZWFkeVN0YXRlPT09Mil0cnl7dmFyIGU9dC5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCk7KHIuc3VwcG9ydHNCaW5hcnkmJmU9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8ZT09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmKHQucmVzcG9uc2VUeXBlPWBhcnJheWJ1ZmZlcmApfWNhdGNoe310LnJlYWR5U3RhdGU9PT00JiYodC5zdGF0dXM9PT0yMDB8fHQuc3RhdHVzPT09MTIyMz9yLm9uTG9hZCgpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLm9uRXJyb3IodHlwZW9mIHQuc3RhdHVzPT1gbnVtYmVyYD90LnN0YXR1czowKX0sMCkpfSxvKGB4aHIgZGF0YSAlc2AsdGhpcy5kYXRhKSx0LnNlbmQodGhpcy5kYXRhKX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKGUpfSwwKTtyZXR1cm59dHlwZW9mIGRvY3VtZW50PGB1YCYmKHRoaXMuaW5kZXg9dS5yZXF1ZXN0c0NvdW50KyssdS5yZXF1ZXN0c1t0aGlzLmluZGV4XT10aGlzKX0sdS5wcm90b3R5cGUub25TdWNjZXNzPWZ1bmN0aW9uKCl7dGhpcy5lbWl0KGBzdWNjZXNzYCksdGhpcy5jbGVhbnVwKCl9LHUucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt0aGlzLmVtaXQoYGRhdGFgLGUpLHRoaXMub25TdWNjZXNzKCl9LHUucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5jbGVhbnVwKCEwKX0sdS5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbihlKXtpZighKHRoaXMueGhyPT09dm9pZCAwfHx0aGlzLnhocj09PW51bGwpKXtpZih0aGlzLmhhc1hEUigpP3RoaXMueGhyLm9ubG9hZD10aGlzLnhoci5vbmVycm9yPWM6dGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlPWMsZSl0cnl7dGhpcy54aHIuYWJvcnQoKX1jYXRjaHt9dHlwZW9mIGRvY3VtZW50PGB1YCYmZGVsZXRlIHUucmVxdWVzdHNbdGhpcy5pbmRleF0sdGhpcy54aHI9bnVsbH19LHUucHJvdG90eXBlLm9uTG9hZD1mdW5jdGlvbigpe3ZhciBlO3RyeXt2YXIgdDt0cnl7dD10aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCl9Y2F0Y2h7fWU9KHQ9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8dD09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmdGhpcy54aHIucmVzcG9uc2V8fHRoaXMueGhyLnJlc3BvbnNlVGV4dH1jYXRjaChlKXt0aGlzLm9uRXJyb3IoZSl9ZSE9bnVsbCYmdGhpcy5vbkRhdGEoZSl9LHUucHJvdG90eXBlLmhhc1hEUj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhdGhpcy54cyYmdGhpcy5lbmFibGVzWERSfSx1LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuY2xlYW51cCgpfSx1LnJlcXVlc3RzQ291bnQ9MCx1LnJlcXVlc3RzPXt9LHR5cGVvZiBkb2N1bWVudDxgdWApe2lmKHR5cGVvZiBhdHRhY2hFdmVudD09YGZ1bmN0aW9uYClhdHRhY2hFdmVudChgb251bmxvYWRgLGYpO2Vsc2UgaWYodHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmApe3ZhciBkPWBvbnBhZ2VoaWRlYGluIHM/YHBhZ2VoaWRlYDpgdW5sb2FkYDthZGRFdmVudExpc3RlbmVyKGQsZiwhMSl9fWZ1bmN0aW9uIGYoKXtmb3IodmFyIGUgaW4gdS5yZXF1ZXN0cyl1LnJlcXVlc3RzLmhhc093blByb3BlcnR5KGUpJiZ1LnJlcXVlc3RzW2VdLmFib3J0KCl9fSkpLGljPXMoKChlLHQpPT57dmFyIG49bmMoKSxyPWVjKCksaT1IcygpO3QuZXhwb3J0cz1sO3ZhciBhPS9cbi9nLG89L1xcbi9nLHM7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe24uY2FsbCh0aGlzLGUpLHRoaXMucXVlcnk9dGhpcy5xdWVyeXx8e30sc3x8PWkuX19fZWlvPWkuX19fZWlvfHxbXSx0aGlzLmluZGV4PXMubGVuZ3RoO3ZhciB0PXRoaXM7cy5wdXNoKGZ1bmN0aW9uKGUpe3Qub25EYXRhKGUpfSksdGhpcy5xdWVyeS5qPXRoaXMuaW5kZXgsdHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmAmJmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZXVubG9hZGAsZnVuY3Rpb24oKXt0LnNjcmlwdCYmKHQuc2NyaXB0Lm9uZXJyb3I9Yyl9LCExKX1yKGwsbiksbC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITEsbC5wcm90b3R5cGUuZG9DbG9zZT1mdW5jdGlvbigpe3RoaXMuc2NyaXB0JiY9KHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpLG51bGwpLHRoaXMuZm9ybSYmKHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSksdGhpcy5mb3JtPW51bGwsdGhpcy5pZnJhbWU9bnVsbCksbi5wcm90b3R5cGUuZG9DbG9zZS5jYWxsKHRoaXMpfSxsLnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgc2NyaXB0YCk7dGhpcy5zY3JpcHQmJj0odGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksbnVsbCksdC5hc3luYz0hMCx0LnNyYz10aGlzLnVyaSgpLHQub25lcnJvcj1mdW5jdGlvbih0KXtlLm9uRXJyb3IoYGpzb25wIHBvbGwgZXJyb3JgLHQpfTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgc2NyaXB0YClbMF07bj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsbik6KGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHQpLHRoaXMuc2NyaXB0PXQsdHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9LDEwMCl9LGwucHJvdG90eXBlLmRvV3JpdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCF0aGlzLmZvcm0pe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGZvcm1gKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYHRleHRhcmVhYCkscz10aGlzLmlmcmFtZUlkPWBlaW9faWZyYW1lX2ArdGhpcy5pbmRleCxjO3IuY2xhc3NOYW1lPWBzb2NrZXRpb2Asci5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHIuc3R5bGUudG9wPWAtMTAwMHB4YCxyLnN0eWxlLmxlZnQ9YC0xMDAwcHhgLHIudGFyZ2V0PXMsci5tZXRob2Q9YFBPU1RgLHIuc2V0QXR0cmlidXRlKGBhY2NlcHQtY2hhcnNldGAsYHV0Zi04YCksaS5uYW1lPWBkYCxyLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksdGhpcy5mb3JtPXIsdGhpcy5hcmVhPWl9dGhpcy5mb3JtLmFjdGlvbj10aGlzLnVyaSgpO2Z1bmN0aW9uIGwoKXt1KCksdCgpfWZ1bmN0aW9uIHUoKXtpZihuLmlmcmFtZSl0cnl7bi5mb3JtLnJlbW92ZUNoaWxkKG4uaWZyYW1lKX1jYXRjaChlKXtuLm9uRXJyb3IoYGpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3JgLGUpfXRyeXt2YXIgZT1gPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iYCtuLmlmcmFtZUlkK2AiPmA7Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoe2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaWZyYW1lYCksYy5uYW1lPW4uaWZyYW1lSWQsYy5zcmM9YGphdmFzY3JpcHQ6MGB9Yy5pZD1uLmlmcmFtZUlkLG4uZm9ybS5hcHBlbmRDaGlsZChjKSxuLmlmcmFtZT1jfXUoKSxlPWUucmVwbGFjZShvLGBcXApgKSx0aGlzLmFyZWEudmFsdWU9ZS5yZXBsYWNlKGEsYFxcbmApO3RyeXt0aGlzLmZvcm0uc3VibWl0KCl9Y2F0Y2h7fXRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50P3RoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe24uaWZyYW1lLnJlYWR5U3RhdGU9PT1gY29tcGxldGVgJiZsKCl9OnRoaXMuaWZyYW1lLm9ubG9hZD1sfX0pKSxhYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz17fX0pKSxvYz1zKCgoZSx0KT0+e3ZhciBuPVFzKCkscj1acygpLGk9JHMoKSxhPWVjKCksbz10YygpLHM9RnMoKShgZW5naW5lLmlvLWNsaWVudDp3ZWJzb2NrZXRgKSxjLGw7aWYodHlwZW9mIFdlYlNvY2tldDxgdWA/Yz1XZWJTb2NrZXQ6dHlwZW9mIHNlbGY8YHVgJiYoYz1zZWxmLldlYlNvY2tldHx8c2VsZi5Nb3pXZWJTb2NrZXQpLHR5cGVvZiB3aW5kb3c+YHVgKXRyeXtsPWFjKCl9Y2F0Y2h7fXZhciB1PWN8fGw7dC5leHBvcnRzPWQ7ZnVuY3Rpb24gZChlKXtlJiZlLmZvcmNlQmFzZTY0JiYodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT1lLnBlck1lc3NhZ2VEZWZsYXRlLHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0PWMmJiFlLmZvcmNlTm9kZSx0aGlzLnByb3RvY29scz1lLnByb3RvY29scyx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldHx8KHU9bCksbi5jYWxsKHRoaXMsZSl9YShkLG4pLGQucHJvdG90eXBlLm5hbWU9YHdlYnNvY2tldGAsZC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsZC5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGVjaygpKXt2YXIgZT10aGlzLnVyaSgpLHQ9dGhpcy5wcm90b2NvbHMsbj17fTt0aGlzLmlzUmVhY3ROYXRpdmV8fChuLmFnZW50PXRoaXMuYWdlbnQsbi5wZXJNZXNzYWdlRGVmbGF0ZT10aGlzLnBlck1lc3NhZ2VEZWZsYXRlLG4ucGZ4PXRoaXMucGZ4LG4ua2V5PXRoaXMua2V5LG4ucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2Usbi5jZXJ0PXRoaXMuY2VydCxuLmNhPXRoaXMuY2Esbi5jaXBoZXJzPXRoaXMuY2lwaGVycyxuLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZCksdGhpcy5leHRyYUhlYWRlcnMmJihuLmhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMpLHRoaXMubG9jYWxBZGRyZXNzJiYobi5sb2NhbEFkZHJlc3M9dGhpcy5sb2NhbEFkZHJlc3MpO3RyeXt0aGlzLndzPXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0JiYhdGhpcy5pc1JlYWN0TmF0aXZlP3Q/bmV3IHUoZSx0KTpuZXcgdShlKTpuZXcgdShlLHQsbil9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuZW1pdChgZXJyb3JgLGUpfXRoaXMud3MuYmluYXJ5VHlwZT09PXZvaWQgMCYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMud3Muc3VwcG9ydHMmJnRoaXMud3Muc3VwcG9ydHMuYmluYXJ5Pyh0aGlzLnN1cHBvcnRzQmluYXJ5PSEwLHRoaXMud3MuYmluYXJ5VHlwZT1gbm9kZWJ1ZmZlcmApOnRoaXMud3MuYmluYXJ5VHlwZT1gYXJyYXlidWZmZXJgLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKX19LGQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLndzLm9ub3Blbj1mdW5jdGlvbigpe2Uub25PcGVuKCl9LHRoaXMud3Mub25jbG9zZT1mdW5jdGlvbigpe2Uub25DbG9zZSgpfSx0aGlzLndzLm9ubWVzc2FnZT1mdW5jdGlvbih0KXtlLm9uRGF0YSh0LmRhdGEpfSx0aGlzLndzLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZS5vbkVycm9yKGB3ZWJzb2NrZXQgZXJyb3JgLHQpfX0sZC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLndyaXRhYmxlPSExO2Zvcih2YXIgbj1lLmxlbmd0aCxpPTAsYT1uO2k8YTtpKyspKGZ1bmN0aW9uKGUpe3IuZW5jb2RlUGFja2V0KGUsdC5zdXBwb3J0c0JpbmFyeSxmdW5jdGlvbihyKXtpZighdC51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpe3ZhciBpPXt9O2Uub3B0aW9ucyYmKGkuY29tcHJlc3M9ZS5vcHRpb25zLmNvbXByZXNzKSx0LnBlck1lc3NhZ2VEZWZsYXRlJiYodHlwZW9mIHI9PWBzdHJpbmdgP0J1ZmZlci5ieXRlTGVuZ3RoKHIpOnIubGVuZ3RoKTx0LnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCYmKGkuY29tcHJlc3M9ITEpfXRyeXt0LnVzaW5nQnJvd3NlcldlYlNvY2tldD90LndzLnNlbmQocik6dC53cy5zZW5kKHIsaSl9Y2F0Y2h7cyhgd2Vic29ja2V0IGNsb3NlZCBiZWZvcmUgb25jbG9zZSBldmVudGApfS0tbnx8bygpfSl9KShlW2ldKTtmdW5jdGlvbiBvKCl7dC5lbWl0KGBmbHVzaGApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndyaXRhYmxlPSEwLHQuZW1pdChgZHJhaW5gKX0sMCl9fSxkLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUub25DbG9zZS5jYWxsKHRoaXMpfSxkLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy53cyE9PXZvaWQgMCYmdGhpcy53cy5jbG9zZSgpfSxkLnByb3RvdHlwZS51cmk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnF1ZXJ5fHx7fSx0PXRoaXMuc2VjdXJlP2B3c3NgOmB3c2Asbj1gYDt0aGlzLnBvcnQmJih0PT09YHdzc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YHdzYCYmTnVtYmVyKHRoaXMucG9ydCkhPT04MCkmJihuPWA6YCt0aGlzLnBvcnQpLHRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksdGhpcy5zdXBwb3J0c0JpbmFyeXx8KGUuYjY0PTEpLGU9aS5lbmNvZGUoZSksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgcj10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhyP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfSxkLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe3JldHVybiEhdSYmIShgX19pbml0aWFsaXplYGluIHUmJnRoaXMubmFtZT09PWQucHJvdG90eXBlLm5hbWUpfX0pKSxzYz1zKChlPT57dmFyIHQ9VXMoKSxuPXJjKCkscj1pYygpLGk9b2MoKTtlLnBvbGxpbmc9YSxlLndlYnNvY2tldD1pO2Z1bmN0aW9uIGEoZSl7dmFyIGksYT0hMSxvPSExLHM9ITEhPT1lLmpzb25wO2lmKHR5cGVvZiBsb2NhdGlvbjxgdWApe3ZhciBjPWxvY2F0aW9uLnByb3RvY29sPT09YGh0dHBzOmAsbD1sb2NhdGlvbi5wb3J0O2x8fD1jPzQ0Mzo4MCxhPWUuaG9zdG5hbWUhPT1sb2NhdGlvbi5ob3N0bmFtZXx8bCE9PWUucG9ydCxvPWUuc2VjdXJlIT09Y31pZihlLnhkb21haW49YSxlLnhzY2hlbWU9byxpPW5ldyB0KGUpLGBvcGVuYGluIGkmJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBuKGUpO2lmKCFzKXRocm93IEVycm9yKGBKU09OUCBkaXNhYmxlZGApO3JldHVybiBuZXcgcihlKX19KSksY2M9cygoKGUsdCk9Pnt2YXIgbj1bXS5pbmRleE9mO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKG4pcmV0dXJuIGUuaW5kZXhPZih0KTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX19KSksbGM9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsbz1lLmluZGV4T2YoYFtgKSxzPWUuaW5kZXhPZihgXWApO28hPS0xJiZzIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxvKStlLnN1YnN0cmluZyhvLHMpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKHMsZS5sZW5ndGgpKTtmb3IodmFyIGM9bi5leGVjKGV8fGBgKSxsPXt9LHU9MTQ7dS0tOylsW3JbdV1dPWNbdV18fGBgO3JldHVybiBvIT0tMSYmcyE9LTEmJihsLnNvdXJjZT10LGwuaG9zdD1sLmhvc3Quc3Vic3RyaW5nKDEsbC5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxsLmF1dGhvcml0eT1sLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLGwuaXB2NnVyaT0hMCksbC5wYXRoTmFtZXM9aShsLGwucGF0aCksbC5xdWVyeUtleT1hKGwsbC5xdWVyeSksbH07ZnVuY3Rpb24gaShlLHQpe3ZhciBuPXQucmVwbGFjZSgvXC97Miw5fS9nLGAvYCkuc3BsaXQoYC9gKTtyZXR1cm4odC5zdWJzdHIoMCwxKT09YC9gfHx0Lmxlbmd0aD09PTApJiZuLnNwbGljZSgwLDEpLHQuc3Vic3RyKHQubGVuZ3RoLTEsMSk9PWAvYCYmbi5zcGxpY2Uobi5sZW5ndGgtMSwxKSxufWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj17fTtyZXR1cm4gdC5yZXBsYWNlKC8oPzpefCYpKFteJj1dKik9PyhbXiZdKikvZyxmdW5jdGlvbihlLHQscil7dCYmKG5bdF09cil9KSxufX0pKSx1Yz1zKCgoZSx0KT0+e3ZhciBuPXNjKCkscj1JcygpLGk9RnMoKShgZW5naW5lLmlvLWNsaWVudDpzb2NrZXRgKSxhPWNjKCksbz1acygpLHM9bGMoKSxjPSRzKCk7dC5leHBvcnRzPWw7ZnVuY3Rpb24gbChlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbChlLHQpO3R8fD17fSxlJiZ0eXBlb2YgZT09YG9iamVjdGAmJih0PWUsZT1udWxsKSxlPyhlPXMoZSksdC5ob3N0bmFtZT1lLmhvc3QsdC5zZWN1cmU9ZS5wcm90b2NvbD09PWBodHRwc2B8fGUucHJvdG9jb2w9PT1gd3NzYCx0LnBvcnQ9ZS5wb3J0LGUucXVlcnkmJih0LnF1ZXJ5PWUucXVlcnkpKTp0Lmhvc3QmJih0Lmhvc3RuYW1lPXModC5ob3N0KS5ob3N0KSx0aGlzLnNlY3VyZT10LnNlY3VyZT09bnVsbD90eXBlb2YgbG9jYXRpb248YHVgJiZsb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgOnQuc2VjdXJlLHQuaG9zdG5hbWUmJiF0LnBvcnQmJih0LnBvcnQ9dGhpcy5zZWN1cmU/YDQ0M2A6YDgwYCksdGhpcy5hZ2VudD10LmFnZW50fHwhMSx0aGlzLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCh0eXBlb2YgbG9jYXRpb248YHVgP2xvY2F0aW9uLmhvc3RuYW1lOmBsb2NhbGhvc3RgKSx0aGlzLnBvcnQ9dC5wb3J0fHwodHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24ucG9ydD9sb2NhdGlvbi5wb3J0OnRoaXMuc2VjdXJlPzQ0Mzo4MCksdGhpcy5xdWVyeT10LnF1ZXJ5fHx7fSx0eXBlb2YgdGhpcy5xdWVyeT09YHN0cmluZ2AmJih0aGlzLnF1ZXJ5PWMuZGVjb2RlKHRoaXMucXVlcnkpKSx0aGlzLnVwZ3JhZGU9ITEhPT10LnVwZ3JhZGUsdGhpcy5wYXRoPSh0LnBhdGh8fGAvZW5naW5lLmlvYCkucmVwbGFjZSgvXC8kLyxgYCkrYC9gLHRoaXMuZm9yY2VKU09OUD0hIXQuZm9yY2VKU09OUCx0aGlzLmpzb25wPSExIT09dC5qc29ucCx0aGlzLmZvcmNlQmFzZTY0PSEhdC5mb3JjZUJhc2U2NCx0aGlzLmVuYWJsZXNYRFI9ISF0LmVuYWJsZXNYRFIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEhPT10LndpdGhDcmVkZW50aWFscyx0aGlzLnRpbWVzdGFtcFBhcmFtPXQudGltZXN0YW1wUGFyYW18fGB0YCx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPXQudGltZXN0YW1wUmVxdWVzdHMsdGhpcy50cmFuc3BvcnRzPXQudHJhbnNwb3J0c3x8W2Bwb2xsaW5nYCxgd2Vic29ja2V0YF0sdGhpcy50cmFuc3BvcnRPcHRpb25zPXQudHJhbnNwb3J0T3B0aW9uc3x8e30sdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMud3JpdGVCdWZmZXI9W10sdGhpcy5wcmV2QnVmZmVyTGVuPTAsdGhpcy5wb2xpY3lQb3J0PXQucG9saWN5UG9ydHx8ODQzLHRoaXMucmVtZW1iZXJVcGdyYWRlPXQucmVtZW1iZXJVcGdyYWRlfHwhMSx0aGlzLmJpbmFyeVR5cGU9bnVsbCx0aGlzLm9ubHlCaW5hcnlVcGdyYWRlcz10Lm9ubHlCaW5hcnlVcGdyYWRlcyx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPSExPT09dC5wZXJNZXNzYWdlRGVmbGF0ZT8hMTp0LnBlck1lc3NhZ2VEZWZsYXRlfHx7fSwhMD09PXRoaXMucGVyTWVzc2FnZURlZmxhdGUmJih0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPXt9KSx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlJiZ0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZD09bnVsbCYmKHRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkPTEwMjQpLHRoaXMucGZ4PXQucGZ4fHxudWxsLHRoaXMua2V5PXQua2V5fHxudWxsLHRoaXMucGFzc3BocmFzZT10LnBhc3NwaHJhc2V8fG51bGwsdGhpcy5jZXJ0PXQuY2VydHx8bnVsbCx0aGlzLmNhPXQuY2F8fG51bGwsdGhpcy5jaXBoZXJzPXQuY2lwaGVyc3x8bnVsbCx0aGlzLnJlamVjdFVuYXV0aG9yaXplZD10LnJlamVjdFVuYXV0aG9yaXplZD09PXZvaWQgMD8hMDp0LnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT0hIXQuZm9yY2VOb2RlLHRoaXMuaXNSZWFjdE5hdGl2ZT10eXBlb2YgbmF2aWdhdG9yPGB1YCYmdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0PT1gc3RyaW5nYCYmbmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKT09PWByZWFjdG5hdGl2ZWAsKHR5cGVvZiBzZWxmPmB1YHx8dGhpcy5pc1JlYWN0TmF0aXZlKSYmKHQuZXh0cmFIZWFkZXJzJiZPYmplY3Qua2V5cyh0LmV4dHJhSGVhZGVycykubGVuZ3RoPjAmJih0aGlzLmV4dHJhSGVhZGVycz10LmV4dHJhSGVhZGVycyksdC5sb2NhbEFkZHJlc3MmJih0aGlzLmxvY2FsQWRkcmVzcz10LmxvY2FsQWRkcmVzcykpLHRoaXMuaWQ9bnVsbCx0aGlzLnVwZ3JhZGVzPW51bGwsdGhpcy5waW5nSW50ZXJ2YWw9bnVsbCx0aGlzLnBpbmdUaW1lb3V0PW51bGwsdGhpcy5waW5nSW50ZXJ2YWxUaW1lcj1udWxsLHRoaXMucGluZ1RpbWVvdXRUaW1lcj1udWxsLHRoaXMub3BlbigpfWwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSExLHIobC5wcm90b3R5cGUpLGwucHJvdG9jb2w9by5wcm90b2NvbCxsLlNvY2tldD1sLGwuVHJhbnNwb3J0PVFzKCksbC50cmFuc3BvcnRzPXNjKCksbC5wYXJzZXI9WnMoKSxsLnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7aShgY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXUodGhpcy5xdWVyeSk7dC5FSU89by5wcm90b2NvbCx0LnRyYW5zcG9ydD1lO3ZhciByPXRoaXMudHJhbnNwb3J0T3B0aW9uc1tlXXx8e307cmV0dXJuIHRoaXMuaWQmJih0LnNpZD10aGlzLmlkKSxuZXcgbltlXSh7cXVlcnk6dCxzb2NrZXQ6dGhpcyxhZ2VudDpyLmFnZW50fHx0aGlzLmFnZW50LGhvc3RuYW1lOnIuaG9zdG5hbWV8fHRoaXMuaG9zdG5hbWUscG9ydDpyLnBvcnR8fHRoaXMucG9ydCxzZWN1cmU6ci5zZWN1cmV8fHRoaXMuc2VjdXJlLHBhdGg6ci5wYXRofHx0aGlzLnBhdGgsZm9yY2VKU09OUDpyLmZvcmNlSlNPTlB8fHRoaXMuZm9yY2VKU09OUCxqc29ucDpyLmpzb25wfHx0aGlzLmpzb25wLGZvcmNlQmFzZTY0OnIuZm9yY2VCYXNlNjR8fHRoaXMuZm9yY2VCYXNlNjQsZW5hYmxlc1hEUjpyLmVuYWJsZXNYRFJ8fHRoaXMuZW5hYmxlc1hEUix3aXRoQ3JlZGVudGlhbHM6ci53aXRoQ3JlZGVudGlhbHN8fHRoaXMud2l0aENyZWRlbnRpYWxzLHRpbWVzdGFtcFJlcXVlc3RzOnIudGltZXN0YW1wUmVxdWVzdHN8fHRoaXMudGltZXN0YW1wUmVxdWVzdHMsdGltZXN0YW1wUGFyYW06ci50aW1lc3RhbXBQYXJhbXx8dGhpcy50aW1lc3RhbXBQYXJhbSxwb2xpY3lQb3J0OnIucG9saWN5UG9ydHx8dGhpcy5wb2xpY3lQb3J0LHBmeDpyLnBmeHx8dGhpcy5wZngsa2V5OnIua2V5fHx0aGlzLmtleSxwYXNzcGhyYXNlOnIucGFzc3BocmFzZXx8dGhpcy5wYXNzcGhyYXNlLGNlcnQ6ci5jZXJ0fHx0aGlzLmNlcnQsY2E6ci5jYXx8dGhpcy5jYSxjaXBoZXJzOnIuY2lwaGVyc3x8dGhpcy5jaXBoZXJzLHJlamVjdFVuYXV0aG9yaXplZDpyLnJlamVjdFVuYXV0aG9yaXplZHx8dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQscGVyTWVzc2FnZURlZmxhdGU6ci5wZXJNZXNzYWdlRGVmbGF0ZXx8dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxleHRyYUhlYWRlcnM6ci5leHRyYUhlYWRlcnN8fHRoaXMuZXh0cmFIZWFkZXJzLGZvcmNlTm9kZTpyLmZvcmNlTm9kZXx8dGhpcy5mb3JjZU5vZGUsbG9jYWxBZGRyZXNzOnIubG9jYWxBZGRyZXNzfHx0aGlzLmxvY2FsQWRkcmVzcyxyZXF1ZXN0VGltZW91dDpyLnJlcXVlc3RUaW1lb3V0fHx0aGlzLnJlcXVlc3RUaW1lb3V0LHByb3RvY29sczpyLnByb3RvY29sc3x8dm9pZCAwLGlzUmVhY3ROYXRpdmU6dGhpcy5pc1JlYWN0TmF0aXZlfSl9O2Z1bmN0aW9uIHUoZSl7dmFyIHQ9e307Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9bC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucmVtZW1iZXJVcGdyYWRlJiZsLnByaW9yV2Vic29ja2V0U3VjY2VzcyYmdGhpcy50cmFuc3BvcnRzLmluZGV4T2YoYHdlYnNvY2tldGApIT09LTEpZT1gd2Vic29ja2V0YDtlbHNlIGlmKHRoaXMudHJhbnNwb3J0cy5sZW5ndGg9PT0wKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmVtaXQoYGVycm9yYCxgTm8gdHJhbnNwb3J0cyBhdmFpbGFibGVgKX0sMCk7cmV0dXJufWVsc2UgZT10aGlzLnRyYW5zcG9ydHNbMF07dGhpcy5yZWFkeVN0YXRlPWBvcGVuaW5nYDt0cnl7ZT10aGlzLmNyZWF0ZVRyYW5zcG9ydChlKX1jYXRjaHt0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKSx0aGlzLm9wZW4oKTtyZXR1cm59ZS5vcGVuKCksdGhpcy5zZXRUcmFuc3BvcnQoZSl9LGwucHJvdG90eXBlLnNldFRyYW5zcG9ydD1mdW5jdGlvbihlKXtpKGBzZXR0aW5nIHRyYW5zcG9ydCAlc2AsZS5uYW1lKTt2YXIgdD10aGlzO3RoaXMudHJhbnNwb3J0JiYoaShgY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzYCx0aGlzLnRyYW5zcG9ydC5uYW1lKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSksdGhpcy50cmFuc3BvcnQ9ZSxlLm9uKGBkcmFpbmAsZnVuY3Rpb24oKXt0Lm9uRHJhaW4oKX0pLm9uKGBwYWNrZXRgLGZ1bmN0aW9uKGUpe3Qub25QYWNrZXQoZSl9KS5vbihgZXJyb3JgLGZ1bmN0aW9uKGUpe3Qub25FcnJvcihlKX0pLm9uKGBjbG9zZWAsZnVuY3Rpb24oKXt0Lm9uQ2xvc2UoYHRyYW5zcG9ydCBjbG9zZWApfSl9LGwucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKGUpe2koYHByb2JpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUse3Byb2JlOjF9KSxuPSExLHI9dGhpcztsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMTtmdW5jdGlvbiBhKCl7aWYoci5vbmx5QmluYXJ5VXBncmFkZXMpe3ZhciBhPSF0aGlzLnN1cHBvcnRzQmluYXJ5JiZyLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtufHw9YX1ufHwoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgb3BlbmVkYCxlKSx0LnNlbmQoW3t0eXBlOmBwaW5nYCxkYXRhOmBwcm9iZWB9XSksdC5vbmNlKGBwYWNrZXRgLGZ1bmN0aW9uKGEpe2lmKCFuKWlmKGEudHlwZT09PWBwb25nYCYmYS5kYXRhPT09YHByb2JlYCl7aWYoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgcG9uZ2AsZSksci51cGdyYWRpbmc9ITAsci5lbWl0KGB1cGdyYWRpbmdgLHQpLCF0KXJldHVybjtsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz10Lm5hbWU9PT1gd2Vic29ja2V0YCxpKGBwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0ICIlcyJgLHIudHJhbnNwb3J0Lm5hbWUpLHIudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uKCl7bnx8ci5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJihpKGBjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXRgKSxmKCksci5zZXRUcmFuc3BvcnQodCksdC5zZW5kKFt7dHlwZTpgdXBncmFkZWB9XSksci5lbWl0KGB1cGdyYWRlYCx0KSx0PW51bGwsci51cGdyYWRpbmc9ITEsci5mbHVzaCgpKX0pfWVsc2V7aShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkYCxlKTt2YXIgbz1FcnJvcihgcHJvYmUgZXJyb3JgKTtvLnRyYW5zcG9ydD10Lm5hbWUsci5lbWl0KGB1cGdyYWRlRXJyb3JgLG8pfX0pKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsZigpLHQuY2xvc2UoKSx0PW51bGwpfWZ1bmN0aW9uIHMobil7dmFyIGE9RXJyb3IoYHByb2JlIGVycm9yOiBgK24pO2EudHJhbnNwb3J0PXQubmFtZSxvKCksaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkIGJlY2F1c2Ugb2YgZXJyb3I6ICVzYCxlLG4pLHIuZW1pdChgdXBncmFkZUVycm9yYCxhKX1mdW5jdGlvbiBjKCl7cyhgdHJhbnNwb3J0IGNsb3NlZGApfWZ1bmN0aW9uIHUoKXtzKGBzb2NrZXQgY2xvc2VkYCl9ZnVuY3Rpb24gZChlKXt0JiZlLm5hbWUhPT10Lm5hbWUmJihpKGAiJXMiIHdvcmtzIC0gYWJvcnRpbmcgIiVzImAsZS5uYW1lLHQubmFtZSksbygpKX1mdW5jdGlvbiBmKCl7dC5yZW1vdmVMaXN0ZW5lcihgb3BlbmAsYSksdC5yZW1vdmVMaXN0ZW5lcihgZXJyb3JgLHMpLHQucmVtb3ZlTGlzdGVuZXIoYGNsb3NlYCxjKSxyLnJlbW92ZUxpc3RlbmVyKGBjbG9zZWAsdSksci5yZW1vdmVMaXN0ZW5lcihgdXBncmFkaW5nYCxkKX10Lm9uY2UoYG9wZW5gLGEpLHQub25jZShgZXJyb3JgLHMpLHQub25jZShgY2xvc2VgLGMpLHRoaXMub25jZShgY2xvc2VgLHUpLHRoaXMub25jZShgdXBncmFkaW5nYCxkKSx0Lm9wZW4oKX0sbC5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7aWYoaShgc29ja2V0IG9wZW5gKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLGwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPXRoaXMudHJhbnNwb3J0Lm5hbWU9PT1gd2Vic29ja2V0YCx0aGlzLmVtaXQoYG9wZW5gKSx0aGlzLmZsdXNoKCksdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gJiZ0aGlzLnVwZ3JhZGUmJnRoaXMudHJhbnNwb3J0LnBhdXNlKXtpKGBzdGFydGluZyB1cGdyYWRlIHByb2Jlc2ApO2Zvcih2YXIgZT0wLHQ9dGhpcy51cGdyYWRlcy5sZW5ndGg7ZTx0O2UrKyl0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbZV0pfX0sbC5wcm90b3R5cGUub25QYWNrZXQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYClzd2l0Y2goaShgc29ja2V0IHJlY2VpdmU6IHR5cGUgIiVzIiwgZGF0YSAiJXMiYCxlLnR5cGUsZS5kYXRhKSx0aGlzLmVtaXQoYHBhY2tldGAsZSksdGhpcy5lbWl0KGBoZWFydGJlYXRgKSxlLnR5cGUpe2Nhc2Vgb3BlbmA6dGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKGUuZGF0YSkpO2JyZWFrO2Nhc2VgcG9uZ2A6dGhpcy5zZXRQaW5nKCksdGhpcy5lbWl0KGBwb25nYCk7YnJlYWs7Y2FzZWBlcnJvcmA6dmFyIHQ9RXJyb3IoYHNlcnZlciBlcnJvcmApO3QuY29kZT1lLmRhdGEsdGhpcy5vbkVycm9yKHQpO2JyZWFrO2Nhc2VgbWVzc2FnZWA6dGhpcy5lbWl0KGBkYXRhYCxlLmRhdGEpLHRoaXMuZW1pdChgbWVzc2FnZWAsZS5kYXRhKTticmVha31lbHNlIGkoYHBhY2tldCByZWNlaXZlZCB3aXRoIHNvY2tldCByZWFkeVN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSl9LGwucHJvdG90eXBlLm9uSGFuZHNoYWtlPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgaGFuZHNoYWtlYCxlKSx0aGlzLmlkPWUuc2lkLHRoaXMudHJhbnNwb3J0LnF1ZXJ5LnNpZD1lLnNpZCx0aGlzLnVwZ3JhZGVzPXRoaXMuZmlsdGVyVXBncmFkZXMoZS51cGdyYWRlcyksdGhpcy5waW5nSW50ZXJ2YWw9ZS5waW5nSW50ZXJ2YWwsdGhpcy5waW5nVGltZW91dD1lLnBpbmdUaW1lb3V0LHRoaXMub25PcGVuKCksdGhpcy5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJih0aGlzLnNldFBpbmcoKSx0aGlzLnJlbW92ZUxpc3RlbmVyKGBoZWFydGJlYXRgLHRoaXMub25IZWFydGJlYXQpLHRoaXMub24oYGhlYXJ0YmVhdGAsdGhpcy5vbkhlYXJ0YmVhdCkpfSxsLnByb3RvdHlwZS5vbkhlYXJ0YmVhdD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTt2YXIgdD10aGlzO3QucGluZ1RpbWVvdXRUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJnQub25DbG9zZShgcGluZyB0aW1lb3V0YCl9LGV8fHQucGluZ0ludGVydmFsK3QucGluZ1RpbWVvdXQpfSxsLnByb3RvdHlwZS5zZXRQaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztjbGVhclRpbWVvdXQoZS5waW5nSW50ZXJ2YWxUaW1lciksZS5waW5nSW50ZXJ2YWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aShgd3JpdGluZyBwaW5nIHBhY2tldCAtIGV4cGVjdGluZyBwb25nIHdpdGhpbiAlc21zYCxlLnBpbmdUaW1lb3V0KSxlLnBpbmcoKSxlLm9uSGVhcnRiZWF0KGUucGluZ1RpbWVvdXQpfSxlLnBpbmdJbnRlcnZhbCl9LGwucHJvdG90eXBlLnBpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuc2VuZFBhY2tldChgcGluZ2AsZnVuY3Rpb24oKXtlLmVtaXQoYHBpbmdgKX0pfSxsLnByb3RvdHlwZS5vbkRyYWluPWZ1bmN0aW9uKCl7dGhpcy53cml0ZUJ1ZmZlci5zcGxpY2UoMCx0aGlzLnByZXZCdWZmZXJMZW4pLHRoaXMucHJldkJ1ZmZlckxlbj0wLHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoPT09MD90aGlzLmVtaXQoYGRyYWluYCk6dGhpcy5mbHVzaCgpfSxsLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZSE9PWBjbG9zZWRgJiZ0aGlzLnRyYW5zcG9ydC53cml0YWJsZSYmIXRoaXMudXBncmFkaW5nJiZ0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCYmKGkoYGZsdXNoaW5nICVkIHBhY2tldHMgaW4gc29ja2V0YCx0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCksdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLndyaXRlQnVmZmVyKSx0aGlzLnByZXZCdWZmZXJMZW49dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgsdGhpcy5lbWl0KGBmbHVzaGApKX0sbC5wcm90b3R5cGUud3JpdGU9bC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuc2VuZFBhY2tldChgbWVzc2FnZWAsZSx0LG4pLHRoaXN9LGwucHJvdG90eXBlLnNlbmRQYWNrZXQ9ZnVuY3Rpb24oZSx0LG4scil7aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmAmJihyPXQsdD12b2lkIDApLHR5cGVvZiBuPT1gZnVuY3Rpb25gJiYocj1uLG49bnVsbCksISh0aGlzLnJlYWR5U3RhdGU9PT1gY2xvc2luZ2B8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgKSl7bnx8PXt9LG4uY29tcHJlc3M9ITEhPT1uLmNvbXByZXNzO3ZhciBpPXt0eXBlOmUsZGF0YTp0LG9wdGlvbnM6bn07dGhpcy5lbWl0KGBwYWNrZXRDcmVhdGVgLGkpLHRoaXMud3JpdGVCdWZmZXIucHVzaChpKSxyJiZ0aGlzLm9uY2UoYGZsdXNoYCxyKSx0aGlzLmZsdXNoKCl9fSxsLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKXt0aGlzLnJlYWR5U3RhdGU9YGNsb3NpbmdgO3ZhciBlPXRoaXM7dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5vbmNlKGBkcmFpbmAsZnVuY3Rpb24oKXt0aGlzLnVwZ3JhZGluZz9yKCk6dCgpfSk6dGhpcy51cGdyYWRpbmc/cigpOnQoKX1mdW5jdGlvbiB0KCl7ZS5vbkNsb3NlKGBmb3JjZWQgY2xvc2VgKSxpKGBzb2NrZXQgY2xvc2luZyAtIHRlbGxpbmcgdHJhbnNwb3J0IHRvIGNsb3NlYCksZS50cmFuc3BvcnQuY2xvc2UoKX1mdW5jdGlvbiBuKCl7ZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZWAsbiksZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZUVycm9yYCxuKSx0KCl9ZnVuY3Rpb24gcigpe2Uub25jZShgdXBncmFkZWAsbiksZS5vbmNlKGB1cGdyYWRlRXJyb3JgLG4pfXJldHVybiB0aGlzfSxsLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUpe2koYHNvY2tldCBlcnJvciAlamAsZSksbC5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsdGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5vbkNsb3NlKGB0cmFuc3BvcnQgZXJyb3JgLGUpfSxsLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYCl7aShgc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiAiJXMiYCxlKTt2YXIgbj10aGlzO2NsZWFyVGltZW91dCh0aGlzLnBpbmdJbnRlcnZhbFRpbWVyKSxjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoYGNsb3NlYCksdGhpcy50cmFuc3BvcnQuY2xvc2UoKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5pZD1udWxsLHRoaXMuZW1pdChgY2xvc2VgLGUsdCksbi53cml0ZUJ1ZmZlcj1bXSxuLnByZXZCdWZmZXJMZW49MH19LGwucHJvdG90eXBlLmZpbHRlclVwZ3JhZGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKX5hKHRoaXMudHJhbnNwb3J0cyxlW25dKSYmdC5wdXNoKGVbbl0pO3JldHVybiB0fX0pKSxkYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz11YygpLHQuZXhwb3J0cy5wYXJzZXI9WnMoKX0pKSxmYz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gdGhpc30sbi5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fTt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPXRoaXMuX2NhbGxiYWNrc1tgJGArZV07aWYobil7bj1uLnNsaWNlKDApO2Zvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpOysrciluW3JdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzW2AkYCtlXXx8W119LG4ucHJvdG90eXBlLmhhc0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4hIXRoaXMubGlzdGVuZXJzKGUpLmxlbmd0aH19KSkscGM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUsdCl7dmFyIG49W107dHx8PTA7Zm9yKHZhciByPXR8fDA7cjxlLmxlbmd0aDtyKyspbltyLXRdPWVbcl07cmV0dXJuIG59fSkpLG1jPXMoKChlLHQpPT57dC5leHBvcnRzPW47ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJuIGUub24odCxuKSx7ZGVzdHJveTpmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIodCxuKX19fX0pKSxoYz1zKCgoZSx0KT0+e3ZhciBuPVtdLnNsaWNlO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmKHQ9ZVt0XSksdHlwZW9mIHQhPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoYGJpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uYCk7dmFyIHI9bi5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLHIuY29uY2F0KG4uY2FsbChhcmd1bWVudHMpKSl9fX0pKSxnYz1zKChlPT57ZS5lbmNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YGA7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHQubGVuZ3RoJiYodCs9YCZgKSx0Kz1lbmNvZGVVUklDb21wb25lbnQobikrYD1gK2VuY29kZVVSSUNvbXBvbmVudChlW25dKSk7cmV0dXJuIHR9LGUuZGVjb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD17fSxuPWUuc3BsaXQoYCZgKSxyPTAsaT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgYT1uW3JdLnNwbGl0KGA9YCk7dFtkZWNvZGVVUklDb21wb25lbnQoYVswXSldPWRlY29kZVVSSUNvbXBvbmVudChhWzFdKX1yZXR1cm4gdH19KSksX2M9cygoKGUsdCk9Pnt2YXIgbj1CcygpLHI9ZmMoKSxpPXBjKCksYT1tYygpLG89aGMoKSxzPWpzKCkoYHNvY2tldC5pby1jbGllbnQ6c29ja2V0YCksYz1nYygpLGw9R3MoKTt0LmV4cG9ydHM9ZT1mO3ZhciB1PXtjb25uZWN0OjEsY29ubmVjdF9lcnJvcjoxLGNvbm5lY3RfdGltZW91dDoxLGNvbm5lY3Rpbmc6MSxkaXNjb25uZWN0OjEsZXJyb3I6MSxyZWNvbm5lY3Q6MSxyZWNvbm5lY3RfYXR0ZW1wdDoxLHJlY29ubmVjdF9mYWlsZWQ6MSxyZWNvbm5lY3RfZXJyb3I6MSxyZWNvbm5lY3Rpbmc6MSxwaW5nOjEscG9uZzoxfSxkPXIucHJvdG90eXBlLmVtaXQ7ZnVuY3Rpb24gZihlLHQsbil7dGhpcy5pbz1lLHRoaXMubnNwPXQsdGhpcy5qc29uPXRoaXMsdGhpcy5pZHM9MCx0aGlzLmFja3M9e30sdGhpcy5yZWNlaXZlQnVmZmVyPVtdLHRoaXMuc2VuZEJ1ZmZlcj1bXSx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLmRpc2Nvbm5lY3RlZD0hMCx0aGlzLmZsYWdzPXt9LG4mJm4ucXVlcnkmJih0aGlzLnF1ZXJ5PW4ucXVlcnkpLHRoaXMuaW8uYXV0b0Nvbm5lY3QmJnRoaXMub3BlbigpfXIoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnN1YkV2ZW50cz1mdW5jdGlvbigpe2lmKCF0aGlzLnN1YnMpe3ZhciBlPXRoaXMuaW87dGhpcy5zdWJzPVthKGUsYG9wZW5gLG8odGhpcyxgb25vcGVuYCkpLGEoZSxgcGFja2V0YCxvKHRoaXMsYG9ucGFja2V0YCkpLGEoZSxgY2xvc2VgLG8odGhpcyxgb25jbG9zZWApKV19fSxmLnByb3RvdHlwZS5vcGVuPWYucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/dGhpczoodGhpcy5zdWJFdmVudHMoKSx0aGlzLmlvLm9wZW4oKSx0aGlzLmlvLnJlYWR5U3RhdGU9PT1gb3BlbmAmJnRoaXMub25vcGVuKCksdGhpcy5lbWl0KGBjb25uZWN0aW5nYCksdGhpcyl9LGYucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1pKGFyZ3VtZW50cyk7cmV0dXJuIGUudW5zaGlmdChgbWVzc2FnZWApLHRoaXMuZW1pdC5hcHBseSh0aGlzLGUpLHRoaXN9LGYucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7aWYodS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gZC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpczt2YXIgdD1pKGFyZ3VtZW50cykscj17dHlwZToodGhpcy5mbGFncy5iaW5hcnk9PT12b2lkIDA/bCh0KTp0aGlzLmZsYWdzLmJpbmFyeSk/bi5CSU5BUllfRVZFTlQ6bi5FVkVOVCxkYXRhOnR9O3JldHVybiByLm9wdGlvbnM9e30sci5vcHRpb25zLmNvbXByZXNzPSF0aGlzLmZsYWdzfHwhMSE9PXRoaXMuZmxhZ3MuY29tcHJlc3MsdHlwZW9mIHRbdC5sZW5ndGgtMV09PWBmdW5jdGlvbmAmJihzKGBlbWl0dGluZyBwYWNrZXQgd2l0aCBhY2sgaWQgJWRgLHRoaXMuaWRzKSx0aGlzLmFja3NbdGhpcy5pZHNdPXQucG9wKCksci5pZD10aGlzLmlkcysrKSx0aGlzLmNvbm5lY3RlZD90aGlzLnBhY2tldChyKTp0aGlzLnNlbmRCdWZmZXIucHVzaChyKSx0aGlzLmZsYWdzPXt9LHRoaXN9LGYucHJvdG90eXBlLnBhY2tldD1mdW5jdGlvbihlKXtlLm5zcD10aGlzLm5zcCx0aGlzLmlvLnBhY2tldChlKX0sZi5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7aWYocyhgdHJhbnNwb3J0IGlzIG9wZW4gLSBjb25uZWN0aW5nYCksdGhpcy5uc3AhPT1gL2ApaWYodGhpcy5xdWVyeSl7dmFyIGU9dHlwZW9mIHRoaXMucXVlcnk9PWBvYmplY3RgP2MuZW5jb2RlKHRoaXMucXVlcnkpOnRoaXMucXVlcnk7cyhgc2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzYCxlKSx0aGlzLnBhY2tldCh7dHlwZTpuLkNPTk5FQ1QscXVlcnk6ZX0pfWVsc2UgdGhpcy5wYWNrZXQoe3R5cGU6bi5DT05ORUNUfSl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7cyhgY2xvc2UgKCVzKWAsZSksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsZGVsZXRlIHRoaXMuaWQsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxlKX0sZi5wcm90b3R5cGUub25wYWNrZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uc3A9PT10aGlzLm5zcCxyPWUudHlwZT09PW4uRVJST1ImJmUubnNwPT09YC9gO2lmKCEoIXQmJiFyKSlzd2l0Y2goZS50eXBlKXtjYXNlIG4uQ09OTkVDVDp0aGlzLm9uY29ubmVjdCgpO2JyZWFrO2Nhc2Ugbi5FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkJJTkFSWV9FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkFDSzp0aGlzLm9uYWNrKGUpO2JyZWFrO2Nhc2Ugbi5CSU5BUllfQUNLOnRoaXMub25hY2soZSk7YnJlYWs7Y2FzZSBuLkRJU0NPTk5FQ1Q6dGhpcy5vbmRpc2Nvbm5lY3QoKTticmVhaztjYXNlIG4uRVJST1I6dGhpcy5lbWl0KGBlcnJvcmAsZS5kYXRhKTticmVha319LGYucHJvdG90eXBlLm9uZXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhfHxbXTtzKGBlbWl0dGluZyBldmVudCAlamAsdCksZS5pZCE9bnVsbCYmKHMoYGF0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnRgKSx0LnB1c2godGhpcy5hY2soZS5pZCkpKSx0aGlzLmNvbm5lY3RlZD9kLmFwcGx5KHRoaXMsdCk6dGhpcy5yZWNlaXZlQnVmZmVyLnB1c2godCl9LGYucHJvdG90eXBlLmFjaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7dmFyIGE9aShhcmd1bWVudHMpO3MoYHNlbmRpbmcgYWNrICVqYCxhKSx0LnBhY2tldCh7dHlwZTpsKGEpP24uQklOQVJZX0FDSzpuLkFDSyxpZDplLGRhdGE6YX0pfX19LGYucHJvdG90eXBlLm9uYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWNrc1tlLmlkXTt0eXBlb2YgdD09YGZ1bmN0aW9uYD8ocyhgY2FsbGluZyBhY2sgJXMgd2l0aCAlamAsZS5pZCxlLmRhdGEpLHQuYXBwbHkodGhpcyxlLmRhdGEpLGRlbGV0ZSB0aGlzLmFja3NbZS5pZF0pOnMoYGJhZCBhY2sgJXNgLGUuaWQpfSxmLnByb3RvdHlwZS5vbmNvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLmRpc2Nvbm5lY3RlZD0hMSx0aGlzLmVtaXQoYGNvbm5lY3RgKSx0aGlzLmVtaXRCdWZmZXJlZCgpfSxmLnByb3RvdHlwZS5lbWl0QnVmZmVyZWQ9ZnVuY3Rpb24oKXt2YXIgZTtmb3IoZT0wO2U8dGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDtlKyspZC5hcHBseSh0aGlzLHRoaXMucmVjZWl2ZUJ1ZmZlcltlXSk7Zm9yKHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSxlPTA7ZTx0aGlzLnNlbmRCdWZmZXIubGVuZ3RoO2UrKyl0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbZV0pO3RoaXMuc2VuZEJ1ZmZlcj1bXX0sZi5wcm90b3R5cGUub25kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cyhgc2VydmVyIGRpc2Nvbm5lY3QgKCVzKWAsdGhpcy5uc3ApLHRoaXMuZGVzdHJveSgpLHRoaXMub25jbG9zZShgaW8gc2VydmVyIGRpc2Nvbm5lY3RgKX0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuc3Vicyl7Zm9yKHZhciBlPTA7ZTx0aGlzLnN1YnMubGVuZ3RoO2UrKyl0aGlzLnN1YnNbZV0uZGVzdHJveSgpO3RoaXMuc3Vicz1udWxsfXRoaXMuaW8uZGVzdHJveSh0aGlzKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZCYmKHMoYHBlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpYCx0aGlzLm5zcCksdGhpcy5wYWNrZXQoe3R5cGU6bi5ESVNDT05ORUNUfSkpLHRoaXMuZGVzdHJveSgpLHRoaXMuY29ubmVjdGVkJiZ0aGlzLm9uY2xvc2UoYGlvIGNsaWVudCBkaXNjb25uZWN0YCksdGhpc30sZi5wcm90b3R5cGUuY29tcHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuY29tcHJlc3M9ZSx0aGlzfSxmLnByb3RvdHlwZS5iaW5hcnk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuYmluYXJ5PWUsdGhpc319KSksdmM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUpe2V8fD17fSx0aGlzLm1zPWUubWlufHwxMDAsdGhpcy5tYXg9ZS5tYXh8fDFlNCx0aGlzLmZhY3Rvcj1lLmZhY3Rvcnx8Mix0aGlzLmppdHRlcj1lLmppdHRlcj4wJiZlLmppdHRlcjw9MT9lLmppdHRlcjowLHRoaXMuYXR0ZW1wdHM9MH1uLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubXMqdGhpcy5mYWN0b3IqKisgdGhpcy5hdHRlbXB0cysrO2lmKHRoaXMuaml0dGVyKXt2YXIgdD1NYXRoLnJhbmRvbSgpLG49TWF0aC5mbG9vcih0KnRoaXMuaml0dGVyKmUpO2U9TWF0aC5mbG9vcih0KjEwKSYxP2UrbjplLW59cmV0dXJuIE1hdGgubWluKGUsdGhpcy5tYXgpfDB9LG4ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5hdHRlbXB0cz0wfSxuLnByb3RvdHlwZS5zZXRNaW49ZnVuY3Rpb24oZSl7dGhpcy5tcz1lfSxuLnByb3RvdHlwZS5zZXRNYXg9ZnVuY3Rpb24oZSl7dGhpcy5tYXg9ZX0sbi5wcm90b3R5cGUuc2V0Sml0dGVyPWZ1bmN0aW9uKGUpe3RoaXMuaml0dGVyPWV9fSkpLHljPXMoKChlLHQpPT57dmFyIG49ZGMoKSxyPV9jKCksaT1mYygpLGE9QnMoKSxvPW1jKCkscz1oYygpLGM9anMoKShgc29ja2V0LmlvLWNsaWVudDptYW5hZ2VyYCksbD1jYygpLHU9dmMoKSxkPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWY7ZnVuY3Rpb24gZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZihlLHQpO2UmJnR5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9LHQucGF0aD10LnBhdGh8fGAvc29ja2V0LmlvYCx0aGlzLm5zcHM9e30sdGhpcy5zdWJzPVtdLHRoaXMub3B0cz10LHRoaXMucmVjb25uZWN0aW9uKHQucmVjb25uZWN0aW9uIT09ITEpLHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHModC5yZWNvbm5lY3Rpb25BdHRlbXB0c3x8MS8wKSx0aGlzLnJlY29ubmVjdGlvbkRlbGF5KHQucmVjb25uZWN0aW9uRGVsYXl8fDFlMyksdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heCh0LnJlY29ubmVjdGlvbkRlbGF5TWF4fHw1ZTMpLHRoaXMucmFuZG9taXphdGlvbkZhY3Rvcih0LnJhbmRvbWl6YXRpb25GYWN0b3J8fC41KSx0aGlzLmJhY2tvZmY9bmV3IHUoe21pbjp0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksbWF4OnRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxqaXR0ZXI6dGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKCl9KSx0aGlzLnRpbWVvdXQodC50aW1lb3V0PT1udWxsPzJlNDp0LnRpbWVvdXQpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLnVyaT1lLHRoaXMuY29ubmVjdGluZz1bXSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5lbmNvZGluZz0hMSx0aGlzLnBhY2tldEJ1ZmZlcj1bXTt2YXIgbj10LnBhcnNlcnx8YTt0aGlzLmVuY29kZXI9bmV3IG4uRW5jb2Rlcix0aGlzLmRlY29kZXI9bmV3IG4uRGVjb2Rlcix0aGlzLmF1dG9Db25uZWN0PXQuYXV0b0Nvbm5lY3QhPT0hMSx0aGlzLmF1dG9Db25uZWN0JiZ0aGlzLm9wZW4oKX1mLnByb3RvdHlwZS5lbWl0QWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuZW1pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJnRoaXMubnNwc1tlXS5lbWl0LmFwcGx5KHRoaXMubnNwc1tlXSxhcmd1bWVudHMpfSxmLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHM9ZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJih0aGlzLm5zcHNbZV0uaWQ9dGhpcy5nZW5lcmF0ZUlkKGUpKX0sZi5wcm90b3R5cGUuZ2VuZXJhdGVJZD1mdW5jdGlvbihlKXtyZXR1cm4oZT09PWAvYD9gYDplK2AjYCkrdGhpcy5lbmdpbmUuaWR9LGkoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnJlY29ubmVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uPSEhZSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb259LGYucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cz1lLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzfSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uRGVsYXk9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRNaW4oZSksdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9uRGVsYXl9LGYucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3I9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRKaXR0ZXIoZSksdGhpcyk6dGhpcy5fcmFuZG9taXphdGlvbkZhY3Rvcn0sZi5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXg9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4PWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWF4KGUpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4fSxmLnByb3RvdHlwZS50aW1lb3V0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lb3V0PWUsdGhpcyk6dGhpcy5fdGltZW91dH0sZi5wcm90b3R5cGUubWF5YmVSZWNvbm5lY3RPbk9wZW49ZnVuY3Rpb24oKXshdGhpcy5yZWNvbm5lY3RpbmcmJnRoaXMuX3JlY29ubmVjdGlvbiYmdGhpcy5iYWNrb2ZmLmF0dGVtcHRzPT09MCYmdGhpcy5yZWNvbm5lY3QoKX0sZi5wcm90b3R5cGUub3Blbj1mLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKGUsdCl7aWYoYyhgcmVhZHlTdGF0ZSAlc2AsdGhpcy5yZWFkeVN0YXRlKSx+dGhpcy5yZWFkeVN0YXRlLmluZGV4T2YoYG9wZW5gKSlyZXR1cm4gdGhpcztjKGBvcGVuaW5nICVzYCx0aGlzLnVyaSksdGhpcy5lbmdpbmU9bih0aGlzLnVyaSx0aGlzLm9wdHMpO3ZhciByPXRoaXMuZW5naW5lLGk9dGhpczt0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuc2tpcFJlY29ubmVjdD0hMTt2YXIgYT1vKHIsYG9wZW5gLGZ1bmN0aW9uKCl7aS5vbm9wZW4oKSxlJiZlKCl9KSxzPW8ocixgZXJyb3JgLGZ1bmN0aW9uKHQpe2lmKGMoYGNvbm5lY3RfZXJyb3JgKSxpLmNsZWFudXAoKSxpLnJlYWR5U3RhdGU9YGNsb3NlZGAsaS5lbWl0QWxsKGBjb25uZWN0X2Vycm9yYCx0KSxlKXt2YXIgbj1FcnJvcihgQ29ubmVjdGlvbiBlcnJvcmApO24uZGF0YT10LGUobil9ZWxzZSBpLm1heWJlUmVjb25uZWN0T25PcGVuKCl9KTtpZighMSE9PXRoaXMuX3RpbWVvdXQpe3ZhciBsPXRoaXMuX3RpbWVvdXQ7YyhgY29ubmVjdCBhdHRlbXB0IHdpbGwgdGltZW91dCBhZnRlciAlZGAsbCk7dmFyIHU9c2V0VGltZW91dChmdW5jdGlvbigpe2MoYGNvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQgYWZ0ZXIgJWRgLGwpLGEuZGVzdHJveSgpLHIuY2xvc2UoKSxyLmVtaXQoYGVycm9yYCxgdGltZW91dGApLGkuZW1pdEFsbChgY29ubmVjdF90aW1lb3V0YCxsKX0sbCk7dGhpcy5zdWJzLnB1c2goe2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodSl9fSl9cmV0dXJuIHRoaXMuc3Vicy5wdXNoKGEpLHRoaXMuc3Vicy5wdXNoKHMpLHRoaXN9LGYucHJvdG90eXBlLm9ub3Blbj1mdW5jdGlvbigpe2MoYG9wZW5gKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMuZW1pdChgb3BlbmApO3ZhciBlPXRoaXMuZW5naW5lO3RoaXMuc3Vicy5wdXNoKG8oZSxgZGF0YWAscyh0aGlzLGBvbmRhdGFgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcGluZ2Ascyh0aGlzLGBvbnBpbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcG9uZ2Ascyh0aGlzLGBvbnBvbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgZXJyb3JgLHModGhpcyxgb25lcnJvcmApKSksdGhpcy5zdWJzLnB1c2gobyhlLGBjbG9zZWAscyh0aGlzLGBvbmNsb3NlYCkpKSx0aGlzLnN1YnMucHVzaChvKHRoaXMuZGVjb2RlcixgZGVjb2RlZGAscyh0aGlzLGBvbmRlY29kZWRgKSkpfSxmLnByb3RvdHlwZS5vbnBpbmc9ZnVuY3Rpb24oKXt0aGlzLmxhc3RQaW5nPW5ldyBEYXRlLHRoaXMuZW1pdEFsbChgcGluZ2ApfSxmLnByb3RvdHlwZS5vbnBvbmc9ZnVuY3Rpb24oKXt0aGlzLmVtaXRBbGwoYHBvbmdgLG5ldyBEYXRlLXRoaXMubGFzdFBpbmcpfSxmLnByb3RvdHlwZS5vbmRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5kZWNvZGVyLmFkZChlKX0sZi5wcm90b3R5cGUub25kZWNvZGVkPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0sZi5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbihlKXtjKGBlcnJvcmAsZSksdGhpcy5lbWl0QWxsKGBlcnJvcmAsZSl9LGYucHJvdG90eXBlLnNvY2tldD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMubnNwc1tlXTtpZighbil7bj1uZXcgcih0aGlzLGUsdCksdGhpcy5uc3BzW2VdPW47dmFyIGk9dGhpcztuLm9uKGBjb25uZWN0aW5nYCxhKSxuLm9uKGBjb25uZWN0YCxmdW5jdGlvbigpe24uaWQ9aS5nZW5lcmF0ZUlkKGUpfSksdGhpcy5hdXRvQ29ubmVjdCYmYSgpfWZ1bmN0aW9uIGEoKXt+bChpLmNvbm5lY3Rpbmcsbil8fGkuY29ubmVjdGluZy5wdXNoKG4pfXJldHVybiBufSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PWwodGhpcy5jb25uZWN0aW5nLGUpO350JiZ0aGlzLmNvbm5lY3Rpbmcuc3BsaWNlKHQsMSksIXRoaXMuY29ubmVjdGluZy5sZW5ndGgmJnRoaXMuY2xvc2UoKX0sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2MoYHdyaXRpbmcgcGFja2V0ICVqYCxlKTt2YXIgdD10aGlzO2UucXVlcnkmJmUudHlwZT09PTAmJihlLm5zcCs9YD9gK2UucXVlcnkpLHQuZW5jb2Rpbmc/dC5wYWNrZXRCdWZmZXIucHVzaChlKToodC5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKGUsZnVuY3Rpb24obil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspdC5lbmdpbmUud3JpdGUobltyXSxlLm9wdGlvbnMpO3QuZW5jb2Rpbmc9ITEsdC5wcm9jZXNzUGFja2V0UXVldWUoKX0pKX0sZi5wcm90b3R5cGUucHJvY2Vzc1BhY2tldFF1ZXVlPWZ1bmN0aW9uKCl7aWYodGhpcy5wYWNrZXRCdWZmZXIubGVuZ3RoPjAmJiF0aGlzLmVuY29kaW5nKXt2YXIgZT10aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO3RoaXMucGFja2V0KGUpfX0sZi5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbigpe2MoYGNsZWFudXBgKTtmb3IodmFyIGU9dGhpcy5zdWJzLmxlbmd0aCx0PTA7dDxlO3QrKyl0aGlzLnN1YnMuc2hpZnQoKS5kZXN0cm95KCk7dGhpcy5wYWNrZXRCdWZmZXI9W10sdGhpcy5lbmNvZGluZz0hMSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5kZWNvZGVyLmRlc3Ryb3koKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe2MoYGRpc2Nvbm5lY3RgKSx0aGlzLnNraXBSZWNvbm5lY3Q9ITAsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0aGlzLmNsZWFudXAoKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5lbmdpbmUmJnRoaXMuZW5naW5lLmNsb3NlKCl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7Yyhgb25jbG9zZWApLHRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCxlKSx0aGlzLl9yZWNvbm5lY3Rpb24mJiF0aGlzLnNraXBSZWNvbm5lY3QmJnRoaXMucmVjb25uZWN0KCl9LGYucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe2lmKHRoaXMucmVjb25uZWN0aW5nfHx0aGlzLnNraXBSZWNvbm5lY3QpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcztpZih0aGlzLmJhY2tvZmYuYXR0ZW1wdHM+PXRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzKWMoYHJlY29ubmVjdCBmYWlsZWRgKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLmVtaXRBbGwoYHJlY29ubmVjdF9mYWlsZWRgKSx0aGlzLnJlY29ubmVjdGluZz0hMTtlbHNle3ZhciB0PXRoaXMuYmFja29mZi5kdXJhdGlvbigpO2MoYHdpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdGAsdCksdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2Uuc2tpcFJlY29ubmVjdHx8KGMoYGF0dGVtcHRpbmcgcmVjb25uZWN0YCksZS5lbWl0QWxsKGByZWNvbm5lY3RfYXR0ZW1wdGAsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLmVtaXRBbGwoYHJlY29ubmVjdGluZ2AsZS5iYWNrb2ZmLmF0dGVtcHRzKSwhZS5za2lwUmVjb25uZWN0JiZlLm9wZW4oZnVuY3Rpb24odCl7dD8oYyhgcmVjb25uZWN0IGF0dGVtcHQgZXJyb3JgKSxlLnJlY29ubmVjdGluZz0hMSxlLnJlY29ubmVjdCgpLGUuZW1pdEFsbChgcmVjb25uZWN0X2Vycm9yYCx0LmRhdGEpKTooYyhgcmVjb25uZWN0IHN1Y2Nlc3NgKSxlLm9ucmVjb25uZWN0KCkpfSkpfSx0KTt0aGlzLnN1YnMucHVzaCh7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKX19KX19LGYucHJvdG90eXBlLm9ucmVjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5iYWNrb2ZmLmF0dGVtcHRzO3RoaXMucmVjb25uZWN0aW5nPSExLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMudXBkYXRlU29ja2V0SWRzKCksdGhpcy5lbWl0QWxsKGByZWNvbm5lY3RgLGUpfX0pKSxiYz1zKCgoZSx0KT0+e3ZhciBuPU1zKCkscj1CcygpLGk9eWMoKSxhPWpzKCkoYHNvY2tldC5pby1jbGllbnRgKTt0LmV4cG9ydHM9ZT1zO3ZhciBvPWUubWFuYWdlcnM9e307ZnVuY3Rpb24gcyhlLHQpe3R5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9O3ZhciByPW4oZSkscz1yLnNvdXJjZSxjPXIuaWQsbD1yLnBhdGgsdT1vW2NdJiZsIGluIG9bY10ubnNwcyxkPXQuZm9yY2VOZXd8fHRbYGZvcmNlIG5ldyBjb25uZWN0aW9uYF18fCExPT09dC5tdWx0aXBsZXh8fHUsZjtyZXR1cm4gZD8oYShgaWdub3Jpbmcgc29ja2V0IGNhY2hlIGZvciAlc2AscyksZj1pKHMsdCkpOihvW2NdfHwoYShgbmV3IGlvIGluc3RhbmNlIGZvciAlc2Ascyksb1tjXT1pKHMsdCkpLGY9b1tjXSksci5xdWVyeSYmIXQucXVlcnkmJih0LnF1ZXJ5PXIucXVlcnkpLGYuc29ja2V0KHIucGF0aCx0KX1lLnByb3RvY29sPXIucHJvdG9jb2wsZS5jb25uZWN0PXMsZS5NYW5hZ2VyPXljKCksZS5Tb2NrZXQ9X2MoKX0pKSx4Yz1jKHtkZWZhdWx0OigpPT5TY30pO2Z1bmN0aW9uIFNjKGUsdCl7cmV0dXJuIHR8fD17fSxuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe3ZhciBpPW5ldyBYTUxIdHRwUmVxdWVzdCxhPVtdLG89W10scz17fSxjPWZ1bmN0aW9uKCl7cmV0dXJue29rOihpLnN0YXR1cy8xMDB8MCk9PTIsc3RhdHVzVGV4dDppLnN0YXR1c1RleHQsc3RhdHVzOmkuc3RhdHVzLHVybDppLnJlc3BvbnNlVVJMLHRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkucmVzcG9uc2VUZXh0KX0sanNvbjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoaS5yZXNwb25zZVRleHQpLnRoZW4oSlNPTi5wYXJzZSl9LGJsb2I6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFtpLnJlc3BvbnNlXSkpfSxjbG9uZTpjLGhlYWRlcnM6e2tleXM6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW50cmllczpmdW5jdGlvbigpe3JldHVybiBvfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHNbZS50b0xvd2VyQ2FzZSgpXX0saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKClpbiBzfX19fTtmb3IodmFyIGwgaW4gaS5vcGVuKHQubWV0aG9kfHxgZ2V0YCxlLCEwKSxpLm9ubG9hZD1mdW5jdGlvbigpe2kuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkucmVwbGFjZSgvXiguKj8pOlteXFNcbl0qKFtcc1xTXSo/KSQvZ20sZnVuY3Rpb24oZSx0LG4pe2EucHVzaCh0PXQudG9Mb3dlckNhc2UoKSksby5wdXNoKFt0LG5dKSxzW3RdPXNbdF0/c1t0XStgLGArbjpufSksbihjKCkpfSxpLm9uZXJyb3I9cixpLndpdGhDcmVkZW50aWFscz10LmNyZWRlbnRpYWxzPT1gaW5jbHVkZWAsdC5oZWFkZXJzKWkuc2V0UmVxdWVzdEhlYWRlcihsLHQuaGVhZGVyc1tsXSk7aS5zZW5kKHQuYm9keXx8bnVsbCl9KX12YXIgQ2M9bygoKCk9Pnt9KSksd2M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9c2VsZi5mZXRjaHx8KHNlbGYuZmV0Y2g9KENjKCksZCh4YykpLmRlZmF1bHR8fChDYygpLGQoeGMpKSl9KSksVGM9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLmZldGNoQmFsYW5jZXJDb25maWc9dm9pZCAwO3ZhciBuPURzKCkscj10KHdjKCkpO2UuZmV0Y2hCYWxhbmNlckNvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4oMCxuLmRlYnVnKShgdXNpbmcgYmFsYW5jZXIgJHtlfSB0byBnZXQgd2Vic29ja2V0IHVybGApLCgwLHIuZGVmYXVsdCkoYCR7ZX1gKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGU/LnVybCYmZT8udG9rZW4/KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIHVybCAke2U/LnVybH0gYW5kIHRva2VuICR7ZT8udG9rZW59YCksZSk6KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIGludmFsaWQgcmVzcG9uc2VgKSxudWxsKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybigwLG4uZGVidWcpKGBmYWlsZWQgdG8gcmVzb2x2ZSB1cmw6ICR7ZS5tZXNzYWdlfWApLG51bGx9KX19KSksRWM9cygoZT0+e3ZhciB0PWUmJmUuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0LG4pe3JldHVybiBlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0sZSh0LG4pfTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0eXBlb2YgbiE9YGZ1bmN0aW9uYCYmbiE9PW51bGwpdGhyb3cgVHlwZUVycm9yKGBDbGFzcyBleHRlbmRzIHZhbHVlIGArU3RyaW5nKG4pK2AgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbGApO2UodCxuKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPW49PT1udWxsP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX19KSgpLG49ZSYmZS5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsbil7aWYobnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT10Lmxlbmd0aCxhO3I8aTtyKyspKGF8fCEociBpbiB0KSkmJihhfHw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHIpLGFbcl09dFtyXSk7cmV0dXJuIGUuY29uY2F0KGF8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX0scj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRNb2NrPXZvaWQgMDt2YXIgaT1EcygpO2UuU29ja2V0TW9jaz1mdW5jdGlvbihlKXt0KHIsZSk7ZnVuY3Rpb24gcih0KXt2YXIgbj1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub3B0aW9ucz10LG4uaWQ9YG1vY2tgLG4uY29ubmVjdGVkPSExLG4uZGlzY29ubmVjdGVkPSEwLG4uYmluYXJ5VHlwZT1gYmxvYmAsbn1yZXR1cm4gci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuKDAsaS5kZWJ1ZykoYFNvY2tldElPTW9jazogY29ubmVjdGApLHRoaXMub25jZShgdmlzaXRvci5jb25uZWN0YCxmdW5jdGlvbih0LG4pe24obnVsbCxlLm9wdGlvbnMuY29ubmVjdERhdGEpfSksdGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBjb25uZWN0YCksdGhpc30sci5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLmRlYnVnKShgU29ja2V0SU9Nb2NrOiBkaXNjb25uZWN0YCksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxgaW8gY2xpZW50IGRpc2Nvbm5lY3RgKSx0aGlzfSxyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciByPVsuLi5hcmd1bWVudHNdLnNsaWNlKDEpO3JldHVybiBpLmRlYnVnLmFwcGx5KHZvaWQgMCxuKFtgU29ja2V0SU9Nb2NrOiBlbWl0YF0sciwhMSkpLCh0PT09YGNvbm5lY3RgfHx0PT09YGRpc2Nvbm5lY3RgfHx0PT09YHZpc2l0b3IuY29ubmVjdGApJiZlLnByb3RvdHlwZS5lbWl0LmFwcGx5KHRoaXMsbihbdF0sciwhMSkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1bLi4uYXJndW1lbnRzXTtyZXR1cm4gdGhpcy5lbWl0LmFwcGx5KHRoaXMsbihbZVswXV0sZS5zbGljZSgxKSwhMSkpfSxyLnByb3RvdHlwZS5jb21wcmVzcz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3BlbigpfSxyLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvc2UoKX0sci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxpc3RlbmVyQ291bnQoZSk9PT0wfSxyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx0KSx0aGlzfSxyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KSx0aGlzfSxyfShyKE9zKCkpLmRlZmF1bHQpfSkpLERjPXMoKGU9Pnt2YXIgdD1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiB0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sbj1lJiZlLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fChgZ2V0YGluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfSk6KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pLGVbcl09dFtuXX0pKSxyPWUmJmUuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT1gZGVmYXVsdGAmJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmbih0LGUscil9LGk9ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pfXJldHVybiBuZXcobnx8PVByb21pc2UpKGZ1bmN0aW9uKG4sYSl7ZnVuY3Rpb24gbyhlKXt0cnl7YyhyLm5leHQoZSkpfWNhdGNoKGUpe2EoZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e2Moci50aHJvdyhlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gYyhlKXtlLmRvbmU/bihlLnZhbHVlKTppKGUudmFsdWUpLnRoZW4obyxzKX1jKChyPXIuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX0sYT1lJiZlLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihlLHQpe3ZhciBuPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihhWzBdJjEpdGhyb3cgYVsxXTtyZXR1cm4gYVsxXX0sdHJ5czpbXSxvcHM6W119LHIsaSxhLG89T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT1gZnVuY3Rpb25gP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gby5uZXh0PXMoMCksby50aHJvdz1zKDEpLG8ucmV0dXJuPXMoMiksdHlwZW9mIFN5bWJvbD09YGZ1bmN0aW9uYCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBzKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYyhbZSx0XSl9fWZ1bmN0aW9uIGMocyl7aWYocil0aHJvdyBUeXBlRXJyb3IoYEdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5gKTtmb3IoO28mJihvPTAsc1swXSYmKG49MCkpLG47KXRyeXtpZihyPTEsaSYmKGE9c1swXSYyP2kucmV0dXJuOnNbMF0/aS50aHJvd3x8KChhPWkucmV0dXJuKSYmYS5jYWxsKGkpLDApOmkubmV4dCkmJiEoYT1hLmNhbGwoaSxzWzFdKSkuZG9uZSlyZXR1cm4gYTtzd2l0Y2goaT0wLGEmJihzPVtzWzBdJjIsYS52YWx1ZV0pLHNbMF0pe2Nhc2UgMDpjYXNlIDE6YT1zO2JyZWFrO2Nhc2UgNDpyZXR1cm4gbi5sYWJlbCsrLHt2YWx1ZTpzWzFdLGRvbmU6ITF9O2Nhc2UgNTpuLmxhYmVsKyssaT1zWzFdLHM9WzBdO2NvbnRpbnVlO2Nhc2UgNzpzPW4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKChhPW4udHJ5cywhKGE9YS5sZW5ndGg+MCYmYVthLmxlbmd0aC0xXSkpJiYoc1swXT09PTZ8fHNbMF09PT0yKSl7bj0wO2NvbnRpbnVlfWlmKHNbMF09PT0zJiYoIWF8fHNbMV0+YVswXSYmc1sxXTxhWzNdKSl7bi5sYWJlbD1zWzFdO2JyZWFrfWlmKHNbMF09PT02JiZuLmxhYmVsPGFbMV0pe24ubGFiZWw9YVsxXSxhPXM7YnJlYWt9aWYoYSYmbi5sYWJlbDxhWzJdKXtuLmxhYmVsPWFbMl0sbi5vcHMucHVzaChzKTticmVha31hWzJdJiZuLm9wcy5wb3AoKSxuLnRyeXMucG9wKCk7Y29udGludWV9cz10LmNhbGwoZSxuKX1jYXRjaChlKXtzPVs2LGVdLGk9MH1maW5hbGx5e3I9YT0wfWlmKHNbMF0mNSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fX0sbz1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj12b2lkIDA7dmFyIHM9RHMoKSxjPW8oT3MoKSksbD1vKGJjKCkpLHU9VGMoKSxkPXt0cmFuc3BvcnRzOltgd2Vic29ja2V0YF0scGF0aDpgL3NvY2tldGAscmVjb25uZWN0aW9uOiEwLHJlY29ubmVjdGlvbkRlbGF5OjFlMyxyZWNvbm5lY3Rpb25EZWxheU1heDo1ZTMscmVjb25uZWN0aW9uQXR0ZW1wdHM6MS8wfTtlLmRlZmF1bHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMub3B0aW9ucz1lLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5mb3JjZVJlY29ubmVjdD0hMSx0aGlzLmlkZW50aXR5PW51bGwsdGhpcy5jb25uZWN0aW9uPW51bGwsdGhpcy5jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLmRpc2Nvbm5lY3RDYWxsYmFjaz1udWxsLHRoaXMuaW5pdERhdGE9bnVsbCx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITEsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9MCx0aGlzLmVtaXR0ZXI9bmV3IGMuZGVmYXVsdCx0aGlzLnNlbmRCdWZmZXI9W10sdGhpcy5vcHRpb25zLm9wdGlvbnM9dCh0KHQoe30sZCksdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMX0pfXJldHVybiBlLnByb3RvdHlwZS5pbml0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBhKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDppZih0aGlzLmNvbm5lY3Rpb24pdGhyb3cgRXJyb3IoYENvbm5lY3Rpb24gYWxyZWFkeSBleGlzdHNgKTtyZXR1cm4gdGhpcy5vcHRpb25zLnNvY2tldD8oKDAscy5kZWJ1ZykoYHVzaW5nIHNvY2tldCAke3RoaXMub3B0aW9ucy5zb2NrZXQuaWR9YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMSx0aGlzLnNldENvbm5lY3Rpb24odGhpcy5vcHRpb25zLnNvY2tldCksWzMsNF0pOlszLDFdO2Nhc2UgMTpyZXR1cm4gdGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsP1s0LCgwLHUuZmV0Y2hCYWxhbmNlckNvbmZpZykodGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsKV06WzMsM107Y2FzZSAyOnJldHVybiBlPW4uc2VudCgpLCgwLHMuZGVidWcpKGBjcmVhdGluZyBzb2NrZXQgdG8gJHtlLnVybH0gd2l0aCB0b2tlbiAke2UudG9rZW59YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMCx0aGlzLnNldENvbm5lY3Rpb24oKDAsbC5kZWZhdWx0KShlLnVybCx0KHQoe30sdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITEscXVlcnk6e3Rva2VuOmUudG9rZW59fSkpLCEwKSxbMyw0XTtjYXNlIDM6aWYodGhpcy5vcHRpb25zLnVybCkoMCxzLmRlYnVnKShgY3JlYXRpbmcgc29ja2V0IHRvICR7dGhpcy5vcHRpb25zLnVybH1gKSx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuc2V0Q29ubmVjdGlvbigoMCxsLmRlZmF1bHQpKHRoaXMub3B0aW9ucy51cmwsdCh0KHt9LHRoaXMub3B0aW9ucy5vcHRpb25zKSx7YXV0b0Nvbm5lY3Q6ITF9KSkpO2Vsc2UgdGhyb3cgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyIHVybGApO24ubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUucHJvdG90eXBlLnNldENvbm5lY3Rpb249ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO249PT12b2lkIDAmJihuPSExKSx0aGlzLmNvbm5lY3Rpb249ZSx0aGlzLmZvcmNlUmVjb25uZWN0PSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpb249bixlLm9uKGBjb25uZWN0X2Vycm9yYCxmdW5jdGlvbihlKXtyLmludGVybmFsUmVjb25uZWN0aW9uJiYoci5jb25uZWN0Q2FsbGJhY2s9bnVsbCwoMCxzLmRlYnVnKShgY29ubmVjdGlvbiB3YXMgbm90IHJlY29ubmVjdGVkYCksci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdF9lcnJvcmAsZSksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uQXR0ZW1wdHM+ci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQrMT9yLnJlY29ubmVjdChyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdCsxKTpyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGAsci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQpKX0pLGUub24oYGNvbm5lY3RgLGZ1bmN0aW9uKCl7KDAscy5kZWJ1ZykoYHNvY2tldCB3YXMgY29ubmVjdGVkYCksci5pbml0aWFsaXplZD0hMSxyLmludGVybmFsUmVjb25uZWN0aW5nPygoMCxzLmRlYnVnKShgY29ubmVjdGlvbiBpcyByZWNvbm5lY3RlZGApLHIuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RgKSxyLmludGVybmFsUmVjb25uZWN0aW5nPSExLHIuaW50ZXJuYWxSZWNvbm5lY3RpbmdBdHRlbXB0PTApOnIuZW1pdHRlci5lbWl0KGBjb25uZWN0YCksci5pbml0aWFsaXplKCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmRlYnVnKShgc29ja2V0IHdhcyBpbml0aWFsaXplZGApLHIub25Jbml0aWFsaXplZChlKSxyLmNvbm5lY3RDYWxsYmFjayYmPShyLmNvbm5lY3RDYWxsYmFjayhudWxsLGUpLG51bGwpLGV9KS5jYXRjaChmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBub3QgaW5pdGlhbGl6ZWQgYCx0KHt9LGUpKSxyLm9uSW5pdGlhbGl6ZUVycm9yKGUpLHIuY29ubmVjdENhbGxiYWNrJiY9KHIuY29ubmVjdENhbGxiYWNrKGUpLG51bGwpfSl9KSxlLm9uKGBkaXNjb25uZWN0YCxmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBkaXNjb25uZWN0ZWQgcmVhc29uPScke2V9J2ApLHIuaW5pdGlhbGl6ZWQ9ITEsKCFyLmludGVybmFsUmVjb25uZWN0aW5nfHxyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdD09PTEpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYGRpc2Nvbm5lY3RgLGUpLHIuZGlzY29ubmVjdENhbGxiYWNrJiY9KHIuZGlzY29ubmVjdENhbGxiYWNrKCksbnVsbCl9LDEwMCksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uJiZyLmludGVybmFsUmVjb25uZWN0aW9uJiYhci5pbnRlcm5hbFJlY29ubmVjdGluZyYmKHIuZm9yY2VSZWNvbm5lY3R8fGUhPT1gaW8gc2VydmVyIGRpc2Nvbm5lY3RgKSYmci5yZWNvbm5lY3QoKX0pLGUub24oYHJlY29ubmVjdGluZ2AsZnVuY3Rpb24oZSl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGluZ2AsZSl9KSxlLm9uKGByZWNvbm5lY3RgLGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGApfSksZS5vbihgcmVjb25uZWN0X2F0dGVtcHRgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSl9KSxlLm9uKGByZWNvbm5lY3RfZXJyb3JgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfZXJyb3JgLGUpfSksZS5vbihgcmVjb25uZWN0X2ZhaWxlZGAsZnVuY3Rpb24oKXtyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGApfSksZS5vbihgZm9yY2VfcmVjb25uZWN0YCxmdW5jdGlvbigpeygwLHMuZGVidWcpKGByZWNlaXZlZCBldmVudCBmb3JjZV9yZWNvbm5lY3QsIHNldHRpbmcgZmxhZyBmb3JjZVJlY29ubmVjdCA9IHRydWVgKSxyLmZvcmNlUmVjb25uZWN0PSEwfSl9LGUucHJvdG90eXBlLmdldENvbm5lY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9ufSxlLnByb3RvdHlwZS5pc0Nvbm5lY3RlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24/LmNvbm5lY3RlZHx8ITF9LGUucHJvdG90eXBlLmlzSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0aWFsaXplZH0sZS5wcm90b3R5cGUuZ2V0SW5pdERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0RGF0YX0sZS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbm5lY3Rpb24/WzMsMl06WzQsdGhpcy5pbml0Q29ubmVjdGlvbigpXTtjYXNlIDE6dC5zZW50KCksdC5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2UuaW5pdGlhbGl6ZWQ/dChlLmluaXREYXRhKTooKDAscy5kZWJ1ZykoYHN0YXJ0aW5nIGNvbm5lY3RpbmdgKSxlLmNvbm5lY3RDYWxsYmFjaz0oMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pLGUuY29ubmVjdGlvbi5vcGVuKCkpfSldfX0pfSl9LGUucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4peyFlLmNvbm5lY3Rpb258fGUuY29ubmVjdGlvbi5kaXNjb25uZWN0ZWQ/KGUuY29ubmVjdGlvbj1udWxsLHQoKSk6KCgwLHMuZGVidWcpKGBzdGFydGluZyBkaXNjb25uZWN0aW5nYCksZS5kaXNjb25uZWN0Q2FsbGJhY2s9KDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSxlLmNvbm5lY3Rpb24uY2xvc2UoKSxlLmNvbm5lY3Rpb249bnVsbCl9KX0sZS5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9PT12b2lkIDAmJihlPTEpLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITAsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9ZSx0aGlzLmRpc2Nvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKih0Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheU1heC10Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheSkrdC5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uRGVsYXkpO3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIHdpbGwgcmVjb25uZWN0IGluICR7bn1tc2ApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RpbmdgLGUpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZSxuKX0pfSkudGhlbihmdW5jdGlvbigpe3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIGlzIHN0YXJ0aW5nIHJlY29ubmVjdGApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSksdC5jb25uZWN0KCl9KX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtlKHt9KX0pfSxlLnByb3RvdHlwZS5vbkluaXRpYWxpemVkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbml0RGF0YT1lLCgwLHMuZGVidWcpKGBlbWl0IGluaXRpYWxpemVkYCksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVkYCxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodC5zZW5kQnVmZmVyLmxlbmd0aD4wKXsoMCxzLmRlYnVnKShgc2VuZGluZyBidWZmZXJlZCAke3Quc2VuZEJ1ZmZlci5sZW5ndGh9IGV2ZW50c2ApO2Zvcih2YXIgZT0wO2U8dC5zZW5kQnVmZmVyLmxlbmd0aDtlKyspe3ZhciBuPXQuc2VuZEJ1ZmZlcltlXTt0LmNvbm5lY3Rpb24uZW1pdChuLm5hbWUsbi5kYXRhLG4uY2FsbGJhY2spfXQuc2VuZEJ1ZmZlcj1bXX19LDEpKX0sZS5wcm90b3R5cGUub25Jbml0aWFsaXplRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5kaXNjb25uZWN0KCksKDAscy5kZWJ1ZykoYGVtaXQgaW5pdGlhbGl6ZV9lcnJvcmAsdCh7fSxlKSksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVfZXJyb3JgLGUpfSxlLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmluaXRpYWxpemVkP3RoaXMuY29ubmVjdGlvbi5lbWl0KGUsdCxuKTp0aGlzLnNlbmRCdWZmZXIucHVzaCh7bmFtZTplLGRhdGE6dCxjYWxsYmFjazpufSl9LGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGUucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4oZT10aGlzLmVtaXR0ZXIpLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseShlLHQpLHRoaXN9LGV9KCk7dmFyIGY9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmLlNvY2tldEVycm9yfX0pLHIoRWMoKSxlKX0pKSxPYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCksbj1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBuPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0scj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSl9cmV0dXJuIG5ldyhufHw9UHJvbWlzZSkoZnVuY3Rpb24obixhKXtmdW5jdGlvbiBvKGUpe3RyeXtjKHIubmV4dChlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gcyhlKXt0cnl7YyhyLnRocm93KGUpKX1jYXRjaChlKXthKGUpfX1mdW5jdGlvbiBjKGUpe2UuZG9uZT9uKGUudmFsdWUpOmkoZS52YWx1ZSkudGhlbihvLHMpfWMoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfSxpPWUmJmUuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIG49e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKGFbMF0mMSl0aHJvdyBhWzFdO3JldHVybiBhWzFdfSx0cnlzOltdLG9wczpbXX0scixpLGEsbz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgSXRlcmF0b3I9PWBmdW5jdGlvbmA/SXRlcmF0b3I6T2JqZWN0KS5wcm90b3R5cGUpO3JldHVybiBvLm5leHQ9cygwKSxvLnRocm93PXMoMSksby5yZXR1cm49cygyKSx0eXBlb2YgU3ltYm9sPT1gZnVuY3Rpb25gJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBjKFtlLHRdKX19ZnVuY3Rpb24gYyhzKXtpZihyKXRocm93IFR5cGVFcnJvcihgR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLmApO2Zvcig7byYmKG89MCxzWzBdJiYobj0wKSksbjspdHJ5e2lmKHI9MSxpJiYoYT1zWzBdJjI/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKGE9aS5yZXR1cm4pJiZhLmNhbGwoaSksMCk6aS5uZXh0KSYmIShhPWEuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiBhO3N3aXRjaChpPTAsYSYmKHM9W3NbMF0mMixhLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTphPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBuLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1Om4ubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9bi5vcHMucG9wKCksbi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoKGE9bi50cnlzLCEoYT1hLmxlbmd0aD4wJiZhW2EubGVuZ3RoLTFdKSkmJihzWzBdPT09Nnx8c1swXT09PTIpKXtuPTA7Y29udGludWV9aWYoc1swXT09PTMmJighYXx8c1sxXT5hWzBdJiZzWzFdPGFbM10pKXtuLmxhYmVsPXNbMV07YnJlYWt9aWYoc1swXT09PTYmJm4ubGFiZWw8YVsxXSl7bi5sYWJlbD1hWzFdLGE9czticmVha31pZihhJiZuLmxhYmVsPGFbMl0pe24ubGFiZWw9YVsyXSxuLm9wcy5wdXNoKHMpO2JyZWFrfWFbMl0mJm4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZX1zPXQuY2FsbChlLG4pfWNhdGNoKGUpe3M9WzYsZV0saT0wfWZpbmFsbHl7cj1hPTB9aWYoc1swXSY1KXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19fSxhPWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLldlYnNvY2tldFZpc2l0b3JDbGllbnQ9dm9pZCAwO3ZhciBvPWEoRGMoKSkscz1EcygpLGM9ZnVuY3Rpb24oZSl7dChhLGUpO2Z1bmN0aW9uIGEodCl7dmFyIG49ZS5jYWxsKHRoaXMsdC5jb25uZWN0aW9uKXx8dGhpcztyZXR1cm4gbi5zZXJ2ZXJWZXJzaW9uPW51bGwsbi51cGRhdGVkVmFsdWVzPXt9LG4uY29ubmVjdERhdGE9dC5kYXRhLG4uaWRlbnRpdHk9bnVsbCxufXJldHVybiBhLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uPWZ1bmN0aW9uKHQpe2UucHJvdG90eXBlLnNldENvbm5lY3Rpb24uY2FsbCh0aGlzLHQpLHQub24oYHNlcnZlci5lcnJvcmAsKDAscy5ib3VuZCkodGhpcyxgb25TZXJ2ZXJFcnJvcmApKSx0Lm9uKGBhY2NvdW50LnVwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhY2NvdW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQudXBkYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGFnZW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQuc3RhdHVzX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhZ2VudC5zdGF0dXNfdXBkYXRlZGApKSx0Lm9uKGBhZ2VudC5yZW1vdmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgYWdlbnQucmVtb3ZlZGApKSx0Lm9uKGB2aXNpdG9yLnVwZGF0ZWRgLCgwLHMuYm91bmQpKHRoaXMsYG9uVmlzaXRvclVwZGF0ZWRgKSksdC5vbihgY2hhdC51cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC51cGRhdGVkYCkpLHQub24oYGNoYXQuYWdlbnRfam9pbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF9qb2luZWRgKSksdC5vbihgY2hhdC5hZ2VudF9hc3NpZ25lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfYXNzaWduZWRgKSksdC5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCkpLHQub24oYGNoYXQuYWdlbnRfbGVmdGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfbGVmdGApKSx0Lm9uKGBjaGF0Lm9wZW5lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQub3BlbmVkYCkpLHQub24oYGNoYXQuc2VydmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5zZXJ2ZWRgKSksdC5vbihgY2hhdC5jbG9zZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LmNsb3NlZGApKSx0Lm9uKGBjaGF0LnZpc2l0b3JfY2xvc2VkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC52aXNpdG9yX2Nsb3NlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgKSksdC5vbihgY2hhdC5tZXNzYWdlX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQubWVzc2FnZV9kZWxldGVkYCkpLHQub24oYGNoYXQuYWdlbnRfdHlwaW5nYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF90eXBpbmdgKSksdC5vbihgY2hhdC5yYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0ZWRgKSksdC5vbihgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCkpLHQub24oYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGApKSx0Lm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuY29udGFjdF9yZWFkYCkpLHQub24oYGNoYXQuZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuZGVsZXRlZGApKSx0Lm9uKGBjaGF0LnRpY2tldF9mb3JtX2ZpbmlzaGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCkpLHQub24oYGNoYXQudHJhbnNjcmlwdF9wZGZgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LnRyYW5zY3JpcHRfcGRmYCkpLHQub24oYGNvbnRhY3QuYWNxdWlyZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjb250YWN0LmFjcXVpcmVkYCkpLHQub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgaWRlbnRpdHkuc3RhdHVzX3VwZGF0ZWRgKSl9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxhLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkZW50aXR5P3RoaXMuaWRlbnRpdHkuaWQ6bnVsbH0sYS5wcm90b3R5cGUuZ2V0SWRlbnRpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZGVudGl0eX0sYS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZS5jb25uZWN0LmNhbGwodGhpcyl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24odCl7dmFyIG49dGhpcztyZXR1cm4gdD09PXZvaWQgMCYmKHQ9ITEpLGkodGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOnJldHVybiB0P1s0LG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7bi5zZW5kKGB2aXNpdG9yLmxvZ291dGAse30sKDAscy5jcmVhdGVDYWxsYmFjaykoZSx0KSl9KV06WzMsMl07Y2FzZSAxOnIuc2VudCgpLHIubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzIsZS5wcm90b3R5cGUuZGlzY29ubmVjdC5jYWxsKHRoaXMpXX19KX0pfSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGU9PT12b2lkIDAmJihlPXt9KSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLGUpdGhpcy5pZGVudGl0eVt0XT1lW3RdLHRoaXMudXBkYXRlZFZhbHVlc1t0XT1lW3RdO3RoaXMuc2F2ZVZpc2l0b3JWYWx1ZXMoKX0sYS5wcm90b3R5cGUuYXV0aGVudGljYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYHZpc2l0b3IuYXV0aGVudGljYXRlYCx7dmFsdWVzOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9PT12b2lkIDAmJih0PW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24ocixpKXtuLnNlbmQoYHZpc2l0b3Iubm90aWZ5YCx7bmFtZTplLHZhbHVlOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRSZWFkPWZ1bmN0aW9uKCl7dGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSx0aGlzLnNlbmQoYGNoYXQucmVhZGAsbnVsbCl9LGEucHJvdG90eXBlLmNoYXRUeXBpbmc9ZnVuY3Rpb24oZSx0KXt0PT09dm9pZCAwJiYodD1udWxsKSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLHRoaXMuc2VuZChgY2hhdC50eXBpbmdgLHt0eXBpbmc6e2lzOmUsdGV4dDp0fX0pfSxhLnByb3RvdHlwZS5jaGF0TWVzc2FnZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lm1lc3NhZ2VgLGUsKDAscy5jcmVhdGVDYWxsYmFjaykobixyKSl9KX0sYS5wcm90b3R5cGUuY2hhdENsb3NlPWZ1bmN0aW9uKGUpe2U9PT12b2lkIDAmJihlPW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksdGhpcy5zZW5kKGBjaGF0LmNsb3NlYCx7dHlwZTplfSl9LGEucHJvdG90eXBlLmNoYXRVcGxvYWRJbml0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2Uuc2VuZChgY2hhdC51cGxvYWRfaW5pdGAsbnVsbCwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5jaGF0VXBsb2FkRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudXBsb2FkX2ZpbmlzaGAse3VwbG9hZFRva2VuOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRUcmFuc2NyaXB0PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe24uc2VuZChgY2hhdC50cmFuc2NyaXB0YCx7ZW1haWw6ZSxsYW5nOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRUaWNrZXRGb3JtRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlSW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQucmF0ZV9pbml0YCxudWxsLCgwLHMuY3JlYXRlQ2FsbGJhY2spKHQsbikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQucmF0ZWAsZSwoMCxzLmNyZWF0ZUNhbGxiYWNrKShuLHIpKX0pfSxhLnByb3RvdHlwZS5jaGF0VHJhbnNjcmlwdFBkZj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQudHJhbnNjcmlwdF9wZGZgLG51bGwsKDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSl9KX0sYS5wcm90b3R5cGUubGlua09wZW5lZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lmxpbmtfb3BlbmVkYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JDb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PW4oe3ZlcnNpb246YS5DTElFTlRfVkVSU0lPTn0sdGhpcy5jb25uZWN0RGF0YSk7Zm9yKHZhciByIGluIHRoaXMudXBkYXRlZFZhbHVlcyl0W3JdPXRoaXMudXBkYXRlZFZhbHVlc1tyXTtpZih0aGlzLnVwZGF0ZWRWYWx1ZXM9e30sdGhpcy5pZGVudGl0eSlmb3IodmFyIHIgaW4gdGhpcy5pZGVudGl0eSlbYGJhbm5lZEF0YCxgY2hhdElkYCxgc3RhdHVzYF0uaW5jbHVkZXMocil8fCh0W3JdPXRoaXMuaWRlbnRpdHlbcl0pO3JldHVybiB0aGlzLmVtaXR0ZXIuZW1pdChgaW5pdGlhbGl6ZWAsdCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5jb25uZWN0YCx0LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JEaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5kaXNjb25uZWN0YCx7fSwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5vblZpc2l0b3JVcGRhdGVkPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLmNoYW5nZXMpYS5pZGVudGl0eVByb3BlcnRpZXMuaW5jbHVkZXMobikmJih0aGlzLmlkZW50aXR5JiYodGhpcy5pZGVudGl0eVtuXT1lLmNoYW5nZXNbbl0pLHRbbl09ZS5jaGFuZ2VzW25dKTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5sZW5ndGg+MCYmdGhpcy5lbWl0dGVyLmVtaXQoYHZpc2l0b3IudXBkYXRlZGAsdCl9LGEucHJvdG90eXBlLm9uU2VydmVyRXJyb3I9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAscy5jcmVhdGVTb2NrZXRFcnJvcikoZSk7dGhpcy5lbWl0dGVyLmVtaXQoYGVycm9yYCx0KX0sYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMudmlzaXRvckNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlLnNlcnZlclZlcnNpb249dC5zZXJ2ZXJWZXJzaW9uLGUuaWRlbnRpdHk9bihuKHt9LHQudmlzaXRvcikse3ZhcmlhYmxlczpuKHt9LHQudmlzaXRvci52YXJpYWJsZXMpfSksdH0pfSxhLnByb3RvdHlwZS5zYXZlVmlzaXRvclZhbHVlcz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5pbml0aWFsaXplZCYmc2V0VGltZW91dChmdW5jdGlvbigpe2lmKCEoIWUuaW5pdGlhbGl6ZWR8fE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUudXBkYXRlZFZhbHVlcykubGVuZ3RoPT09MCkpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLnVwZGF0ZWRWYWx1ZXMpdFtuXT1lLnVwZGF0ZWRWYWx1ZXNbbl07ZS5zZW5kKGB2aXNpdG9yLnVwZGF0ZWAse3ZhbHVlczp0fSksZS51cGRhdGVkVmFsdWVzPXt9fX0sMSl9LGEucHJvdG90eXBlLmNoZWNrU2VydmVyVmVyc2lvbj1mdW5jdGlvbigpe2lmKHRoaXMuc2VydmVyVmVyc2lvbj09PW51bGwpdGhyb3cgRXJyb3IoYENsaWVudCBub3QgeWV0IGNvbm5lY3RlZCB0byBzZXJ2ZXJgKX0sYS5DTElFTlRfVkVSU0lPTj02LGEuaWRlbnRpdHlQcm9wZXJ0aWVzPVtgaWRgLGBuYW1lYCxgZW1haWxgLGBwaG9uZWAsYGNoYXRJZGAsYHZhcmlhYmxlc2AsYGxhbmdgLGBncm91cGAsYGJhbm5lZEF0YCxgdHJpZ2dlcmFibGVgLGB2aXNpdHNgLGBnZHByQXBwcm92ZWRgXSxhfShvLmRlZmF1bHQpO2UuV2Vic29ja2V0VmlzaXRvckNsaWVudD1jLChmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5XaWRnZXRPcGVuPWB3aWRnZXRfb3BlbmAsZS5XaWRnZXRTaG93PWB3aWRnZXRfc2hvd2AsZS5WaXNpdG9yQWN0aXZlPWB2aXNpdG9yX2FjdGl2ZWAsZS5WaXNpdG9ySW5hY3RpdmU9YHZpc2l0b3JfaW5hY3RpdmVgfSkoZS5FdmVudE5hbWV8fD17fSl9KShjfHwoZS5XZWJzb2NrZXRWaXNpdG9yQ2xpZW50PWM9e30pKX0pKSxrYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLEFjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5SYXRpbmdUYXJnZXQ9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLkFnZW50PWBhZ2VudGAsZS5BaT1gYWlgfSkodHx8KGUuUmF0aW5nVGFyZ2V0PXQ9e30pKX0pKSxqYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj1lLk1lc3NhZ2VEZWxpdmVyeVN0YXR1cz1lLkFnZW50RGV2aWNlUGxhdGZvcm09ZS5BZ2VudERldmljZVR5cGU9ZS5WaXNpdG9yU3RhdHVzPWUuQ2hhdFJlYWRJbmZvVHlwZT1lLkNoYXRTdGF0dXM9ZS5BZ2VudFN0YXR1cz1lLkFjY291bnRTdGF0dXM9dm9pZCAwLGUuQWNjb3VudFN0YXR1cz17T25saW5lOmBvbmxpbmVgLE9mZmxpbmU6YG9mZmxpbmVgLE9mZmxpbmVXaXRoQUk6YG9mZmxpbmVXaXRoQWlgfSxlLkFnZW50U3RhdHVzPXtPbmxpbmU6YG9ubGluZWAsT2ZmbGluZTpgb2ZmbGluZWB9LGUuQ2hhdFN0YXR1cz17UGVuZGluZzpgcGVuZGluZ2AsT3Blbjpgb3BlbmAsQ2xvc2VkOmBjbG9zZWRgLFNlcnZlZDpgc2VydmVkYH0sZS5DaGF0UmVhZEluZm9UeXBlPXtBZ2VudDpgYWdlbnRgLENvbnRhY3Q6YGNvbnRhY3RgfSxlLlZpc2l0b3JTdGF0dXM9e0FjdGl2ZTpgYWN0aXZlYCxDbGlja2VkOmBjbGlja2VkYCxJZGxlOmBpZGxlYCxTZXJ2ZWQ6YHNlcnZlZGAsVW5zZXJ2ZWQ6YHVuc2VydmVkYCxUcmlnZ2VyZWQ6YHRyaWdnZXJlZGB9LGUuQWdlbnREZXZpY2VUeXBlPXtCcm93c2VyOmBicm93c2VyYCxNb2JpbGU6YG1vYmlsZWAsWG1wcDpgeG1wcGAsT3RoZXI6YG90aGVyYH0sZS5BZ2VudERldmljZVBsYXRmb3JtPXtJT1M6YGlvc2AsQU5EUk9JRDpgYW5kcm9pZGB9LGUuTWVzc2FnZURlbGl2ZXJ5U3RhdHVzPXtPazpgb2tgLFBlcm1hbmVudEZhaWw6YHBlcm1hbmVudF9mYWlsYCxUZW1wb3JhcnlGYWlsOmB0ZW1wb3JhcnlfZmFpbGAsQ29tcGxhaW5lZDpgY29tcGxhaW5lZGAsU2Vlbjpgc2VlbmB9LGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj17RmFjZWJvb2syNGhXaW5kb3c6YGZhY2Vib29rLm91dHNpZGVfYWxsb3dlZF93aW5kb3dgLEluc3RhZ3JhbUV4Y2VlZGVkRmlsZVNpemU6YGluc3RhZ3JhbS5leGNlZWRlZF9maWxlX3NpemVgLEluc3RhZ3JhbVVua25vd246YGluc3RhZ3JhbS51bmtub3duYCxJbnN0YWdyYW1VbnN1cHBvcnRlZEZpbGVUeXBlOmBpbnN0YWdyYW0udW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVuc3VwcG9ydGVkRmlsZTpgd2hhdHNhcHAudW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVua25vd246YHdoYXRzYXBwLnVua25vd25gfX0pKSxNYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj1lLmRlZmF1bHQ9dm9pZCAwO3ZhciByPU9jKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYGRlZmF1bHRgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLldlYnNvY2tldFZpc2l0b3JDbGllbnR9fSksbihPYygpLGUpLG4oa2MoKSxlKSxuKEFjKCksZSk7dmFyIGk9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLlNvY2tldEVycm9yfX0pLG4oamMoKSxlKX0pKSxOYz1PKG51bGwpLFBjPU8oITEpLEZjPU8oW10pLEljPWU9PntGYy51cGRhdGUodD0+Wy4uLnQsZV0pfSxMYz0oKT0+e2xldCBlO3JldHVybiBGYy51cGRhdGUodD0+KGU9dC5wb3AoKSx0KSksZT8/bnVsbH0sUmM9KCk9PkEoRmMpLmxlbmd0aD09PTAsemM9ayhOYyxlPT5lIT09bnVsbCksQmM9KGUse3VzZVN0YWNrOnQ9ITF9PXt9KT0+e05jLnVwZGF0ZShuPT4odCYmbiYmSWMobiksUGMuc2V0KG4hPT1udWxsKSxlKSl9LFZjPSgpPT57bGV0IGU9bnVsbDtSYygpfHwoZT1MYygpKSxOYy5zZXQoZSl9LEhjPWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3B0aW9ucz0wXT1gT3B0aW9uc2AsZVtlLkdkcHJBbmRQcml2YWN5PTFdPWBHZHByQW5kUHJpdmFjeWAsZVtlLkF1dGhGb3JtPTJdPWBBdXRoRm9ybWAsZVtlLkNsb3NlQ2hhdD0zXT1gQ2xvc2VDaGF0YCxlW2UuQ2hhdFJhdGluZz00XT1gQ2hhdFJhdGluZ2AsZVtlLlRpY2tldEZvcm09NV09YFRpY2tldEZvcm1gLGV9KHt9KSxVYz0xZTMsV2M9U3ltYm9sKGBjb250ZW50TGlzdEl0ZW1gKSxHYz1TeW1ib2woYGNvbnRlbnRNZXNzYWdlQXR0YWNobWVudGApLEtjPWAtcmVwbGllc2AscWM9LjM1LEpjPTVlMyxZYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLFhjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5DYXJkQWN0aW9uVHlwZT1lLkNhcmRzTGF5b3V0PXZvaWQgMCxlLkNhcmRzTGF5b3V0PXtDYXJvdXNlbDpgY2Fyb3VzZWxgfSxlLkNhcmRBY3Rpb25UeXBlPXtPcGVuVXJsOmBvcGVuX3VybGB9fSkpLFpjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSl9KSksUWM9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLlJhdGluZ1RhcmdldD1lLkdyb3VwVHlwZT1lLkNoYW5uZWxUeXBlPWUuTWVzc2FnZVN1YlR5cGU9ZS5NZXNzYWdlVHlwZT1lLkF0dGFjaG1lbnRJbnZhbGlkUmVhc29uPWUuQXR0YWNobWVudFR5cGU9ZS5NZXNzYWdlQWN0aW9uVHlwZT12b2lkIDAsZS5NZXNzYWdlQWN0aW9uVHlwZT17VGV4dDpgdGV4dGAsT3BlblVybDpgb3Blbl91cmxgfSxlLkF0dGFjaG1lbnRUeXBlPXtDYXJkczpgY2FyZHNgLEZpbGU6YGZpbGVgLEltYWdlOmBpbWFnZWAsTWVkaWE6YG1lZGlhYCxJbnZhbGlkOmBpbnZhbGlkYH0sZS5BdHRhY2htZW50SW52YWxpZFJlYXNvbj17SW52YWxpZFNpemU6YGludmFsaWRfc2l6ZWAsSW52YWxpZFR5cGU6YGludmFsaWRfdHlwZWB9LGUuTWVzc2FnZVR5cGU9e01lc3NhZ2U6YG1lc3NhZ2VgLE5vdGU6YG5vdGVgLEV2ZW50OmBldmVudGAsSGVscDpgaGVscGB9LGUuTWVzc2FnZVN1YlR5cGU9e0FnZW50OmBhZ2VudGAsQ29udGFjdDpgY29udGFjdGAsVHJpZ2dlcjpgdHJpZ2dlcmAsQm90OmBib3RgLFN5c3RlbTpgc3lzdGVtYCxBZ2VudEV4dGVybmFsOmBhZ2VudF9leHRlcm5hbGAsRm91bmRFbWFpbDpgZm91bmRfZW1haWxgLENoYXRSZXNvbHZlOmBjaGF0X3Jlc29sdmVgLEVtYWlsOmBlbWFpbGB9LGUuQ2hhbm5lbFR5cGU9e0RlZmF1bHQ6YGRlZmF1bHRgLEVtYWlsOmBlbWFpbGAsRW1haWxJbnRlZ3JhdGlvbjpgZW1haWxfaW50ZWdyYXRpb25gLEZhY2Vib29rTWVzc2VuZ2VyOmBmYWNlYm9va19tZXNzZW5nZXJgLEdtYWlsOmBnbWFpbGAsU21hcnRzdXBwOmBzbWFydHN1cHBgLEluc3RhZ3JhbTpgaW5zdGFncmFtYCxXaGF0c2FwcDpgd2hhdHNhcHBgfTt2YXIgdDsoZnVuY3Rpb24oZSl7ZS5haT1gYWlgLGUuY2hhdGJvdD1gY2hhdGJvdGAsZS5tZXNzYWdlPWBtZXNzYWdlYH0pKHR8fChlLkdyb3VwVHlwZT10PXt9KSk7dmFyIG47KGZ1bmN0aW9uKGUpe2UuQWdlbnQ9YGFnZW50YCxlLkFpPWBhaWB9KShufHwoZS5SYXRpbmdUYXJnZXQ9bj17fSkpfSkpLCRjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5QYXJ0aWNpcGFudFR5cGU9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLmZyb209YGZyb21gLGUudG89YHRvYCxlLmNjPWBjY2AsZS5iY2M9YGJjY2B9KSh0fHwoZS5QYXJ0aWNpcGFudFR5cGU9dD17fSkpfSkpLGVsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5NZXNzYWdlQ29udGVudFR5cGU9ZS5NZXNzYWdlQ29udGVudD12b2lkIDA7dmFyIHQ7KGZ1bmN0aW9uKGUpeyhmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLFVwbG9hZDpgdXBsb2FkYCxSYXRlRm9ybTpgcmF0ZV9mb3JtYCxUaWNrZXRGb3JtOmB0aWNrZXRfZm9ybWAsRW1haWw6YGVtYWlsYH19KShlLk1lc3NhZ2V8fD17fSksKGZ1bmN0aW9uKGUpe2UuVHlwZT17QWdlbnRKb2luOmBhZ2VudF9qb2luYCxBZ2VudEFzc2lnbjpgYWdlbnRfYXNzaWduYCxBZ2VudFVuYXNzaWduOmBhZ2VudF91bmFzc2lnbmAsQWdlbnRMZWF2ZTpgYWdlbnRfbGVhdmVgLENoYXRDbG9zZTpgY2hhdF9jbG9zZWAsQ2hhdFZpc2l0b3JDbG9zZTpgY2hhdF92aXNpdG9yX2Nsb3NlYH19KShlLkV2ZW50fHw9e30pLChmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLEZvdW5kRW1haWw6YGZvdW5kX2VtYWlsYH19KShlLkhlbHB8fD17fSl9KSh0fHwoZS5NZXNzYWdlQ29udGVudD10PXt9KSksZS5NZXNzYWdlQ29udGVudFR5cGU9ey4uLnQuTWVzc2FnZS5UeXBlLC4uLnQuRXZlbnQuVHlwZSwuLi50LkhlbHAuVHlwZX19KSksdGw9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KX0pKSxubD1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksbihZYygpLGUpLG4oWGMoKSxlKSxuKFpjKCksZSksbihRYygpLGUpLG4oJGMoKSxlKSxuKGVsKCksZSksbih0bCgpLGUpfSkpLHJsPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIG9mIHQpe2xldCB0PVN0cmluZyhyW2VdKTtuW3RdPXJ9cmV0dXJuIG59LGlsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09Tyh7fSk7cmV0dXJue3N1YnNjcmliZTplLHNldEdyb3VwczplPT57dChybChga2V5YCxlKSl9fX0pKCksYWw9ayhbaWxdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpKSxvbD17YXV0aEZvcm1EcmF3ZXI6YGF1dGhGb3JtRHJhd2VyYCxhdXRoRm9ybVByaXZhY3lOb3RpY2U6YGF1dGhGb3JtUHJpdmFjeU5vdGljZWAsYXV0aEZvcm1Qcml2YWN5Tm90aWNlU3dpdGNoOmBhdXRoRm9ybVByaXZhY3lOb3RpY2VTd2l0Y2hgLGF1dGhGb3JtU3VibWl0QnV0dG9uOmBhdXRoRm9ybVN1Ym1pdEJ1dHRvbmAsYXZhdGFyQWdlbnQ6YGF2YXRhckFnZW50YCxhdmF0YXJCb3Q6YGF2YXRhckJvdGAsYXZhdGFyR3JvdXA6YGF2YXRhckdyb3VwYCxhdmF0YXJJbmZvOmBhdmF0YXJJbmZvYCxidXR0b25BdHRhY2htZW50OmBidXR0b25BdHRhY2htZW50YCxidXR0b25DbG9zZUNoYXQ6YGJ1dHRvbkNsb3NlQ2hhdGAsYnV0dG9uQ2xvc2VEcmF3ZXI6YGJ1dHRvbkNsb3NlRHJhd2VyYCxidXR0b25Db2xsYXBzZUNoYXQ6YGJ1dHRvbkNvbGxhcHNlQ2hhdGAsYnV0dG9uRW1vamk6YGJ1dHRvbkVtb2ppYCxidXR0b25FeHBhbmRDaGF0OmBidXR0b25FeHBhbmRDaGF0YCxidXR0b25NaW5pbWl6ZUNoYXQ6YGJ1dHRvbk1pbmltaXplQ2hhdGAsYnV0dG9uT3B0aW9uczpgYnV0dG9uT3B0aW9uc2AsYnV0dG9uU2VuZDpgYnV0dG9uU2VuZGAsY2hhdFJhdGluZ0RyYXdlcjpgY2hhdFJhdGluZ0RyYXdlcmAsY2hhdFJhdGluZ0Vtb2ppQnV0dG9uOmBjaGF0UmF0aW5nRW1vamlgLGNoYXRSYXRpbmdTZW5kQnV0dG9uOmBjaGF0UmF0aW5nU2VuZEJ1dHRvbmAsY2hhdFJhdGluZ1RleHRhcmVhOmBjaGF0UmF0aW5nVGV4dGFyZWFgLGNoYXRSYXRpbmdGZWVkYmFja0J1dHRvbjpgY2hhdFJhdGluZ0ZlZWRiYWNrQnV0dG9uYCxjaGF0UmF0aW5nQnV0dG9uQWk6YGNoYXRSYXRpbmdCdXR0b25BaWAsY2hhdFJhdGluZ0J1dHRvbkFnZW50OmBjaGF0UmF0aW5nQnV0dG9uQWdlbnRgLGNsb3NlQ2hhdENvbmZpcm1CdXR0b246YGNsb3NlQ2hhdENvbmZpcm1CdXR0b25gLGNsb3NlQ2hhdERlY2xpbmVCdXR0b246YGNsb3NlQ2hhdERlY2xpbmVCdXR0b25gLGNsb3NlQ2hhdERyYXdlcjpgY2xvc2VDaGF0RHJhd2VyYCxmbGFzaE1lc3NhZ2U6YGZsYXNoTWVzc2FnZWAsZ2RwckRyYXdlcjpgZ2RwckRyYXdlcmAsaGVhZGVyVGl0bGU6YGhlYWRlclRpdGxlYCxoZWFkZXJTdGF0dXM6YGhlYWRlclN0YXR1c2AsaGVhZGVyQmFkZ2U6YGhlYWRlckJhZGdlYCxpbmxpbmVFbW9qaVBpY2tlcjpgaW5saW5lRW1vamlQaWNrZXJgLG1lc3NhZ2VBdHRhY2htZW50OmBtZXNzYWdlQXR0YWNobWVudGAsbWVzc2FnZUFnZW50OmBtZXNzYWdlQWdlbnRgLG1lc3NhZ2VCb3Q6YG1lc3NhZ2VCb3RgLG1lc3NhZ2VCb3RSZXBseTpgbWVzc2FnZUJvdFJlcGx5YCxtZXNzYWdlQm90QmFjazpgbWVzc2FnZUJvdEJhY2tgLG1lc3NhZ2VDb250YWN0OmBtZXNzYWdlQ29udGFjdGAsbWVzc2FnZUZpbGU6YG1lc3NhZ2VGaWxlYCxtZXNzYWdlR3JvdXA6YG1lc3NhZ2VHcm91cGAsbWVzc2FnZUltYWdlOmBtZXNzYWdlSW1hZ2VgLG9wdGlvbnNBY2Nlc3NpYmlsaXR5OmBvcHRpb25zQWNjZXNzaWJpbGl0eWAsb3B0aW9uc0RyYXdlcjpgb3B0aW9uc0RyYXdlcmAsb3B0aW9uc0V4cGFuZENoYXQ6YG9wdGlvbnNFeHBhbmRDaGF0YCxvcHRpb25zUHJpdmFjeU5vdGljZTpgb3B0aW9uc1ByaXZhY3lOb3RpY2VgLG9wdGlvbnNTb3VuZHM6YG9wdGlvbnNTb3VuZHNgLG9wdGlvbnNUcmFuc2NyaXB0OmBvcHRpb25zVHJhbnNjcmlwdGAscG9wdXA6YHBvcHVwYCxwb3B1cE1lc3NhZ2U6YHBvcHVwTWVzc2FnZWAscG9wdXBCdXR0b246YHBvcHVwQnV0dG9uYCxwb3B1cEJ1dHRvbkNsb3NlOmBwb3B1cEJ1dHRvbkNsb3NlYCxwcm9kdWN0Q2FyZDpgcHJvZHVjdENhcmRgLHByb2R1Y3RDYXJkQXJyb3dMZWZ0OmBwcm9kdWN0Q2FyZEFycm93TGVmdGAscHJvZHVjdENhcmRBcnJvd1JpZ2h0OmBwcm9kdWN0Q2FyZEFycm93UmlnaHRgLHByb2R1Y3RDYXJkQnV0dG9uOmBwcm9kdWN0Q2FyZEJ1dHRvbmAscHJvZHVjdENhcmRDYXJvdXNlbDpgcHJvZHVjdENhcmRDYXJvdXNlbGAscHJvZHVjdENhcmREZXNjcmlwdGlvbjpgcHJvZHVjdENhcmREZXNjcmlwdGlvbmAscHJvZHVjdENhcmRJbWFnZTpgcHJvZHVjdENhcmRJbWFnZWAscHJvZHVjdENhcmRJbmZvOmBwcm9kdWN0Q2FyZEluZm9gLHByb2R1Y3RDYXJkVGl0bGU6YHByb2R1Y3RDYXJkVGl0bGVgLHN5c3RlbU1lc3NhZ2U6YHN5c3RlbU1lc3NhZ2VgLHRleHRhcmVhOmB0ZXh0YXJlYWAsdGV4dGFyZWFQcmV2aWV3RmlsZTpgdGV4dGFyZWFQcmV2aWV3RmlsZWAsdGV4dGFyZWFQcmV2aWV3SW1hZ2U6YHRleHRhcmVhUHJldmlld0ltYWdlYCx0cmFuc2NyaXB0SW5wdXQ6YHRyYW5zY3JpcHRJbnB1dGAsdHJhbnNjcmlwdFNlbmRCdXR0b246YHRyYW5zY3JpcHRTZW5kYCx0aWNrZXRGb3JtRHJhd2VyOmB0aWNrZXRGb3JtRHJhd2VyYCx0aWNrZXRGb3JtU3VibWl0QnV0dG9uOmB0aWNrZXRGb3JtU3VibWl0QnV0dG9uYCx3aWRnZXRCdXR0b246YHdpZGdldEJ1dHRvbmAsd2lkZ2V0QnV0dG9uRnJhbWU6YHdpZGdldEJ1dHRvbkZyYW1lYCx3aWRnZXRCdXR0b25UZXh0OmB3aWRnZXRCdXR0b250ZXh0YCx3aWRnZXRJbWFnZVByZXZpZXc6YHdpZGdldEltYWdlUHJldmlld2Asd2lkZ2V0TWVzc2VuZ2VyOmB3aWRnZXRNZXNzZW5nZXJgLHdpZGdldE1lc3NlbmdlckZyYW1lOmB3aWRnZXRNZXNzZW5nZXJGcmFtZWAsd2lkZ2V0T25saW5lQmFkZ2U6YHdpZGdldE9ubGluZUJhZGdlYCx3aWRnZXRQb3B1cEZyYW1lOmB3aWRnZXRQb3B1cEZyYW1lYCx3aWRnZXRUeXBpbmdGcmFtZTpgd2lkZ2V0VHlwaW5nRnJhbWVgLHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2U6YHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2VgLHdpZGdldEhlYWRlcjpgd2lkZ2V0SGVhZGVyYH0sc2w9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb21gLGNsPWAvcG93ZXJlZC1ieS1zbWFydHN1cHBgLGxsPVtgY3NgLGBlc2AsYGZyYCxgaHVgLGBpdGAsYGRlYCxgbmxgLGBwbGBdLHVsPWBodHRwczovL3d3dy5zbWFydHN1cHAuY29tL215LWRhdGEtYW5kLWdkcHJgLGRsPU8oITEpLGZsPXJzKFUuU2Vzc2lvbklkLGBgKSxwbD0oKT0+e2xldHtwcm90b2NvbDplLGhvc3Q6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7ZT09PWBodHRwYD9gaHR0cGA6YGh0dHBzYH06Ly8ke3R9YH0sbWw9KCk9PntsZXR7bW9iaWxlU2RrOmUsdmlzaXRvcklkOnR9PVYuZ2V0T3B0aW9ucygpO2lmKGUmJnQpcmV0dXJuIHQ7dHJ5e3JldHVybiAkbygpfWNhdGNoKGUpe3JldHVybiBIKFN0cmluZyhlKSksbnVsbH19LGhsPShlLHQpPT57bGV0IG49Zm8oKS5sb2NhdGlvbi5ocmVmO3JldHVybiBlJiZ0JiYobj1gJHtufSR7bi5pbmNsdWRlcyhgP2ApP2AmYDpgP2B9c3MtYm90LXJ1bj0ke3R9YCksbn0sZ2w9KCk9PntKLmNsZWFyTWVzc2FnZXMoKSxtZCgpLEd1LmNsZWFyQXNzaWduZWRBZ2VudElkcygpLFJvKCksa28oVS5WaXNpdG9ySWQpfSxfbD1lPT57dHJ5e2VzKGUpfWNhdGNoKGUpe0goU3RyaW5nKGUpKX19LHZsPWFzeW5jKGU9ITEpPT57bGV0e2tleTp0LGxhbmc6bixpc1ByZXZpZXdNb2RlOnIscHJldmlld1dpdGhvdXRSZXNldDppLHNpdGVQbGF0Zm9ybTphLHRyaWdnZXJhYmxlOm8sX2NoYXRNYXhSZW9wZW5UaW1lOnMsYm90SWQ6Y309Vi5nZXRPcHRpb25zKCk7KHImJiFpfHxlKSYmZ2woKTtsZXQgbD1tbCgpLHU9QShsYik7cmV0dXJue2tleTp0LGlkOmwsY2xpZW50RmluZ2VycHJpbnQ6YXdhaXQgUW8oKSxpc1ByZXZpZXdNb2RlOnIsc2l0ZVBsYXRmb3JtOmEsdHJpZ2dlcmFibGU6byxfY2hhdE1heFJlb3BlblRpbWU6cyxuYW1lOnUubmFtZSxlbWFpbDp1LmVtYWlsLHBob25lOnUucGhvbmUsZ3JvdXA6dS5ncm91cCxsYW5nOnUubGFuZz8/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09TygpO3JldHVybntzdWJzY3JpYmU6ZSxpbml0aWFsaXplOmU9PnQoZSl9fSkoKSx4bD1gRklMRWAsU2w9MmUzLENsPWU9PmUuc3BsaXQoYC9gKVswXT09PWBpbWFnZWAsd2w9ZT0+ISFlLm1hdGNoKC9edmlkZW9cLyg/Om1wNHx3ZWJtfG9nZyl7MX0kLyk7YXN5bmMgZnVuY3Rpb24gVGwoZSl7aWYoIUZpbGVSZWFkZXIpcmV0dXJuIGpvKGBGaWxlUmVhZGVyIG5vdCBzdXBwb3J0ZWRgKSxudWxsO2xldCB0PW5ldyBGaWxlUmVhZGVyO3JldHVybiBuZXcgUHJvbWlzZShuPT57dC5vbmxvYWQ9KCk9PntpZighdC5yZXN1bHQpe24obnVsbCk7cmV0dXJufW4odHlwZW9mIHQucmVzdWx0PT1gc3RyaW5nYCYmdC5yZXN1bHQuc3RhcnRzV2l0aChgZGF0YTppbWFnZWApP3QucmVzdWx0Om51bGwpfSx0Lm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIGxvYWQgaW1hZ2UgZGF0YWApLG4obnVsbCl9LHQucmVhZEFzRGF0YVVSTChlKX0pfWFzeW5jIGZ1bmN0aW9uIEVsKGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaW1nYCk7bi5vbmxvYWQ9KCk9Pnt0KHt3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH0pfSxuLm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIG9idGFpbiBpbWFnZSBkaW1lbnNpb25zYCksdChudWxsKX0sbi5zcmM9ZX0pfWZ1bmN0aW9uIERsKGUpe3JldHVybntob3Jpem9udGFsOmUud2lkdGg+ZS5oZWlnaHQsdmVydGljYWw6ZS5oZWlnaHQ+ZS53aWR0aH19dmFyIE9sPWBhci5hei5iZy5ici5icy5jYS5jbi5jcy5kYS5kZS5lbC5lbi5lcy5ldC5mYS5maS5maWwuZnIuaGUuaGkuaHIuaHUuaXMuaXQuamEua2EubHQubHYubWsubmwubm8ucGwucHQucm8ucnUuc2suc2wuc3Iuc3YudGgudHIudHcudWtgLnNwbGl0KGAuYCksa2w9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLkZldGNoQWRhcHRlcj12b2lkIDA7dmFyIG49dChhYygpKTtlLkZldGNoQWRhcHRlcj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17fSx0aGlzLm9wdGlvbnM9ZX1hc3luYyByZXF1ZXN0KGUsdCxyLGksYSl7bGV0IG89ey4uLnRoaXMub3B0aW9ucywuLi5hfSxzPWk/YD9gK24uZGVmYXVsdC5zdHJpbmdpZnkoaSk6YGA7dHJ5e2xldCBuPWF3YWl0IGZldGNoKGAke28uYmFzZVVSTHx8YGB9JHt0fSR7c31gLHttZXRob2Q6ZSxib2R5OnI/SlNPTi5zdHJpbmdpZnkocik6bnVsbCwuLi5vfSk7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxzdGF0dXNUZXh0Om4uc3RhdHVzVGV4dCxkYXRhOmF3YWl0IG4uanNvbigpLGhlYWRlcnM6Wy4uLm4uaGVhZGVycy5lbnRyaWVzKCldLnJlZHVjZSgoZSxbdCxuXSk9PihlW3RdPW4sZSkse30pfX1jYXRjaChlKXt0aHJvdyBlLmlzT3BlbkFwaUVycm9yPSEwLGV9fXdpdGhPcHRpb25zKHQpe3JldHVybiBuZXcgZSh0KX19fSkpLEFsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Qcm9qZWN0TmFtZT1lLkVycm9yQ29kZT12b2lkIDAsZS5FcnJvckNvZGU9e0JhZFJlcXVlc3Q6YGJhZF9yZXF1ZXN0YCxOb3RBbGxvd2VkOmBub3RfYWxsb3dlZGAsTm90Rm91bmQ6YG5vdF9mb3VuZGAsRm9yYmlkZGVuOmBmb3JiaWRkZW5gLFRvb01hbnlSZXF1ZXN0czpgdG9vX21hbnlfcmVxdWVzdHNgLFVuYXV0aG9yaXplZDpgdW5hdXRob3JpemVkYCxVbnByb2Nlc3NhYmxlOmB1bnByb2Nlc3NhYmxlYH0sZS5Qcm9qZWN0TmFtZT17V2lkZ2V0OmB3aWRnZXRgLENoYXRib3Q6YGNoYXRib3RgfX0pKSxqbD1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuVHJhbnNsYXRpb25zQ2xpZW50UmF3PWUuVHJhbnNsYXRpb25zQ2xpZW50PXZvaWQgMCxlLlRyYW5zbGF0aW9uc0NsaWVudD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmFkYXB0ZXI9ZSx0aGlzLnJhdz1uZXcgdCh0aGlzLmFkYXB0ZXIpfWdldERlZmF1bHRzKGUsdCxyKXtyZXR1cm4gdGhpcy5hZGFwdGVyLnJlcXVlc3QoYGdldGAsYC8ke2V9L3RyYW5zbGF0aW9ucy9sYW5nLyR7dH0vZGVmYXVsdHNgLG51bGwsbnVsbCxyKS50aGVuKG4pfX07dmFyIHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5hZGFwdGVyPWV9Z2V0RGVmYXVsdHMoZSx0LG4pe3JldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChgZ2V0YCxgLyR7ZX0vdHJhbnNsYXRpb25zL2xhbmcvJHt0fS9kZWZhdWx0c2AsbnVsbCxudWxsLG4pfX07ZS5UcmFuc2xhdGlvbnNDbGllbnRSYXc9dDtmdW5jdGlvbiBuKGUpe3JldHVybiBlLmRhdGF9fSkpLE1sPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBUcmFuc2xhdGlvbnNDbGllbnRBcGk9dm9pZCAwO3ZhciB0PWpsKCksbj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMuYWRhcHRlcj1lLHRoaXMudHJhbnNsYXRpb25zPW5ldyB0LlRyYW5zbGF0aW9uc0NsaWVudChlKX13aXRoT3B0aW9ucyh0KXtyZXR1cm4gbmV3IGUodGhpcy5hZGFwdGVyLndpdGhPcHRpb25zKHQpKX19O2UuU21hcnRzdXBwVHJhbnNsYXRpb25zQ2xpZW50QXBpPW4sZS5kZWZhdWx0PW59KSksTmw9cygoZT0+e3ZhciB0PWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9bik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOyghaXx8KGBnZXRgaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsaSl9KTooZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9biksZVtyXT10W25dfSkpLG49ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsbil7Zm9yKHZhciByIGluIGUpciE9PWBkZWZhdWx0YCYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiZ0KG4sZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLG4oQWwoKSxlKSxuKE1sKCksZSksbihqbCgpLGUpLGUuZGVmYXVsdD1NbCgpLlNtYXJ0c3VwcFRyYW5zbGF0aW9uc0NsaWVudEFwaX0pKSxQbD1rbCgpLEZsPU5sKCksSWw9ZT0+T2wuaW5jbHVkZXMoZSksTGw9ZT0+SWwoZSk/ZTpgZW5gLFJsPSgpPT57bGV0e2xhbmc6ZX09Vi5nZXRPcHRpb25zKCkse2xhbmc6dH09QShsYik7cmV0dXJuIExsKHQ/P2UpfTtmdW5jdGlvbiB6bCgpe3JldHVybiBuZXcgRmwuVHJhbnNsYXRpb25zQ2xpZW50KG5ldyBQbC5GZXRjaEFkYXB0ZXIoe2Jhc2VVUkw6YCR7Vi5nZXRPcHRpb25zKCkudHJhbnNsYXRpb25zQmFzZVVybH0vYXBpL3YxYH0pKX12YXIgQmw9YXN5bmMgZT0+emwoKS5nZXREZWZhdWx0cyhGbC5Qcm9qZWN0TmFtZS5XaWRnZXQsZSksVmw9KGUsdCk9PntsZXR7dHJhbnNsYXRlczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm57Li4uZSwuLi5uW3RdJiZuW3RdfX0sSGw9TyhgZW5gKSxVbD1PKHt9KSxXbD1hc3luYyBlPT57dHJ5e2xldCB0PVZsKGF3YWl0IEJsKGUpLGUpO1VsLnVwZGF0ZShuPT4oey4uLm4sW2VdOnR9KSl9Y2F0Y2h7am8oYEZldGNoIHRyYW5zbGF0aW9ucyBvZiAnJHtlfScgbGFuZ3VhZ2UgZmFpbGVkLmApfX0sR2w9YXN5bmMgZT0+e0EoVWwpW2VdfHxhd2FpdCBXbChlKSxIbC5zZXQoZSl9LEtsPWFzeW5jKCk9PntsZXQgZT1SbCgpO0hsLnNldChlKSxhd2FpdCBXbChlKX0scWw9ZT0+e2xldCB0PUEoSGwpLG49ey4uLkEoVWwpW3RdLC4uLmV9O1VsLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LEpsPShlLHQsbik9PntsZXQgcj1BKFVsKSxpPWB8JHt0fXxgO2lmKE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTApcmV0dXJuIGk7bGV0IGE9cltlXT8uW3RdfHxpO3JldHVybiBPYmplY3Qua2V5cyhuKS5tYXAoZT0+e2xldCB0PVJlZ0V4cChgeyR7ZX19YCxgZ2ApO2E9YS5yZXBsYWNlKHQsbltlXSl9KSxhfSxXPWsoW0hsLFVsXSwoW2VdKT0+KHQsbj17fSk9PkpsKGUsdCxuKSksWWw9KCgpPT57bGV0IGU9TyhbXSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lLHI9KCk9PkEoZSkubWFwKGU9PmUuZmlsZSksaT0odCxuKT0+KG58fEEoZSkpLmZpbmQoZT0+ZS5maWxlLm5hbWU9PT10KXx8bnVsbCxhPWU9Pih7ZmlsZTplLHByZXZpZXc6e30scHJldmlld1N0YXRlOmBub25lYCx1cGxvYWRTdGF0dXM6YG5vbmVgfSksbz1lPT57bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXTtuKGU9PmUubGVuZ3RoK3QubGVuZ3RoPjU/KGdzKGAke0EoVykoYGZpbGVVcGxvYWQudG9vTWFueUZpbGVzYCl9IDVgKSxlKTpbLi4uZSwuLi50Lm1hcChhKV0pLG0odCl9LHM9ZT0+e24odD0+dC5maWx0ZXIodD0+dC5maWxlIT09ZSkpfSxjPSgpPT5BKGUpLmxlbmd0aCxsPSgpPT5jKCk+PTUsdT0oKT0+ZS5zZXQoW10pLGQ9KCk9PntlLnVwZGF0ZShlPT4oZS5mb3JFYWNoKGU9PmUudXBsb2FkU3RhdHVzPWBpbi1wcm9ncmVzc2ApLGUpKX0sZj10PT57ZS51cGRhdGUoZT0+e2xldCBuPWkodCxlKTtyZXR1cm4gbiYmKG4udXBsb2FkU3RhdHVzPWBkb25lYCksZX0pfSxwPWU9PmkoZS5uYW1lKT8ucHJldmlld1N0YXRlIT09YG5vbmVgLG09ZT0+e2UuZm9yRWFjaChlPT52b2lkIGgoZSkpfSxoPWFzeW5jIHQ9PntpZihwKHQpKXJldHVybjtsZXQgbj1hd2FpdCBUbCh0KSxyPW4/YXdhaXQgRWwobik6bnVsbCxhPXI/RGwocik6bnVsbDtlLnVwZGF0ZShlPT57bGV0IG89aSh0Lm5hbWUsZSk7cmV0dXJuIG8/KG8ucHJldmlld1N0YXRlPWByZWFkeWAsby5wcmV2aWV3PXtkYXRhOm4sZGltZW5zaW9uczpyLG9yaWVudGF0aW9uOmF9LFsuLi5lXSk6ZX0pfTtyZXR1cm57c3Vic2NyaWJlOnQsZ2V0RmlsZXM6cixmaW5kOmksYWRkOm8scmVtb3ZlOnMsY291bnQ6Yyxpc0xpbWl0UmVhY2hlZDpsLGNsZWFyOnUsc2V0VXBsb2FkaW5nU3RhdHVzOmQsc2V0RmlsZVVwbG9hZGVkOmZ9fSkoKSxYbD0oKCk9PntsZXQgZT1bXTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7cHVzaDp0PT57ZS5wdXNoKHQpfSxleGVjdXRlQWxsOigpPT57Zm9yKDtlLmxlbmd0aD4wOyl7bGV0IHQ9ZS5zaGlmdCgpO3QmJnQoKX19fSl9KSgpLFpsPSgpPT57bGV0e3dpZGdldFYzVXJsOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke2V9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1haS1pZGVudGl0eS5wbmdgfSxRbD1lPT4oey4uLmUsYXZhdGFyVXJsOmUuYXZhdGFyVXJsfHxabCgpfSksJGw9KCgpPT57bGV0e3VwZGF0ZTplLHN1YnNjcmliZTp0LHNldDpufT1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0SWRlbnRpdGllczplPT57bihybChgaWRgLGUubWFwKFFsKSkpfSxhZGRJZGVudGl0eTp0PT57ZShlPT4oey4uLmUsW3QuaWRdOnR9KSl9LHVwZGF0ZUlkZW50aXR5Oih0LG4pPT57ZShlPT5lW3RdP3suLi5lLFt0XTp7Li4uZVt0XSwuLi5ufX06ZSl9fX0pKCksRz1ubCgpLEs9dShNYygpLDEpLGV1PWU9Pnt2byhgaW5pdCBkYXRhYCxlKSxkbC5zZXQoITApLHlsKGUuY2hhdCxlLnNlc3Npb25JZCk7bGV0IHQ9ZS52aXNpdG9yLmlkO19sKHQpLG5zKGUudmlzaXRvci52aXNpdHMpLE11LnNldFZpc2l0b3JEYXRhKGUudmlzaXRvciksaG8oe3ZpZDp0fSksYmwuaW5pdGlhbGl6ZShlLmZpbGVVcGxvYWQpLG9zLnNldChlLmJyb3dzZXIpLEJ1LnNldEFnZW50cyhlLmFjY291bnQuYWdlbnRzKSwkbC5zZXRJZGVudGl0aWVzKGUuYWNjb3VudC5ib3RJZGVudGl0aWVzKSxlLmNoYXQ/LnZpcnR1YWxBZ2VudCE9PXZvaWQgMCYmQnUuc2V0VmlydHVhbEFnZW50KGUuY2hhdD8udmlydHVhbEFnZW50KSxpbC5zZXRHcm91cHMoZS5hY2NvdW50Lmdyb3VwcyksaGQoZS5hY2NvdW50LnN0YXR1cyksZS5jaGF0JiYocXAoKSYmaWQuc2V0KGUuY2hhdC5yYXRpbmdTdWdnZXN0ZWRUYXJnZXR8fG51bGwpLGVkLnNldChlLmNoYXQuc3RhdHVzKSxkZChlLmNoYXQuaXNDbG9zZWQpLHJkLnNldChlLmNoYXQudW5yZWFkSW5mby5sYXN0UmVhZEF0KSxKLnNldE1lc3NhZ2VzKGUuY2hhdC5tZXNzYWdlcy5maWx0ZXIoZT0+IVpmKGUpKSksR3Uuc2V0QXNzaWduZWRBZ2VudElkcyhlLmNoYXQuYXNzaWduZWRJZHM/P1tdKSxlLmNoYXQud2lkZ2V0T3B0aW9ucyYmWHUudXBkYXRlR2VuZXJhbE9wdGlvbnMoZS5jaGF0LndpZGdldE9wdGlvbnMpKSxDXy5zZXQoITApLHouZW1pdChgd2lkZ2V0SW5pdGAsITApLFhsLmV4ZWN1dGVBbGwoKX0sdHU9ZT0+e2NvbnNvbGUuZXJyb3IoZSl9LG51PSgpPT57ZGwuc2V0KCExKX0scnU9KHtjaGF0SWQ6ZX0pPT57TXAuc2V0KCExKSxhZC5zZXQoZSksZWQuc2V0KEsuQ2hhdFN0YXR1cy5PcGVuKSxYdS5zZXRNZXNzYWdlT3B0aW9ucyh7ZGlzYWJsZUF0dGFjaG1lbnRzOiExfSl9LGl1PSgpPT57ZWQuc2V0KEsuQ2hhdFN0YXR1cy5TZXJ2ZWQpLGRkKCExKX0sYXU9KHttZXNzYWdlOmV9KT0+e2xldHtjbG9zZVR5cGU6dCxhZ2VudElkOm59PWUuY29udGVudC5kYXRhOyh0PT09YGFnZW50X2Nsb3NlYHx8dD09PWBib3RfY2xvc2VgKSYmKEd1LnNldEFzc2lnbmVkQWdlbnRJZHMoW10pLGVkLnNldChLLkNoYXRTdGF0dXMuQ2xvc2VkKSxKLmFkZE1lc3NhZ2UoZSksei5lbWl0KGBjaGF0Q2xvc2VkYCxlKSx0PT09YGFnZW50X2Nsb3NlYCYmUW0obj9BKFZ1KG4pKT8uZnVsbG5hbWU6dm9pZCAwKSl9LG91PSh7bWVzc2FnZTplfSk9PntxcCgpJiZZcCh4cyksZGQoITAse2J5VmlzaXRvcjohMH0pLEouYWRkTWVzc2FnZShlKSx6LmVtaXQoYGNoYXRWaXNpdG9yQ2xvc2VkYCxlKSxabSgpfSxzdT0oe2NoYW5nZXM6ZX0pPT57ZS53aWRnZXRPcHRpb25zJiZYdS51cGRhdGVHZW5lcmFsT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLGUuaXNDbG9zZWQhPT12b2lkIDAmJmRkKGUuaXNDbG9zZWQpLGUudmlydHVhbEFnZW50IT09dm9pZCAwJiZCdS5zZXRWaXJ0dWFsQWdlbnQoZS52aXJ0dWFsQWdlbnQpfSxjdT1hc3luYyh7bWVzc2FnZTplfSk9PntpZihaZihlKSlyZXR1cm47bGV0IHQ9QSh6XykmJllmKGUpOyFBKFgpJiZRZihlKSYmIXQ/QXAoZSk6YXdhaXQgSi5hZGRNZXNzYWdlKGUpLF9kKCksZS53aWRnZXRPcHRpb25zJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLHQmJlVfKCksei5lbWl0KGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxsdT1lPT57Y3UoZSl9LHV1PSh7bWVzc2FnZUlkOmUsZGVsZXRlZEF0OnR9KT0+e0EoSilbZV0/LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNoYXRSZXNvbHZlP0ouZGVsZXRlTWVzc2FnZShlKTpKLm1hcmtNZXNzYWdlQXNEZWxldGVkKGUsdCl9LGR1PSh7bWVzc2FnZTplfSk9PntKLnJlcGxhY2VNZXNzYWdlKGUpLGUud2lkZ2V0T3B0aW9ucyYmZS5pZD09PUEoQnApJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpfSxmdT0oe21lc3NhZ2U6ZSxhZ2VudDp0fSk9PntHdS5hZGRBc3NpZ25lZEFnZW50SWQoZS5jb250ZW50LmRhdGEuYWdlbnRJZCksSi5hZGRNZXNzYWdlKGUpLHouZW1pdChgYWdlbnRKb2luZWRgLHQpfSxwdT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLmFnZW50SWQpLEouYWRkTWVzc2FnZShlKX0sbXU9KHttZXNzYWdlOmV9KT0+e0d1LmFkZEFzc2lnbmVkQWdlbnRJZChlLmNvbnRlbnQuZGF0YS5hc3NpZ25lZCksSi5hZGRNZXNzYWdlKGUpfSxodT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLnVuYXNzaWduZWQpLEouYWRkTWVzc2FnZShlKX0sZ3U9ZT0+eyFlLnR5cGluZy5pcyYmQShNcCl8fG5kLnNldChlLnR5cGluZy5pcyl9LF91PWU9PntyZC5zZXQoZS5sYXN0UmVhZEF0KX0sdnU9KHttZXNzYWdlOmUscmF0aW5nOnR9KT0+e0oudXBkYXRlTWVzc2FnZVJhdGluZyhlKSx6LmVtaXQoYGNoYXRSYXRlZGAsdCl9LHl1PWU9Pnt6LmVtaXQoYHRyYW5zY3JpcHRQZGZgLGUpfSxidT0oe2lkOmUsY2hhbmdlczp0fSk9PntCdS51cGRhdGVBZ2VudChlLHQpfSx4dT0oe2lkOmUsc3RhdHVzOnR9KT0+e0J1LnVwZGF0ZUFnZW50KGUse3N0YXR1czp0fSl9LFN1PSh7c3RhdHVzOmV9KT0+e2hkKGUpfSxDdT1lPT57TXUudXBkYXRlVmlzaXRvckRhdGEoZSl9LHd1PWU9Pnt6LmVtaXQoYGNvbnRhY3RBY3F1aXJlZGAsZSl9LFR1PWU9PnsocXAoKXx8SnAoKSkmJmlkLnNldChlLnJhdGluZ1N1Z2dlc3RlZFRhcmdldCl9LEV1PSgpPT57QShpZCkmJmlkLnNldChudWxsKX0sRHU9KHtpZDplLGlzQWN0aXZlOnR9KT0+eyRsLnVwZGF0ZUlkZW50aXR5KGUse2lzQWN0aXZlOnR9KX0sT3U9RGMoKSxrdT1hc3luYyBlPT57bGV0IHQ9YXdhaXQgVi5hd2FpdE9wdGlvbnMoKTtyZXR1cm4gbmV3IEsuV2Vic29ja2V0VmlzaXRvckNsaWVudCh7ZGF0YTplLGNvbm5lY3Rpb246e3VybDpwbCgpLHNvY2tldDp0Lm1vY2s/bmV3IE91LlNvY2tldE1vY2sodC5tb2NrKTp2b2lkIDAsYmFsYW5jZXJVcmw6dC5iYWxhbmNlclVybCxvcHRpb25zOntwYXRoOmAvc29ja2V0YCxhdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITB9fX0pfSxBdT0oKT0+e2xldCBlPW51bGwsdD0oKT0+ISFlLG49KCk9PntpZighZSl0aHJvdyBFcnJvcihgVmlzaXRvciBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LHI9YXN5bmMgdD0+e2U9YXdhaXQga3UoYXdhaXQgdmwodCkpLGUmJihqdShlKSxhd2FpdCBlLmNvbm5lY3QoKS5jYXRjaChlPT57am8oYEZhaWxlZCBjb25uZWN0IHRvIHNlcnZlci5gLGUpfSkpfTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7Z2V0Q2xpZW50Om4saW5pdENsaWVudDpyLHJlbG9hZENsaWVudDphc3luYyh0LG4pPT57YXdhaXQgZT8uZGlzY29ubmVjdCgpLHQmJlYudXBkYXRlT3B0aW9ucyh7bW9jazp0fSksYXdhaXQgcihuKX0saXNJbml0aWFsaXplZDp0fSl9LGp1PWU9PntlLm9uKGBpbml0aWFsaXplZGAsZXUpLGUub24oYGVycm9yYCx0dSksZS5vbihgZGlzY29ubmVjdGAsbnUpLGUub24oYGNoYXQub3BlbmVkYCxydSksZS5vbihgY2hhdC5zZXJ2ZWRgLGl1KSxlLm9uKGBjaGF0LmNsb3NlZGAsYXUpLGUub24oYGNoYXQudmlzaXRvcl9jbG9zZWRgLG91KSxlLm9uKGBjaGF0LnVwZGF0ZWRgLHN1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLGx1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGAsZHUpLGUub24oYGNoYXQubWVzc2FnZV9kZWxldGVkYCx1dSksZS5vbihgY2hhdC5hZ2VudF9qb2luZWRgLGZ1KSxlLm9uKGBjaGF0LmFnZW50X2xlZnRgLHB1KSxlLm9uKGBjaGF0LmFnZW50X2Fzc2lnbmVkYCxtdSksZS5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCxodSksZS5vbihgY2hhdC5hZ2VudF90eXBpbmdgLGd1KSxlLm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsX3UpLGUub24oYGNoYXQucmF0ZWRgLHZ1KSxlLm9uKGBjaGF0LnJhdGluZ19zdWdnZXN0ZWRgLFR1KSxlLm9uKGBjaGF0LnJhdGluZ19jYW5jZWxsZWRgLEV1KSxlLm9uKGBjaGF0LnRyYW5zY3JpcHRfcGRmYCx5dSksZS5vbihgYWdlbnQudXBkYXRlZGAsYnUpLGUub24oYGFnZW50LnN0YXR1c191cGRhdGVkYCx4dSksZS5vbihgYWNjb3VudC51cGRhdGVkYCxTdSksZS5vbihgdmlzaXRvci51cGRhdGVkYCxDdSksZS5vbihgY29udGFjdC5hY3F1aXJlZGAsd3UpLGUub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCxEdSl9LHE9QXUoKSxNdT0oKCk9PntsZXQgZT1PKG51bGwpLHtzdWJzY3JpYmU6dCxzZXQ6bix1cGRhdGU6cn09ZSxpPWU9PntuKGUpfSxhPWU9PntyKHQ9PnQ/ey4uLnQsLi4uZX06bnVsbCl9LG89KGUsdCk9Pnt0cnl7cS5nZXRDbGllbnQoKS51cGRhdGUoe1tlXTp0fSl9Y2F0Y2godCl7am8oYFVwZGF0ZSBvZiB2aXNpdG9yIHByb3BlcnR5ICcke2V9JyBmYWlsZWQuYCxTdHJpbmcodCkpfX07cmV0dXJue3N1YnNjcmliZTp0LHNldFZpc2l0b3JEYXRhOmksdXBkYXRlVmlzaXRvckRhdGE6YSx1cGRhdGVWaXNpdG9yUHJvcGVydHk6KGUsdCk9PntpZighQShDXykpe3ViKGUsdCk7cmV0dXJufWEoe1tlXTp0fSksbyhlLHQpfSx1cGRhdGVWaXNpdG9yVmFyaWFibGVzOnQ9PntpZighQShDXykpe3ViKGB2YXJpYWJsZXNgLHQpO3JldHVybn1sZXQgbj1BKGUpO2lmKCFuKXJldHVybjtsZXQgcj1uLnZhcmlhYmxlczthKHt2YXJpYWJsZXM6ey4uLnIsLi4udH19KTtsZXQgaT17fTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9Pnt0W2VdIT09cltlXSYmKGk9ey4uLmksW2VdOnRbZV19KX0pLE9iamVjdC5rZXlzKGkpLmxlbmd0aCE9PTAmJm8oYHZhcmlhYmxlc2AsaSl9LHVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YTp0PT57aWYoIUEoQ18pKXt1YihgY29udGFjdERhdGFgLHtwcm9wZXJ0aWVzOnR9KTtyZXR1cm59bGV0IG49QShlKTtpZighbilyZXR1cm47bGV0IHI9bj8uY29udGFjdERhdGE/LnByb3BlcnRpZXM7YSh7dmFyaWFibGVzOnsuLi5yLC4uLnR9fSk7bGV0IGk9e307T2JqZWN0LmtleXModCkuZm9yRWFjaChlPT57KCFyfHx0W2VdIT09cltlXSkmJihpPXsuLi5pLFtlXTp0W2VdfSl9KSxPYmplY3Qua2V5cyhpKS5sZW5ndGghPT0wJiZvKGBjb250YWN0RGF0YWAse3Byb3BlcnRpZXM6dH0pfX19KSgpLE51PShlLHQpPT5lLmhhc093blByb3BlcnR5KHQpLFB1PWU9PnR5cGVvZiBlPT1gYm9vbGVhbmAsRnU9ZT0+dHlwZW9mIGU9PWBudW1iZXJgLEl1PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxMdT1lPT50eXBlb2YgZT09YHN0cmluZ2B8fGUgaW5zdGFuY2VvZiBTdHJpbmcsUnU9ZT0+THUoZSl8fEZ1KGUpfHxQdShlKSx6dT1lPT57bGV0IHQ9e307cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+e2xldCByPWVbbl07UnUocik/dFtuXT1yOkl1KHIpJiZOdShyLGB2YWx1ZWApJiZSdShyLnZhbHVlKSYmKHRbbl09ci52YWx1ZSl9KSx0fSxCdT0oKCk9PntsZXR7dXBkYXRlOmUsc3Vic2NyaWJlOnQsc2V0Om59PU8oe30pO3JldHVybntzdWJzY3JpYmU6dCxzZXRBZ2VudHM6ZT0+e24ocmwoYGlkYCxlKSl9LGFkZEFnZW50OnQ9PntlKGU9Pih7Li4uZSxbdC5pZF06dH0pKX0sdXBkYXRlQWdlbnQ6KHQsbik9PntlKGU9PmVbdF0/ey4uLmUsW3RdOnsuLi5lW3RdLC4uLm59fTplKX0sc2V0VmlydHVhbEFnZW50OnQ9PntsZXR7ZGVzY3JpcHRpb246bixhdmF0YXI6cixuYW1lOml9PXQsYT17fTtuJiYoYS5kZXNjcmlwdGlvbj1uKSxyJiYoYS5hdmF0YXI9ciksaSYmKGEuZnVsbG5hbWU9aSksZShlPT4oT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57ZVt0XT17Li4uZVt0XSwuLi5hfX0pLGUpKX19fSkoKSxWdT1lPT5rKFtCdV0sKFt0XSk9PnRbZV0/P251bGwpLEh1PWsoW2soW0J1XSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+IWUuZGlzYWJsZWQpKSxNdV0sKFtlLHRdKT0+e2xldCBuPXQ/Lmdyb3VwO3JldHVybiFufHxuPT09YGRlZmF1bHRgP2U6ZS5maWx0ZXIoZT0+ZS5ncm91cHMubGVuZ3RoPT09MHx8ZS5ncm91cHMuaW5jbHVkZXMobikpfSksVXU9ayhbSHVdLChbZV0pPT5lLmZpbHRlcihlPT5lLnN0YXR1cz09PUsuQWdlbnRTdGF0dXMuT25saW5lKSksV3U9ZT0+e2lmKGUpcmV0dXJuYCR7ZX0/c2l6ZT04MGA7bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1hdmF0YXIucG5nYH0sR3U9KCgpPT57bGV0e3N1YnNjcmliZTplLHNldDp0LHVwZGF0ZTpufT1PKFtdKTtyZXR1cm57c3Vic2NyaWJlOmUsc2V0QXNzaWduZWRBZ2VudElkczplPT57dChlKX0sYWRkQXNzaWduZWRBZ2VudElkOmU9PntuKHQ9PlsuLi5uZXcgU2V0KFsuLi50LGVdKV0pfSxyZW1vdmVBc3NpZ25lZEFnZW50SWQ6ZT0+e24odD0+dC5maWx0ZXIodD0+dCE9PWUpKX0sY2xlYXJBc3NpZ25lZEFnZW50SWRzOigpPT57dChbXSl9fX0pKCksS3U9ayhbR3UsQnVdLChbZSx0XSk9PmUubWFwKGU9PnRbZV0pLmZpbHRlcihCb29sZWFuKSkscXU9ayhbS3VdLChbZV0pPT5lLmxlbmd0aD4wKSxKdT1rKFtLdV0sKFtlXSk9PmUuZmlsdGVyKGU9PiFlLmRpc2FibGVkKSksWXU9ayhbS3VdLChbZV0pPT5lLnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLFh1PSgoKT0+e2xldCBlPU8oe2Rpc2FibGVBdHRhY2htZW50czohMSxkaXNhYmxlQXV0aGVudGljYXRpb246ITEsZGlzYWJsZUlucHV0OiExfSksdD1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOmsoW2UsdF0sKFtlLHRdKT0+KHsuLi5lLC4uLnR9KSkuc3Vic2NyaWJlLHVwZGF0ZUdlbmVyYWxPcHRpb25zOnQ9PntlLnVwZGF0ZShlPT4oey4uLmUsLi4udH0pKX0sc2V0TWVzc2FnZU9wdGlvbnM6ZT0+e3Quc2V0KGUpfX19KSgpLFp1PWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXR0YWNobWVudHMpLFF1PWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3Blbj0wXT1gT3BlbmAsZVtlLkNsb3NlZD0xXT1gQ2xvc2VkYCxlW2UuQ2xvc2VkQnlWaXNpdG9yPTJdPWBDbG9zZWRCeVZpc2l0b3JgLGV9KHt9KSwkdT1PKEsuQWNjb3VudFN0YXR1cy5PZmZsaW5lKSxlZD1PKG51bGwpLHRkPU8oUXUuT3BlbiksbmQ9TyghMSkscmQ9TyhudWxsKSxpZD1PKG51bGwpLGFkPU8oYGApLG9kPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5QZW5kaW5nKTtrKFtlZF0sKFtlXSk9PmUhPT1udWxsKTt2YXIgc2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLlNlcnZlZCksY2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLk9wZW4pLGxkPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5DbG9zZWQpLHVkPWsoW3NkLHRkXSwoW2UsdF0pPT5lJiZ0PT09UXUuT3BlbiksZGQ9KGUse2J5VmlzaXRvcjp0PSExfT17fSk9PntlP3RkLnNldCh0P1F1LkNsb3NlZEJ5VmlzaXRvcjpRdS5DbG9zZWQpOnRkLnNldChRdS5PcGVuKX0sZmQ9ayhbJHUsSnVdLChbZSx0XSk9PnQubGVuZ3RoPT09MD9lPT09Sy5BY2NvdW50U3RhdHVzLk9ubGluZTp0LnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLHBkPWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXV0aGVudGljYXRpb24pLG1kPSgpPT57bmQuc2V0KCExKSxlZC5zZXQobnVsbCksZGQoITEpLHJkLnNldChudWxsKX0saGQ9ZT0+e2U9PT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZVdpdGhBST8kdS5zZXQoSy5BY2NvdW50U3RhdHVzLk9ubGluZSk6JHUuc2V0KGUpfSxnZD0oKT0+e3JkLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHEuZ2V0Q2xpZW50KCkuY2hhdFJlYWQoKX0sX2Q9KCk9PntsZXQgZT1wbygpLnZpc2liaWxpdHlTdGF0ZT09PWB2aXNpYmxlYDshQShMcCl8fCFBKFgpfHwhZXx8IUEoTl8pfHxnZCgpfSx2ZD1lPT4oey4uLlNzLGNoYXRJZDpBKGFkKSxjcmVhdGVkQXQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGNvbnRlbnQ6ey4uLlNzLmNvbnRlbnQsZGF0YTp7dGFyZ2V0OmV9fX0pLHlkPSgpPT57ZGQoITAse2J5VmlzaXRvcjohMH0pLHEuZ2V0Q2xpZW50KCkuY2hhdENsb3NlKCksVmMoKSxxcCgpfHxXXygpfSxiZD1hc3luYyBlPT57YXdhaXQgSi5hZGRNZXNzYWdlKHZkKGUpKX0seGQ9KCk9PntKLmRlbGV0ZU1lc3NhZ2UoeHMpfTtmdW5jdGlvbiBTZChlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6ZVtlLmxlbmd0aC0xXX12YXIgQ2Q9ZT0+ZS5zbGljZSgoZS5sYXN0SW5kZXhPZihgLmApLTE+Pj4wKSsyKS50b0xvd2VyQ2FzZSgpLHdkPWU9PntsZXQgdD1lLG49MCxyPVtgQmAsYEtCYCxgTUJgLGBHQmBdO2Zvcig7dD49MTAyNCYmbjxyLmxlbmd0aC0xOyl0Lz0xMDI0LG4rKztyZXR1cm57c2l6ZTpNYXRoLmZsb29yKHQpLHVuaXQ6cltuXX19LFRkPWU9PntsZXQgdD1TZChlLnNwbGl0KGAuYCkpO3JldHVybiB0P3QudG9VcHBlckNhc2UoKTp4bH0sRWQ9KGUsdCk9PmAke2V9P25hbWU9JHt0fWAsRGQ9YXN5bmMoZSx0KT0+e2xldCBuPXEuZ2V0Q2xpZW50KCkscj1bXTtmb3IobGV0e2ZpbGU6aX1vZiBlKXtsZXQgZT1hd2FpdCBuLmNoYXRVcGxvYWRJbml0KCksYT1uZXcgRm9ybURhdGE7YS5hcHBlbmQoYGZpbGVgLGksaS5uYW1lKTt0cnl7aWYoIShhd2FpdCBmZXRjaChlLnVybCx7bWV0aG9kOmBwb3N0YCxib2R5OmF9KSkub2spdGhyb3cgRXJyb3IoYFVwbG9hZCBmYWlsZWRgKTtyLnB1c2goZS50b2tlbil9Y2F0Y2h7am8oYEZpbGUgWyR7aS5uYW1lfV0gdXBsb2FkIGZhaWxlZGApLGdzKEEoVykoYGZpbGVVcGxvYWQuZmlsZXNXZXJlbnRQcm9jZXNzZWRgKSl9ZmluYWxseXt0KGkpfX1yZXR1cm4gcn0sT2Q9YXN5bmMgZT0+e2xldCB0PXEuZ2V0Q2xpZW50KCk7dHJ5e2F3YWl0IHQuY2hhdFVwbG9hZEZpbmlzaChlKX1jYXRjaHtqbyhgRmFpbGVkIHRvIGZpbmlzaCBmaWxlIHVwbG9hZCBmb3IgJHtlfWApfX0sa2Q9MWUzLEFkPTZlNCxqZD0zNmU1LE1kPTg2NGU1LE5kPTI2MjhlNixQZD0zMTUzNmU2LEZkPWU9Pk1hdGguZmxvb3IoZS9BZCkqQWQsSWQ9KGUsdCk9PkZkKG5ldyBEYXRlKGUpLmdldFRpbWUoKSk9PT1GZChuZXcgRGF0ZSh0KS5nZXRUaW1lKCkpLExkPShlLHQpPT57bGV0IG49bmV3IERhdGUoZSkscj1uZXcgRGF0ZSh0KTtyZXR1cm4gbi5nZXREYXRlKCk9PT1yLmdldERhdGUoKSYmbi5nZXRNb250aCgpPT09ci5nZXRNb250aCgpJiZuLmdldEZ1bGxZZWFyKCk9PT1yLmdldEZ1bGxZZWFyKCl9LFJkPShlLHQpPT5lLmdldFRpbWUoKS10LmdldFRpbWUoKSx6ZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxCZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3llYXI6YG51bWVyaWNgLG1vbnRoOmBudW1lcmljYCxkYXk6YG51bWVyaWNgLGhvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxWZD1lPT5MZChuZXcgRGF0ZSxlKT96ZDpCZCxIZD0oKT0+dHlwZW9mIEludGw8YHVgJiZgUmVsYXRpdmVUaW1lRm9ybWF0YGluIEludGwsVWQ9ZT0+SGQoKT9uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoZSx7bnVtZXJpYzpgYXV0b2B9KTpudWxsLFdkPVt7dW5pdDpgeWVhcmAsYW1vdW50OlBkfSx7dW5pdDpgbW9udGhgLGFtb3VudDpOZH0se3VuaXQ6YGRheWAsYW1vdW50Ok1kfSx7dW5pdDpgaG91cmAsYW1vdW50OmpkfSx7dW5pdDpgbWludXRlYCxhbW91bnQ6QWR9LHt1bml0OmBzZWNvbmRgLGFtb3VudDprZH1dLEdkPShlLHQpPT57bGV0IG49VWQodCk7aWYoIW4pcmV0dXJuIEgoYFJlbGF0aXZlIHRpbWUgZm9ybWF0IG5vdCBzdXBwb3J0ZWRgKSxgYDtmb3IobGV0e3VuaXQ6dCxhbW91bnQ6cn1vZiBXZCl7aWYodD09PWBzZWNvbmRgKXJldHVybiBuLmZvcm1hdCgwLGBzZWNvbmRgKTtpZihNYXRoLmFicyhlKT5yKXJldHVybiBuLmZvcm1hdChNYXRoLnJvdW5kKGUvciksdCl9cmV0dXJuYGB9LEtkPShlLHQ9MzAwKT0+e2xldCBuO3JldHVybiguLi5yKT0+e258fD0oZSguLi5yKSxzZXRUaW1lb3V0KCgpPT5uPW51bGwsdCkpfX0scWQ9L1tcMC1cdUQ3RkZcdUUwMDAtXHVGRkZGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdLyxKZD0vW1wwLVx4MUZceDdGLVx4OUZdLyxZZD0vWyEtIyUtXCosLVwvOjtcP0BcWy1cXV9ce1x9XHhBMVx4QTdceEFCXHhCNlx4QjdceEJCXHhCRlx1MDM3RVx1MDM4N1x1MDU1QS1cdTA1NUZcdTA1ODlcdTA1OEFcdTA1QkVcdTA1QzBcdTA1QzNcdTA1QzZcdTA1RjNcdTA1RjRcdTA2MDlcdTA2MEFcdTA2MENcdTA2MERcdTA2MUJcdTA2MUQtXHUwNjFGXHUwNjZBLVx1MDY2RFx1MDZENFx1MDcwMC1cdTA3MERcdTA3RjctXHUwN0Y5XHUwODMwLVx1MDgzRVx1MDg1RVx1MDk2NFx1MDk2NVx1MDk3MFx1MDlGRFx1MEE3Nlx1MEFGMFx1MEM3N1x1MEM4NFx1MERGNFx1MEU0Rlx1MEU1QVx1MEU1Qlx1MEYwNC1cdTBGMTJcdTBGMTRcdTBGM0EtXHUwRjNEXHUwRjg1XHUwRkQwLVx1MEZENFx1MEZEOVx1MEZEQVx1MTA0QS1cdTEwNEZcdTEwRkJcdTEzNjAtXHUxMzY4XHUxNDAwXHUxNjZFXHUxNjlCXHUxNjlDXHUxNkVCLVx1MTZFRFx1MTczNVx1MTczNlx1MTdENC1cdTE3RDZcdTE3RDgtXHUxN0RBXHUxODAwLVx1MTgwQVx1MTk0NFx1MTk0NVx1MUExRVx1MUExRlx1MUFBMC1cdTFBQTZcdTFBQTgtXHUxQUFEXHUxQjVBLVx1MUI2MFx1MUI3RFx1MUI3RVx1MUJGQy1cdTFCRkZcdTFDM0ItXHUxQzNGXHUxQzdFXHUxQzdGXHUxQ0MwLVx1MUNDN1x1MUNEM1x1MjAxMC1cdTIwMjdcdTIwMzAtXHUyMDQzXHUyMDQ1LVx1MjA1MVx1MjA1My1cdTIwNUVcdTIwN0RcdTIwN0VcdTIwOERcdTIwOEVcdTIzMDgtXHUyMzBCXHUyMzI5XHUyMzJBXHUyNzY4LVx1Mjc3NVx1MjdDNVx1MjdDNlx1MjdFNi1cdTI3RUZcdTI5ODMtXHUyOTk4XHUyOUQ4LVx1MjlEQlx1MjlGQ1x1MjlGRFx1MkNGOS1cdTJDRkNcdTJDRkVcdTJDRkZcdTJENzBcdTJFMDAtXHUyRTJFXHUyRTMwLVx1MkU0Rlx1MkU1Mi1cdTJFNURcdTMwMDEtXHUzMDAzXHUzMDA4LVx1MzAxMVx1MzAxNC1cdTMwMUZcdTMwMzBcdTMwM0RcdTMwQTBcdTMwRkJcdUE0RkVcdUE0RkZcdUE2MEQtXHVBNjBGXHVBNjczXHVBNjdFXHVBNkYyLVx1QTZGN1x1QTg3NC1cdUE4NzdcdUE4Q0VcdUE4Q0ZcdUE4RjgtXHVBOEZBXHVBOEZDXHVBOTJFXHVBOTJGXHVBOTVGXHVBOUMxLVx1QTlDRFx1QTlERVx1QTlERlx1QUE1Qy1cdUFBNUZcdUFBREVcdUFBREZcdUFBRjBcdUFBRjFcdUFCRUJcdUZEM0VcdUZEM0ZcdUZFMTAtXHVGRTE5XHVGRTMwLVx1RkU1Mlx1RkU1NC1cdUZFNjFcdUZFNjNcdUZFNjhcdUZFNkFcdUZFNkJcdUZGMDEtXHVGRjAzXHVGRjA1LVx1RkYwQVx1RkYwQy1cdUZGMEZcdUZGMUFcdUZGMUJcdUZGMUZcdUZGMjBcdUZGM0ItXHVGRjNEXHVGRjNGXHVGRjVCXHVGRjVEXHVGRjVGLVx1RkY2NV18XHVEODAwW1x1REQwMC1cdUREMDJcdURGOUZcdURGRDBdfFx1RDgwMVx1REQ2RnxcdUQ4MDJbXHVEQzU3XHVERDFGXHVERDNGXHVERTUwLVx1REU1OFx1REU3Rlx1REVGMC1cdURFRjZcdURGMzktXHVERjNGXHVERjk5LVx1REY5Q118XHVEODAzW1x1REVBRFx1REY1NS1cdURGNTlcdURGODYtXHVERjg5XXxcdUQ4MDRbXHVEQzQ3LVx1REM0RFx1RENCQlx1RENCQ1x1RENCRS1cdURDQzFcdURENDAtXHVERDQzXHVERDc0XHVERDc1XHVEREM1LVx1RERDOFx1RERDRFx1REREQlx1RERERC1cdUREREZcdURFMzgtXHVERTNEXHVERUE5XXxcdUQ4MDVbXHVEQzRCLVx1REM0Rlx1REM1QVx1REM1Qlx1REM1RFx1RENDNlx1RERDMS1cdURERDdcdURFNDEtXHVERTQzXHVERTYwLVx1REU2Q1x1REVCOVx1REYzQy1cdURGM0VdfFx1RDgwNltcdURDM0JcdURENDQtXHVERDQ2XHVEREUyXHVERTNGLVx1REU0Nlx1REU5QS1cdURFOUNcdURFOUUtXHVERUEyXHVERjAwLVx1REYwOV18XHVEODA3W1x1REM0MS1cdURDNDVcdURDNzBcdURDNzFcdURFRjdcdURFRjhcdURGNDMtXHVERjRGXHVERkZGXXxcdUQ4MDlbXHVEQzcwLVx1REM3NF18XHVEODBCW1x1REZGMVx1REZGMl18XHVEODFBW1x1REU2RVx1REU2Rlx1REVGNVx1REYzNy1cdURGM0JcdURGNDRdfFx1RDgxQltcdURFOTctXHVERTlBXHVERkUyXXxcdUQ4MkZcdURDOUZ8XHVEODM2W1x1REU4Ny1cdURFOEJdfFx1RDgzQVtcdURENUVcdURENUZdLyxYZD0vWyBceEEwXHUxNjgwXHUyMDAwLVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMF0vO2Z1bmN0aW9uIFpkKGUpe2xldCB0PXt9O2V8fD17fSx0LnNyY19Bbnk9cWQuc291cmNlLHQuc3JjX0NjPUpkLnNvdXJjZSx0LnNyY19aPVhkLnNvdXJjZSx0LnNyY19QPVlkLnNvdXJjZSx0LnNyY19aUENjPVt0LnNyY19aLHQuc3JjX1AsdC5zcmNfQ2NdLmpvaW4oYHxgKSx0LnNyY19aQ2M9W3Quc3JjX1osdC5zcmNfQ2NdLmpvaW4oYHxgKTtsZXQgbj1gWz48772cXWA7cmV0dXJuIHQuc3JjX3BzZXVkb19sZXR0ZXI9YCg/Oig/IWArbitgfGArdC5zcmNfWlBDYytgKWArdC5zcmNfQW55K2ApYCx0LnNyY19pcDQ9YCg/OigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pYCx0LnNyY19hdXRoPWAoPzooPzooPyFgK3Quc3JjX1pDYytgfFtAL1xcW1xcXSgpXSkuKStAKT9gLHQuc3JjX3BvcnQ9YCg/OjooPzo2KD86WzAtNF1cXGR7M318NSg/OlswLTRdXFxkezJ9fDUoPzpbMC0yXVxcZHwzWzAtNV0pKSl8WzEtNV0/XFxkezEsNH0pKT9gLHQuc3JjX2hvc3RfdGVybWluYXRvcj1gKD89JHxgK24rYHxgK3Quc3JjX1pQQ2MrYCkoPyFgKyhlW2AtLS1gXT9gLSg/IS0tKXxgOmAtfGApK2BffDpcXGR8XFwuLXxcXC4oPyEkfGArdC5zcmNfWlBDYytgKSlgLHQuc3JjX3BhdGg9YCg/OlsvPyNdKD86KD8hYCt0LnNyY19aQ2MrYHxbPjzvvZxdfFsoKVtcXF17fS4sIic/IVxcLTtdKS58XFxbKD86KD8hYCt0LnNyY19aQ2MrYHxcXF0pLikqXFxdfFxcKCg/Oig/IWArdC5zcmNfWkNjK2B8WyldKS4pKlxcKXxcXHsoPzooPyFgK3Quc3JjX1pDYytgfFt9XSkuKSpcXH18XFwiKD86KD8hYCt0LnNyY19aQ2MrYHxbIl0pLikrXFwifFxcJyg/Oig/IWArdC5zcmNfWkNjK2B8WyddKS4pK1xcJ3xcXCcoPz1gK3Quc3JjX3BzZXVkb19sZXR0ZXIrYHxbLV0pfFxcLnsyLH1bYS16QS1aMC05JS8mXXxcXC4oPyFgK3Quc3JjX1pDYytgfFsuXXwkKXxgKyhlW2AtLS1gXT9gXFwtKD8hLS0oPzpbXi1dfCQpKSg/Oi0qKXxgOmBcXC0rfGApK2AsKD8hYCt0LnNyY19aQ2MrYHwkKXw7KD8hYCt0LnNyY19aQ2MrYHwkKXxcXCErKD8hYCt0LnNyY19aQ2MrYHxbIV18JCl8XFw/KD8hYCt0LnNyY19aQ2MrYHxbP118JCkpK3xcXC8pP2AsdC5zcmNfZW1haWxfbmFtZT1gW1xcLTs6Jj1cXCtcXCQsXFwuYS16QS1aMC05X11bXFwtOzomPVxcK1xcJCxcXCJcXC5hLXpBLVowLTlfXSpgLHQuc3JjX3huPWB4bi0tW2EtejAtOVxcLV17MSw1OX1gLHQuc3JjX2RvbWFpbl9yb290PWAoPzpgK3Quc3JjX3huK2B8YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2B7MSw2M30pYCx0LnNyY19kb21haW49YCg/OmArdC5zcmNfeG4rYHwoPzpgK3Quc3JjX3BzZXVkb19sZXR0ZXIrYCl8KD86YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2AoPzotfGArdC5zcmNfcHNldWRvX2xldHRlcitgKXswLDYxfWArdC5zcmNfcHNldWRvX2xldHRlcitgKSlgLHQuc3JjX2hvc3Q9YCg/Oig/Oig/Oig/OmArdC5zcmNfZG9tYWluK2ApXFwuKSpgK3Quc3JjX2RvbWFpbitgKSlgLHQudHBsX2hvc3RfZnV6enk9YCg/OmArdC5zcmNfaXA0K2B8KD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpKWAsdC50cGxfaG9zdF9ub19pcF9mdXp6eT1gKD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpYCx0LnNyY19ob3N0X3N0cmljdD10LnNyY19ob3N0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnNyY19ob3N0X3BvcnRfc3RyaWN0PXQuc3JjX2hvc3QrdC5zcmNfcG9ydCt0LnNyY19ob3N0X3Rlcm1pbmF0b3IsdC50cGxfaG9zdF9wb3J0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX3BvcnQrdC5zcmNfaG9zdF90ZXJtaW5hdG9yLHQudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3Q9dC50cGxfaG9zdF9ub19pcF9mdXp6eSt0LnNyY19wb3J0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3Rlc3Q9YGxvY2FsaG9zdHx3d3dcXC58XFwuXFxkezEsM31cXC58KD86XFwuKD86JVRMRFMlKSg/OmArdC5zcmNfWlBDYytgfD58JCkpYCx0LnRwbF9lbWFpbF9mdXp6eT1gKF58YCtuK2B8InxcXCh8YCt0LnNyY19aQ2MrYCkoYCt0LnNyY19lbWFpbF9uYW1lK2BAYCt0LnRwbF9ob3N0X2Z1enp5X3N0cmljdCtgKWAsdC50cGxfbGlua19mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdC50cGxfbGlua19ub19pcF9mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdH1mdW5jdGlvbiBRZChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLmZvckVhY2goZnVuY3Rpb24odCl7dCYmT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlW25dPXRbbl19KX0pLGV9ZnVuY3Rpb24gJGQoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBlZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBTdHJpbmddYH1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBPYmplY3RdYH1mdW5jdGlvbiBuZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBSZWdFeHBdYH1mdW5jdGlvbiByZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBGdW5jdGlvbl1gfWZ1bmN0aW9uIGFmKGUpe3JldHVybiBlLnJlcGxhY2UoL1suPyorXiRbXF1cXCgpe318LV0vZyxgXFwkJmApfXZhciBvZj17ZnV6enlMaW5rOiEwLGZ1enp5RW1haWw6ITAsZnV6enlJUDohMX07ZnVuY3Rpb24gc2YoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGV8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZXx8b2YuaGFzT3duUHJvcGVydHkodCl9LCExKX12YXIgY2Y9eyJodHRwOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLmh0dHB8fChuLnJlLmh0dHA9UmVnRXhwKGBeXFwvXFwvYCtuLnJlLnNyY19hdXRoK24ucmUuc3JjX2hvc3RfcG9ydF9zdHJpY3Qrbi5yZS5zcmNfcGF0aCxgaWApKSxuLnJlLmh0dHAudGVzdChyKT9yLm1hdGNoKG4ucmUuaHR0cClbMF0ubGVuZ3RoOjB9fSwiaHR0cHM6IjpgaHR0cDpgLCJmdHA6IjpgaHR0cDpgLCIvLyI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm5vX2h0dHB8fChuLnJlLm5vX2h0dHA9UmVnRXhwKGBeYCtuLnJlLnNyY19hdXRoK2AoPzpsb2NhbGhvc3R8KD86KD86YCtuLnJlLnNyY19kb21haW4rYClcXC4pK2Arbi5yZS5zcmNfZG9tYWluX3Jvb3QrYClgK24ucmUuc3JjX3BvcnQrbi5yZS5zcmNfaG9zdF90ZXJtaW5hdG9yK24ucmUuc3JjX3BhdGgsYGlgKSksbi5yZS5ub19odHRwLnRlc3Qocik/dD49MyYmZVt0LTNdPT09YDpgfHx0Pj0zJiZlW3QtM109PT1gL2A/MDpyLm1hdGNoKG4ucmUubm9faHR0cClbMF0ubGVuZ3RoOjB9fSwibWFpbHRvOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm1haWx0b3x8KG4ucmUubWFpbHRvPVJlZ0V4cChgXmArbi5yZS5zcmNfZW1haWxfbmFtZStgQGArbi5yZS5zcmNfaG9zdF9zdHJpY3QsYGlgKSksbi5yZS5tYWlsdG8udGVzdChyKT9yLm1hdGNoKG4ucmUubWFpbHRvKVswXS5sZW5ndGg6MH19fSxsZj1gYVtjZGVmZ2lsbW5vcXJzdHV3eHpdfGJbYWJkZWZnaGlqbW5vcnN0dnd5el18Y1thY2RmZ2hpa2xtbm9ydXZ3eHl6XXxkW2Vqa21vel18ZVtjZWdyc3R1XXxmW2lqa21vcl18Z1thYmRlZmdoaWxtbnBxcnN0dXd5XXxoW2ttbnJ0dV18aVtkZWxtbm9xcnN0XXxqW2Vtb3BdfGtbZWdoaW1ucHJ3eXpdfGxbYWJjaWtyc3R1dnldfG1bYWNkZWdoa2xtbm9wcXJzdHV2d3h5el18blthY2VmZ2lsb3BydXpdfG9tfHBbYWVmZ2hrbG1ucnN0d3ldfHFhfHJbZW9zdXddfHNbYWJjZGVnaGlqa2xtbm9ydHV2eHl6XXx0W2NkZmdoamtsbW5vcnR2d3pdfHVbYWdrc3l6XXx2W2FjZWdpbnVdfHdbZnNdfHlbZXRdfHpbYW13XWAsdWY9YGJpenxjb218ZWR1fGdvdnxuZXR8b3JnfHByb3x3ZWJ8eHh4fGFlcm98YXNpYXxjb29wfGluZm98bXVzZXVtfG5hbWV8c2hvcHzRgNGEYC5zcGxpdChgfGApO2Z1bmN0aW9uIGRmKGUpe2UuX19pbmRleF9fPS0xLGUuX190ZXh0X2NhY2hlX189YGB9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7bGV0IHI9dC5zbGljZShuKTtyZXR1cm4gZS50ZXN0KHIpP3IubWF0Y2goZSlbMF0ubGVuZ3RoOjB9fWZ1bmN0aW9uIHBmKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dC5ub3JtYWxpemUoZSl9fWZ1bmN0aW9uIG1mKGUpe2xldCB0PWUucmU9WmQoZS5fX29wdHNfXyksbj1lLl9fdGxkc19fLnNsaWNlKCk7ZS5vbkNvbXBpbGUoKSxlLl9fdGxkc19yZXBsYWNlZF9ffHxuLnB1c2gobGYpLG4ucHVzaCh0LnNyY194biksdC5zcmNfdGxkcz1uLmpvaW4oYHxgKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLnJlcGxhY2UoYCVUTERTJWAsdC5zcmNfdGxkcyl9dC5lbWFpbF9mdXp6eT1SZWdFeHAocih0LnRwbF9lbWFpbF9mdXp6eSksYGlgKSx0LmxpbmtfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19mdXp6eSksYGlgKSx0Lmxpbmtfbm9faXBfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19ub19pcF9mdXp6eSksYGlgKSx0Lmhvc3RfZnV6enlfdGVzdD1SZWdFeHAocih0LnRwbF9ob3N0X2Z1enp5X3Rlc3QpLGBpYCk7bGV0IGk9W107ZS5fX2NvbXBpbGVkX189e307ZnVuY3Rpb24gYShlLHQpe3Rocm93IEVycm9yKGAoTGlua2lmeUl0KSBJbnZhbGlkIHNjaGVtYSAiYCtlK2AiOiBgK3QpfU9iamVjdC5rZXlzKGUuX19zY2hlbWFzX18pLmZvckVhY2goZnVuY3Rpb24odCl7bGV0IG49ZS5fX3NjaGVtYXNfX1t0XTtpZihuPT09bnVsbClyZXR1cm47bGV0IHI9e3ZhbGlkYXRlOm51bGwsbGluazpudWxsfTtpZihlLl9fY29tcGlsZWRfX1t0XT1yLHRmKG4pKXtuZihuLnZhbGlkYXRlKT9yLnZhbGlkYXRlPWZmKG4udmFsaWRhdGUpOnJmKG4udmFsaWRhdGUpP3IudmFsaWRhdGU9bi52YWxpZGF0ZTphKHQsbikscmYobi5ub3JtYWxpemUpP3Iubm9ybWFsaXplPW4ubm9ybWFsaXplOm4ubm9ybWFsaXplP2EodCxuKTpyLm5vcm1hbGl6ZT1wZigpO3JldHVybn1pZihlZihuKSl7aS5wdXNoKHQpO3JldHVybn1hKHQsbil9KSxpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0mJihlLl9fY29tcGlsZWRfX1t0XS52YWxpZGF0ZT1lLl9fY29tcGlsZWRfX1tlLl9fc2NoZW1hc19fW3RdXS52YWxpZGF0ZSxlLl9fY29tcGlsZWRfX1t0XS5ub3JtYWxpemU9ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0ubm9ybWFsaXplKX0pLGUuX19jb21waWxlZF9fW2BgXT17dmFsaWRhdGU6bnVsbCxub3JtYWxpemU6cGYoKX07bGV0IG89T2JqZWN0LmtleXMoZS5fX2NvbXBpbGVkX18pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MCYmZS5fX2NvbXBpbGVkX19bdF19KS5tYXAoYWYpLmpvaW4oYHxgKTtlLnJlLnNjaGVtYV90ZXN0PVJlZ0V4cChgKF58KD8hXykoPzpbPjzvvZxdfGArdC5zcmNfWlBDYytgKSkoYCtvK2ApYCxgaWApLGUucmUuc2NoZW1hX3NlYXJjaD1SZWdFeHAoYChefCg/IV8pKD86Wz48772cXXxgK3Quc3JjX1pQQ2MrYCkpKGArbytgKWAsYGlnYCksZS5yZS5zY2hlbWFfYXRfc3RhcnQ9UmVnRXhwKGBeYCtlLnJlLnNjaGVtYV9zZWFyY2guc291cmNlLGBpYCksZS5yZS5wcmV0ZXN0PVJlZ0V4cChgKGArZS5yZS5zY2hlbWFfdGVzdC5zb3VyY2UrYCl8KGArZS5yZS5ob3N0X2Z1enp5X3Rlc3Quc291cmNlK2ApfEBgLGBpYCksZGYoZSl9ZnVuY3Rpb24gaGYoZSx0KXtsZXQgbj1lLl9faW5kZXhfXyxyPWUuX19sYXN0X2luZGV4X18saT1lLl9fdGV4dF9jYWNoZV9fLnNsaWNlKG4scik7dGhpcy5zY2hlbWE9ZS5fX3NjaGVtYV9fLnRvTG93ZXJDYXNlKCksdGhpcy5pbmRleD1uK3QsdGhpcy5sYXN0SW5kZXg9cit0LHRoaXMucmF3PWksdGhpcy50ZXh0PWksdGhpcy51cmw9aX1mdW5jdGlvbiBnZihlLHQpe2xldCBuPW5ldyBoZihlLHQpO3JldHVybiBlLl9fY29tcGlsZWRfX1tuLnNjaGVtYV0ubm9ybWFsaXplKG4sZSksbn1mdW5jdGlvbiBfZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIF9mKSlyZXR1cm4gbmV3IF9mKGUsdCk7dHx8c2YoZSkmJih0PWUsZT17fSksdGhpcy5fX29wdHNfXz1RZCh7fSxvZix0KSx0aGlzLl9faW5kZXhfXz0tMSx0aGlzLl9fbGFzdF9pbmRleF9fPS0xLHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9fdGV4dF9jYWNoZV9fPWBgLHRoaXMuX19zY2hlbWFzX189UWQoe30sY2YsZSksdGhpcy5fX2NvbXBpbGVkX189e30sdGhpcy5fX3RsZHNfXz11Zix0aGlzLl9fdGxkc19yZXBsYWNlZF9fPSExLHRoaXMucmU9e30sbWYodGhpcyl9X2YucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9fc2NoZW1hc19fW2VdPXQsbWYodGhpcyksdGhpc30sX2YucHJvdG90eXBlLnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fX29wdHNfXz1RZCh0aGlzLl9fb3B0c19fLGUpLHRoaXN9LF9mLnByb3RvdHlwZS50ZXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX190ZXh0X2NhY2hlX189ZSx0aGlzLl9faW5kZXhfXz0tMSwhZS5sZW5ndGgpcmV0dXJuITE7bGV0IHQsbixyLGksYSxvLHMsYyxsO2lmKHRoaXMucmUuc2NoZW1hX3Rlc3QudGVzdChlKSl7Zm9yKHM9dGhpcy5yZS5zY2hlbWFfc2VhcmNoLHMubGFzdEluZGV4PTA7KHQ9cy5leGVjKGUpKSE9PW51bGw7KWlmKGk9dGhpcy50ZXN0U2NoZW1hQXQoZSx0WzJdLHMubGFzdEluZGV4KSxpKXt0aGlzLl9fc2NoZW1hX189dFsyXSx0aGlzLl9faW5kZXhfXz10LmluZGV4K3RbMV0ubGVuZ3RoLHRoaXMuX19sYXN0X2luZGV4X189dC5pbmRleCt0WzBdLmxlbmd0aCtpO2JyZWFrfX1yZXR1cm4gdGhpcy5fX29wdHNfXy5mdXp6eUxpbmsmJnRoaXMuX19jb21waWxlZF9fW2BodHRwOmBdJiYoYz1lLnNlYXJjaCh0aGlzLnJlLmhvc3RfZnV6enlfdGVzdCksYz49MCYmKHRoaXMuX19pbmRleF9fPDB8fGM8dGhpcy5fX2luZGV4X18pJiYobj1lLm1hdGNoKHRoaXMuX19vcHRzX18uZnV6enlJUD90aGlzLnJlLmxpbmtfZnV6enk6dGhpcy5yZS5saW5rX25vX2lwX2Z1enp5KSkhPT1udWxsJiYoYT1uLmluZGV4K25bMV0ubGVuZ3RoLCh0aGlzLl9faW5kZXhfXzwwfHxhPHRoaXMuX19pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9faW5kZXhfXz1hLHRoaXMuX19sYXN0X2luZGV4X189bi5pbmRleCtuWzBdLmxlbmd0aCkpKSx0aGlzLl9fb3B0c19fLmZ1enp5RW1haWwmJnRoaXMuX19jb21waWxlZF9fW2BtYWlsdG86YF0mJihsPWUuaW5kZXhPZihgQGApLGw+PTAmJihyPWUubWF0Y2godGhpcy5yZS5lbWFpbF9mdXp6eSkpIT09bnVsbCYmKGE9ci5pbmRleCtyWzFdLmxlbmd0aCxvPXIuaW5kZXgrclswXS5sZW5ndGgsKHRoaXMuX19pbmRleF9fPDB8fGE8dGhpcy5fX2luZGV4X198fGE9PT10aGlzLl9faW5kZXhfXyYmbz50aGlzLl9fbGFzdF9pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gbWFpbHRvOmAsdGhpcy5fX2luZGV4X189YSx0aGlzLl9fbGFzdF9pbmRleF9fPW8pKSksdGhpcy5fX2luZGV4X18+PTB9LF9mLnByb3RvdHlwZS5wcmV0ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlLnByZXRlc3QudGVzdChlKX0sX2YucHJvdG90eXBlLnRlc3RTY2hlbWFBdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuX19jb21waWxlZF9fW3QudG9Mb3dlckNhc2UoKV0/dGhpcy5fX2NvbXBpbGVkX19bdC50b0xvd2VyQ2FzZSgpXS52YWxpZGF0ZShlLG4sdGhpcyk6MH0sX2YucHJvdG90eXBlLm1hdGNoPWZ1bmN0aW9uKGUpe2xldCB0PVtdLG49MDt0aGlzLl9faW5kZXhfXz49MCYmdGhpcy5fX3RleHRfY2FjaGVfXz09PWUmJih0LnB1c2goZ2YodGhpcyxuKSksbj10aGlzLl9fbGFzdF9pbmRleF9fKTtsZXQgcj1uP2Uuc2xpY2Uobik6ZTtmb3IoO3RoaXMudGVzdChyKTspdC5wdXNoKGdmKHRoaXMsbikpLHI9ci5zbGljZSh0aGlzLl9fbGFzdF9pbmRleF9fKSxuKz10aGlzLl9fbGFzdF9pbmRleF9fO3JldHVybiB0Lmxlbmd0aD90Om51bGx9LF9mLnByb3RvdHlwZS5tYXRjaEF0U3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fX3RleHRfY2FjaGVfXz1lLHRoaXMuX19pbmRleF9fPS0xLCFlLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgdD10aGlzLnJlLnNjaGVtYV9hdF9zdGFydC5leGVjKGUpO2lmKCF0KXJldHVybiBudWxsO2xldCBuPXRoaXMudGVzdFNjaGVtYUF0KGUsdFsyXSx0WzBdLmxlbmd0aCk7cmV0dXJuIG4/KHRoaXMuX19zY2hlbWFfXz10WzJdLHRoaXMuX19pbmRleF9fPXQuaW5kZXgrdFsxXS5sZW5ndGgsdGhpcy5fX2xhc3RfaW5kZXhfXz10LmluZGV4K3RbMF0ubGVuZ3RoK24sZ2YodGhpcywwKSk6bnVsbH0sX2YucHJvdG90eXBlLnRsZHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1BcnJheS5pc0FycmF5KGUpP2U6W2VdLHQ/KHRoaXMuX190bGRzX189dGhpcy5fX3RsZHNfXy5jb25jYXQoZSkuc29ydCgpLmZpbHRlcihmdW5jdGlvbihlLHQsbil7cmV0dXJuIGUhPT1uW3QtMV19KS5yZXZlcnNlKCksbWYodGhpcyksdGhpcyk6KHRoaXMuX190bGRzX189ZS5zbGljZSgpLHRoaXMuX190bGRzX3JlcGxhY2VkX189ITAsbWYodGhpcyksdGhpcyl9LF9mLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7ZS5zY2hlbWF8fChlLnVybD1gaHR0cDovL2ArZS51cmwpLGUuc2NoZW1hPT09YG1haWx0bzpgJiYhL15tYWlsdG86L2kudGVzdChlLnVybCkmJihlLnVybD1gbWFpbHRvOmArZS51cmwpfSxfZi5wcm90b3R5cGUub25Db21waWxlPWZ1bmN0aW9uKCl7fTt2YXIgdmY9SlNPTi5wYXJzZShgWyJhYWEiLCJhYXJwIiwiYWJiIiwiYWJib3R0IiwiYWJidmllIiwiYWJjIiwiYWJsZSIsImFib2dhZG8iLCJhYnVkaGFiaSIsImFjIiwiYWNhZGVteSIsImFjY2VudHVyZSIsImFjY291bnRhbnQiLCJhY2NvdW50YW50cyIsImFjbyIsImFjdG9yIiwiYWQiLCJhZHMiLCJhZHVsdCIsImFlIiwiYWVnIiwiYWVybyIsImFldG5hIiwiYWYiLCJhZmwiLCJhZnJpY2EiLCJhZyIsImFnYWtoYW4iLCJhZ2VuY3kiLCJhaSIsImFpZyIsImFpcmJ1cyIsImFpcmZvcmNlIiwiYWlydGVsIiwiYWtkbiIsImFsIiwiYWxpYmFiYSIsImFsaXBheSIsImFsbGZpbmFueiIsImFsbHN0YXRlIiwiYWxseSIsImFsc2FjZSIsImFsc3RvbSIsImFtIiwiYW1hem9uIiwiYW1lcmljYW5leHByZXNzIiwiYW1lcmljYW5mYW1pbHkiLCJhbWV4IiwiYW1mYW0iLCJhbWljYSIsImFtc3RlcmRhbSIsImFuYWx5dGljcyIsImFuZHJvaWQiLCJhbnF1YW4iLCJhbnoiLCJhbyIsImFvbCIsImFwYXJ0bWVudHMiLCJhcHAiLCJhcHBsZSIsImFxIiwiYXF1YXJlbGxlIiwiYXIiLCJhcmFiIiwiYXJhbWNvIiwiYXJjaGkiLCJhcm15IiwiYXJwYSIsImFydCIsImFydGUiLCJhcyIsImFzZGEiLCJhc2lhIiwiYXNzb2NpYXRlcyIsImF0IiwiYXRobGV0YSIsImF0dG9ybmV5IiwiYXUiLCJhdWN0aW9uIiwiYXVkaSIsImF1ZGlibGUiLCJhdWRpbyIsImF1c3Bvc3QiLCJhdXRob3IiLCJhdXRvIiwiYXV0b3MiLCJhdyIsImF3cyIsImF4IiwiYXhhIiwiYXoiLCJhenVyZSIsImJhIiwiYmFieSIsImJhaWR1IiwiYmFuYW1leCIsImJhbmQiLCJiYW5rIiwiYmFyIiwiYmFyY2Vsb25hIiwiYmFyY2xheWNhcmQiLCJiYXJjbGF5cyIsImJhcmVmb290IiwiYmFyZ2FpbnMiLCJiYXNlYmFsbCIsImJhc2tldGJhbGwiLCJiYXVoYXVzIiwiYmF5ZXJuIiwiYmIiLCJiYmMiLCJiYnQiLCJiYnZhIiwiYmNnIiwiYmNuIiwiYmQiLCJiZSIsImJlYXRzIiwiYmVhdXR5IiwiYmVlciIsImJlcmxpbiIsImJlc3QiLCJiZXN0YnV5IiwiYmV0IiwiYmYiLCJiZyIsImJoIiwiYmhhcnRpIiwiYmkiLCJiaWJsZSIsImJpZCIsImJpa2UiLCJiaW5nIiwiYmluZ28iLCJiaW8iLCJiaXoiLCJiaiIsImJsYWNrIiwiYmxhY2tmcmlkYXkiLCJibG9ja2J1c3RlciIsImJsb2ciLCJibG9vbWJlcmciLCJibHVlIiwiYm0iLCJibXMiLCJibXciLCJibiIsImJucHBhcmliYXMiLCJibyIsImJvYXRzIiwiYm9laHJpbmdlciIsImJvZmEiLCJib20iLCJib25kIiwiYm9vIiwiYm9vayIsImJvb2tpbmciLCJib3NjaCIsImJvc3RpayIsImJvc3RvbiIsImJvdCIsImJvdXRpcXVlIiwiYm94IiwiYnIiLCJicmFkZXNjbyIsImJyaWRnZXN0b25lIiwiYnJvYWR3YXkiLCJicm9rZXIiLCJicm90aGVyIiwiYnJ1c3NlbHMiLCJicyIsImJ0IiwiYnVpbGQiLCJidWlsZGVycyIsImJ1c2luZXNzIiwiYnV5IiwiYnV6eiIsImJ2IiwiYnciLCJieSIsImJ6IiwiYnpoIiwiY2EiLCJjYWIiLCJjYWZlIiwiY2FsIiwiY2FsbCIsImNhbHZpbmtsZWluIiwiY2FtIiwiY2FtZXJhIiwiY2FtcCIsImNhbm9uIiwiY2FwZXRvd24iLCJjYXBpdGFsIiwiY2FwaXRhbG9uZSIsImNhciIsImNhcmF2YW4iLCJjYXJkcyIsImNhcmUiLCJjYXJlZXIiLCJjYXJlZXJzIiwiY2FycyIsImNhc2EiLCJjYXNlIiwiY2FzaCIsImNhc2lubyIsImNhdCIsImNhdGVyaW5nIiwiY2F0aG9saWMiLCJjYmEiLCJjYm4iLCJjYnJlIiwiY2MiLCJjZCIsImNlbnRlciIsImNlbyIsImNlcm4iLCJjZiIsImNmYSIsImNmZCIsImNnIiwiY2giLCJjaGFuZWwiLCJjaGFubmVsIiwiY2hhcml0eSIsImNoYXNlIiwiY2hhdCIsImNoZWFwIiwiY2hpbnRhaSIsImNocmlzdG1hcyIsImNocm9tZSIsImNodXJjaCIsImNpIiwiY2lwcmlhbmkiLCJjaXJjbGUiLCJjaXNjbyIsImNpdGFkZWwiLCJjaXRpIiwiY2l0aWMiLCJjaXR5IiwiY2siLCJjbCIsImNsYWltcyIsImNsZWFuaW5nIiwiY2xpY2siLCJjbGluaWMiLCJjbGluaXF1ZSIsImNsb3RoaW5nIiwiY2xvdWQiLCJjbHViIiwiY2x1Ym1lZCIsImNtIiwiY24iLCJjbyIsImNvYWNoIiwiY29kZXMiLCJjb2ZmZWUiLCJjb2xsZWdlIiwiY29sb2duZSIsImNvbSIsImNvbW1iYW5rIiwiY29tbXVuaXR5IiwiY29tcGFueSIsImNvbXBhcmUiLCJjb21wdXRlciIsImNvbXNlYyIsImNvbmRvcyIsImNvbnN0cnVjdGlvbiIsImNvbnN1bHRpbmciLCJjb250YWN0IiwiY29udHJhY3RvcnMiLCJjb29raW5nIiwiY29vbCIsImNvb3AiLCJjb3JzaWNhIiwiY291bnRyeSIsImNvdXBvbiIsImNvdXBvbnMiLCJjb3Vyc2VzIiwiY3BhIiwiY3IiLCJjcmVkaXQiLCJjcmVkaXRjYXJkIiwiY3JlZGl0dW5pb24iLCJjcmlja2V0IiwiY3Jvd24iLCJjcnMiLCJjcnVpc2UiLCJjcnVpc2VzIiwiY3UiLCJjdWlzaW5lbGxhIiwiY3YiLCJjdyIsImN4IiwiY3kiLCJjeW1ydSIsImN5b3UiLCJjeiIsImRhZCIsImRhbmNlIiwiZGF0YSIsImRhdGUiLCJkYXRpbmciLCJkYXRzdW4iLCJkYXkiLCJkY2xrIiwiZGRzIiwiZGUiLCJkZWFsIiwiZGVhbGVyIiwiZGVhbHMiLCJkZWdyZWUiLCJkZWxpdmVyeSIsImRlbGwiLCJkZWxvaXR0ZSIsImRlbHRhIiwiZGVtb2NyYXQiLCJkZW50YWwiLCJkZW50aXN0IiwiZGVzaSIsImRlc2lnbiIsImRldiIsImRobCIsImRpYW1vbmRzIiwiZGlldCIsImRpZ2l0YWwiLCJkaXJlY3QiLCJkaXJlY3RvcnkiLCJkaXNjb3VudCIsImRpc2NvdmVyIiwiZGlzaCIsImRpeSIsImRqIiwiZGsiLCJkbSIsImRucCIsImRvIiwiZG9jcyIsImRvY3RvciIsImRvZyIsImRvbWFpbnMiLCJkb3QiLCJkb3dubG9hZCIsImRyaXZlIiwiZHR2IiwiZHViYWkiLCJkdXBvbnQiLCJkdXJiYW4iLCJkdmFnIiwiZHZyIiwiZHoiLCJlYXJ0aCIsImVhdCIsImVjIiwiZWNvIiwiZWRla2EiLCJlZHUiLCJlZHVjYXRpb24iLCJlZSIsImVnIiwiZW1haWwiLCJlbWVyY2siLCJlbmVyZ3kiLCJlbmdpbmVlciIsImVuZ2luZWVyaW5nIiwiZW50ZXJwcmlzZXMiLCJlcHNvbiIsImVxdWlwbWVudCIsImVyIiwiZXJpY3Nzb24iLCJlcm5pIiwiZXMiLCJlc3EiLCJlc3RhdGUiLCJldCIsImV1IiwiZXVyb3Zpc2lvbiIsImV1cyIsImV2ZW50cyIsImV4Y2hhbmdlIiwiZXhwZXJ0IiwiZXhwb3NlZCIsImV4cHJlc3MiLCJleHRyYXNwYWNlIiwiZmFnZSIsImZhaWwiLCJmYWlyd2luZHMiLCJmYWl0aCIsImZhbWlseSIsImZhbiIsImZhbnMiLCJmYXJtIiwiZmFybWVycyIsImZhc2hpb24iLCJmYXN0IiwiZmVkZXgiLCJmZWVkYmFjayIsImZlcnJhcmkiLCJmZXJyZXJvIiwiZmkiLCJmaWRlbGl0eSIsImZpZG8iLCJmaWxtIiwiZmluYWwiLCJmaW5hbmNlIiwiZmluYW5jaWFsIiwiZmlyZSIsImZpcmVzdG9uZSIsImZpcm1kYWxlIiwiZmlzaCIsImZpc2hpbmciLCJmaXQiLCJmaXRuZXNzIiwiZmoiLCJmayIsImZsaWNrciIsImZsaWdodHMiLCJmbGlyIiwiZmxvcmlzdCIsImZsb3dlcnMiLCJmbHkiLCJmbSIsImZvIiwiZm9vIiwiZm9vZCIsImZvb3RiYWxsIiwiZm9yZCIsImZvcmV4IiwiZm9yc2FsZSIsImZvcnVtIiwiZm91bmRhdGlvbiIsImZveCIsImZyIiwiZnJlZSIsImZyZXNlbml1cyIsImZybCIsImZyb2dhbnMiLCJmcm9udGllciIsImZ0ciIsImZ1aml0c3UiLCJmdW4iLCJmdW5kIiwiZnVybml0dXJlIiwiZnV0Ym9sIiwiZnlpIiwiZ2EiLCJnYWwiLCJnYWxsZXJ5IiwiZ2FsbG8iLCJnYWxsdXAiLCJnYW1lIiwiZ2FtZXMiLCJnYXAiLCJnYXJkZW4iLCJnYXkiLCJnYiIsImdiaXoiLCJnZCIsImdkbiIsImdlIiwiZ2VhIiwiZ2VudCIsImdlbnRpbmciLCJnZW9yZ2UiLCJnZiIsImdnIiwiZ2dlZSIsImdoIiwiZ2kiLCJnaWZ0IiwiZ2lmdHMiLCJnaXZlcyIsImdpdmluZyIsImdsIiwiZ2xhc3MiLCJnbGUiLCJnbG9iYWwiLCJnbG9ibyIsImdtIiwiZ21haWwiLCJnbWJoIiwiZ21vIiwiZ214IiwiZ24iLCJnb2RhZGR5IiwiZ29sZCIsImdvbGRwb2ludCIsImdvbGYiLCJnb28iLCJnb29keWVhciIsImdvb2ciLCJnb29nbGUiLCJnb3AiLCJnb3QiLCJnb3YiLCJncCIsImdxIiwiZ3IiLCJncmFpbmdlciIsImdyYXBoaWNzIiwiZ3JhdGlzIiwiZ3JlZW4iLCJncmlwZSIsImdyb2NlcnkiLCJncm91cCIsImdzIiwiZ3QiLCJndSIsImd1Y2NpIiwiZ3VnZSIsImd1aWRlIiwiZ3VpdGFycyIsImd1cnUiLCJndyIsImd5IiwiaGFpciIsImhhbWJ1cmciLCJoYW5nb3V0IiwiaGF1cyIsImhibyIsImhkZmMiLCJoZGZjYmFuayIsImhlYWx0aCIsImhlYWx0aGNhcmUiLCJoZWxwIiwiaGVsc2lua2kiLCJoZXJlIiwiaGVybWVzIiwiaGlwaG9wIiwiaGlzYW1pdHN1IiwiaGl0YWNoaSIsImhpdiIsImhrIiwiaGt0IiwiaG0iLCJobiIsImhvY2tleSIsImhvbGRpbmdzIiwiaG9saWRheSIsImhvbWVkZXBvdCIsImhvbWVnb29kcyIsImhvbWVzIiwiaG9tZXNlbnNlIiwiaG9uZGEiLCJob3JzZSIsImhvc3BpdGFsIiwiaG9zdCIsImhvc3RpbmciLCJob3QiLCJob3RlbHMiLCJob3RtYWlsIiwiaG91c2UiLCJob3ciLCJociIsImhzYmMiLCJodCIsImh1IiwiaHVnaGVzIiwiaHlhdHQiLCJoeXVuZGFpIiwiaWJtIiwiaWNiYyIsImljZSIsImljdSIsImlkIiwiaWUiLCJpZWVlIiwiaWZtIiwiaWthbm8iLCJpbCIsImltIiwiaW1hbWF0IiwiaW1kYiIsImltbW8iLCJpbW1vYmlsaWVuIiwiaW4iLCJpbmMiLCJpbmR1c3RyaWVzIiwiaW5maW5pdGkiLCJpbmZvIiwiaW5nIiwiaW5rIiwiaW5zdGl0dXRlIiwiaW5zdXJhbmNlIiwiaW5zdXJlIiwiaW50IiwiaW50ZXJuYXRpb25hbCIsImludHVpdCIsImludmVzdG1lbnRzIiwiaW8iLCJpcGlyYW5nYSIsImlxIiwiaXIiLCJpcmlzaCIsImlzIiwiaXNtYWlsaSIsImlzdCIsImlzdGFuYnVsIiwiaXQiLCJpdGF1IiwiaXR2IiwiamFndWFyIiwiamF2YSIsImpjYiIsImplIiwiamVlcCIsImpldHp0IiwiamV3ZWxyeSIsImppbyIsImpsbCIsImptIiwiam1wIiwiam5qIiwiam8iLCJqb2JzIiwiam9idXJnIiwiam90Iiwiam95IiwianAiLCJqcG1vcmdhbiIsImpwcnMiLCJqdWVnb3MiLCJqdW5pcGVyIiwia2F1ZmVuIiwia2RkaSIsImtlIiwia2Vycnlob3RlbHMiLCJrZXJyeXByb3BlcnRpZXMiLCJrZmgiLCJrZyIsImtoIiwia2kiLCJraWEiLCJraWRzIiwia2ltIiwia2luZGxlIiwia2l0Y2hlbiIsImtpd2kiLCJrbSIsImtuIiwia29lbG4iLCJrb21hdHN1Iiwia29zaGVyIiwia3AiLCJrcG1nIiwia3BuIiwia3IiLCJrcmQiLCJrcmVkIiwia3Vva2dyb3VwIiwia3ciLCJreSIsImt5b3RvIiwia3oiLCJsYSIsImxhY2FpeGEiLCJsYW1ib3JnaGluaSIsImxhbWVyIiwibGFuZCIsImxhbmRyb3ZlciIsImxhbnhlc3MiLCJsYXNhbGxlIiwibGF0IiwibGF0aW5vIiwibGF0cm9iZSIsImxhdyIsImxhd3llciIsImxiIiwibGMiLCJsZHMiLCJsZWFzZSIsImxlY2xlcmMiLCJsZWZyYWsiLCJsZWdhbCIsImxlZ28iLCJsZXh1cyIsImxnYnQiLCJsaSIsImxpZGwiLCJsaWZlIiwibGlmZWluc3VyYW5jZSIsImxpZmVzdHlsZSIsImxpZ2h0aW5nIiwibGlrZSIsImxpbGx5IiwibGltaXRlZCIsImxpbW8iLCJsaW5jb2xuIiwibGluayIsImxpdmUiLCJsaXZpbmciLCJsayIsImxsYyIsImxscCIsImxvYW4iLCJsb2FucyIsImxvY2tlciIsImxvY3VzIiwibG9sIiwibG9uZG9uIiwibG90dGUiLCJsb3R0byIsImxvdmUiLCJscGwiLCJscGxmaW5hbmNpYWwiLCJsciIsImxzIiwibHQiLCJsdGQiLCJsdGRhIiwibHUiLCJsdW5kYmVjayIsImx1eGUiLCJsdXh1cnkiLCJsdiIsImx5IiwibWEiLCJtYWRyaWQiLCJtYWlmIiwibWFpc29uIiwibWFrZXVwIiwibWFuIiwibWFuYWdlbWVudCIsIm1hbmdvIiwibWFwIiwibWFya2V0IiwibWFya2V0aW5nIiwibWFya2V0cyIsIm1hcnJpb3R0IiwibWFyc2hhbGxzIiwibWF0dGVsIiwibWJhIiwibWMiLCJtY2tpbnNleSIsIm1kIiwibWUiLCJtZWQiLCJtZWRpYSIsIm1lZXQiLCJtZWxib3VybmUiLCJtZW1lIiwibWVtb3JpYWwiLCJtZW4iLCJtZW51IiwibWVyY2ttc2QiLCJtZyIsIm1oIiwibWlhbWkiLCJtaWNyb3NvZnQiLCJtaWwiLCJtaW5pIiwibWludCIsIm1pdCIsIm1pdHN1YmlzaGkiLCJtayIsIm1sIiwibWxiIiwibWxzIiwibW0iLCJtbWEiLCJtbiIsIm1vIiwibW9iaSIsIm1vYmlsZSIsIm1vZGEiLCJtb2UiLCJtb2kiLCJtb20iLCJtb25hc2giLCJtb25leSIsIm1vbnN0ZXIiLCJtb3Jtb24iLCJtb3J0Z2FnZSIsIm1vc2NvdyIsIm1vdG8iLCJtb3RvcmN5Y2xlcyIsIm1vdiIsIm1vdmllIiwibXAiLCJtcSIsIm1yIiwibXMiLCJtc2QiLCJtdCIsIm10biIsIm10ciIsIm11IiwibXVzZXVtIiwibXVzaWMiLCJtdiIsIm13IiwibXgiLCJteSIsIm16IiwibmEiLCJuYWIiLCJuYWdveWEiLCJuYW1lIiwibmF2eSIsIm5iYSIsIm5jIiwibmUiLCJuZWMiLCJuZXQiLCJuZXRiYW5rIiwibmV0ZmxpeCIsIm5ldHdvcmsiLCJuZXVzdGFyIiwibmV3IiwibmV3cyIsIm5leHQiLCJuZXh0ZGlyZWN0IiwibmV4dXMiLCJuZiIsIm5mbCIsIm5nIiwibmdvIiwibmhrIiwibmkiLCJuaWNvIiwibmlrZSIsIm5pa29uIiwibmluamEiLCJuaXNzYW4iLCJuaXNzYXkiLCJubCIsIm5vIiwibm9raWEiLCJub3J0b24iLCJub3ciLCJub3dydXoiLCJub3d0diIsIm5wIiwibnIiLCJucmEiLCJucnciLCJudHQiLCJudSIsIm55YyIsIm56Iiwib2JpIiwib2JzZXJ2ZXIiLCJvZmZpY2UiLCJva2luYXdhIiwib2xheWFuIiwib2xheWFuZ3JvdXAiLCJvbGxvIiwib20iLCJvbWVnYSIsIm9uZSIsIm9uZyIsIm9ubCIsIm9ubGluZSIsIm9vbyIsIm9wZW4iLCJvcmFjbGUiLCJvcmFuZ2UiLCJvcmciLCJvcmdhbmljIiwib3JpZ2lucyIsIm9zYWthIiwib3RzdWthIiwib3R0Iiwib3ZoIiwicGEiLCJwYWdlIiwicGFuYXNvbmljIiwicGFyaXMiLCJwYXJzIiwicGFydG5lcnMiLCJwYXJ0cyIsInBhcnR5IiwicGF5IiwicGNjdyIsInBlIiwicGV0IiwicGYiLCJwZml6ZXIiLCJwZyIsInBoIiwicGhhcm1hY3kiLCJwaGQiLCJwaGlsaXBzIiwicGhvbmUiLCJwaG90byIsInBob3RvZ3JhcGh5IiwicGhvdG9zIiwicGh5c2lvIiwicGljcyIsInBpY3RldCIsInBpY3R1cmVzIiwicGlkIiwicGluIiwicGluZyIsInBpbmsiLCJwaW9uZWVyIiwicGl6emEiLCJwayIsInBsIiwicGxhY2UiLCJwbGF5IiwicGxheXN0YXRpb24iLCJwbHVtYmluZyIsInBsdXMiLCJwbSIsInBuIiwicG5jIiwicG9obCIsInBva2VyIiwicG9saXRpZSIsInBvcm4iLCJwb3N0IiwicHIiLCJwcmF4aSIsInByZXNzIiwicHJpbWUiLCJwcm8iLCJwcm9kIiwicHJvZHVjdGlvbnMiLCJwcm9mIiwicHJvZ3Jlc3NpdmUiLCJwcm9tbyIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eSIsInByb3RlY3Rpb24iLCJwcnUiLCJwcnVkZW50aWFsIiwicHMiLCJwdCIsInB1YiIsInB3IiwicHdjIiwicHkiLCJxYSIsInFwb24iLCJxdWViZWMiLCJxdWVzdCIsInJhY2luZyIsInJhZGlvIiwicmUiLCJyZWFkIiwicmVhbGVzdGF0ZSIsInJlYWx0b3IiLCJyZWFsdHkiLCJyZWNpcGVzIiwicmVkIiwicmVkdW1icmVsbGEiLCJyZWhhYiIsInJlaXNlIiwicmVpc2VuIiwicmVpdCIsInJlbGlhbmNlIiwicmVuIiwicmVudCIsInJlbnRhbHMiLCJyZXBhaXIiLCJyZXBvcnQiLCJyZXB1YmxpY2FuIiwicmVzdCIsInJlc3RhdXJhbnQiLCJyZXZpZXciLCJyZXZpZXdzIiwicmV4cm90aCIsInJpY2giLCJyaWNoYXJkbGkiLCJyaWNvaCIsInJpbCIsInJpbyIsInJpcCIsInJvIiwicm9ja3MiLCJyb2RlbyIsInJvZ2VycyIsInJvb20iLCJycyIsInJzdnAiLCJydSIsInJ1Z2J5IiwicnVociIsInJ1biIsInJ3IiwicndlIiwicnl1a3l1Iiwic2EiLCJzYWFybGFuZCIsInNhZmUiLCJzYWZldHkiLCJzYWt1cmEiLCJzYWxlIiwic2Fsb24iLCJzYW1zY2x1YiIsInNhbXN1bmciLCJzYW5kdmlrIiwic2FuZHZpa2Nvcm9tYW50Iiwic2Fub2ZpIiwic2FwIiwic2FybCIsInNhcyIsInNhdmUiLCJzYXhvIiwic2IiLCJzYmkiLCJzYnMiLCJzYyIsInNjYiIsInNjaGFlZmZsZXIiLCJzY2htaWR0Iiwic2Nob2xhcnNoaXBzIiwic2Nob29sIiwic2NodWxlIiwic2Nod2FyeiIsInNjaWVuY2UiLCJzY290Iiwic2QiLCJzZSIsInNlYXJjaCIsInNlYXQiLCJzZWN1cmUiLCJzZWN1cml0eSIsInNlZWsiLCJzZWxlY3QiLCJzZW5lciIsInNlcnZpY2VzIiwic2V2ZW4iLCJzZXciLCJzZXgiLCJzZXh5Iiwic2ZyIiwic2ciLCJzaCIsInNoYW5ncmlsYSIsInNoYXJwIiwic2hlbGwiLCJzaGlhIiwic2hpa3NoYSIsInNob2VzIiwic2hvcCIsInNob3BwaW5nIiwic2hvdWppIiwic2hvdyIsInNpIiwic2lsayIsInNpbmEiLCJzaW5nbGVzIiwic2l0ZSIsInNqIiwic2siLCJza2kiLCJza2luIiwic2t5Iiwic2t5cGUiLCJzbCIsInNsaW5nIiwic20iLCJzbWFydCIsInNtaWxlIiwic24iLCJzbmNmIiwic28iLCJzb2NjZXIiLCJzb2NpYWwiLCJzb2Z0YmFuayIsInNvZnR3YXJlIiwic29odSIsInNvbGFyIiwic29sdXRpb25zIiwic29uZyIsInNvbnkiLCJzb3kiLCJzcGEiLCJzcGFjZSIsInNwb3J0Iiwic3BvdCIsInNyIiwic3JsIiwic3MiLCJzdCIsInN0YWRhIiwic3RhcGxlcyIsInN0YXIiLCJzdGF0ZWJhbmsiLCJzdGF0ZWZhcm0iLCJzdGMiLCJzdGNncm91cCIsInN0b2NraG9sbSIsInN0b3JhZ2UiLCJzdG9yZSIsInN0cmVhbSIsInN0dWRpbyIsInN0dWR5Iiwic3R5bGUiLCJzdSIsInN1Y2tzIiwic3VwcGxpZXMiLCJzdXBwbHkiLCJzdXBwb3J0Iiwic3VyZiIsInN1cmdlcnkiLCJzdXp1a2kiLCJzdiIsInN3YXRjaCIsInN3aXNzIiwic3giLCJzeSIsInN5ZG5leSIsInN5c3RlbXMiLCJzeiIsInRhYiIsInRhaXBlaSIsInRhbGsiLCJ0YW9iYW8iLCJ0YXJnZXQiLCJ0YXRhbW90b3JzIiwidGF0YXIiLCJ0YXR0b28iLCJ0YXgiLCJ0YXhpIiwidGMiLCJ0Y2kiLCJ0ZCIsInRkayIsInRlYW0iLCJ0ZWNoIiwidGVjaG5vbG9neSIsInRlbCIsInRlbWFzZWsiLCJ0ZW5uaXMiLCJ0ZXZhIiwidGYiLCJ0ZyIsInRoIiwidGhkIiwidGhlYXRlciIsInRoZWF0cmUiLCJ0aWFhIiwidGlja2V0cyIsInRpZW5kYSIsInRpcHMiLCJ0aXJlcyIsInRpcm9sIiwidGoiLCJ0am1heHgiLCJ0angiLCJ0ayIsInRrbWF4eCIsInRsIiwidG0iLCJ0bWFsbCIsInRuIiwidG8iLCJ0b2RheSIsInRva3lvIiwidG9vbHMiLCJ0b3AiLCJ0b3JheSIsInRvc2hpYmEiLCJ0b3RhbCIsInRvdXJzIiwidG93biIsInRveW90YSIsInRveXMiLCJ0ciIsInRyYWRlIiwidHJhZGluZyIsInRyYWluaW5nIiwidHJhdmVsIiwidHJhdmVsZXJzIiwidHJhdmVsZXJzaW5zdXJhbmNlIiwidHJ1c3QiLCJ0cnYiLCJ0dCIsInR1YmUiLCJ0dWkiLCJ0dW5lcyIsInR1c2h1IiwidHYiLCJ0dnMiLCJ0dyIsInR6IiwidWEiLCJ1YmFuayIsInVicyIsInVnIiwidWsiLCJ1bmljb20iLCJ1bml2ZXJzaXR5IiwidW5vIiwidW9sIiwidXBzIiwidXMiLCJ1eSIsInV6IiwidmEiLCJ2YWNhdGlvbnMiLCJ2YW5hIiwidmFuZ3VhcmQiLCJ2YyIsInZlIiwidmVnYXMiLCJ2ZW50dXJlcyIsInZlcmlzaWduIiwidmVybcO2Z2Vuc2JlcmF0ZXIiLCJ2ZXJtw7ZnZW5zYmVyYXR1bmciLCJ2ZXJzaWNoZXJ1bmciLCJ2ZXQiLCJ2ZyIsInZpIiwidmlhamVzIiwidmlkZW8iLCJ2aWciLCJ2aWtpbmciLCJ2aWxsYXMiLCJ2aW4iLCJ2aXAiLCJ2aXJnaW4iLCJ2aXNhIiwidmlzaW9uIiwidml2YSIsInZpdm8iLCJ2bGFhbmRlcmVuIiwidm4iLCJ2b2RrYSIsInZvbHZvIiwidm90ZSIsInZvdGluZyIsInZvdG8iLCJ2b3lhZ2UiLCJ2dSIsIndhbGVzIiwid2FsbWFydCIsIndhbHRlciIsIndhbmciLCJ3YW5nZ291Iiwid2F0Y2giLCJ3YXRjaGVzIiwid2VhdGhlciIsIndlYXRoZXJjaGFubmVsIiwid2ViY2FtIiwid2ViZXIiLCJ3ZWJzaXRlIiwid2VkIiwid2VkZGluZyIsIndlaWJvIiwid2VpciIsIndmIiwid2hvc3dobyIsIndpZW4iLCJ3aWtpIiwid2lsbGlhbWhpbGwiLCJ3aW4iLCJ3aW5kb3dzIiwid2luZSIsIndpbm5lcnMiLCJ3bWUiLCJ3b2x0ZXJza2x1d2VyIiwid29vZHNpZGUiLCJ3b3JrIiwid29ya3MiLCJ3b3JsZCIsIndvdyIsIndzIiwid3RjIiwid3RmIiwieGJveCIsInhlcm94IiwieGlodWFuIiwieGluIiwieHh4IiwieHl6IiwieWFjaHRzIiwieWFob28iLCJ5YW1heHVuIiwieWFuZGV4IiwieWUiLCJ5b2RvYmFzaGkiLCJ5b2dhIiwieW9rb2hhbWEiLCJ5b3UiLCJ5b3V0dWJlIiwieXQiLCJ5dW4iLCJ6YSIsInphcHBvcyIsInphcmEiLCJ6ZXJvIiwiemlwIiwiem0iLCJ6b25lIiwienVlcmljaCIsInp3IiwizrXOuyIsIs61z4UiLCLQsdCzIiwi0LHQtdC7Iiwi0LTQtdGC0LgiLCLQtdGOIiwi0LrQsNGC0L7Qu9C40LoiLCLQutC+0LwiLCLQvNC60LQiLCLQvNC+0L0iLCLQvNC+0YHQutCy0LAiLCLQvtC90LvQsNC50L0iLCLQvtGA0LMiLCLRgNGD0YEiLCLRgNGEIiwi0YHQsNC50YIiLCLRgdGA0LEiLCLRg9C60YAiLCLSm9Cw0LciLCLVsNWh1bUiLCLXmdep16jXkNecIiwi16fXldedIiwi2KfYqNmI2LjYqNmKIiwi2KfYsdin2YXZg9mIIiwi2KfZhNin2LHYr9mGIiwi2KfZhNio2K3YsdmK2YYiLCLYp9mE2KzYstin2KbYsSIsItin2YTYs9i52YjYr9mK2KkiLCLYp9mE2LnZhNmK2KfZhiIsItin2YTZhdi62LHYqCIsItin2YXYp9ix2KfYqiIsItin24zYsdin2YYiLCLYqNin2LHYqiIsItio2KfYstin2LEiLCLYqNmK2KrZgyIsItio2r7Yp9ix2KoiLCLYqtmI2YbYsyIsItiz2YjYr9in2YYiLCLYs9mI2LHZitipIiwi2LTYqNmD2KkiLCLYudix2KfZgiIsIti52LHYqCIsIti52YXYp9mGIiwi2YHZhNiz2LfZitmGIiwi2YLYt9ixIiwi2YPYp9ir2YjZhNmK2YMiLCLZg9mI2YUiLCLZhdi12LEiLCLZhdmE2YrYs9mK2KciLCLZhdmI2LHZitiq2KfZhtmK2KciLCLZhdmI2YLYuSIsItmH2YXYsdin2YciLCLZvtin2qnYs9iq2KfZhiIsItqA2KfYsdiqIiwi4KSV4KWJ4KSuIiwi4KSo4KWH4KSfIiwi4KSt4KS+4KSw4KSkIiwi4KSt4KS+4KSw4KSk4KSu4KWNIiwi4KSt4KS+4KSw4KWL4KSkIiwi4KS44KSC4KSX4KSg4KSoIiwi4Kas4Ka+4KaC4Kay4Ka+Iiwi4Kat4Ka+4Kaw4KakIiwi4Kat4Ka+4Kew4KakIiwi4Kit4Ki+4Kiw4KikIiwi4Kqt4Kq+4Kqw4KqkIiwi4Kyt4Ky+4Kyw4KykIiwi4K6H4K6o4K+N4K6k4K6/4K6v4K6+Iiwi4K6H4K6y4K6Z4K+N4K6V4K+IIiwi4K6a4K6/4K6Z4K+N4K6V4K6q4K+N4K6q4K+C4K6w4K+NIiwi4LCt4LC+4LCw4LCk4LGNIiwi4LKt4LK+4LKw4LKkIiwi4LSt4LS+4LSw4LSk4LSCIiwi4La94LaC4Laa4LePIiwi4LiE4Lit4LihIiwi4LmE4LiX4LiiIiwi4Lql4Lqy4LqnIiwi4YOS4YOUIiwi44G/44KT44GqIiwi44Ki44Oe44K+44OzIiwi44Kv44Op44Km44OJIiwi44Kw44O844Kw44OrIiwi44Kz44OgIiwi44K544OI44KiIiwi44K744O844OrIiwi44OV44Kh44OD44K344On44OzIiwi44Od44Kk44Oz44OIIiwi5LiW55WMIiwi5Lit5L+hIiwi5Lit5Zu9Iiwi5Lit5ZyLIiwi5Lit5paH572RIiwi5Lqa6ams6YCKIiwi5LyB5LiaIiwi5L2b5bGxIiwi5L+h5oGvIiwi5YGl5bq3Iiwi5YWr5Y2mIiwi5YWs5Y+4Iiwi5YWs55uKIiwi5Y+w5rm+Iiwi5Y+w54GjIiwi5ZWG5Z+OIiwi5ZWG5bqXIiwi5ZWG5qCHIiwi5ZiJ6YeMIiwi5ZiJ6YeM5aSn6YWS5bqXIiwi5Zyo57q/Iiwi5aSn5ou/Iiwi5aSp5Li75pWZIiwi5aix5LmQIiwi5a626Zu7Iiwi5bm/5LicIiwi5b6u5Y2aIiwi5oWI5ZaEIiwi5oiR54ix5L2gIiwi5omL5py6Iiwi5oub6IGYIiwi5pS/5YqhIiwi5pS/5bqcIiwi5paw5Yqg5Z2hIiwi5paw6Ze7Iiwi5pe25bCaIiwi5pu457GNIiwi5py65p6EIiwi5reh6ams6ZShIiwi5ri45oiPIiwi5r6z6ZaAIiwi54K555yLIiwi56e75YqoIiwi57uE57uH5py65p6EIiwi572R5Z2AIiwi572R5bqXIiwi572R56uZIiwi572R57ucIiwi6IGU6YCaIiwi6LC35q2MIiwi6LSt54mpIiwi6YCa6LKpIiwi6ZuG5ZuiIiwi6Zu76KiK55uI56eRIiwi6aOe5Yip5rWmIiwi6aOf5ZOBIiwi6aSQ5Y6FIiwi6aaZ5qC86YeM5ouJIiwi6aaZ5rivIiwi64u364S3Iiwi64u37Lu0Iiwi7IK87ISxIiwi7ZWc6rWtIl1gKSx5Zj0vXlstISMkJSYnKisvMC05PT9BLVpeX2EtemB7fH1+XShcLj9bLSEjJCUmJyorLzAtOT0/QS1aXl9hLXpge3x9fl0pKkBbYS16QS1aMC05XSgtKlwuP1thLXpBLVowLTldKSpcLlthLXpBLVpdKC0/W2EtekEtWjAtOV0pKyQvLGJmPS8oKD86d3d3Lik/W15ccy5dK1wuW15ccy9dK1wvW15ccy5dKykvLHhmPS9bJjw+IiddL2csU2Y9ZT0+e2xldCB0PXsiJiI6YCZhbXA7YCwiPCI6YCZsdDtgLCI+IjpgJmd0O2AsJyInOmAmcXVvdDtgLCInIjpgJiMzOTtgfSxuPVJlZ0V4cCh4Zi5zb3VyY2UpO3JldHVybiBlJiZuLnRlc3QoZSk/ZS5yZXBsYWNlKHhmLGU9PnRbZV0pOmV8fGBgfSxDZj1gb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAtd2Via2l0LWxpbmUtY2xhbXA6IDE7IGxpbmUtY2xhbXA6IDE7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtgLHdmPW5ldyBfZigpLnRsZHModmYpLnNldCh7ZnV6enlJUDohMH0pLFRmPW5ldyBfZigpLnRsZHModmYpLEVmPShlLHQsbik9PntsZXQgcj1CKCkubG9jYXRpb24uaG9zdG5hbWU7cmV0dXJuYDxhIGhyZWY9IiR7ZX0iIHRhcmdldD0iJHtyLmxlbmd0aD4wJiZlLmluY2x1ZGVzKHIpP2BfcGFyZW50YDpgX2JsYW5rYH0iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciIgdGl0bGU9IiR7ZX0iIHN0eWxlPSIke24/LmNsYW1wJiYhbj8ucmVwbGFjZVRleHQ/Q2Y6YGB9Ij4ke3R9PC9hPmB9LERmPShlLHQpPT57aWYoZT09PWBgKXJldHVybiBlO2xldCBuPXdmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBTZihlKTtsZXQgcj1gYCxpPTA7cmV0dXJuIG4uZm9yRWFjaChuPT57bGV0IGE9YGAsbz1gYCxzPU9mKGUsbiksYz10Py5jbGFtcCYmbi50ZXh0Lmxlbmd0aD4zMCYmIXM7bi5pbmRleD5pJiYoYT1lLnN1YnN0cmluZyhpLG4uaW5kZXgpKSxvPUVmKG4udXJsLG4udGV4dCx7Li4udCxjbGFtcDpjfSksaT1uLmxhc3RJbmRleCxzJiYoYT1hLnN1YnN0cmluZygwLGEubGVuZ3RoLTEpLGkrPTEpLGMmJiFrZihlLG4pJiYobz1gXG4ke299XG5gLGE9YS50cmltRW5kKCksZVtpXT8ubWF0Y2goL1xzLykmJihpKz0xKSkscis9U2YoYSkrb30pLGUubGVuZ3RoPmkmJihyKz1TZihlLnN1YnN0cmluZyhpKSkpLHJ9LE9mPShlLHQpPT5lW3QuaW5kZXgtMV09PT1gImAmJmVbdC5sYXN0SW5kZXhdPT09YCJgLGtmPShlLHQpPT4hISh0LmluZGV4PD0xJiZlLnN1YnN0cmluZyh0Lmxhc3RJbmRleCx0Lmxhc3RJbmRleCszKS5tYXRjaCgvW1xuXHJdKy8pfHxlLnN1YnN0cmluZyh0LmluZGV4LTMsdC5pbmRleCkubWF0Y2goL1tcblxyXSsvKSYmZS5zdWJzdHJpbmcodC5sYXN0SW5kZXgsdC5sYXN0SW5kZXgrMykubWF0Y2goL1tcblxyXSsvKXx8ZS5zdWJzdHJpbmcodC5pbmRleC0zLHQuaW5kZXgpLm1hdGNoKC9bXG5ccl0rLykmJnQubGFzdEluZGV4PmUubGVuZ3RoLTN8fHQuaW5kZXg8PTEmJnQubGFzdEluZGV4Pj1lLmxlbmd0aC0yKSxBZj1lPT5lLnJlcGxhY2UoL15odHRwcz86XC9cLy8sYGApLnJlcGxhY2UoL153d3dcLi8sYGApLnJlcGxhY2UoL1wvKyQvLGBgKS50b0xvd2VyQ2FzZSgpLGpmPWU9PntsZXQgdD1bYG1haWx0bzpgLGBmdHA6YCxgLy9gXSxuPVRmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBudWxsO2xldCByPW5ldyBTZXQ7cmV0dXJuIG4uZmlsdGVyKGU9PntpZih0LmluY2x1ZGVzKGUuc2NoZW1hKSlyZXR1cm4hMTtsZXQgbj1BZihlLnVybCk7cmV0dXJuIHIuaGFzKG4pPyExOihyLmFkZChuKSwhMCl9KX0sTWY9KCk9PlBvKGBjYXJkc2ApLE5mPWU9PntGbyh7Li4uZX0sYGNhcmRzYCl9LFBmPWFzeW5jIGU9PntsZXQgdD1uZXcgSGVhZGVycyx7d2lkZ2V0QXBpVXJsOm59PVYuZ2V0T3B0aW9ucygpO3QuYXBwZW5kKGBDb250ZW50LVR5cGVgLGBhcHBsaWNhdGlvbi9qc29uYCk7bGV0IHI9SlNPTi5zdHJpbmdpZnkoe2xpbmtzOmV9KTt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7bn0vbGlua3MvcHJldmlld2Ase21ldGhvZDpgUE9TVGAsaGVhZGVyczp0LGJvZHk6cn0pO3JldHVybiBlLm9rJiZlLmpzb24/YXdhaXQgZS5qc29uKCk6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19LEZmPWU9PmUuZmluZChlPT5lLnR5cGU9PT1gb3Blbl91cmxgKT8udmFsdWV8fGBgLElmPWU9PntsZXQgdD1lLmZpbHRlcihlPT5lLnRpdGxlJiZlLmltYWdlJiYhUmYoRmYoZS5hY3Rpb25zKSkpO3JldHVybiB0Lmxlbmd0aCYmZS5sZW5ndGg+MT9lOnQubGVuZ3RoPT09MT90OltdfSxMZj1lPT57bGV0IHQ9bmV3IERhdGUoKS5nZXRUaW1lKCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+eyghZVtuXS5leHBpcmF0aW9ufHxlW25dLmV4cGlyYXRpb24mJmVbbl0uZXhwaXJhdGlvbjx0KSYmZGVsZXRlIGVbbl19KSxlfSxSZj1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dH09QShibCksbj1lLm1hdGNoKC8oXC4pKFteLl17Myw0fSkkL20pO3JldHVybiBuJiZuWzJdJiZ0LmluY2x1ZGVzKG5bMl0pfSx6Zj1hc3luYyBlPT57dHJ5e2F3YWl0IHEuZ2V0Q2xpZW50KCkubGlua09wZW5lZCh7dXJsOmV9KX1jYXRjaChlKXtqbyhgU2VuZGluZyBsaW5rIG9wZW5lZCBhbmFseXRpY3MgZXZlbnQgZmFpbGVkYCxTdHJpbmcoZSkpfX0sQmY9KGUsdCk9PntpZighdClyZXR1cm47bGV0IG49YXN5bmMgbj0+e2xldCByPW4udGFyZ2V0LmNsb3Nlc3QoYGFgKTtyJiZlLmNvbnRhaW5zKHIpJiZ0JiZhd2FpdCB6ZihyLmhyZWYpfSxyPWU9PnZvaWQgbihlKSxpPWU9PntlLmJ1dHRvbiE9PTImJm4oZSl9LGE9ZT0+dm9pZCBuKGUpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxyKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGF1eGNsaWNrYCxpKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGNvbnRleHRtZW51YCxhKSx7ZGVzdHJveSgpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYXV4Y2xpY2tgLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY29udGV4dG1lbnVgLGEpfX19LFZmPSExLEhmPU8oKSxVZj1PKCExKSxXZj1PKCExKSxHZj0oZSx0LG4pPT57bGV0IHI9e30saT1uZXcgRGF0ZSgpLmdldFRpbWUoKStNZDtlLmZvckVhY2goKGUsbik9PnJbZV09e2V4cGlyYXRpb246aSxjYXJkOnRbbl19KTtsZXQgYT17Li4ubiwuLi5yfTtIZi5zZXQoYSksTmYoYSl9LEtmPWFzeW5jKGUsdCxuPSExKT0+e2xldCByPVtdLGk9e3R5cGU6YGNhcmRzYCxsYXlvdXQ6YGNhcm91c2VsYCxpdGVtczpbXX07VmZ8fD0oSGYuc2V0KE1mKCkpLCEwKTtsZXQgYT1qZihlKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgbz1MZihBKEhmKSkscz1bXTtpZihhLmZvckVhY2godD0+e09mKGUsdCl8fChvW3QudXJsXT9yLnB1c2gob1t0LnVybF0uY2FyZCk6cy5wdXNoKHQudXJsKSl9KSxzLmxlbmd0aD4wKXt0JiZVZi5zZXQoITApLG4mJldmLnNldCghMCk7bGV0IGU9YXdhaXQgUGYocyk7ZSYmKEdmKHMsZSxvKSxyPVsuLi5yLC4uLmVdKX1yZXR1cm4gaS5pdGVtcz1JZihyKSxVZi5zZXQoITEpLFdmLnNldCghMSksaS5pdGVtcy5sZW5ndGg+MD9pOm51bGx9LHFmPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbnRhY3RNZXNzYWdlPWBjb250YWN0LW1lc3NhZ2VgLGUuQWdlbnRNZXNzYWdlPWBhZ2VudC1tZXNzYWdlYCxlLkJvdE1lc3NhZ2U9YGJvdC1tZXNzYWdlYCxlLkJvdFJlcGxpZXM9YGJvdC1yZXBsaWVzYCxlfSh7fSksSmY9YXN5bmMoe3RleHQ6ZSxxdWlja1JlcGx5OnR9KT0+e3RyeXtsZXQgbj1CKCkubG9jYXRpb24uaHJlZjtyZXR1cm4gYXdhaXQgcS5nZXRDbGllbnQoKS5jaGF0TWVzc2FnZSh7Y29udGVudDp7dHlwZTpHLk1lc3NhZ2VDb250ZW50VHlwZS5UZXh0LHRleHQ6ZX0scXVpY2tSZXBseTp0LHBhZ2VVcmw6bn0pPz9udWxsfWNhdGNoe3JldHVybiBudWxsfX0sWWY9ZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3R8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuVHJpZ2dlcixYZj1lPT5lLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlN5c3RlbSxaZj1lPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk5vdGUsUWY9ZT0+IWUuZGVsZXRlZEF0JiYhWmYoZSkmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxZZihlKSksJGY9ZT0+YGh0bWxgaW4gZSYmISFlLmh0bWwsZXA9ZT0+YHRleHRgaW4gZSYmISFlLnRleHQsdHA9KGUsdCk9Pm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCktbmV3IERhdGUodC5jcmVhdGVkQXQpLmdldFRpbWUoKSxucD0oZSx0KT0+dD09PXFmLkJvdFJlcGxpZXM/YCR7ZS5pZH0tcmVwbGllc2A6ZS5pZCxycD1lPT57bGV0IHQ9e2lzUmlnaHQ6ITEsaXNMZWZ0OiExfSxuPXtpc1ByaW1hcnk6ITEsaXNTZWNvbmRhcnk6ITF9O3N3aXRjaChlKXtjYXNlIHFmLkNvbnRhY3RNZXNzYWdlOnQuaXNSaWdodD0hMCxuLmlzUHJpbWFyeT0hMDticmVhaztkZWZhdWx0OnQuaXNMZWZ0PSEwLG4uaXNTZWNvbmRhcnk9ITB9cmV0dXJue2FsaWduOnQsdmFyaWFudDpufX0saXA9ZT0+ISFlLmFnZW50SWR8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiZlLmNvbnRlbnQudHlwZSE9PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlRpY2tldEZvcm0sYXA9KGUsdCk9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuU3lzdGVtfHx0PT09cWYuQm90UmVwbGllc3x8ZS5jb250ZW50LnR5cGU9PT1HLk1lc3NhZ2VDb250ZW50VHlwZS5UaWNrZXRGb3JtLG9wPWU9PntsZXQgdD1bXSxuPW51bGwscj1udWxsO2ZvcihsZXQgaSBvZiBlKXtpZihpLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiYoaS5jb250ZW50LmRhdGEudGFyZ2V0PT09Ry5SYXRpbmdUYXJnZXQuQWkmJiFKcCgpfHxpLmNvbnRlbnQuZGF0YS50YXJnZXQ9PT1HLlJhdGluZ1RhcmdldC5BZ2VudCYmIXFwKCkpKWNvbnRpbnVlO24mJiFocChpLG4pJiYodC5wdXNoKG4pLG49bnVsbCxyPW51bGwpLG58fD1zcChpKTtsZXQgZT1scChpLG4pO2lmKHIpe2xldCB0PV9wKHIpLG49ZHAocik7ZS5uZWlnaGJvcnMuaGFzVG9wPXQsbi5hbnkubmVpZ2hib3JzLmhhc0JvdHRvbT10LG4uYXR0YWNobWVudENvbnRleHQmJihuLmF0dGFjaG1lbnRDb250ZXh0LmV4dHJhU3BhY2VzLmhhc0JvdHRvbT15cChuLmF0dGFjaG1lbnRDb250ZXh0LmF0dGFjaG1lbnQpKX1sZXQgYT1mcChpKTtpZihhJiZ1cChhLGUsciksbi5tZXNzYWdlc0NvbnRleHQucHVzaChlKSxyPWUsKFlmKGkpfHxYZihpKSkmJlRwKGkpKXt0LnB1c2gobik7bGV0IGU9Y3AoaSk7ZS5tZXNzYWdlc0NvbnRleHQucHVzaChscChpLGUpKSx0LnB1c2goZSksbj1udWxsfX1yZXR1cm4gbiYmdC5wdXNoKG4pLHR9LHNwPWU9PntsZXQgdD1ncChlKSxuPWUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXIse2FsaWduOnIsdmFyaWFudDppfT1ycCh0KTtyZXR1cm57dHlwZTp0LGlzQm90Om4saWQ6bnAoZSx0KSxkYXRlOmUuY3JlYXRlZEF0LGFnZW50SWQ6ZS5hZ2VudElkLGFsaWduOnIsdmFyaWFudDppLG1lc3NhZ2VzQ29udGV4dDpbXSxzaG93QXZhdGFyOmlwKGUpLHVzZUZ1bGxXaWR0aDphcChlLHQpfX0sY3A9ZT0+e2xldCB0PXFmLkJvdFJlcGxpZXMse2FsaWduOm4sdmFyaWFudDpyfT1ycCh0KTtyZXR1cm57dHlwZTpxZi5Cb3RSZXBsaWVzLGlzQm90OiEwLGlkOm5wKGUsdCksZGF0ZTplLmNyZWF0ZWRBdCxhZ2VudElkOmUuYWdlbnRJZCxhbGlnbjpuLHZhcmlhbnQ6cixtZXNzYWdlc0NvbnRleHQ6W10sc2hvd0F2YXRhcjohMSx1c2VGdWxsV2lkdGg6YXAoZSx0KX19LGxwPShlLHQpPT4oe2dyb3VwOnQsbWVzc2FnZTplLG5laWdoYm9yczp7aGFzVG9wOiExLGhhc0JvdHRvbTohMX0sYXR0YWNobWVudHNDb250ZXh0OltdfSksdXA9KGUsdCxuKT0+e2xldCByPW51bGw7Zm9yKGxldCBpIG9mIGUpe2xldCBlPXZwKGkpLGE9e2hhc1RvcDohMSxoYXNCb3R0b206ITF9LG89eXAoaSkscz17aGFzVG9wOm8saGFzQm90dG9tOiExfTtpZihyKXtsZXQgdD12cChyLmF0dGFjaG1lbnQpLG49eXAoci5hdHRhY2htZW50KTtyLm5laWdoYm9ycy5oYXNCb3R0b209dCYmZSxhLmhhc1RvcD10JiZlLHIuZXh0cmFTcGFjZXMuaGFzQm90dG9tPSFvJiZufWVsc2UgaWYodC5uZWlnaGJvcnMuaGFzQm90dG9tPWUsYS5oYXNUb3A9ZSxwcCh0Lm1lc3NhZ2UpKWlmKGEuaGFzVG9wPSExLHQubmVpZ2hib3JzLmhhc1RvcD0hMSx0Lm5laWdoYm9ycy5oYXNCb3R0b209ITEsbil7bGV0IHQ9X3Aobikscj1kcChuKTthLmhhc1RvcD10JiZlLHIuYW55Lm5laWdoYm9ycy5oYXNCb3R0b209dCYmZTtsZXQgaT1yLmF0dGFjaG1lbnRDb250ZXh0O2kmJihpLmV4dHJhU3BhY2VzLmhhc0JvdHRvbT0hbyYmeXAoaS5hdHRhY2htZW50KSl9ZWxzZSBzLmhhc1RvcD0hMTtsZXQgYz17YXR0YWNobWVudDppLG5laWdoYm9yczphLGV4dHJhU3BhY2VzOnMsbWVzc2FnZUNvbnRleHQ6dH07dC5hdHRhY2htZW50c0NvbnRleHQucHVzaChjKSxyPXsuLi5jfX19LGRwPWU9PntsZXQgdD1TZChlLmF0dGFjaG1lbnRzQ29udGV4dCl8fHZvaWQgMDtyZXR1cm57YXR0YWNobWVudENvbnRleHQ6dCxhbnk6dHx8ZX19LGZwPWU9PmU/ZS5jb250ZW50Py50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuVXBsb2FkP1tlLmNvbnRlbnQuZGF0YV06ZS5hdHRhY2htZW50czpbXSxwcD1lPT4hZS5jb250ZW50LnRleHQsbXA9ZT0+e3RyeXtsZXQgdD1CKCkubG9jYXRpb24uaG9zdG5hbWUsbj1uZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsYHRleHQvaHRtbGApO3JldHVybiBuLnF1ZXJ5U2VsZWN0b3JBbGwoYGFbaHJlZl1gKS5mb3JFYWNoKGU9PntsZXQgbj1lLmdldEF0dHJpYnV0ZShgaHJlZmApfHxgYDtuPW4ucmVwbGFjZSgvXmh0dHBzPzpcL1wvIj9odHRwcz86XC9cLy8sYGh0dHBzOi8vYCksbj1uLnJlcGxhY2UoL14iK3wiKyQvZyxgYCksZS5zZXRBdHRyaWJ1dGUoYGhyZWZgLG4pO2xldCByPXQubGVuZ3RoPjAmJm4uaW5jbHVkZXModCk7ZS5oYXNBdHRyaWJ1dGUoYHRhcmdldGApfHxlLnNldEF0dHJpYnV0ZShgdGFyZ2V0YCxyP2BfcGFyZW50YDpgX2JsYW5rYCksZS5oYXNBdHRyaWJ1dGUoYHJlbGApfHxlLnNldEF0dHJpYnV0ZShgcmVsYCxgbm9vcGVuZXIgbm9yZWZlcnJlcmApfSksbi5ib2R5LmlubmVySFRNTH1jYXRjaHtyZXR1cm4gZX19LGhwPShlLHQpPT57bGV0IG49Z3AoZSkscj1uPT09cWYuQWdlbnRNZXNzYWdlJiZlLmFnZW50SWQ9PT10LmFnZW50SWQsaT1uPT09cWYuQ29udGFjdE1lc3NhZ2UsYT1lLnN1YlR5cGUhPT1HLk1lc3NhZ2VTdWJUeXBlLkJvdHx8KGUuY29udGVudC5xdWlja1JlcGxpZXN8fFtdKS5sZW5ndGg9PT0wO3JldHVybiB0LnR5cGU9PT1uJiYocnx8aSkmJmEmJklkKHQuZGF0ZSxlLmNyZWF0ZWRBdCl9LGdwPWU9Pntzd2l0Y2goZS5zdWJUeXBlKXtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQWdlbnQ6cmV0dXJuIHFmLkFnZW50TWVzc2FnZTtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdDpyZXR1cm4gcWYuQ29udGFjdE1lc3NhZ2U7Y2FzZSBHLk1lc3NhZ2VTdWJUeXBlLkJvdDpyZXR1cm4gcWYuQm90TWVzc2FnZX1yZXR1cm4gbnVsbH0sX3A9ZT0+e2xldCB0PWUuYXR0YWNobWVudHNDb250ZXh0Lmxlbmd0aDtyZXR1cm4hKHQ+MCYmZS5hdHRhY2htZW50c0NvbnRleHRbdC0xXS5hdHRhY2htZW50LnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUpfSx2cD1lPT5lLnR5cGUhPT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUmJmUudHlwZSE9PUcuQXR0YWNobWVudFR5cGUuQ2FyZHMseXA9ZT0+ISFlJiYoZS50eXBlPT09Ry5BdHRhY2htZW50VHlwZS5GaWxlfHxlLnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkNhcmRzKSxicD0oKT0+e2xldCBlPWdfKCk7ZS52b2x1bWU9cWMsZS5hZGRFdmVudExpc3RlbmVyKGBjYW5wbGF5dGhyb3VnaGAsKCk9PntlLnBsYXkoKS5jYXRjaChlPT5IKGBDb3VsZCBub3QgcGxheSBtZXNzYWdlIHNvdW5kLmAsZSkpfSl9LHhwPUtkKGJwLEpjKSxTcD1lPT5lLmZpbHRlcihlPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk1lc3NhZ2UmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QpKSxDcD0oZSx0PSEwKT0+e2xldCBuPWUucmVkdWNlKChlLHQpPT4oZS5wdXNoKHQpLHQuY29udGVudC50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuQ2hhdENsb3NlfHx0LmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLkNoYXRWaXNpdG9yQ2xvc2U/W106ZSksW10pO3JldHVybiB0P24uZmlsdGVyKGU9PmUudHlwZT09PUcuTWVzc2FnZVR5cGUuTWVzc2FnZSYmZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5TeXN0ZW0pOm59LHdwPWU9PntsZXQgdD17fTtyZXR1cm4gZS5mb3JFYWNoKGU9PntlLnRyaWdnZXImJih0W2UudHJpZ2dlci5pZF09e3NlbnQ6ITB9KX0pLHR9LFRwPWU9PiEhKGUuY29udGVudC5xdWlja1JlcGxpZXMmJmUuY29udGVudC5xdWlja1JlcGxpZXMubGVuZ3RoPjApLEVwPWFzeW5jKGUsdD0hMSk9PntsZXQgbj1RZihlKSxyPSF0JiZuO2lmKGBodG1sYGluIGUuY29udGVudCYmZS5jb250ZW50Lmh0bWwmJihlLmNvbnRlbnQuaHRtbD1tcChlLmNvbnRlbnQuaHRtbCkpLGUuY29udGVudD8udGV4dCYmVi5nZXRPcHRpb25zKCkudXJsQ2FyZHNFbmFibGVkJiZlLmF0dGFjaG1lbnRzLmxlbmd0aD09PTApe2xldCB0PWF3YWl0IEtmKGUuY29udGVudC50ZXh0LGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCxyKTt0JiZ0Lml0ZW1zLmxlbmd0aD4wJiZlLmF0dGFjaG1lbnRzLnB1c2godCl9cmV0dXJuIG5kLnNldCghMSksZX0sRHA9YXN5bmMgZT0+KFYuZ2V0T3B0aW9ucygpLnVybENhcmRzRW5hYmxlZCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgZT0+YXdhaXQgRXAoZSkpKSxlKSxPcD1lPT5lLmZpbmRJbmRleChlPT5lLm1lc3NhZ2UuY2hhbm5lbC50eXBlPT09YGVtYWlsYCk+LTEsa3A9ZT0+ZS5maW5kKGU9PmUubWVzc2FnZT8udHJpZ2dlcj8uaWRlbnRpdHlJZCk/Lm1lc3NhZ2U/LnRyaWdnZXI/LmlkZW50aXR5SWQsSj0oKCk9PntsZXQgZT1PKHt9KSx7c3Vic2NyaWJlOnQsdXBkYXRlOm4sc2V0OnJ9PWUsaT1hc3luYyBlPT57cihybChgaWRgLGF3YWl0IERwKGUpKSl9LGE9YXN5bmMgZT0+e2xldCB0PWF3YWl0IEVwKGUpO1lmKGUpJiZNcC5zZXQoITEpLG4obj0+KHsuLi5uLFtlLmlkXTp0fSkpLGpwKHQpfSxvPWFzeW5jIGU9PntpZighQShScCkuc29tZSh0PT50LmlkPT09ZS5pZCkpcmV0dXJuO2xldCB0PUEoQnApPT09ZS5pZD9hd2FpdCBFcChlLCEwKTplO24obj0+KHsuLi5uLFtlLmlkXTp0fSkpfTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0TWVzc2FnZXM6aSxhZGRNZXNzYWdlOmEsZGVsZXRlTWVzc2FnZTplPT57bih0PT57bGV0e1tlXTpuLC4uLnJ9PXQ7cmV0dXJuIHJ9KX0sbWFya01lc3NhZ2VBc0RlbGV0ZWQ6KHQscik9PntsZXQgaT1BKGUpW3RdO2kmJm4oZT0+KHsuLi5lLFtpLmlkXTp7Li4uaSxkZWxldGVkQXQ6cj8/bmV3IERhdGUoKS50b0lTT1N0cmluZygpfX0pKX0scmVwbGFjZU1lc3NhZ2U6byx1cGRhdGVNZXNzYWdlUmF0aW5nOmU9PntBKGlkKT09PWUuY29udGVudC5kYXRhPy50YXJnZXQmJnhkKCksbih0PT4hZXx8ZS5jb250ZW50LnR5cGUhPT1HLk1lc3NhZ2VDb250ZW50VHlwZS5SYXRlRm9ybT97Li4udH06KHRbZS5pZF18fFlwKGUuaWQpLHsuLi50LFtlLmlkXTplfSkpfSxzZW5kTWVzc2FnZTphc3luYyhlLHQpPT57S3Auc2V0KGUpO2xldCBuPWF3YWl0IEpmKHt0ZXh0OmV9KTtuJiYoS3Auc2V0KG51bGwpLGF3YWl0IGEobiksei5lbWl0KGBtZXNzYWdlU2VudGAsbiksd2goQSgkdSkpKSxhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChlPT5PZChlKSkpfSxzZW5kQm90UmVwbHk6YXN5bmMoZSx0LG4pPT57bGV0IHI9YXdhaXQgSmYoe3RleHQ6dCxxdWlja1JlcGx5OntyZXBseVRvOmUscGF5bG9hZDpufX0pO24uaXNHb0JhY2tCdXR0b258fEptKHQpLHImJmF3YWl0IG8ocil9LGNsZWFyTWVzc2FnZXM6KCk9PntyKHt9KX19fSkoKSxBcD1lPT57QShSXyl8fElfKCksUV8oKSxzZXRUaW1lb3V0KCgpPT57Si5hZGRNZXNzYWdlKGUpLCRfKCl9LDE2MDApfSxqcD1lPT57ZSYmQShEXykmJkEoUl8pJiYhKEEoa18pJiZBKFgpKSYmX18oZSkmJnhwKCl9LE1wPU8oITEpLE5wPWsoW0pdLChbZV0pPT57bGV0IHQ9T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoUWYpO3JldHVybiB0P1NkKHQuc29ydCgoZSx0KT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpLmdldFRpbWUoKS1uZXcgRGF0ZSh0LmNyZWF0ZWRBdCkuZ2V0VGltZSgpKSk6bnVsbH0pLFBwPWsoW0oscmRdLChbZSx0XSk9PntsZXQgbj1PYmplY3QudmFsdWVzKGUpLmZpbHRlcihRZik7cmV0dXJuIHQ/bi5maWx0ZXIoZT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpPm5ldyBEYXRlKHQpKTpufSksRnA9ayhbUHBdLChbZV0pPT5TZChlKSksSXA9ayhbUHBdLChbZV0pPT5lLmxlbmd0aCksTHA9ayhbSXBdLChbZV0pPT5lPjApLFJwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLnNvcnQodHApKSx6cD1rKFtScF0sKFtlXSk9Pm9wKGUpKSxCcD1rKFtScF0sKFtlXSk9PlNkKGUpPy5pZD8/bnVsbCksVnA9ayhbSl0sKFtlXSk9PlNkKE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKGU9PnR5cGVvZiBlLndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD09YGJvb2xlYW5gKSk/LndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD8/ITEpLEhwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLmZpbHRlcihlPT5lLnN1YlR5cGU9PT1gY29udGFjdGB8fGUuc3ViVHlwZT09PWBhZ2VudGApLmxlbmd0aD4wKSxVcD1rKFtKXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KS5sZW5ndGg+MCksV3A9ayhbSixDc10sKFtlLHRdLG4pPT57aWYodCl7bGV0IHI9ZVt0XTtyJiZyLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiZuKHttZXNzYWdlSWQ6ci5pZCx2YWx1ZTpyLmNvbnRlbnQuZGF0YT8udmFsdWUsdGV4dDpyLmNvbnRlbnQuZGF0YT8udGV4dCx0YXJnZXQ6ci5jb250ZW50LmRhdGE/LnRhcmdldH0pfWVsc2UgbihudWxsKX0pLEdwPWsoW1JwXSwoW2VdKT0+ZS5zbGljZSgpLnJldmVyc2UoKS5maW5kKGU9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCl8fG51bGwpLEtwPU8obnVsbCkscXA9KCk9PiEhVi5nZXRPcHRpb25zKCkucmF0aW5nRW5hYmxlZCxKcD0oKT0+ISFWLmdldE9wdGlvbnMoKS5haVJhdGluZ0VuYWJsZWQsWXA9ZT0+e0NzLnNldChlKSxCYyhIYy5DaGF0UmF0aW5nKX0sWHA9YXN5bmMoe21lc3NhZ2VJZDplLHJhdGluZzp7dGV4dDp0LHZhbHVlOm59LG9uU3VjY2VzczpyfSk9PntsZXQgaT1BKEopW2VdLGE9ZT09PWByYXRlX2Zvcm1faWRgP3ZvaWQgMDplO3RyeXthd2FpdCBxLmdldENsaWVudCgpLmNoYXRSYXRlKHttZXNzYWdlSWQ6YSx2YWx1ZTpuLHRleHQ6dD8/dm9pZCAwfSksciYmcigpfWNhdGNoKGUpe2kmJmF3YWl0IEoucmVwbGFjZU1lc3NhZ2UoaSksam8oYENoYXQgcmF0aW5nIGZhaWxlZC5gLFN0cmluZyhlKSksZ3MoQShXKShgZm9ybS5zdWJtaXQuZXJyb3JgKSl9fSxacD1lPT57bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvcmF0aW5nLyR7ZX0uc3ZnYH0sUXA9LyhHLShbQS1aLDAtOV0qKSkvZywkcD1bXSxlbT0hMSx0bSxubT0hMSxybSxpbT1lPT5lLm1hdGNoKFFwKSxhbT0oKT0+e2xldHtnb29nbGVBbmFseXRpY3NFbmFibGVkOmV9PVYuZ2V0T3B0aW9ucygpO3RtPXdpbmRvdy50b3B8fHdpbmRvdyxlJiYodG0uZ3RhZyYmKHJtPXRtLmd0YWcsbm09ITApLHoub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxvbSksIWVtJiZVbygpJiZzbSgpKX0sb209ZT0+eyFlbSYmZSYmc20oKX0sc209KCk9PntsZXR7Z2FLZXk6ZSxnYU9wdGlvbnM6dCxnb29nbGVBbmFseXRpY3NNYW51YWw6bixnb29nbGVBbmFseXRpY3NNZWFzdXJlbWVudElkczpyfT1WLmdldE9wdGlvbnMoKSxpPXR8fHtjb29raWVEb21haW46YGF1dG9gfTtpZihlKWltKGUpJiYkcC5wdXNoKHtrZXk6ZSxvcHRpb25zOml9KTtlbHNlIGlmKG4mJnIpci5mb3JFYWNoKGU9PntpbShlKSYmJHAucHVzaCh7a2V5OmUsb3B0aW9uczppfSl9KTtlbHNlIHRyeXskcC5wdXNoKC4uLmNtKCkpfWNhdGNoKGUpe3ZvKGBFcnJvciBkdXJpbmcgZ2V0dGluZyBHQSB0b3AgdHJhY2tlcnNgLGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSl9JHAubGVuZ3RoPjAmJiFubSYmbG0oKSwkcC5sZW5ndGg9PT0wP3ZvKGBObyBHQSB0byBzZXR1cGApOihkbSgpLGVtPSEwLHZvKGBHQSBpbml0aWFsaXplZGApKX0sY209KCk9PntsZXQgZT1bXTtyZXR1cm4gdG0uZ29vZ2xlX3RhZ19tYW5hZ2VyJiZPYmplY3Qua2V5cyh0bS5nb29nbGVfdGFnX21hbmFnZXIpLmZvckVhY2godD0+e2ltKHQpJiZlLnB1c2goe2tleTp0LG9wdGlvbnM6e2Nvb2tpZURvbWFpbjpgYXV0b2B9fSl9KSxlfSxsbT0oKT0+e2xldCBlPXRtLmRvY3VtZW50LHtoZWFkOnR9PWUsbj1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApO24uaWQ9YGd0YWdgLG4udHlwZT1gdGV4dC9qYXZhc2NyaXB0YCxuLmFzeW5jPSEwLG4uc3JjPWBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzYCx0Lmluc2VydEJlZm9yZShuLHQuZmlyc3RDaGlsZCksdG0uZGF0YUxheWVyPXRtLmRhdGFMYXllcnx8W10sdG0uZ3RhZz1mdW5jdGlvbigpe3RtLmRhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9LHJtPXRtLmd0YWcscm0oYGpzYCxuZXcgRGF0ZSl9LHVtPSgpPT57bGV0IGU9W107aWYobm0pe2xldCB0PWNtKCk7JHAuZm9yRWFjaChuPT57dC5maW5kKCh7a2V5OmV9KT0+ZT09PW4ua2V5KXx8ZS5wdXNoKG4pfSl9ZWxzZSBlPVsuLi4kcF07cmV0dXJuIGV9LGRtPSgpPT57dW0oKS5mb3JFYWNoKGU9PntsZXR7a2V5OnQsb3B0aW9uczpufT1lLHI9e307bj8ocj17Y29va2llX2RvbWFpbjpuLmNvb2tpZURvbWFpbn0sbi5uYW1lJiYoci5uYW1lPW4ubmFtZSkpOnI9e2Nvb2tpZV9kb21haW46dG0/LmxvY2F0aW9uLmhvc3RuYW1lfHxgYH0sci5zZW5kX3BhZ2Vfdmlldz0hMSxybShgY29uZmlnYCx0LHIpfSl9LGZtPShlLHQpPT57bGV0e2dvb2dsZUFuYWx5dGljc0VuYWJsZWQ6bn09Vi5nZXRPcHRpb25zKCk7aWYoISghbnx8IXRtLmd0YWd8fCFVbygpfHx0bS5kb2N1bWVudC5oaWRkZW4pKXRyeXskcC5mb3JFYWNoKG49Pnt0LnNlbmRfdG89bi5rZXkscm0oYGV2ZW50YCxlLHQpLHZvKGBTbWFydHN1cHA6IEdBIGV2ZW50ICR7ZX0gLSAke0pTT04uc3RyaW5naWZ5KHQpfWApfSl9Y2F0Y2goZSl7dm8oYFNtYXJ0c3VwcDogR0EgZXJyb3I6YCxlIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOmUpfX0scG09YFZpc2l0b3Jfc3RhcnRlZF9jb252ZXJzYXRpb25gLG1tPWBWaXNpdG9yX2Nsb3NlZF9jb252ZXJzYXRpb25gLGhtPWBUcmlnZ2VyX21lc3NhZ2Vfc2VudGAsZ209YFRyaWdnZXJfbWVzc2FnZV92aWV3ZWRgLF9tPWBUcmlnZ2VyX3Zpc2l0b3JfcmVhY3Rpb25gLHZtPWBBdXRvX21lc3NhZ2Vfc2VudGAseW09YEF1dG9fbWVzc2FnZV92aWV3ZWRgLGJtPWBBdXRvX21lc3NhZ2VfdmlzaXRvcl9yZWFjdGlvbmAseG09YENoYXRib3Rfc2VudGAsU209YENoYXRib3Rfdmlld2VkYCxDbT1gQ2hhdGJvdF9pbnRlcmFjdGlvbmAsd209YENoYXRib3RfYnV0dG9uX2ludGVyYWN0aW9uYCxUbT1gQ2hhdGJvdF92aXNpdG9yX3JlYWN0aW9uYCxFbT1gQWlfY2hhdGJvdF9zZW50YCxEbT1gQWlfY2hhdGJvdF9pbnRlcmFjdGlvbmAsT209YEFpX2NoYXRib3RfdmlzaXRvcl9yZWFjdGlvbmAsa209YEFnZW50X3NlcnZlZF9jb252ZXJzYXRpb25gLEFtPWBBZ2VudF9jbG9zZWRfY29udmVyc2F0aW9uYCxqbT1gQ29udGFjdF9hY3F1aXJlZGAsTW09YEF1dGhfZm9ybV9maWxsZWRgLE5tPWBPZmZsaW5lX21lc3NhZ2Vfc2VudGAsUG09YEZlZWRiYWNrX3NlbnRgLEZtPWBGZWVkYmFja190ZXh0X3NlbnRgLEltPWBVcmxfY2FyZF9vcGVuZWRgLExtPWBDaGF0Ym94X29wZW5lZGAsUm09e2V2ZW50X2NhdGVnb3J5OmBTbWFydHN1cHBfdjNgLG5vbl9pbnRlcmFjdGlvbjohMH0sWT0oZSx0KT0+e2ZtKGUsey4uLlJtLC4uLnR9KX0sem09KGU9YGApPT5ZKGhtLHtldmVudF9sYWJlbDplfSksQm09ZT0+WShnbSx7ZXZlbnRfbGFiZWw6ZX0pLFZtPShlPWBgKT0+WShfbSx7ZXZlbnRfbGFiZWw6ZX0pLEhtPShlPWBgKT0+WSh2bSx7ZXZlbnRfbGFiZWw6ZX0pLFVtPWU9PlkoeW0se2V2ZW50X2xhYmVsOmV9KSxXbT0oZT1gYCk9PlkoYm0se2V2ZW50X2xhYmVsOmV9KSxHbT0oZT1gYCk9PlkoeG0se2V2ZW50X2xhYmVsOmV9KSxLbT1lPT5ZKFNtLHtldmVudF9sYWJlbDplfSkscW09KGU9YGApPT5ZKENtLHtldmVudF9sYWJlbDplfSksSm09KGU9YGApPT5ZKHdtLHtldmVudF9sYWJlbDplfSksWW09KGU9YGApPT5ZKFRtLHtldmVudF9sYWJlbDplfSksWG09KCk9PlkocG0pLFptPSgpPT5ZKG1tKSxRbT1lPT5ZKEFtLHtldmVudF9sYWJlbDplfSksJG09ZT0+WShrbSx7ZXZlbnRfbGFiZWw6ZX0pLGVoPSgpPT5ZKE1tKSx0aD0oKT0+WShObSksbmg9KGUsdCk9PntsZXQgbj17ZXZlbnRfbGFiZWw6dHx8dnNbZV18fGBgLHZhbHVlOmV9O1kodD9GbTpQbSxuKX0scmg9ZT0+WShqbSx7ZXZlbnRfbGFiZWw6ZX0pLGloPWU9PlkoSW0se2V2ZW50X2xhYmVsOmV9KSxhaD0oZT1gYCk9PlkoRW0se2V2ZW50X2xhYmVsOmV9KSxvaD0oZT1gYCk9PlkoRG0se2V2ZW50X2xhYmVsOmV9KSxzaD0oZT1gYCk9PlkoT20se2V2ZW50X2xhYmVsOmV9KSxjaD0oKT0+WShMbSksbGg9ITEsdWg9e30sZGg9KCk9PntsaD0hMX0sZmg9KCk9Pnt1aD13cChBKFJwKSl9LHBoPShlLHQpPT5saD8hMTpDcChlKS5sZW5ndGg9PT0xJiZ0PT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0PyhsaD0hMCwhMCk6ITEsbWg9KGUsdCk9PntsZXQgbj1lLnRyaWdnZXI/LmlkfHxgYDtyZXR1cm4gdC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiZlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJiF1aFtuXT8udmlzaXRvclJlc3BvbmRlZD8odWhbbl0udmlzaXRvclJlc3BvbmRlZD0hMCwhMCk6ITF9LGhoPShlLHQpPT57bGV0IG49ZS50cmlnZ2VyPy5pZHx8YGA7cmV0dXJuIHQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCYmISh0LmNvbnRlbnQucXVpY2tSZXBsaWVzfHx0LmNvbnRlbnQucXVpY2tSZXBseSkmJmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiYhdWhbbl0/LnZpc2l0b3JSZXNwb25kZWQmJm4/KHVoW25dLnZpc2l0b3JSZXNwb25kZWQ9ITAsITApOiExfSxnaD0oZSx0KT0+e2xldCBuPWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiB0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QmJmUudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmIXVoW25dPy5yZWFjdGVkPyh1aFtuXS5yZWFjdGVkPSEwLCEwKTohMX0sX2g9ZT0+e2xldCB0PWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiBlLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYhdWhbdF0/LnJlYWN0ZWQ/KHVoW3RdLnJlYWN0ZWQ9ITAsITApOiExfSx2aD0oZSx0LG49ITEpPT57aWYoZS5sZW5ndGg+MCYmIW4pe2xldCB0PWUuc2xpY2UoLTIpLmZpbHRlcihlPT5lLnRyaWdnZXIpO3JldHVybiB0P3RbdC5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZTpgYH1lbHNlIHJldHVybiB0LnRyaWdnZXI/dC50cmlnZ2VyLm5hbWU6YGB9LHloPWU9PntsZXQgdD1BKFJwKTt4aCh0LGUpLFNoKHQsZSkscGgodCxlLnN1YlR5cGUpJiZYbSgpfSxiaD1lPT57bGV0IHQ9ZSxuPUEoUnApLmZpbHRlcihlPT5lLnRyaWdnZXIpO24mJm4ubGVuZ3RoPjAmJih0PW5bbi5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZT8/ZSkscmgodCl9LHhoPShlLHQpPT57bGV0IG49dC50cmlnZ2VyPy5pZHx8YGA7dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJiF1aFtuXT8uc2VudCYmKHQudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmKEdtKHZoKGUsdCwhMCkpLHVoW25dPXtzZW50OiEwfSksdC50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5tZXNzYWdlJiYoSG0odmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSx0LnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYoYWgodmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSk7bGV0IHI9ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtyJiYoaGgocix0KT8oci50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5jaGF0Ym90JiZZbSh2aChlLHQpKSxyLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLm1lc3NhZ2UmJldtKHZoKGUsdCkpLHIudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuYWkmJnNoKHZoKGUsdCkpKTpnaChyLHQpP3FtKHZoKGUsdCkpOl9oKHQpJiZvaCh2aChlLHQpKSl9LFNoPShlLHQpPT57dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5UcmlnZ2VyJiYoem0odD8udHJpZ2dlcj8ubmFtZSksdWhbdC50cmlnZ2VyPy5pZHx8YGBdPXtzZW50OiEwfSk7bGV0IG49ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtuJiZtaChuLHQpJiZWbSh2aChlLHQpKX0sQ2g9KCk9PntsZXQgZT1BKFBwKS5maWx0ZXIoZT0+ZS50cmlnZ2VyKSx0PWVbZS5sZW5ndGgtMV07dCYmdC50cmlnZ2VyJiYodC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJnQuY29udGVudC5xdWlja1JlcGxpZXM/S20odC50cmlnZ2VyLm5hbWUpOnQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90P1VtKHQudHJpZ2dlci5uYW1lKTp0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJkJtKHQudHJpZ2dlci5uYW1lKSl9LHdoPWU9PntlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJnRoKCl9O3oub24oYG1lc3NhZ2VSZWNlaXZlZGAseWgpLHoub24oYGFnZW50Sm9pbmVkYCxlPT57JG0oZS5mdWxsbmFtZSl9KSx6Lm9uKGBjaGF0UmF0ZWRgLGU9PntuaChlLnZhbHVlLGUudGV4dCl9KSx6Lm9uKGBjaGF0Q2xvc2VkYCwoKT0+e2RoKCl9KSx6Lm9uKGBjaGF0VmlzaXRvckNsb3NlZGAsKCk9PntkaCgpfSksei5vbihgY29udGFjdEFjcXVpcmVkYCwoe2FjcXVpcmVkQnk6ZX0pPT57YmgoZSl9KSxYbC5wdXNoKGZoKTt2YXIgVGg9e0Fycm93RG93bjpgQXJyb3dEb3duYCxBcnJvd1VwOmBBcnJvd1VwYCxFbnRlcjpgRW50ZXJgLEVzY2FwZTpgRXNjYXBlYCxUYWI6YFRhYmB9LEVoPTJlMyxEaD0yZTMsT2g9ZT0+ZS5maWx0ZXIoZT0+IWUuaXNIaWRkZW4pLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbHVlLGUpLHt9KSxraD1lPT5lLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbGlkYXRvcnMsZSkse30pLEFoPShlLHQsbik9PntlLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LGpoPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIGluIGUpbltyXT10O3JldHVybiBufSxNaD0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNiksTmg9ZT0+e2lmKCFlKXJldHVybiExO2xldCB0PWUuc3BsaXQoYEBgKTtpZih0Lmxlbmd0aCE9PTIpcmV0dXJuITE7bGV0IG49dFswXSxyPXRbMV07cmV0dXJuIG4ubGVuZ3RoPjY0fHxyLmxlbmd0aD4yNTV8fHIuc3BsaXQoYC5gKS5zb21lKGU9PmUubGVuZ3RoPjYzKT8hMTp5Zi50ZXN0KGUpfSxQaD1udWxsLEZoPWU9PntsZXQgdD1lLmluaXRpYWxWYWx1ZXN8fHt9LHt2YWxpZGF0b3JzOm4sb25DaGFuZ2U6cixvblN1Ym1pdDppfT1lLGE9KCk9Pih7Li4udH0pLG89amgodCxQaCkscz1PKGEoKSksYz1PKG8pLGw9TyhqaCh0LCExKSksdT1PKCExKSxkPWsoYyxlPT5PYmplY3QudmFsdWVzKGUpLmV2ZXJ5KGU9PmU9PT1QaCkpLGY9KCk9PntPYmplY3QuZW50cmllcyhBKHMpKS5mb3JFYWNoKChbZSx0XSk9PntlZShlLHQpfSl9LHA9ZT0+e2xldCB0PWUudGFyZ2V0O3QmJl8odC5uYW1lfHx0LmlkLHQudmFsdWUpfSxtPWFzeW5jIGU9PntpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksdS5zZXQoITApLGYoKSwhQShkKSl7dS5zZXQoITEpO3JldHVybn1jLnNldChvKSxhd2FpdCBpKEEocykpLHUuc2V0KCExKX0saD0oZSx7c2hvdWxkVmFsaWRhdGU6dD0hMX09e30pPT57cy51cGRhdGUodD0+KHsuLi50LC4uLmV9KSksdCYmZigpfSxnPShlLHQpPT57XyhlLHQpfSxfPShlLHQpPT57dihlLHQpLGVlKGUsdCksciYmcihlLHQpfSx2PShlLHQpPT57QWgocyxlLHQpfSx5PShlLHQpPT57QWgobCxlLHQpfSxlZT0oZSx0KT0+e3koZSx0KTtsZXQgcj1uW2VdO2lmKHIpZm9yKGxldCBuIG9mIHIpe2xldHt0eXBlOnIsaXNWYWxpZDppfT1uKHQpO2lmKEFoKGMsZSxpP1BoOnIpLCFpKXJldHVybn19O3JldHVybntmb3JtOnMsZXJyb3JzOmMsaXNWYWxpZDpkLGlzU3VibWl0dGluZzp1LGhhbmRsZUNoYW5nZTpwLGhhbmRsZVN1Ym1pdDptLHNldEZpZWxkVmFsdWU6ZyxzZXRWYWx1ZXM6aH19LEloPWZ1bmN0aW9uKGUpe3JldHVybiBlLlRleHQ9YHRleHRgLGUuQ2hlY2tib3g9YGNoZWNrYm94YCxlLlNlbGVjdD1gc2VsZWN0YCxlfSh7fSksTGg9KCk9PmU9PntsZXQgdD0hMDtyZXR1cm4gZT8/KHQ9ITEpLEx1KGUpJiYodD1lLnRyaW0oKS5sZW5ndGg+MCkse3R5cGU6YHJlcXVpcmVkYCxpc1ZhbGlkOnR9fSxSaD0oKT0+ZT0+KHt0eXBlOmBjaGVja2VkYCxpc1ZhbGlkOkx1KGUpP2U9PT1gdHJ1ZWA6ZT09PSEwfSksemg9KCk9PmU9Pih7dHlwZTpgZW1haWxgLGlzVmFsaWQ6TmgoU3RyaW5nKGUpKX0pLEJoPSgpPT5lPT4oe3R5cGU6YHBob25lYCxpc1ZhbGlkOi9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy1zLi8wLTldKiQvLnRlc3QoU3RyaW5nKGUpKX0pLFZoPU8odm9pZCAwKSxIaD1lPT57bGV0e2VtYWlsQ29udHJvbDp0fT1WLmdldE9wdGlvbnMoKSxuPSEhZT8uZW1haWw7cmV0dXJuIHQmJiFufSxVaD1lPT57bGV0e25hbWVDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5uYW1lO3JldHVybiB0JiYhbn0sV2g9ZT0+e2xldHtudW1iZXJDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5waG9uZTtyZXR1cm4hIXQmJiFufSxHaD0oKT0+e2xldHtncm91cFNlbGVjdEVuYWJsZWQ6ZX09Vi5nZXRPcHRpb25zKCksdD1BKGFsKTtyZXR1cm4hIWUmJnQubGVuZ3RoPjB9LEtoPSgpPT57bGV0e3ByaXZhY3lOb3RpY2VFbmFibGVkOmUscHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1jZygpO3JldHVybiEhZSYmdCYmIW59LHFoPWU9PntsZXR7cHJpdmFjeU5vdGljZUVuYWJsZWQ6dH09Vi5nZXRPcHRpb25zKCksbj0hIWU/LnZhcmlhYmxlcz8ucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQ7cmV0dXJuISF0JiYhbn0sSmg9KCk9Pih7dHlwZTpJaC5UZXh0LHN1YlR5cGU6YGVtYWlsYCxuYW1lOmBlbWFpbGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmVtYWlsYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0ueW91ckVtYWlsYCx2YWx1ZTpgYCx2YWxpZGF0b3JzOltMaCgpLHpoKCldLG1heExlbmd0aDoyNTV9KSxZaD0oKT0+KHt0eXBlOkloLlRleHQsc3ViVHlwZTpgdGV4dGAsbmFtZTpgbmFtZWAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLm5hbWVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyTmFtZWAsdmFsdWU6YGAsdmFsaWRhdG9yczpbTGgoKV0sbWF4TGVuZ3RoOjI1NX0pLFhoPSgpPT4oe3R5cGU6SWguVGV4dCxzdWJUeXBlOmB0ZWxgLG5hbWU6YHBob25lYCxsYWJlbDpgYXV0aEZvcm0ubGFiZWwucGhvbmVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyUGhvbmVgLHZhbHVlOmBgLHZhbGlkYXRvcnM6W0xoKCksQmgoKV0sbWF4TGVuZ3RoOjMyfSksWmg9ZT0+e2xldCB0PUEoYWwpO3JldHVybnt0eXBlOkloLlNlbGVjdCxuYW1lOmBncm91cGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmdyb3VwYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0uZ3JvdXBgLHZhbHVlOmU/Lmdyb3VwPz9gYCx2YWxpZGF0b3JzOltMaCgpXSxvcHRpb25zOnQubWFwKGU9Pih7dGV4dDplLm5hbWUsdmFsdWU6ZS5rZXl9KSl9fSxRaD0oKT0+KHt0eXBlOkloLkNoZWNrYm94LG5hbWU6YHBlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50YCxsYWJlbDpgYXV0aEZvcm0uYWNjZXB0VGVybXNgLHZhbHVlOiExLHZhbGlkYXRvcnM6W1JoKCldfSksJGg9KCk9Pih7dHlwZTpJaC5DaGVja2JveCxuYW1lOmBwZXJzb25hbERhdGFQcm9jZXNzaW5nQ29uc2VudGAsbGFiZWw6YHRvcEJhci5nZHByVGl0bGVgLHZhbHVlOiExLHZhbGlkYXRvcnM6W10saXNIaWRkZW46ITB9KSxlZz1lPT4oe3Nob3dFbWFpbDpIaChlKSxzaG93TmFtZTpVaChlKSxzaG93UGhvbmU6V2goZSksc2hvd0dyb3VwczpHaCgpLHNob3dDb25zZW50OktoKCl9KSx0Zz1lPT4oe3Nob3dFbWFpbDohIWUuZW1haWxDb250cm9sLHNob3dOYW1lOiEhZS5uYW1lQ29udHJvbCxzaG93UGhvbmU6ISFlLm51bWJlckNvbnRyb2wsc2hvd0dyb3VwczohIWUuZ3JvdXBTZWxlY3RFbmFibGVkLHNob3dDb25zZW50OiEhZS5wcml2YWN5Tm90aWNlRW5hYmxlZCYmZS5wcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZH0pLG5nPWU9Pk9iamVjdC52YWx1ZXMoZWcoZSkpLnNvbWUoZT0+ZSkscmc9KGUsdCk9PntsZXQgbj1bXSx7c2hvd0VtYWlsOnIsc2hvd05hbWU6aSxzaG93UGhvbmU6YSxzaG93R3JvdXBzOm8sc2hvd0NvbnNlbnQ6c309dD90Zyh0KTplZyhlKTtyZXR1cm4gaSYmbi5wdXNoKFloKCkpLHImJm4ucHVzaChKaCgpKSxhJiZuLnB1c2goWGgoKSksbyYmbi5wdXNoKFpoKGUpKSxzP24ucHVzaChRaCgpKTpuLmxlbmd0aD4wJiYodD90Py5wcml2YWN5Tm90aWNlRW5hYmxlZDpxaChlKSkmJm4ucHVzaCgkaCgpKSxufSxpZz0oKT0+e2xldCBlPXpvKFUuQXV0aEZvcm0pO2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gbnVsbH19LGFnPShlLHQpPT57bGV0IG49aWcoKSxyPXtbZV06dH0saT1uP3suLi5uLC4uLnJ9OnI7Qm8oe25hbWU6VS5BdXRoRm9ybSx2YWx1ZTpKU09OLnN0cmluZ2lmeShpKX0pfSxvZz0oKT0+e0xvKFUuQXV0aEZvcm0pfSxzZz0oKT0+ISFBKE11KT8udmFyaWFibGVzPy5hdXRoZW50aWNhdGVkLGNnPSgpPT5BKE11KT8uZ2RwckFwcHJvdmVkfHwhMSxsZz0oKT0+e2xldHtpc1ByZXZpZXdNb2RlOmV9PVYuZ2V0T3B0aW9ucygpO2lmKGV8fEEocGQpfHxzZygpfHwhbmcoQShNdSkpKXJldHVybiExO2xldHtyZXF1aXJlTG9naW46dH09Vi5nZXRPcHRpb25zKCksbj1BKCR1KT09PUsuQWNjb3VudFN0YXR1cy5PZmZsaW5lLHI9QShVdSkubGVuZ3RoPjA7cmV0dXJuISF0fHxufHwhbiYmIXJ9LHVnPWFzeW5jIGU9PntsZXR7cHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1BKE11KSxyPW4/Lm5hbWU/P2UubmFtZSxpPW4/LmVtYWlsPz9lLmVtYWlsLGE9bj8ucGhvbmU/P2UucGhvbmUsbz1lLmdyb3VwPz9uPy5ncm91cCxzPWUucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQsYz17Li4uciYme25hbWU6cn0sLi4uaSYme2VtYWlsOml9LC4uLmEmJntwaG9uZTphfSwuLi5vJiZ7Z3JvdXA6b30sLi4ucyYmdCYme3BlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50OnN9fTthd2FpdCBxLmdldENsaWVudCgpLmF1dGhlbnRpY2F0ZShjKSxlaCgpLGF3YWl0IHVfKCksVmMoKX0sZGc9YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGVtb2ppLW1hcnQvZGF0YWAsZmc9UmVnRXhwKGA6KFthLXpBLVowLTlfLV0rKTpgLGBnYCkscGc9bnVsbCxtZz1udWxsLGhnPW51bGwsZ2c9TyhbXSksX2c9YXN5bmMoKT0+cGd8fGhnfHwoaGc9ZmV0Y2goZGcpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+KHBnPWUsZSkpLmNhdGNoKGU9Pnt0aHJvdyB2byhgRmFpbGVkIHRvIGxvYWQgZW1vamkgZGF0YWAsZSksaGc9bnVsbCxlfSksaGcpLHZnPWU9Pk9iamVjdC52YWx1ZXMoZS5lbW9qaXMpLm1hcChlPT4oe2lkOmUuaWQsbmFtZTplLm5hbWUsbmF0aXZlOmUuc2tpbnNbMF0/Lm5hdGl2ZT8/YGAsa2V5d29yZHM6ZS5rZXl3b3Jkcz8/W119KSkseWc9e3N1YnNjcmliZTpnZy5zdWJzY3JpYmUsYXN5bmMgbG9hZFJhd0RhdGEoKXtyZXR1cm4gX2coKX0sYXN5bmMgbG9hZERhdGEoKXtyZXR1cm4gbWd8fChtZz12Zyhhd2FpdCBfZygpKSxnZy5zZXQobWcpLG1nKX0sZ2V0QnlJZChlKXtsZXQgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG1nPy5maW5kKGU9PmUuaWQudG9Mb3dlckNhc2UoKT09PXQpfSxpc0xvYWRlZCgpe3JldHVybiBtZyE9PW51bGx9fSxiZz1lPT55Zy5pc0xvYWRlZCgpP2UucmVwbGFjZShmZywoZSx0KT0+e2xldCBuPXlnLmdldEJ5SWQodCk7cmV0dXJuIG4/bi5uYXRpdmU6ZX0pOmUseGc9MjAsU2c9eyI6KSI6YPCfmYJgLCI6LSkiOmDwn5mCYCwiOkQiOmDwn5iAYCwiOi1EIjpg8J+YgGAsIjspIjpg8J+YiWAsIjstKSI6YPCfmIlgLCI8MyI6YOKdpO+4j2AsIjooIjpg8J+YnmAsIjotKCI6YPCfmJ5gLCI6UCI6YPCfmJtgLCI6LVAiOmDwn5ibYCwiOi1vIjpg8J+YrmAsIjpPIjpg8J+YrmAsIjovIjpg8J+YlWAsIjotLyI6YPCfmJVgfSxDZz1lPT57bGV0IHQ9YCgke2U/YCR8YDpgYH0gKWA7cmV0dXJuIG5ldyBSZWdFeHAoT2JqZWN0LmtleXMoU2cpLm1hcChlPT5gJHtlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLGBcXCQmYCl9JHt0fWApLmpvaW4oYHxgKSxgZ2lgKX0sd2c9KGUsdD0hMSk9PntsZXQgbj1DZyh0KTtyZXR1cm4gZS5yZXBsYWNlKG4sZT0+e2xldCB0PU9iamVjdC5rZXlzKFNnKS5maW5kKHQ9PmUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0KSk7aWYoIXQpcmV0dXJuIGU7bGV0IG49ZS5lbmRzV2l0aChgIGApP2AgYDpgYDtyZXR1cm5gJHtTZ1t0XX0ke259YH0pfSxUZz0oZSx0LG49eGcpPT57aWYoIWV8fGUubGVuZ3RoPDIpcmV0dXJuW107bGV0IHI9ZS50b0xvd2VyQ2FzZSgpLGk9W10sYT1bXSxvPVtdLHM9W107Zm9yKGxldCBlIG9mIHQpe2xldCB0PWUuaWQudG9Mb3dlckNhc2UoKSxuPWUubmFtZS50b0xvd2VyQ2FzZSgpO2lmKHQuc3RhcnRzV2l0aChyKSl7aS5wdXNoKGUpO2NvbnRpbnVlfWlmKHQuaW5jbHVkZXMocikpe2EucHVzaChlKTtjb250aW51ZX1pZihuLmluY2x1ZGVzKHIpKXtvLnB1c2goZSk7Y29udGludWV9ZS5rZXl3b3Jkcy5zb21lKGU9PmUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyKSkmJnMucHVzaChlKX1yZXR1cm5bLi4uaSwuLi5hLC4uLm8sLi4uc10uc2xpY2UoMCxuKX0sRWc9KGUsdCk9PntsZXQgbj1lLnNsaWNlKDAsdCkscj1uLmxhc3RJbmRleE9mKGA6YCk7aWYocj09PS0xKXJldHVybiBudWxsO2xldCBpPW4uc2xpY2UocisxKTtyZXR1cm4gUmVnRXhwKGBeW2EtekEtWjAtOV8tXSokYCkudGVzdChpKSYmaS5sZW5ndGg+PTI/aTpudWxsfSxEZz0oZSx0LG4pPT57bGV0IHI9ZS5zbGljZSgwLHQpLGk9ZS5zbGljZSh0KSxhPXIubGFzdEluZGV4T2YoYDpgKTtpZihhPT09LTEpcmV0dXJue25ld1RleHQ6ZSxuZXdDdXJzb3JQb3NpdGlvbjp0fTtsZXQgbz1lLnNsaWNlKDAsYSkscz1pLmxlbmd0aD09PTA/bitgIGA6bjtyZXR1cm57bmV3VGV4dDpvK3MraSxuZXdDdXJzb3JQb3NpdGlvbjphK3MubGVuZ3RofX0sT2c9KGUsdD0zMDApPT57bGV0IG47cmV0dXJuKC4uLnIpPT57Y2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoKT0+ZSguLi5yKSx0KX19LGtnPTNlMyxBZz1bYHNtYXJ0c3VwcC5kZXZgLGBzbWFydHN1cHBjaGF0LmxvY2BdLGpnPWZ1bmN0aW9uKGUpe3JldHVybiBlLkRlZmF1bHQ9YGJsYWNrYmVycnkyLm1wM2AsZX0oe30pLE1nPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbm5lY3Rpbmc9YGNvbm5lY3RpbmdgLGUuQ29ubmVjdGVkPWBjb25uZWN0ZWRgLGUuRGlzY29ubmVjdGVkPWBkaXNjb25uZWN0ZWRgLGV9KHt9KSxOZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5JbWFnZT1gaW1hZ2VgLGUuVmlkZW89YHZpZGVvYCxlfSh7fSksUGc9TyghMSksRmc9TyghMSksSWc9TyghMSk7QigpLmFkZEV2ZW50TGlzdGVuZXIoYG9mZmxpbmVgLCgpPT5QZy5zZXQoITApKSxCKCkuYWRkRXZlbnRMaXN0ZW5lcihgb25saW5lYCwoKT0+UGcuc2V0KCExKSk7dmFyIExnPWsoW2RsLFBnLElnXSwoW2UsdCxuXSk9Pm4/TWcuQ29ubmVjdGVkOiFlfHx0P01nLkRpc2Nvbm5lY3RlZDpNZy5Db25uZWN0ZWQsTWcuQ29ubmVjdGluZyksUmcsemc9T2coZT0+e2UmJiFSZyYmKFJnPV9zKEEoVykoYGVycm9yLm5vSW50ZXJuZXRgKSwwKSksIWUmJlJnJiYoUmcoKSxSZz12b2lkIDApfSxrZyk7TGcuc3Vic2NyaWJlKGU9PntlPT09TWcuRGlzY29ubmVjdGVkJiYoRmcuc2V0KCEwKSx6ZyghMCkpLGU9PT1NZy5Db25uZWN0ZWQmJihGZy5zZXQoITEpLHpnKCExKSl9KTt2YXIgQmc9KGUsdCxuKT0+ZT09PU1nLkRpc2Nvbm5lY3RlZHx8IXR8fG4sVmc9KCk9PkJnKEEoTGcpLEEoSHApLEEoWHUpLmRpc2FibGVBdHRhY2htZW50cyksSGc9TyghMSksVWc9ZT0+e2lmKEEoSGcpKXtIKGBUaGVyZSBpcyBhbHJlYWR5IGZpbGUgdXBsb2FkIGluIHByb2dyZXNzYCk7cmV0dXJufWlmKGUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9V2coZSk7dC5sZW5ndGg+MCYmWWwuYWRkKHQpfSxXZz1lPT5lLmxlbmd0aD41PyhncyhgJHtBKFcpKGBmaWxlVXBsb2FkLnRvb01hbnlGaWxlc2ApfSA1YCksW10pOmUuZmlsdGVyKGU9PkdnKGUpKSxHZz1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dCxhY2NlcHRlZEZpbGVUeXBlczpuLG1heEZpbGVTaXplOnJ9PUEoYmwpO2lmKCFlKXJldHVybiExO2xldCBpPXQuaW5jbHVkZXMoQ2QoZS5uYW1lKSksYT1uLnNvbWUodD0+dD09PWUudHlwZSk7aWYoVmcoKSlyZXR1cm4gSChgRmlsZSB1cGxvYWQgaXMgZGlzYWJsZWRgKSwhMTtpZighQShIcCkpcmV0dXJuIGdzKEEoVykoYHdhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0YCkpLCExO2lmKGUuc2l6ZT5yKXtsZXQgZT13ZChyKTtyZXR1cm4gZ3MoYCR7QShXKShgZmlsZVVwbG9hZC5maWxlVG9vQmlnYCl9ICR7ZS5zaXplfSAke2UudW5pdH1gKSwhMX1yZXR1cm4gaXx8YT8hMDooZ3MoQShXKShgZmlsZVVwbG9hZC5iYWRGaWxlVHlwZWApKSwhMSl9LEtnPSgpPT5ZbC5jb3VudCgpPT09MD9bXTooWWwuc2V0VXBsb2FkaW5nU3RhdHVzKCksRGQoQShZbCksZT0+WWwuc2V0RmlsZVVwbG9hZGVkKGUubmFtZSkpKSxxZz0xMCxKZz0xZTQsWWc9M2U0LFhnPTIwLFpnPWU9PntpZihlLmxlbmd0aD4wJiZlLmxlbmd0aCVxZz09PTApe2xldCB0PWUuc2xpY2UoLXFnKSxuPW5ldyBEYXRlKGVbZS5sZW5ndGgtMV0uY3JlYXRlZEF0KS5nZXRUaW1lKCk7aWYobmV3IERhdGUoKS5nZXRUaW1lKCktbj5ZZ3x8IXQuZXZlcnkoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KSlyZXR1cm4hMTtpZihuLW5ldyBEYXRlKHRbMF0uY3JlYXRlZEF0KS5nZXRUaW1lKCk8SmcpcmV0dXJuITB9cmV0dXJuITF9LFFnPWU9PntsZXQgdD1qZihlKTtyZXR1cm4gdD90Lmxlbmd0aD5YZzohMX0sJGc9TygpLGVfPU8oITEpLHRfPU8oKSxuXz0yMDAscl89TyghMSksaV89ayhbJGddLChbZV0pPT5lPT09dm9pZCAwP3pvKFUuTWVzc2FnZSk/P2BgOmUpLGFfPWsoW2lfXSwoW2VdKT0+ZS50cmltKCkubGVuZ3RoPT09MCksb189ZT0+eyRnLnNldChiZyh3ZyhlKSkpfSxzXz0oZSx0KT0+e2xldCBuPUEoaV8pPz9gYCxyPWAke24uc2xpY2UoMCx0KX0ke2V9JHtuLnNsaWNlKHQpfWA7JGcuc2V0KHIpfSxjXz0oKT0+e0EoZV8pfHwocS5nZXRDbGllbnQoKS5jaGF0VHlwaW5nKCEwKSxlXy5zZXQoITApKX0sbF89KCk9PntBKGVfKSYmKHEuZ2V0Q2xpZW50KCkuY2hhdFR5cGluZyghMSksZV8uc2V0KCExKSl9LHVfPWFzeW5jKGU9W10pPT57aWYoQShhXykmJmUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9Ymcod2coQShpXyksITApKS50cmltKCk7YXdhaXQgSi5zZW5kTWVzc2FnZSh0LGUpLG9fKGBgKSxsXygpLHJfLnNldCghMCksZ2QoKX0sZF89T2coYXN5bmMoKT0+e2xldCBlPVlsLmNvdW50KCk+MDtpZihBKGFfKSYmIWUpcmV0dXJuO2lmKCFBKFgpJiZsZygpJiZVXygpLGZfKCkmJiFlKXtfcyhBKFcpKGB3YXJuaW5nQmFyLnNhbWVNZXNzYWdlVHdpY2VgKSk7cmV0dXJufWlmKFpnKEEoUnApKSl7X3MoQShXKShgd2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbmApKTtyZXR1cm59aWYoQShIZykpe2pvKEEoVykoYGNoYXQuZmlsZVVwbG9hZC5lcnJvci5zdGlsbFVwbG9hZGluZ2ApKTtyZXR1cm59aWYoQShVZikpe19zKEEoVykoYGNhcmQuc2VuZGluZ0luUHJvZ3Jlc3NgKSk7cmV0dXJufWlmKFFnKEEoaV8pKSl7X3MoQShXKShgY2FyZC5saW5rc0xpbWl0UmVhY2hlZGApKTtyZXR1cm59aWYobGcoKSl7QmMoSGMuQXV0aEZvcm0pO3JldHVybn1sZXQgdD1bXTtlJiYoSGcuc2V0KCEwKSx0PWF3YWl0IEtnKCksWWwuY2xlYXIoKSxIZy5zZXQoITEpKSxhd2FpdCB1Xyh0KX0sbl8pLGZfPSgpPT57bGV0IGU9QShHcCksdD1BKEtwKSxuPUEoaV8pLnRyaW0oKTtyZXR1cm4gZSYmbj09PWUuY29udGVudC50ZXh0fHx0JiZuPT09dH0scF89ZT0+e2xldCB0PSgpPT57X2QoKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpKSl9LG1fPWU9PntsZXQgdD0oKT0+e0EoWCkmJldfKCEwKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCx0KSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBjMDZkNDVjMzNlMDk5OGVmMmQzMDQ2MmZiNTc4Nzk2MzNjMWRmNWNhYCxlLmNvbW1pdEluZm89YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2EgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1MiBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0wNyAxMDoyMjoyOCArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+ZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiYhW0cuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50Sm9pbixHLk1lc3NhZ2VDb250ZW50VHlwZS5BZ2VudExlYXZlLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50QXNzaWduLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50VW5hc3NpZ25dLmluY2x1ZGVzKGUuY29udGVudC50eXBlKSx2Xz1lPT57cS5pc0luaXRpYWxpemVkKCkmJnEuZ2V0Q2xpZW50KCkubm90aWZ5KGUpfSx5Xz0oKT0+e1YuZ2V0T3B0aW9ucygpLmlzUHJldmlld01vZGV8fHZfKEsuV2Vic29ja2V0VmlzaXRvckNsaWVudC5FdmVudE5hbWUuV2lkZ2V0T3Blbil9LGJfPSgpPT52XyhLLldlYnNvY2tldFZpc2l0b3JDbGllbnQuRXZlbnROYW1lLldpZGdldFNob3cpLHhfPSgpPT5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAsU189KCk9PntpZihBKHNzKSl7VF8uc2V0KCEwKTtsZXQgZT1CKCk7ZS5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLGUubG9jYXRpb24uaHJlZil9fSxDXz1PKCExKSx3Xz1PKCExKSxUXz1PKCExKSxFXz1lPT4hIUFnLmZpbmQodD0+ZS5pbmNsdWRlcyh0KSksRF89TyghMCk7Vi5hd2FpdE9wdGlvbnMoKS50aGVuKGU9PntsZXQgdD16byhVLlNvdW5kc0VuYWJsZWQpO3Q/RF8uc2V0KHQ9PT1gdHJ1ZWApOnR5cGVvZiBlLmVuYWJsZVNvdW5kcz09YGJvb2xlYW5gJiZEXy5zZXQoZS5lbmFibGVTb3VuZHMpLHdfLnNldChFXyhlLmJvb3RzdHJhcFVybCkpfSk7dmFyIE9fPWU9PntEXy5zZXQoZSksQm8oe25hbWU6VS5Tb3VuZHNFbmFibGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLGUmJmJwKCl9LGtfPU8oeF8oKSksQV89T2coKCk9PmtfLnNldCh4XygpKSw1MDApO0IoKS5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCwoKT0+e0FfKCl9KTt2YXIgal89TygwKSxNXz0oKT0+al8udXBkYXRlKGU9PmUrMSksTl89TyghMCksUF89KGUsdCk9Pih2byhgd2lkZ2V0IHZpc2libGU6ICR7U3RyaW5nKHQpfSA9PiByZWFzb246ICR7ZX1gKSx0JiZ0IT09QShSXykmJmJfKCksdCksRl89TygpLElfPSgpPT5GXy5zZXQoITApLExfPSgpPT5GXy5zZXQoITEpLFJfPWsoW011LHNzLEZfLGVkLG9kLGsoWyR1LFJwLGFfLG9kXSwoW2UsdCxuLHJdKT0+e2xldHtoaWRlT2ZmbGluZUNoYXQ6aSxpc1ByZXZpZXdNb2RlOmF9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJiEhaSYmU3AodCkubGVuZ3RoPT09MCYmbiYmIXImJiFhfSldLChbZSx0LG4scixpLGFdKT0+e2xldHtoaWRlTW9iaWxlV2lkZ2V0Om8saGlkZVdpZGdldDpzfT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZT8uYmFubmVkQXQ/UF8oYHZpc2l0b3IgaXMgYmFubmVkYCwhMSk6dCYmbz9QXyhgb3B0aW9uICdoaWRlTW9iaWxlV2lkZ2V0JyBpcyB0cnVlYCwhMSk6dHlwZW9mIG49PWBib29sZWFuYD9QXyhgc2V0IGJ5IEFQSSBjb21tYW5kYCxuKTpyJiYhaT9QXyhgY2hhdCBzdGF0dXMgaXMgbm90IHBlbmRpbmdgLCEwKTphP1BfKGBvcHRpb24gJ2hpZGVPZmZsaW5lQ2hhdCcgaXMgdHJ1ZWAsITEpOlBfKGBvcHRpb24gJ2hpZGVXaWRnZXQnIGlzICR7U3RyaW5nKHMpfWAsIXMpfSksel89ayhbc3NdLChbZV0pPT57bGV0e29wZW5PblRyaWdnZXI6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIHQmJiFlfSksQl89W10sVl89ZT0+KEJfLnB1c2goZSksKCk9PntsZXQgdD1CXy5pbmRleE9mKGUpO3QhPT0tMSYmQl8uc3BsaWNlKHQsMSl9KSxIXz0oKT0+Ql8ubGVuZ3RoPT09MD8hMTooQl8ucG9wKCkoKSwhMCksWD1ycyhVLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQsITEsZT0+IUEoc3MpJiZlPT09YHRydWVgKSxVXz0oZT0hMSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpO3Q/LmRpc2FibGVPcGVuTWVzc2VuZ2VyJiYhZXx8KGNoKCksU18oKSxYLnNldCghMCksZXYoKSxDaCgpLHlfKCkpfSxXXz1lPT57aWYoQShzcykmJkEoVF8pJiYhZSlyZXR1cm4gVF8uc2V0KCExKSxCKCkuaGlzdG9yeS5iYWNrKCk7ei5lbWl0KGBtZXNzZW5nZXJDbG9zZWAsITApLFguc2V0KCExKX0sR189ZT0+e2lmKCFlKXJldHVybjtsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpLG49ZT0+e2lmKGUua2V5PT09VGguRXNjYXBlKXtpZihIXygpfHx0Py5kaXNhYmxlQ2xvc2VCdXR0b24pcmV0dXJuO1dfKCl9fSxyPWUub3duZXJEb2N1bWVudDtyZXR1cm4gci5hZGRFdmVudExpc3RlbmVyKGBrZXlkb3duYCxuLCEwKSx7ZGVzdHJveSgpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihga2V5ZG93bmAsbiwhMCl9fX0sS189ayhbQ18sUl8sWF0sKFtlLHQsbl0pPT5lJiZ0JiZuKTtmdW5jdGlvbiBxXygpe2xldCBlPU8oITEpLHtzdWJzY3JpYmU6dH09ZSxuPW51bGw7cmV0dXJue3N1YnNjcmliZTp0LGhhbmRsZURyYWdPdmVyOih0LHI9ITApPT57ciYmdC5wcmV2ZW50RGVmYXVsdCgpLEEoZSl8fGUuc2V0KCEwKSxuJiZjbGVhclRpbWVvdXQobiksbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e2Uuc2V0KCExKX0sMjAwKX0saGFuZGxlRHJvcDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpLG4mJmNsZWFyVGltZW91dChuKSxlLnNldCghMSk7bGV0IHI9dC5kYXRhVHJhbnNmZXI/LmZpbGVzP1suLi50LmRhdGFUcmFuc2Zlci5maWxlc106W107cmV0dXJuIHIubGVuZ3RoPT09MCYmX3MoYERyb3BwZWQgaXRlbShzKSBhcmUgbm90IHByb2Nlc3NhYmxlIGZpbGVzYCkse2Ryb3BwZWRGaWxlczpyfX19fXZhciBKXz1xXygpLFlfPWsoW0NfLFJfLFhdLChbZSx0LG5dKT0+ZSYmdCYmIW4pLFhfPU8oITEpLFpfPU8oITEpLFFfPSgpPT57WF8uc2V0KCEwKSxaXy5zZXQoITEpfSwkXz0oKT0+e1pfLnNldCghMCksWF8uc2V0KCExKX0sZXY9KGU9ITEpPT57Wl8uc2V0KCExKSxlJiZCbyh7bmFtZTpVLlBvcHVwQ2xvc2VkQXQsdmFsdWU6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSl9LHR2PWsoW3NzXSwoW2VdKT0+e2xldHttb2JpbGVQb3B1cHNFbmFibGVkOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPyEhdDohMH0pLG52PWsoW05wXSwoW2VdKT0+e2xldCB0PXpvKFUuUG9wdXBDbG9zZWRBdCk/P251bGw7cmV0dXJuIXR8fCFlPyEwOm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCk+bmV3IERhdGUodCkuZ2V0VGltZSgpfSkscnY9ayhbQ18sUl8sWF8sWCx0dl0sKFtlLHQsbixyLGldKT0+ZSYmdCYmbiYmIXImJmkpLGl2PWsoW0NfLFJfLFpfLFgsTnAsbnYsdHYsV2ZdLChbZSx0LG4scixpLGEsbyxzXSk9PmUmJnQmJm4mJmkmJmEmJiFyJiZvJiYhcyksYXY9e3doaXRlOmAjZmZmZmZmYCxzbGF0ZTEwMDpgI2YxZjVmOWAsc2xhdGUyMDA6YCNlMmU4ZjBgLHNsYXRlMzAwOmAjY2JkNWUxYCxzbGF0ZTkwMDpgIzBmMTcyYWAsYmx1ZTcwMDpgIzFkNGVkOGAsc21hcnRzdXBwQmx1ZTpgIzEyMzNkZmB9O2Z1bmN0aW9uIFooZSx0KXtzdihlKSYmKGU9YDEwMCVgKTtsZXQgbj1jdihlKTtyZXR1cm4gZT10PT09MzYwP2U6TWF0aC5taW4odCxNYXRoLm1heCgwLHBhcnNlRmxvYXQoZSkpKSxuJiYoZT1wYXJzZUludChTdHJpbmcoZSp0KSwxMCkvMTAwKSxNYXRoLmFicyhlLXQpPDFlLTY/MTooZT10PT09MzYwPyhlPDA/ZSV0K3Q6ZSV0KS9wYXJzZUZsb2F0KFN0cmluZyh0KSk6ZSV0L3BhcnNlRmxvYXQoU3RyaW5nKHQpKSxlKX1mdW5jdGlvbiBvdihlKXtyZXR1cm4gTWF0aC5taW4oMSxNYXRoLm1heCgwLGUpKX1mdW5jdGlvbiBzdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYC5gKSE9PS0xJiZwYXJzZUZsb2F0KGUpPT09MX1mdW5jdGlvbiBjdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYCVgKSE9PS0xfWZ1bmN0aW9uIGx2KGUpe3JldHVybiBlPXBhcnNlRmxvYXQoZSksKGlzTmFOKGUpfHxlPDB8fGU+MSkmJihlPTEpLGV9ZnVuY3Rpb24gdXYoZSl7cmV0dXJuIE51bWJlcihlKTw9MT9gJHtOdW1iZXIoZSkqMTAwfSVgOmV9ZnVuY3Rpb24gZHYoZSl7cmV0dXJuIGUubGVuZ3RoPT09MT9gMGArZTpTdHJpbmcoZSl9ZnVuY3Rpb24gZnYoZSx0LG4pe3JldHVybntyOlooZSwyNTUpKjI1NSxnOloodCwyNTUpKjI1NSxiOloobiwyNTUpKjI1NX19ZnVuY3Rpb24gcHYoZSx0LG4pe2U9WihlLDI1NSksdD1aKHQsMjU1KSxuPVoobiwyNTUpO2xldCByPU1hdGgubWF4KGUsdCxuKSxpPU1hdGgubWluKGUsdCxuKSxhPTAsbz0wLHM9KHIraSkvMjtpZihyPT09aSlvPTAsYT0wO2Vsc2V7bGV0IGM9ci1pO3N3aXRjaChvPXM+LjU/Yy8oMi1yLWkpOmMvKHIraSkscil7Y2FzZSBlOmE9KHQtbikvYysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvYysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL2MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOm8sbDpzfX1mdW5jdGlvbiBtdihlLHQsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmLS1uLG48MS82P2UrKHQtZSkqKDYqbik6bjwxLzI/dDpuPDIvMz9lKyh0LWUpKigyLzMtbikqNjplfWZ1bmN0aW9uIGh2KGUsdCxuKXtsZXQgcixpLGE7aWYoZT1aKGUsMzYwKSx0PVoodCwxMDApLG49WihuLDEwMCksdD09PTApaT1uLGE9bixyPW47ZWxzZXtsZXQgbz1uPC41P24qKDErdCk6bit0LW4qdCxzPTIqbi1vO3I9bXYocyxvLGUrMS8zKSxpPW12KHMsbyxlKSxhPW12KHMsbyxlLTEvMyl9cmV0dXJue3I6cioyNTUsZzppKjI1NSxiOmEqMjU1fX1mdW5jdGlvbiBndihlLHQsbil7ZT1aKGUsMjU1KSx0PVoodCwyNTUpLG49WihuLDI1NSk7bGV0IHI9TWF0aC5tYXgoZSx0LG4pLGk9TWF0aC5taW4oZSx0LG4pLGE9MCxvPXIscz1yLWksYz1yPT09MD8wOnMvcjtpZihyPT09aSlhPTA7ZWxzZXtzd2l0Y2gocil7Y2FzZSBlOmE9KHQtbikvcysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvcysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL3MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOmMsdjpvfX1mdW5jdGlvbiBfdihlLHQsbil7ZT1aKGUsMzYwKSo2LHQ9Wih0LDEwMCksbj1aKG4sMTAwKTtsZXQgcj1NYXRoLmZsb29yKGUpLGk9ZS1yLGE9biooMS10KSxvPW4qKDEtaSp0KSxzPW4qKDEtKDEtaSkqdCksYz1yJTYsbD1bbixvLGEsYSxzLG5dW2NdLHU9W3MsbixuLG8sYSxhXVtjXSxkPVthLGEscyxuLG4sb11bY107cmV0dXJue3I6bCoyNTUsZzp1KjI1NSxiOmQqMjU1fX1mdW5jdGlvbiB2dihlLHQsbixyKXtsZXQgaT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSldO3JldHVybiByJiZpWzBdLnN0YXJ0c1dpdGgoaVswXS5jaGFyQXQoMSkpJiZpWzFdLnN0YXJ0c1dpdGgoaVsxXS5jaGFyQXQoMSkpJiZpWzJdLnN0YXJ0c1dpdGgoaVsyXS5jaGFyQXQoMSkpP2lbMF0uY2hhckF0KDApK2lbMV0uY2hhckF0KDApK2lbMl0uY2hhckF0KDApOmkuam9pbihgYCl9ZnVuY3Rpb24geXYoZSx0LG4scixpKXtsZXQgYT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSksZHYoU3YocikpXTtyZXR1cm4gaSYmYVswXS5zdGFydHNXaXRoKGFbMF0uY2hhckF0KDEpKSYmYVsxXS5zdGFydHNXaXRoKGFbMV0uY2hhckF0KDEpKSYmYVsyXS5zdGFydHNXaXRoKGFbMl0uY2hhckF0KDEpKSYmYVszXS5zdGFydHNXaXRoKGFbM10uY2hhckF0KDEpKT9hWzBdLmNoYXJBdCgwKSthWzFdLmNoYXJBdCgwKSthWzJdLmNoYXJBdCgwKSthWzNdLmNoYXJBdCgwKTphLmpvaW4oYGApfWZ1bmN0aW9uIGJ2KGUsdCxuLHIpe2xldCBpPWUvMTAwLGE9dC8xMDAsbz1uLzEwMCxzPXIvMTAwO3JldHVybntyOjI1NSooMS1pKSooMS1zKSxnOjI1NSooMS1hKSooMS1zKSxiOjI1NSooMS1vKSooMS1zKX19ZnVuY3Rpb24geHYoZSx0LG4pe2xldCByPTEtZS8yNTUsaT0xLXQvMjU1LGE9MS1uLzI1NSxvPU1hdGgubWluKHIsaSxhKTtyZXR1cm4gbz09PTE/KHI9MCxpPTAsYT0wKToocj0oci1vKS8oMS1vKSoxMDAsaT0oaS1vKS8oMS1vKSoxMDAsYT0oYS1vKS8oMS1vKSoxMDApLG8qPTEwMCx7YzpNYXRoLnJvdW5kKHIpLG06TWF0aC5yb3VuZChpKSx5Ok1hdGgucm91bmQoYSksazpNYXRoLnJvdW5kKG8pfX1mdW5jdGlvbiBTdihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKjI1NSkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEN2KGUpe3JldHVybiB3dihlKS8yNTV9ZnVuY3Rpb24gd3YoZSl7cmV0dXJuIHBhcnNlSW50KGUsMTYpfWZ1bmN0aW9uIFR2KGUpe3JldHVybntyOmU+PjE2LGc6KGUmNjUyODApPj44LGI6ZSYyNTV9fXZhciBFdj17YWxpY2VibHVlOmAjZjBmOGZmYCxhbnRpcXVld2hpdGU6YCNmYWViZDdgLGFxdWE6YCMwMGZmZmZgLGFxdWFtYXJpbmU6YCM3ZmZmZDRgLGF6dXJlOmAjZjBmZmZmYCxiZWlnZTpgI2Y1ZjVkY2AsYmlzcXVlOmAjZmZlNGM0YCxibGFjazpgIzAwMDAwMGAsYmxhbmNoZWRhbG1vbmQ6YCNmZmViY2RgLGJsdWU6YCMwMDAwZmZgLGJsdWV2aW9sZXQ6YCM4YTJiZTJgLGJyb3duOmAjYTUyYTJhYCxidXJseXdvb2Q6YCNkZWI4ODdgLGNhZGV0Ymx1ZTpgIzVmOWVhMGAsY2hhcnRyZXVzZTpgIzdmZmYwMGAsY2hvY29sYXRlOmAjZDI2OTFlYCxjb3JhbDpgI2ZmN2Y1MGAsY29ybmZsb3dlcmJsdWU6YCM2NDk1ZWRgLGNvcm5zaWxrOmAjZmZmOGRjYCxjcmltc29uOmAjZGMxNDNjYCxjeWFuOmAjMDBmZmZmYCxkYXJrYmx1ZTpgIzAwMDA4YmAsZGFya2N5YW46YCMwMDhiOGJgLGRhcmtnb2xkZW5yb2Q6YCNiODg2MGJgLGRhcmtncmF5OmAjYTlhOWE5YCxkYXJrZ3JlZW46YCMwMDY0MDBgLGRhcmtncmV5OmAjYTlhOWE5YCxkYXJra2hha2k6YCNiZGI3NmJgLGRhcmttYWdlbnRhOmAjOGIwMDhiYCxkYXJrb2xpdmVncmVlbjpgIzU1NmIyZmAsZGFya29yYW5nZTpgI2ZmOGMwMGAsZGFya29yY2hpZDpgIzk5MzJjY2AsZGFya3JlZDpgIzhiMDAwMGAsZGFya3NhbG1vbjpgI2U5OTY3YWAsZGFya3NlYWdyZWVuOmAjOGZiYzhmYCxkYXJrc2xhdGVibHVlOmAjNDgzZDhiYCxkYXJrc2xhdGVncmF5OmAjMmY0ZjRmYCxkYXJrc2xhdGVncmV5OmAjMmY0ZjRmYCxkYXJrdHVycXVvaXNlOmAjMDBjZWQxYCxkYXJrdmlvbGV0OmAjOTQwMGQzYCxkZWVwcGluazpgI2ZmMTQ5M2AsZGVlcHNreWJsdWU6YCMwMGJmZmZgLGRpbWdyYXk6YCM2OTY5NjlgLGRpbWdyZXk6YCM2OTY5NjlgLGRvZGdlcmJsdWU6YCMxZTkwZmZgLGZpcmVicmljazpgI2IyMjIyMmAsZmxvcmFsd2hpdGU6YCNmZmZhZjBgLGZvcmVzdGdyZWVuOmAjMjI4YjIyYCxmdWNoc2lhOmAjZmYwMGZmYCxnYWluc2Jvcm86YCNkY2RjZGNgLGdob3N0d2hpdGU6YCNmOGY4ZmZgLGdvbGRlbnJvZDpgI2RhYTUyMGAsZ29sZDpgI2ZmZDcwMGAsZ3JheTpgIzgwODA4MGAsZ3JlZW46YCMwMDgwMDBgLGdyZWVueWVsbG93OmAjYWRmZjJmYCxncmV5OmAjODA4MDgwYCxob25leWRldzpgI2YwZmZmMGAsaG90cGluazpgI2ZmNjliNGAsaW5kaWFucmVkOmAjY2Q1YzVjYCxpbmRpZ286YCM0YjAwODJgLGl2b3J5OmAjZmZmZmYwYCxraGFraTpgI2YwZTY4Y2AsbGF2ZW5kZXJibHVzaDpgI2ZmZjBmNWAsbGF2ZW5kZXI6YCNlNmU2ZmFgLGxhd25ncmVlbjpgIzdjZmMwMGAsbGVtb25jaGlmZm9uOmAjZmZmYWNkYCxsaWdodGJsdWU6YCNhZGQ4ZTZgLGxpZ2h0Y29yYWw6YCNmMDgwODBgLGxpZ2h0Y3lhbjpgI2UwZmZmZmAsbGlnaHRnb2xkZW5yb2R5ZWxsb3c6YCNmYWZhZDJgLGxpZ2h0Z3JheTpgI2QzZDNkM2AsbGlnaHRncmVlbjpgIzkwZWU5MGAsbGlnaHRncmV5OmAjZDNkM2QzYCxsaWdodHBpbms6YCNmZmI2YzFgLGxpZ2h0c2FsbW9uOmAjZmZhMDdhYCxsaWdodHNlYWdyZWVuOmAjMjBiMmFhYCxsaWdodHNreWJsdWU6YCM4N2NlZmFgLGxpZ2h0c2xhdGVncmF5OmAjNzc4ODk5YCxsaWdodHNsYXRlZ3JleTpgIzc3ODg5OWAsbGlnaHRzdGVlbGJsdWU6YCNiMGM0ZGVgLGxpZ2h0eWVsbG93OmAjZmZmZmUwYCxsaW1lOmAjMDBmZjAwYCxsaW1lZ3JlZW46YCMzMmNkMzJgLGxpbmVuOmAjZmFmMGU2YCxtYWdlbnRhOmAjZmYwMGZmYCxtYXJvb246YCM4MDAwMDBgLG1lZGl1bWFxdWFtYXJpbmU6YCM2NmNkYWFgLG1lZGl1bWJsdWU6YCMwMDAwY2RgLG1lZGl1bW9yY2hpZDpgI2JhNTVkM2AsbWVkaXVtcHVycGxlOmAjOTM3MGRiYCxtZWRpdW1zZWFncmVlbjpgIzNjYjM3MWAsbWVkaXVtc2xhdGVibHVlOmAjN2I2OGVlYCxtZWRpdW1zcHJpbmdncmVlbjpgIzAwZmE5YWAsbWVkaXVtdHVycXVvaXNlOmAjNDhkMWNjYCxtZWRpdW12aW9sZXRyZWQ6YCNjNzE1ODVgLG1pZG5pZ2h0Ymx1ZTpgIzE5MTk3MGAsbWludGNyZWFtOmAjZjVmZmZhYCxtaXN0eXJvc2U6YCNmZmU0ZTFgLG1vY2Nhc2luOmAjZmZlNGI1YCxuYXZham93aGl0ZTpgI2ZmZGVhZGAsbmF2eTpgIzAwMDA4MGAsb2xkbGFjZTpgI2ZkZjVlNmAsb2xpdmU6YCM4MDgwMDBgLG9saXZlZHJhYjpgIzZiOGUyM2Asb3JhbmdlOmAjZmZhNTAwYCxvcmFuZ2VyZWQ6YCNmZjQ1MDBgLG9yY2hpZDpgI2RhNzBkNmAscGFsZWdvbGRlbnJvZDpgI2VlZThhYWAscGFsZWdyZWVuOmAjOThmYjk4YCxwYWxldHVycXVvaXNlOmAjYWZlZWVlYCxwYWxldmlvbGV0cmVkOmAjZGI3MDkzYCxwYXBheWF3aGlwOmAjZmZlZmQ1YCxwZWFjaHB1ZmY6YCNmZmRhYjlgLHBlcnU6YCNjZDg1M2ZgLHBpbms6YCNmZmMwY2JgLHBsdW06YCNkZGEwZGRgLHBvd2RlcmJsdWU6YCNiMGUwZTZgLHB1cnBsZTpgIzgwMDA4MGAscmViZWNjYXB1cnBsZTpgIzY2MzM5OWAscmVkOmAjZmYwMDAwYCxyb3N5YnJvd246YCNiYzhmOGZgLHJveWFsYmx1ZTpgIzQxNjllMWAsc2FkZGxlYnJvd246YCM4YjQ1MTNgLHNhbG1vbjpgI2ZhODA3MmAsc2FuZHlicm93bjpgI2Y0YTQ2MGAsc2VhZ3JlZW46YCMyZThiNTdgLHNlYXNoZWxsOmAjZmZmNWVlYCxzaWVubmE6YCNhMDUyMmRgLHNpbHZlcjpgI2MwYzBjMGAsc2t5Ymx1ZTpgIzg3Y2VlYmAsc2xhdGVibHVlOmAjNmE1YWNkYCxzbGF0ZWdyYXk6YCM3MDgwOTBgLHNsYXRlZ3JleTpgIzcwODA5MGAsc25vdzpgI2ZmZmFmYWAsc3ByaW5nZ3JlZW46YCMwMGZmN2ZgLHN0ZWVsYmx1ZTpgIzQ2ODJiNGAsdGFuOmAjZDJiNDhjYCx0ZWFsOmAjMDA4MDgwYCx0aGlzdGxlOmAjZDhiZmQ4YCx0b21hdG86YCNmZjYzNDdgLHR1cnF1b2lzZTpgIzQwZTBkMGAsdmlvbGV0OmAjZWU4MmVlYCx3aGVhdDpgI2Y1ZGViM2Asd2hpdGU6YCNmZmZmZmZgLHdoaXRlc21va2U6YCNmNWY1ZjVgLHllbGxvdzpgI2ZmZmYwMGAseWVsbG93Z3JlZW46YCM5YWNkMzJgfTtmdW5jdGlvbiBEdihlKXtsZXQgdD17cjowLGc6MCxiOjB9LG49MSxyPW51bGwsaT1udWxsLGE9bnVsbCxvPSExLHM9ITE7cmV0dXJuIHR5cGVvZiBlPT1gc3RyaW5nYCYmKGU9TXYoZSkpLHR5cGVvZiBlPT1gb2JqZWN0YCYmKE52KGUucikmJk52KGUuZykmJk52KGUuYik/KHQ9ZnYoZS5yLGUuZyxlLmIpLG89ITAscz1TdHJpbmcoZS5yKS5zdWJzdHIoLTEpPT09YCVgP2BwcmdiYDpgcmdiYCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS52KT8ocj11dihlLnMpLGk9dXYoZS52KSx0PV92KGUuaCxyLGkpLG89ITAscz1gaHN2YCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS5sKT8ocj11dihlLnMpLGE9dXYoZS5sKSx0PWh2KGUuaCxyLGEpLG89ITAscz1gaHNsYCk6TnYoZS5jKSYmTnYoZS5tKSYmTnYoZS55KSYmTnYoZS5rKSYmKHQ9YnYoZS5jLGUubSxlLnksZS5rKSxvPSEwLHM9YGNteWtgKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxgYWApJiYobj1lLmEpKSxuPWx2KG4pLHtvazpvLGZvcm1hdDplLmZvcm1hdHx8cyxyOk1hdGgubWluKDI1NSxNYXRoLm1heCh0LnIsMCkpLGc6TWF0aC5taW4oMjU1LE1hdGgubWF4KHQuZywwKSksYjpNYXRoLm1pbigyNTUsTWF0aC5tYXgodC5iLDApKSxhOm59fXZhciBPdj1gKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pYCxrdj1gW1xcc3xcXChdKyhgK092K2ApWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlcXHMqXFwpP2AsQXY9YFtcXHN8XFwoXSsoYCtPditgKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlbLHxcXHNdKygoPzpbLVxcK10/XFxkKlxcLlxcZCslPyl8KD86Wy1cXCtdP1xcZCslPykpWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVxccypcXCk/YCxqdj17Q1NTX1VOSVQ6bmV3IFJlZ0V4cChPdikscmdiOlJlZ0V4cChgcmdiYCtrdikscmdiYTpSZWdFeHAoYHJnYmFgK0F2KSxoc2w6UmVnRXhwKGBoc2xgK2t2KSxoc2xhOlJlZ0V4cChgaHNsYWArQXYpLGhzdjpSZWdFeHAoYGhzdmAra3YpLGhzdmE6UmVnRXhwKGBoc3ZhYCtBdiksY215azpSZWdFeHAoYGNteWtgK0F2KSxoZXgzOi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxoZXg2Oi9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxoZXg0Oi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8saGV4ODovXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvfTtmdW5jdGlvbiBNdihlKXtpZihlPWUudHJpbSgpLnRvTG93ZXJDYXNlKCksZS5sZW5ndGg9PT0wKXJldHVybiExO2xldCB0PSExO2lmKEV2W2VdKWU9RXZbZV0sdD0hMDtlbHNlIGlmKGU9PT1gdHJhbnNwYXJlbnRgKXJldHVybntyOjAsZzowLGI6MCxhOjAsZm9ybWF0OmBuYW1lYH07bGV0IG49anYucmdiLmV4ZWMoZSk7cmV0dXJuIG4/e3I6blsxXSxnOm5bMl0sYjpuWzNdfToobj1qdi5yZ2JhLmV4ZWMoZSksbj97cjpuWzFdLGc6blsyXSxiOm5bM10sYTpuWzRdfToobj1qdi5oc2wuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLGw6blszXX06KG49anYuaHNsYS5leGVjKGUpLG4/e2g6blsxXSxzOm5bMl0sbDpuWzNdLGE6bls0XX06KG49anYuaHN2LmV4ZWMoZSksbj97aDpuWzFdLHM6blsyXSx2Om5bM119OihuPWp2LmhzdmEuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLHY6blszXSxhOm5bNF19OihuPWp2LmNteWsuZXhlYyhlKSxuP3tjOm5bMV0sbTpuWzJdLHk6blszXSxrOm5bNF19OihuPWp2LmhleDguZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxhOkN2KG5bNF0pLGZvcm1hdDp0P2BuYW1lYDpgaGV4OGB9OihuPWp2LmhleDYuZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxmb3JtYXQ6dD9gbmFtZWA6YGhleGB9OihuPWp2LmhleDQuZXhlYyhlKSxuP3tyOnd2KG5bMV0rblsxXSksZzp3dihuWzJdK25bMl0pLGI6d3YoblszXStuWzNdKSxhOkN2KG5bNF0rbls0XSksZm9ybWF0OnQ/YG5hbWVgOmBoZXg4YH06KG49anYuaGV4My5leGVjKGUpLG4/e3I6d3YoblsxXStuWzFdKSxnOnd2KG5bMl0rblsyXSksYjp3dihuWzNdK25bM10pLGZvcm1hdDp0P2BuYW1lYDpgaGV4YH06ITEpKSkpKSkpKSkpfWZ1bmN0aW9uIE52KGUpe3JldHVybiB0eXBlb2YgZT09YG51bWJlcmA/IU51bWJlci5pc05hTihlKTpqdi5DU1NfVU5JVC50ZXN0KGUpfXZhciBQdj1jbGFzcyBle2NvbnN0cnVjdG9yKHQ9YGAsbj17fSl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuIHQ7dHlwZW9mIHQ9PWBudW1iZXJgJiYodD1Udih0KSksdGhpcy5vcmlnaW5hbElucHV0PXQ7bGV0IHI9RHYodCk7dGhpcy5vcmlnaW5hbElucHV0PXQsdGhpcy5yPXIucix0aGlzLmc9ci5nLHRoaXMuYj1yLmIsdGhpcy5hPXIuYSx0aGlzLnJvdW5kQT1NYXRoLnJvdW5kKDEwMCp0aGlzLmEpLzEwMCx0aGlzLmZvcm1hdD1uLmZvcm1hdD8/ci5mb3JtYXQsdGhpcy5ncmFkaWVudFR5cGU9bi5ncmFkaWVudFR5cGUsdGhpcy5yPDEmJih0aGlzLnI9TWF0aC5yb3VuZCh0aGlzLnIpKSx0aGlzLmc8MSYmKHRoaXMuZz1NYXRoLnJvdW5kKHRoaXMuZykpLHRoaXMuYjwxJiYodGhpcy5iPU1hdGgucm91bmQodGhpcy5iKSksdGhpcy5pc1ZhbGlkPXIub2t9aXNEYXJrKCl7cmV0dXJuIHRoaXMuZ2V0QnJpZ2h0bmVzcygpPDEyOH1pc0xpZ2h0KCl7cmV0dXJuIXRoaXMuaXNEYXJrKCl9Z2V0QnJpZ2h0bmVzcygpe2xldCBlPXRoaXMudG9SZ2IoKTtyZXR1cm4oZS5yKjI5OStlLmcqNTg3K2UuYioxMTQpLzFlM31nZXRMdW1pbmFuY2UoKXtsZXQgZT10aGlzLnRvUmdiKCksdCxuLHIsaT1lLnIvMjU1LGE9ZS5nLzI1NSxvPWUuYi8yNTU7cmV0dXJuIHQ9aTw9LjAzOTI4P2kvMTIuOTI6KChpKy4wNTUpLzEuMDU1KSoqMi40LG49YTw9LjAzOTI4P2EvMTIuOTI6KChhKy4wNTUpLzEuMDU1KSoqMi40LHI9bzw9LjAzOTI4P28vMTIuOTI6KChvKy4wNTUpLzEuMDU1KSoqMi40LC4yMTI2KnQrLjcxNTIqbisuMDcyMipyfWdldEFscGhhKCl7cmV0dXJuIHRoaXMuYX1zZXRBbHBoYShlKXtyZXR1cm4gdGhpcy5hPWx2KGUpLHRoaXMucm91bmRBPU1hdGgucm91bmQoMTAwKnRoaXMuYSkvMTAwLHRoaXN9aXNNb25vY2hyb21lKCl7bGV0e3M6ZX09dGhpcy50b0hzbCgpO3JldHVybiBlPT09MH10b0hzdigpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLHY6ZS52LGE6dGhpcy5hfX10b0hzdlN0cmluZygpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLnYqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHN2KCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc3ZhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hzbCgpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLGw6ZS5sLGE6dGhpcy5hfX10b0hzbFN0cmluZygpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLmwqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHNsKCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc2xhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hleChlPSExKXtyZXR1cm4gdnYodGhpcy5yLHRoaXMuZyx0aGlzLmIsZSl9dG9IZXhTdHJpbmcoZT0hMSl7cmV0dXJuYCNgK3RoaXMudG9IZXgoZSl9dG9IZXg4KGU9ITEpe3JldHVybiB5dih0aGlzLnIsdGhpcy5nLHRoaXMuYix0aGlzLmEsZSl9dG9IZXg4U3RyaW5nKGU9ITEpe3JldHVybmAjYCt0aGlzLnRvSGV4OChlKX10b0hleFNob3J0U3RyaW5nKGU9ITEpe3JldHVybiB0aGlzLmE9PT0xP3RoaXMudG9IZXhTdHJpbmcoZSk6dGhpcy50b0hleDhTdHJpbmcoZSl9dG9SZ2IoKXtyZXR1cm57cjpNYXRoLnJvdW5kKHRoaXMuciksZzpNYXRoLnJvdW5kKHRoaXMuZyksYjpNYXRoLnJvdW5kKHRoaXMuYiksYTp0aGlzLmF9fXRvUmdiU3RyaW5nKCl7bGV0IGU9TWF0aC5yb3VuZCh0aGlzLnIpLHQ9TWF0aC5yb3VuZCh0aGlzLmcpLG49TWF0aC5yb3VuZCh0aGlzLmIpO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlfSwgJHt0fSwgJHtufSlgOmByZ2JhKCR7ZX0sICR7dH0sICR7bn0sICR7dGhpcy5yb3VuZEF9KWB9dG9QZXJjZW50YWdlUmdiKCl7bGV0IGU9ZT0+YCR7TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApfSVgO3JldHVybntyOmUodGhpcy5yKSxnOmUodGhpcy5nKSxiOmUodGhpcy5iKSxhOnRoaXMuYX19dG9QZXJjZW50YWdlUmdiU3RyaW5nKCl7bGV0IGU9ZT0+TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlKHRoaXMucil9JSwgJHtlKHRoaXMuZyl9JSwgJHtlKHRoaXMuYil9JSlgOmByZ2JhKCR7ZSh0aGlzLnIpfSUsICR7ZSh0aGlzLmcpfSUsICR7ZSh0aGlzLmIpfSUsICR7dGhpcy5yb3VuZEF9KWB9dG9DbXlrKCl7cmV0dXJuey4uLnh2KHRoaXMucix0aGlzLmcsdGhpcy5iKX19dG9DbXlrU3RyaW5nKCl7bGV0e2M6ZSxtOnQseTpuLGs6cn09eHYodGhpcy5yLHRoaXMuZyx0aGlzLmIpO3JldHVybmBjbXlrKCR7ZX0sICR7dH0sICR7bn0sICR7cn0pYH10b05hbWUoKXtpZih0aGlzLmE9PT0wKXJldHVybmB0cmFuc3BhcmVudGA7aWYodGhpcy5hPDEpcmV0dXJuITE7bGV0IGU9YCNgK3Z2KHRoaXMucix0aGlzLmcsdGhpcy5iLCExKTtmb3IobGV0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhFdikpaWYoZT09PW4pcmV0dXJuIHQ7cmV0dXJuITF9dG9TdHJpbmcoZSl7bGV0IHQ9ISFlO2U/Pz10aGlzLmZvcm1hdDtsZXQgbj0hMSxyPXRoaXMuYTwxJiZ0aGlzLmE+PTA7cmV0dXJuIXQmJnImJihlLnN0YXJ0c1dpdGgoYGhleGApfHxlPT09YG5hbWVgKT9lPT09YG5hbWVgJiZ0aGlzLmE9PT0wP3RoaXMudG9OYW1lKCk6dGhpcy50b1JnYlN0cmluZygpOihlPT09YHJnYmAmJihuPXRoaXMudG9SZ2JTdHJpbmcoKSksZT09PWBwcmdiYCYmKG49dGhpcy50b1BlcmNlbnRhZ2VSZ2JTdHJpbmcoKSksKGU9PT1gaGV4YHx8ZT09PWBoZXg2YCkmJihuPXRoaXMudG9IZXhTdHJpbmcoKSksZT09PWBoZXgzYCYmKG49dGhpcy50b0hleFN0cmluZyghMCkpLGU9PT1gaGV4NGAmJihuPXRoaXMudG9IZXg4U3RyaW5nKCEwKSksZT09PWBoZXg4YCYmKG49dGhpcy50b0hleDhTdHJpbmcoKSksZT09PWBuYW1lYCYmKG49dGhpcy50b05hbWUoKSksZT09PWBoc2xgJiYobj10aGlzLnRvSHNsU3RyaW5nKCkpLGU9PT1gaHN2YCYmKG49dGhpcy50b0hzdlN0cmluZygpKSxlPT09YGNteWtgJiYobj10aGlzLnRvQ215a1N0cmluZygpKSxufHx0aGlzLnRvSGV4U3RyaW5nKCkpfXRvTnVtYmVyKCl7cmV0dXJuKE1hdGgucm91bmQodGhpcy5yKTw8MTYpKyhNYXRoLnJvdW5kKHRoaXMuZyk8PDgpK01hdGgucm91bmQodGhpcy5iKX1jbG9uZSgpe3JldHVybiBuZXcgZSh0aGlzLnRvU3RyaW5nKCkpfWxpZ2h0ZW4odD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLmwrPXQvMTAwLG4ubD1vdihuLmwpLG5ldyBlKG4pfWJyaWdodGVuKHQ9MTApe2xldCBuPXRoaXMudG9SZ2IoKTtyZXR1cm4gbi5yPU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LG4uci1NYXRoLnJvdW5kKDI1NSotKHQvMTAwKSkpKSxuLmc9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsbi5nLU1hdGgucm91bmQoMjU1Ki0odC8xMDApKSkpLG4uYj1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxuLmItTWF0aC5yb3VuZCgyNTUqLSh0LzEwMCkpKSksbmV3IGUobil9ZGFya2VuKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5sLT10LzEwMCxuLmw9b3Yobi5sKSxuZXcgZShuKX10aW50KGU9MTApe3JldHVybiB0aGlzLm1peChgd2hpdGVgLGUpfXNoYWRlKGU9MTApe3JldHVybiB0aGlzLm1peChgYmxhY2tgLGUpfWRlc2F0dXJhdGUodD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLnMtPXQvMTAwLG4ucz1vdihuLnMpLG5ldyBlKG4pfXNhdHVyYXRlKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5zKz10LzEwMCxuLnM9b3Yobi5zKSxuZXcgZShuKX1ncmV5c2NhbGUoKXtyZXR1cm4gdGhpcy5kZXNhdHVyYXRlKDEwMCl9c3Bpbih0KXtsZXQgbj10aGlzLnRvSHNsKCkscj0obi5oK3QpJTM2MDtyZXR1cm4gbi5oPXI8MD8zNjArcjpyLG5ldyBlKG4pfW1peCh0LG49NTApe2xldCByPXRoaXMudG9SZ2IoKSxpPW5ldyBlKHQpLnRvUmdiKCksYT1uLzEwMDtyZXR1cm4gbmV3IGUoe3I6KGkuci1yLnIpKmErci5yLGc6KGkuZy1yLmcpKmErci5nLGI6KGkuYi1yLmIpKmErci5iLGE6KGkuYS1yLmEpKmErci5hfSl9YW5hbG9nb3VzKHQ9NixuPTMwKXtsZXQgcj10aGlzLnRvSHNsKCksaT0zNjAvbixhPVt0aGlzXTtmb3Ioci5oPShyLmgtKGkqdD4+MSkrNzIwKSUzNjA7LS10OylyLmg9KHIuaCtpKSUzNjAsYS5wdXNoKG5ldyBlKHIpKTtyZXR1cm4gYX1jb21wbGVtZW50KCl7bGV0IHQ9dGhpcy50b0hzbCgpO3JldHVybiB0Lmg9KHQuaCsxODApJTM2MCxuZXcgZSh0KX1tb25vY2hyb21hdGljKHQ9Nil7bGV0IG49dGhpcy50b0hzdigpLHtoOnJ9PW4se3M6aX09bix7djphfT1uLG89W10scz0xL3Q7Zm9yKDt0LS07KW8ucHVzaChuZXcgZSh7aDpyLHM6aSx2OmF9KSksYT0oYStzKSUxO3JldHVybiBvfXNwbGl0Y29tcGxlbWVudCgpe2xldCB0PXRoaXMudG9Ic2woKSx7aDpufT10O3JldHVyblt0aGlzLG5ldyBlKHtoOihuKzcyKSUzNjAsczp0LnMsbDp0Lmx9KSxuZXcgZSh7aDoobisyMTYpJTM2MCxzOnQucyxsOnQubH0pXX1vbkJhY2tncm91bmQodCl7bGV0IG49dGhpcy50b1JnYigpLHI9bmV3IGUodCkudG9SZ2IoKSxpPW4uYStyLmEqKDEtbi5hKTtyZXR1cm4gbmV3IGUoe3I6KG4ucipuLmErci5yKnIuYSooMS1uLmEpKS9pLGc6KG4uZypuLmErci5nKnIuYSooMS1uLmEpKS9pLGI6KG4uYipuLmErci5iKnIuYSooMS1uLmEpKS9pLGE6aX0pfXRyaWFkKCl7cmV0dXJuIHRoaXMucG9seWFkKDMpfXRldHJhZCgpe3JldHVybiB0aGlzLnBvbHlhZCg0KX1wb2x5YWQodCl7bGV0IG49dGhpcy50b0hzbCgpLHtoOnJ9PW4saT1bdGhpc10sYT0zNjAvdDtmb3IobGV0IG89MTtvPHQ7bysrKWkucHVzaChuZXcgZSh7aDoocitvKmEpJTM2MCxzOm4ucyxsOm4ubH0pKTtyZXR1cm4gaX1lcXVhbHModCl7bGV0IG49bmV3IGUodCk7cmV0dXJuIHRoaXMuZm9ybWF0PT09YGNteWtgfHxuLmZvcm1hdD09PWBjbXlrYD90aGlzLnRvQ215a1N0cmluZygpPT09bi50b0NteWtTdHJpbmcoKTp0aGlzLnRvUmdiU3RyaW5nKCk9PT1uLnRvUmdiU3RyaW5nKCl9fTtmdW5jdGlvbiBGdihlLHQpe2xldCBuPW5ldyBQdihlKSxyPW5ldyBQdih0KTtyZXR1cm4oTWF0aC5tYXgobi5nZXRMdW1pbmFuY2UoKSxyLmdldEx1bWluYW5jZSgpKSsuMDUpLyhNYXRoLm1pbihuLmdldEx1bWluYW5jZSgpLHIuZ2V0THVtaW5hbmNlKCkpKy4wNSl9dmFyIEl2PS4yOTksTHY9LjU4NyxSdj0uMTE0LHp2PTE4MCxCdj0tMjAsVnY9LS4yNSxIdj0uMixVdj0tNSxXdj0uMDMsR3Y9LjUsS3Y9NSxxdj0oZSx0KT0+bmV3IFB2KGUpLmRhcmtlbih0KS50b0hleFN0cmluZygpLEp2PWU9PntsZXQgdD1uZXcgUHYoZSkudG9SZ2IoKTtyZXR1cm5gJHt0LnJ9LCAke3QuZ30sICR7dC5ifWB9LFl2PWU9Pi9eI1swLTlBLUZdezZ9JC9pLnRlc3QoZSksWHY9ZT0+e2xldHtyOnQsZzpuLGI6cn09bmV3IFB2KGUpLnRvUmdiKCk7cmV0dXJuIE1hdGguc3FydCh0KnQqSXYrbipuKkx2K3IqcipSdik+enZ9LFp2PWU9PntsZXQgdD1uZXcgUHYoZSkse3M6bixsOnJ9PXQudG9Ic2woKTtyZXR1cm4gdC5zcGluKEJ2KS5kZXNhdHVyYXRlKG4qVnYpLmxpZ2h0ZW4ocipIdikudG9IZXhTdHJpbmcoKX0sUXY9KGUsdD1Hdik9PntsZXQgbj1uZXcgUHYoZSkse3M6cixsOml9PW4udG9Ic2woKTtyZXR1cm4gbi5zcGluKFV2KS5zYXR1cmF0ZShyKld2KS5kYXJrZW4oaSp0KS50b0hleFN0cmluZygpfSwkdj1lPT57bGV0e2NvbG9yOnQsY29sb3IyOm4sY29sb3JHcmFkaWVudDpyfT1lO3JldHVybiByP24/e2Zyb206dCx0bzpufTpYdih0KT97ZnJvbTp0LHRvOlF2KHQpfTp7ZnJvbTpadih0KSx0bzp0fTp7ZnJvbTp0LHRvOnR9fSxleT1lPT5YdihlKT9hdi5zbGF0ZTkwMDphdi53aGl0ZSx0eT1lPT5YdihlKT8uMTouMixueT1lPT57aWYoWHYoZSkpe2xldCB0PW5ldyBQdihlKS5nZXRMdW1pbmFuY2UoKTtyZXR1cm4gdD4uOD9xdihlLCgxMCp0KSoqdCk6ZX1yZXR1cm4gZX0scnk9KGUsdCk9PntsZXQgbj10Py5iYWNrZ3JvdW5kQ29sb3I/P2Uscj0wLGk9bmV3IFB2KGUpLGE9RnYobixpKSxvPXQ/LmZvcmNlTGlnaHRCZz8/bmV3IFB2KG4pLmlzTGlnaHQoKTtmb3IoO2E8My43NSYmcjwyMDspaT1vP2kuZGFya2VuKDUpOmkubGlnaHRlbig1KSxhPUZ2KG4saSkscisrO3JldHVybiBpLnRvSGV4U3RyaW5nKCl9LGl5PShlLHQpPT57bGV0IG49cnkoZSx7YmFja2dyb3VuZENvbG9yOmF2LndoaXRlfSkscj1yeShlKSxpPW5ldyBQdihlKS5pc0xpZ2h0KCksYT1uZXcgUHYodCkuaXNMaWdodCgpO3JldHVybiBpJiZhP3I9cnkodCk6IWkmJiFhP3I9cnkoZSk6aSYmIWE/cj1yeSh0LHtmb3JjZUxpZ2h0Qmc6ITB9KTohaSYmYSYmKHI9cnkoZSx7Zm9yY2VMaWdodEJnOiExfSkpLHtwcmltYXJ5Om4sc2Vjb25kYXJ5OnJ9fSxRPShlLHQsbik9PntlLmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSxheT0oZSx0KT0+e2xldHtjb2xvcjpufT10LHI9JHYodCksaT1yLmZyb209PT1gI2ZmZmZmZmAmJnIuZnJvbT09PXIudG8/e2Zyb206YXYuc2xhdGUzMDAsdG86YXYuc2xhdGUzMDB9OnIsYT1leShuKTtRKGUsYC0tY29sb3ItcHJpbWFyeWAsbiksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudGAsYSksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudC1yZ2JgLEp2KGEpKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1mcm9tYCxyLmZyb20pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvYCxyLnRvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tZnJvbWAsaS5mcm9tKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tdG9gLGkudG8pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLWZyb21gLHF2KHIuZnJvbSxLdikpLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLXRvYCxxdihyLnRvLEt2KSk7bGV0IG89bnkobik7UShlLGAtLWNvbG9yLXByaW1hcnktYnV0dG9uYCxvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24taG92ZXJgLHF2KG8sMTApKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudGAsYSksUShlLGAtLW9wYWNpdHktcHJpbWFyeS1jb250ZW50YCxTdHJpbmcodHkobikpKTtsZXQgcz1peShyLmZyb20sci50byk7UShlLGAtLWNvbG9yLXByaW1hcnktZm9jdXNgLHMucHJpbWFyeSksUShlLGAtLWNvbG9yLXNlY29uZGFyeS1mb2N1c2Ascy5zZWNvbmRhcnkpfSxveT0oKCk9PntsZXR7c3Vic2NyaWJlOmUsc2V0OnR9PU8oe2NvbG9yOmF2LnNtYXJ0c3VwcEJsdWUsY29sb3IyOm51bGwsY29sb3JHcmFkaWVudDohMH0pO3JldHVybntzdWJzY3JpYmU6ZSxzZXRUaGVtZUNvbG9yOmU9PntsZXR7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9PWU7aWYoIVl2KG4pKXtIKGBQcm92aWRlZCBjb2xvciAnJHtufScgaXMgbm90IHZhbGlkLiBEZWZhdWx0IGNvbG9yIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLmApO3JldHVybn1lbHNlIGlmKGkmJnImJiFZdihyKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7cn0nIGlzIG5vdCB2YWxpZC4gRGVmYXVsdCBjb2xvciB3aWxsIGJlIHVzZWQgaW5zdGVhZC5gKTtyZXR1cm59dCh7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9KX19fSkoKSxzeT0yNCxjeT0xMixseT03Mix1eT0zODAsZHk9NjcyLGZ5PTU2MCxweT04NDAsbXk9ZT0+YCR7ZX1weGAsaHk9ZT0+e2lmKGUpcmV0dXJuIEx1KGUpP3BhcnNlSW50KGUsMTApOmV9LGd5PShlLHQpPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8bj8uaGVhZGxlc3NNb2RlP3t3aWR0aDpgMTAwJWAsaGVpZ2h0OmAxMDAlYH06dD97d2lkdGg6ZnksaGVpZ2h0OnB5fTp7d2lkdGg6dXksaGVpZ2h0OmR5fX0sX3k9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS5ib3JkZXJSYWRpdXM9bXkoMjApLHQ/LmhlYWRsZXNzTW9kZT9lLnN0eWxlLmJveFNoYWRvdz1gbm9uZWA6dD8ubGltaXRTaGFkb3c/ZS5zdHlsZS5ib3hTaGFkb3c9YHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDVweCAxMnB4YDplLnN0eWxlLmJveFNoYWRvdz1gcmdiYSgwLCAwLCAwLCAwLjE2KSAwcHggNXB4IDQwcHhgfSx2eT0oKT0+e2xldHtvZmZzZXRZOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBoeShlKT8/c3l9LHl5PSgpPT57bGV0e29mZnNldFg6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGh5KGUpPz9jeX0sYnk9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGV8fHQ/LmhlYWRsZXNzTW9kZT8wOnN5fSx4eT1lPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8dD8uaGVhZGxlc3NNb2RlPzA6Y3l9LFN5PSgpPT57bGV0e3Bvc2l0aW9uOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09YGZpeGVkYH0sQ3k9ZT0+e1N5KCkmJihlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGApfSx3eT0oZSx0KT0+e1N5KCkmJihlLnN0eWxlLmJvdHRvbT1teSh0KSl9LFR5PShlLHQpPT57aWYoU3koKSl7bGV0e29yaWVudGF0aW9uOm59PVYuZ2V0T3B0aW9ucygpO249PT1gcmlnaHRgPyhlLnN0eWxlLmxlZnQ9YGluaXRpYWxgLGUuc3R5bGUucmlnaHQ9bXkodCkpOihlLnN0eWxlLmxlZnQ9bXkodCksZS5zdHlsZS5yaWdodD1gaW5pdGlhbGApfX0sRXk9ZT0+e2xldHt6SW5kZXg6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS56SW5kZXg9U3RyaW5nKHQ/P2BhdXRvYCl9LER5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHQuc3R5bGUud2lkdGg9YDEwMCVgLHQuc3R5bGUuaGVpZ2h0PWAxMDAlYCx0LnN0eWxlLmJvcmRlcj1gbm9uZWAsdC5zdHlsZS5kaXNwbGF5PWBibG9ja2AsdC5zdHlsZS50ZXh0QWxpZ249YGxlZnRgLHQuc3R5bGUubWFyZ2luPWAwYCx0LnN0eWxlLnBhZGRpbmc9YDBgLHQuc3R5bGUudG9wPWAwYCx0LnN0eWxlLmxlZnQ9YDBgLHQuc3R5bGUub3BhY2l0eT1gMWAsZSYmZSh0KSx0LmdldEF0dHJpYnV0ZShgc3R5bGVgKT8/YGB9LE95PWU9PntDeShlKSx3eShlLHZ5KCkpLFR5KGUseXkoKSksRXkoZSl9LGt5PShlLHQpPT57Q3koZSksd3koZSxieSh0KSksVHkoZSx4eSh0KSksRXkoZSksdHx8X3koZSl9LEF5PWU9PntDeShlKSx3eShlLHZ5KCkrbHkpLFR5KGUseXkoKSksRXkoZSl9LGp5PWU9PntlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGAsZS5zdHlsZS53aWR0aD1gMTAwJWAsZS5zdHlsZS5oZWlnaHQ9YDEwMCVgLHd5KGUsMCksVHkoZSwwKSxFeShlKX0sTXk9ZT0+e095KGUpfSxOeT0oZSx0KT0+e2t5KGUsdCl9LFB5PWU9PntBeShlKX0sRnk9ZT0+e0F5KGUpfSxJeT1lPT57ankoZSl9LEx5PU8oMzAwKSxSeT1PKDE2Niksenk9TyghMSksQnk9Tyh2b2lkIDApLFZ5PWsoW3NzLEJ5XSwoW2UsdF0pPT57bGV0e2J1dHRvblN0eWxlOm59PVYuZ2V0T3B0aW9ucygpO3JldHVybiB0P3Q9PT1gYnViYmxlYDplfHxuPT09YGJ1YmJsZWB9KSxIeT1rKFtWeSxMeV0sKFtlLHRdKT0+ZT81Njp0KSxVeT1PKHZvaWQgMCksV3k9ayhbY3MsVXldLChbZSx0XSk9PmU/ITA6KHQ/P1YuZ2V0T3B0aW9ucygpLmhlYWRlclN0eWxlKT09PWBjb21wYWN0YCksR3k9ayhbV3ldLChbZV0pPT5lPzc2OjExNCksS3k9TygpLHF5PWsoW0t5XSwoW2VdKT0+ZT09PXZvaWQgMD96byhVLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZCk9PT1gdHJ1ZWA6ZSksSnk9ZT0+e0JvKHtuYW1lOlUuSXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLEt5LnNldChlKX0sJD1mdW5jdGlvbihlKXtyZXR1cm4gZS5OYW1lPWBuYW1lYCxlLkdyb3VwPWBncm91cGAsZS5FbWFpbD1gZW1haWxgLGUuUGhvbmU9YHBob25lYCxlLlZhcmlhYmxlcz1gdmFyaWFibGVzYCxlLkNvbnRhY3REYXRhPWBjb250YWN0RGF0YWAsZS5MYW5ndWFnZT1gbGFuZ3VhZ2VgLGUuQ2hhdENsb3NlPWBjaGF0OmNsb3NlYCxlLkNoYXRPcGVuPWBjaGF0Om9wZW5gLGUuQ2hhdFNob3c9YGNoYXQ6c2hvd2AsZS5DaGF0SGlkZT1gY2hhdDpoaWRlYCxlLlRoZW1lQ29sb3I9YHRoZW1lOmNvbG9yYCxlLkNoYXRNZXNzYWdlPWBjaGF0Om1lc3NhZ2VgLGUuQ2hhdFNlbmQ9YGNoYXQ6c2VuZGAsZS5IdG1sQXBwbHk9YGh0bWw6YXBwbHlgLGUuT249YG9uYCxlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuTWFya2V0aW5nQ29uc2VudD1gbWFya2V0aW5nQ29uc2VudGAsZS5PcGVuUmF0ZUZvcm09YG9wZW5SYXRlRm9ybWAsZS5PcGVuQXV0aEZvcm09YG9wZW5BdXRoRm9ybWAsZS5XaWRnZXRTdGF0dXM9YHdpZGdldFN0YXR1c2AsZS5UcmFuc2xhdGlvbnM9YHRyYW5zbGF0aW9uc2AsZS5BdXRoRm9ybUZpZWxkcz1gYXV0aEZvcm1GaWVsZHNgLGUuQnV0dG9uU3R5bGU9YGJ1dHRvblN0eWxlYCxlLkhlYWRlclN0eWxlPWBoZWFkZXJTdHlsZWAsZS5QcmV2aWV3VHJhbnNsYXRlPWBwcmV2aWV3VHJhbnNsYXRlYCxlLkRpc2FibGVDb25uZWN0aW9uU3RhdHVzPWBkaXNhYmxlQ29ubmVjdGlvblN0YXR1c2AsZS5SZWxvYWRXaXRoTW9ja0RhdGE9YHJlbG9hZFdpdGhNb2NrRGF0YWAsZS5SZWxvYWQ9YHJlbG9hZGAsZS5Cb3RJZGVudGl0eVVwZGF0ZT1gYm90SWRlbnRpdHk6dXBkYXRlYCxlfSh7fSksWXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuTWVzc2FnZVNlbnQ9YG1lc3NhZ2Vfc2VudGAsZS5NZXNzYWdlUmVjZWl2ZWQ9YG1lc3NhZ2VfcmVjZWl2ZWRgLGUuTWVzc2VuZ2VyQ2xvc2U9YG1lc3Nlbmdlcl9jbG9zZWAsZS5XaWRnZXRJbml0PWB3aWRnZXRfaW5pdGAsZX0oe30pLFh5PWU9Pnt6Lm9uKGBtZXNzYWdlU2VudGAsZSl9LFp5PWU9Pnt6Lm9uKGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxReT1lPT57ei5vbihgbWVzc2VuZ2VyQ2xvc2VgLGUpfSwkeT1lPT57ei5vbihgd2lkZ2V0SW5pdGAsZSl9LGViPXtbWXkuTWVzc2FnZVNlbnRdOlh5LFtZeS5NZXNzYWdlUmVjZWl2ZWRdOlp5LFtZeS5NZXNzZW5nZXJDbG9zZV06UXksW1l5LldpZGdldEluaXRdOiR5fSx0Yj0oZSx0KT0+e2xldCBuPWViW2VdO24mJm4odCl9LG5iPWBodHRwczovL2RvY3Muc21hcnRzdXBwLmNvbS9jaGF0LWJveC9gLHJiPWAke25ifWxvY2FsaXphdGlvbi8jc3VwcG9ydGVkLWxhbmd1YWdlc2AsaWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLXZpc2l0b3ItZGF0YWAsYWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLWNvbnRhY3QtZGF0YWAsb2I9YCR7bmJ9amF2YXNjcmlwdC1hcGkvZXZlbnRzL2Asc2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vaGVscC9jb29raWUtY29uc2VudC8jd2hlcmUtdG8tZW5hYmxlLWNvb2tpZS1jb25zZW50LWluLXNtYXJ0c3VwcGAsY2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vcHJpY2luZ2AsbGI9Tyh7fSksdWI9KGUsdCk9PntsYi51cGRhdGUobj0+KHsuLi5uLFtlXTp0fSkpfSxkYj1lPT5PYmplY3QudmFsdWVzKCQpLnNvbWUodD0+dD09PWUpLGZiPShlLHQpPT5MdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgc3RyaW5nLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLHBiPShlLHQpPT5QdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgYm9vbGVhbi4gU2VlICR7bmJ9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKSxtYj0oZSx0KT0+dHlwZW9mIHQ9PWBmdW5jdGlvbmA/ITA6KEgoYFBhcmFtZXRlciBvZiAnJHtlfScgQVBJIGNvbW1hbmQgbXVzdCBiZSB0eXBlIGZ1bmN0aW9uLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGhiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHtpYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGdiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHthYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLF9iPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LmApLCExKSx2Yj0oZSx0KT0+IUl1KHQpfHwhKGBpZGBpbiB0KXx8IUx1KHQuaWQpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgYmUgdHlwZSBvYmplY3QgYW5kIGhhcyBhIHZhbGlkICdpZCcgcHJvcGVydHkuYCksITEpOmBuYW1lYGluIHQmJiFMdSh0Lm5hbWUpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICduYW1lJyBwcm9wZXJ0eS5gKSwhMSk6YGF2YXRhclVybGBpbiB0JiYhTHUodC5hdmF0YXJVcmwpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICdhdmF0YXJVcmwnIHByb3BlcnR5LmApLCExKTohMCx5Yj0oZSx0KT0+e2xldCBuPU9iamVjdC52YWx1ZXMoWXkpO3JldHVybiBuLmluY2x1ZGVzKHQpPyEwOihIKGBVbmtub3duIGV2ZW50OiAnJHt0fScuIEF2YWlsYWJsZSBldmVudCBuYW1lcyBhcmU6ICR7bi5qb2luKGAsIGApfS4gU2VlICR7b2J9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKX0sYmI9ZT0+e0goYFVua25vd24gQVBJIGNvbW1hbmQ6ICcke2V9Jy4gU2VlICR7bmJ9IHRvIGNoZWNrIGF2YWlsYWJsZSBBUEkgY29tbWFuZHMuYCl9LHhiPSgpPT4hIVYuZ2V0T3B0aW9ucygpLmZlYXR1cmVzPy5hcGksU2I9KCk9PiEhVi5nZXRPcHRpb25zKCkuZmVhdHVyZXM/Lmdyb3VwcyxDYj0oKT0+Vi5nZXRPcHRpb25zKCkuaXNQcmV2aWV3TW9kZSx3Yj0oKT0+IXhiKCkmJiFDYigpPyhIKGBDaGF0IGJveCBBUEkgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxUYj0oKT0+IXhiKCl8fCFTYigpPyhIKGBDaGF0IGJveCBHcm91cHMgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxFYj0oKT0+e0hvKCl8fEgoYEVuYWJsZSBtYW5hZ2luZyBjb29raWUgY29uc2VudCBpbiB3aWRnZXQgc2V0dGluZ3MgdG8gYWxsb3cgdGhpcyBjb21tYW5kLiBTZWUgJHtzYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCl9LERiPSgpPT57bGV0IGU9KCk9PntVXyghMCksSV8oKX07aWYoIUEoQ18pKXtYbC5wdXNoKGUpO3JldHVybn1lKCl9LE9iPSgpPT57aWYod2IoKSl7aWYoIUEoQ18pKXtYbC5wdXNoKFdfKTtyZXR1cm59V18oKX19LGtiPSgpPT57d2IoKSYmSV8oKX0sQWI9KCk9Pnt3YigpJiZMXygpfSxqYj0oZSx0KT0+e2lmKHdiKCkmJmU9PT0kLkxhbmd1YWdlJiZmYihlLHQpKXtpZighSWwodCkpe0goYFByb3ZpZGVkIGxhbmd1YWdlICcke3R9JyBpcyBub3Qgc3VwcG9ydGVkLiBTZWUgJHtyYn0gdG8gY2hlY2sgc3VwcG9ydGVkIGxhbmd1YWdlcy5gKTtyZXR1cm59aWYoIUEoQ18pKXt1YihgbGFuZ2AsdCk7cmV0dXJufUdsKHQpfX0sTWI9KGUsdCk9PntsZXQgbixyPW51bGwsaT0hMDtpZih3YigpKXtpZih0eXBlb2YgdD09YHN0cmluZ2AmJmZiKGUsdCkpbj10O2Vsc2UgaWYoaGIoZSx0KSl7aWYobj10LmNvbG9yLHI9dC5jb2xvcjIsaT10LmNvbG9yR3JhZGllbnQsIXBiKGUsaSkpcmV0dXJufWVsc2UgcmV0dXJuO2lmKCFZdihuKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7bn0nIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHVzZSBoZXggY29sb3IgY29kZS5gKTtyZXR1cm59ZWxzZSBpZihpJiZyJiYhWXYocikpe0goYFByb3ZpZGVkIGNvbG9yICcke3J9JyBpcyBub3QgdmFsaWQuIERlZmF1bHQgY29sb3Igd2lsbCBiZSB1c2VkIGluc3RlYWQuYCk7cmV0dXJufW95LnNldFRoZW1lQ29sb3Ioe2NvbG9yOm4sY29sb3IyOnIsY29sb3JHcmFkaWVudDppfSl9fSxOYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJm9fKHQpfSxQYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJihvXyh0KSxkXygpKX0sRmI9KGUsdCxuKT0+e2ZiKGUsdCkmJnliKGUsdCkmJm1iKGUsbikmJnRiKHQsbil9LEliPShlLHQpPT57aGIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclZhcmlhYmxlcyh6dSh0KSl9LExiPShlLHQpPT57ZSE9PSQuTmFtZSYmZSE9PSQuRW1haWwmJmUhPT0kLlBob25lJiZlIT09JC5Hcm91cHx8ZmIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclByb3BlcnR5KGUsdCl9LFJiPShlLHQpPT57aWYoIVRiKCl8fCFmYihlLHQpKXJldHVybjtsZXQgbj1BKGlsKVt0XTtpZihBKENfKSYmIW4pe0goYEdyb3VwIHdpdGgga2V5ICcke3R9JyBkb2VzIG5vdCBleGlzdC4gUGxlYXNlIHByb3ZpZGUgY29ycmVjdCBncm91cCBrZXkgZnJvbSB5b3VyIGdyb3VwIHNldHRpbmdzLmApO3JldHVybn1MYihlLHQpfSx6Yj0oZSx0KT0+e2diKGUsdCkmJk11LnVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YSh0KX0sQmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sVmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sSGI9KCk9PntZcChBKEJwKXx8YGApfSxVYj0oKT0+e0JjKEhjLkF1dGhGb3JtKX0sV2I9KGUsdCk9PntmYihlLHQpJiYodCE9PUsuQWNjb3VudFN0YXR1cy5PbmxpbmUmJnQhPT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZXx8JHUuc2V0KHQpKX0sR2I9KGUsdCk9PntoYihlLHQpJiZxbCh0KX0sS2I9KGUsdCk9PntoYihlLHQpJiYoQShWaCl8fFZoLnNldChWLmdldE9wdGlvbnMoKSksVmgudXBkYXRlKGU9Pih7Li4uZSwuLi50fSkpKX0scWI9KGUsdCk9PntmYihlLHQpJiZCeS5zZXQodCl9LEpiPShlLHQpPT57aWYoZT09PSQuSGVhZGVyU3R5bGUmJmZiKGUsdCkpe2lmKHQhPT1gY29tcGFjdGAmJnQhPT1gc3RhbmRhcmRgKXtIKGBQcm92aWRlZCBoZWFkZXIgc3R5bGUgJyR7dH0nIGlzIG5vdCB2YWxpZC4gVXNlICdjb21wYWN0JyBvciAnc3RhbmRhcmQnLmApO3JldHVybn1VeS5zZXQodCl9fSxZYj0oKT0+e2xldCBlPSgpPT57fTtlPUhsLnN1YnNjcmliZSgoKT0+e0EoUnApLmZvckVhY2goZT0+e2xldCB0PWUuY29udGVudD8uZGF0YXx8YGA7dHlwZW9mIHQ9PWBzdHJpbmdgJiZ0Lm1hdGNoKC93aWRnZXRQcmV2aWV3XC4uKi8pJiYoZS5jb250ZW50LnRleHQ9QShXKSh0KSxKLnJlcGxhY2VNZXNzYWdlKGUpKX0pLGUoKX0pfSxYYj0oZSx0KT0+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQtQ2dNQ0Fmb3IuanMubWFw"}},"time_used":14,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":14,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.583Z","timestamp":1785135591583,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: ba63118d6c4e3e9b1e3b22dcd125f7ba-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]}],"data":{"size":4511,"size_decoded":1999,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":75,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":69,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/jquery.fancybox.min.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.859Z","timestamp":1785135591859,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/jquery.fancybox.min.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 2905\r\ncache-control: public, max-age=604800\r\nexpires: Thu, 30 Jul 2026 11:10:01 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"35a7-68bf75d4-dde3d25fa8ca9ba6;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 330590\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 259027de9932ef444eed34e59731f778-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.015\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":13735,"size_decoded":3497,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (13734), with no line terminators","md5":"35d290afd71a6053d8195ea13170b4e9","sha1":"a64676403bb5c23f9800963b0b8f0475b532601f","sha256":"e467f75601e845da217ae845b688b227a19fbf1e8fc776a42a4905869496d2e2","sha512":"0136028681f47450835a9bd6345bb647c95f2be3e963980e5b5e355f3cdc602772313640c5d9b72ae71252bbe8099b11de5663f3fde49b71a5170e42959f7788","ssdeep":"96:tGA07/mPQRZa6f3sNGzssDH7jGSWWf8+WDJT53RjRuCicfMAJpEbyZh5fN2WdZ:tVQfXcVa7KWdMT539MCeAL55fJ","tlshash":"b0524e63a140311c903bce21d7df8948e279d55266221affe68cf919cbc7be912d62c6","first_seen":"2023-04-05T04:47:26Z","last_seen":"2026-08-18T01:56:00.828931Z","times_seen":7203,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04Ijtib2R5LmZhbmN5Ym94LWFjdGl2ZXtvdmVyZmxvdzpoaWRkZW59Ym9keS5mYW5jeWJveC1pb3NmaXh7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjB9LmZhbmN5Ym94LWlzLWhpZGRlbntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDtsZWZ0Oi05OTk5cHg7dmlzaWJpbGl0eTpoaWRkZW59LmZhbmN5Ym94LWNvbnRhaW5lcntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojk5OTkyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsU2Vnb2UgVUksUm9ib3RvLEhlbHZldGljYSBOZXVlLEFyaWFsLHNhbnMtc2VyaWZ9LmZhbmN5Ym94LWJnLC5mYW5jeWJveC1pbm5lciwuZmFuY3lib3gtb3V0ZXIsLmZhbmN5Ym94LXN0YWdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowfS5mYW5jeWJveC1vdXRlcntvdmVyZmxvdy15OmF1dG87LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LmZhbmN5Ym94LWJne2JhY2tncm91bmQ6IzFlMWUxZTtvcGFjaXR5OjA7dHJhbnNpdGlvbi1kdXJhdGlvbjppbmhlcml0O3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQ3LDAsLjc0LC43MSl9LmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJne29wYWNpdHk6Ljg3O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguMjIsLjYxLC4zNiwxKX0uZmFuY3lib3gtY2FwdGlvbi13cmFwLC5mYW5jeWJveC1pbmZvYmFyLC5mYW5jeWJveC10b29sYmFye3Bvc2l0aW9uOmFic29sdXRlO2RpcmVjdGlvbjpsdHI7ei1pbmRleDo5OTk5NztvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjpvcGFjaXR5IC4yNXMsdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1cztib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZhbmN5Ym94LXNob3ctY2FwdGlvbiAuZmFuY3lib3gtY2FwdGlvbi13cmFwLC5mYW5jeWJveC1zaG93LWluZm9iYXIgLmZhbmN5Ym94LWluZm9iYXIsLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zaXRpb246b3BhY2l0eSAuMjVzLHZpc2liaWxpdHkgMHN9LmZhbmN5Ym94LWluZm9iYXJ7dG9wOjA7bGVmdDowO2ZvbnQtc2l6ZToxM3B4O3BhZGRpbmc6MCAxMHB4O2hlaWdodDo0NHB4O21pbi13aWR0aDo0NHB4O2xpbmUtaGVpZ2h0OjQ0cHg7Y29sb3I6I2NjYzt0ZXh0LWFsaWduOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1mb250LXNtb290aGluZzpzdWJwaXhlbC1hbnRpYWxpYXNlZDttaXgtYmxlbmQtbW9kZTpleGNsdXNpb259LmZhbmN5Ym94LXRvb2xiYXJ7dG9wOjA7cmlnaHQ6MDttYXJnaW46MDtwYWRkaW5nOjB9LmZhbmN5Ym94LXN0YWdle292ZXJmbG93OmhpZGRlbjtkaXJlY3Rpb246bHRyO3otaW5kZXg6OTk5OTQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uZmFuY3lib3gtaXMtY2xvc2luZyAuZmFuY3lib3gtc3RhZ2V7b3ZlcmZsb3c6dmlzaWJsZX0uZmFuY3lib3gtc2xpZGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO292ZXJmbG93OmF1dG87b3V0bGluZTpub25lO3doaXRlLXNwYWNlOm5vcm1hbDtib3gtc2l6aW5nOmJvcmRlci1ib3g7dGV4dC1hbGlnbjpjZW50ZXI7ei1pbmRleDo5OTk5NDstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtkaXNwbGF5Om5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHksLXdlYmtpdC10cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybSxvcGFjaXR5LC13ZWJraXQtdHJhbnNmb3JtfS5mYW5jeWJveC1zbGlkZTpiZWZvcmV7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7aGVpZ2h0OjEwMCU7d2lkdGg6MH0uZmFuY3lib3gtaXMtc2xpZGluZyAuZmFuY3lib3gtc2xpZGUsLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50LC5mYW5jeWJveC1zbGlkZS0tbmV4dCwuZmFuY3lib3gtc2xpZGUtLXByZXZpb3Vze2Rpc3BsYXk6YmxvY2t9LmZhbmN5Ym94LXNsaWRlLS1pbWFnZXtvdmVyZmxvdzp2aXNpYmxlfS5mYW5jeWJveC1zbGlkZS0taW1hZ2U6YmVmb3Jle2Rpc3BsYXk6bm9uZX0uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LC5mYW5jeWJveC1zbGlkZS0tdmlkZW8gaWZyYW1le2JhY2tncm91bmQ6IzAwMH0uZmFuY3lib3gtc2xpZGUtLW1hcCAuZmFuY3lib3gtY29udGVudCwuZmFuY3lib3gtc2xpZGUtLW1hcCBpZnJhbWV7YmFja2dyb3VuZDojZTVlM2RmfS5mYW5jeWJveC1zbGlkZS0tbmV4dHt6LWluZGV4Ojk5OTk1fS5mYW5jeWJveC1zbGlkZT4qe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MjRweDttYXJnaW46NDRweCAwO2JvcmRlci13aWR0aDowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO292ZXJmbG93OmF1dG87Ym94LXNpemluZzpib3JkZXItYm94fS5mYW5jeWJveC1zbGlkZT5iYXNlLC5mYW5jeWJveC1zbGlkZT5saW5rLC5mYW5jeWJveC1zbGlkZT5tZXRhLC5mYW5jeWJveC1zbGlkZT5zY3JpcHQsLmZhbmN5Ym94LXNsaWRlPnN0eWxlLC5mYW5jeWJveC1zbGlkZT50aXRsZXtkaXNwbGF5Om5vbmV9LmZhbmN5Ym94LXNsaWRlIC5mYW5jeWJveC1pbWFnZS13cmFwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOjA7ei1pbmRleDo5OTk5NTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2N1cnNvcjpkZWZhdWx0O292ZXJmbG93OnZpc2libGU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5LC13ZWJraXQtdHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eSwtd2Via2l0LXRyYW5zZm9ybX0uZmFuY3lib3gtY2FuLXpvb21PdXQgLmZhbmN5Ym94LWltYWdlLXdyYXB7Y3Vyc29yOnpvb20tb3V0fS5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1pbWFnZS13cmFwe2N1cnNvcjp6b29tLWlufS5mYW5jeWJveC1jYW4tZHJhZyAuZmFuY3lib3gtaW1hZ2Utd3JhcHtjdXJzb3I6LXdlYmtpdC1ncmFiO2N1cnNvcjpncmFifS5mYW5jeWJveC1pcy1kcmFnZ2luZyAuZmFuY3lib3gtaW1hZ2Utd3JhcHtjdXJzb3I6LXdlYmtpdC1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9LmZhbmN5Ym94LWltYWdlLC5mYW5jeWJveC1zcGFjZWJhbGx7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO21heC13aWR0aDpub25lO21heC1oZWlnaHQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmZhbmN5Ym94LXNwYWNlYmFsbHt6LWluZGV4OjF9LmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnR7cGFkZGluZzowO3dpZHRoOjgwJTtoZWlnaHQ6ODAlO21heC13aWR0aDpjYWxjKDEwMCUgLSAxMDBweCk7bWF4LWhlaWdodDpjYWxjKDEwMCUgLSA4OHB4KTtvdmVyZmxvdzp2aXNpYmxlO2JhY2tncm91bmQ6I2ZmZn0uZmFuY3lib3gtaWZyYW1le2Rpc3BsYXk6YmxvY2s7cGFkZGluZzowO2JvcmRlcjowO2hlaWdodDoxMDAlfS5mYW5jeWJveC1lcnJvciwuZmFuY3lib3gtaWZyYW1le21hcmdpbjowO3dpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmfS5mYW5jeWJveC1lcnJvcntwYWRkaW5nOjQwcHg7bWF4LXdpZHRoOjM4MHB4O2N1cnNvcjpkZWZhdWx0fS5mYW5jeWJveC1lcnJvciBwe21hcmdpbjowO3BhZGRpbmc6MDtjb2xvcjojNDQ0O2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjIwcHh9LmZhbmN5Ym94LWJ1dHRvbntib3gtc2l6aW5nOmJvcmRlci1ib3g7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7bWFyZ2luOjA7cGFkZGluZzoxMHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6MDtiYWNrZ3JvdW5kOnJnYmEoMzAsMzAsMzAsLjYpO3RyYW5zaXRpb246Y29sb3IgLjNzIGVhc2U7Y3Vyc29yOnBvaW50ZXI7b3V0bGluZTpub25lfS5mYW5jeWJveC1idXR0b24sLmZhbmN5Ym94LWJ1dHRvbjpsaW5rLC5mYW5jeWJveC1idXR0b246dmlzaXRlZHtjb2xvcjojY2NjfS5mYW5jeWJveC1idXR0b246Zm9jdXMsLmZhbmN5Ym94LWJ1dHRvbjpob3Zlcntjb2xvcjojZmZmfS5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRde2NvbG9yOiNjY2M7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNn0uZmFuY3lib3gtYnV0dG9uIHN2Z3tkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OnZpc2libGU7c2hhcGUtcmVuZGVyaW5nOmdlb21ldHJpY1ByZWNpc2lvbn0uZmFuY3lib3gtYnV0dG9uIHN2ZyBwYXRoe2ZpbGw6Y3VycmVudENvbG9yO3N0cm9rZTpjdXJyZW50Q29sb3I7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS13aWR0aDozfS5mYW5jeWJveC1idXR0b24tLXNoYXJlIHN2ZyBwYXRoe3N0cm9rZS13aWR0aDoxfS5mYW5jeWJveC1idXR0b24tLXBhdXNlIHN2ZyBwYXRoOm50aC1jaGlsZCgxKSwuZmFuY3lib3gtYnV0dG9uLS1wbGF5IHN2ZyBwYXRoOm50aC1jaGlsZCgyKXtkaXNwbGF5Om5vbmV9LmZhbmN5Ym94LWJ1dHRvbi0tem9vbSBzdmcgcGF0aHtmaWxsOnRyYW5zcGFyZW50fS5mYW5jeWJveC1uYXZpZ2F0aW9ue2Rpc3BsYXk6bm9uZX0uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LW5hdmlnYXRpb257ZGlzcGxheTpibG9ja30uZmFuY3lib3gtbmF2aWdhdGlvbiBidXR0b257cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTttYXJnaW46LTUwcHggMCAwO3otaW5kZXg6OTk5OTc7YmFja2dyb3VuZDp0cmFuc3BhcmVudDt3aWR0aDo2MHB4O2hlaWdodDoxMDBweDtwYWRkaW5nOjE3cHh9LmZhbmN5Ym94LW5hdmlnYXRpb24gYnV0dG9uOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3RvcDozMHB4O3JpZ2h0OjEwcHg7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kOnJnYmEoMzAsMzAsMzAsLjYpfS5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X2xlZnR7bGVmdDowfS5mYW5jeWJveC1uYXZpZ2F0aW9uIC5mYW5jeWJveC1idXR0b24tLWFycm93X3JpZ2h0e3JpZ2h0OjB9LmZhbmN5Ym94LWNsb3NlLXNtYWxse3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtwYWRkaW5nOjA7bWFyZ2luOjA7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czowO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7ei1pbmRleDoxMDtjdXJzb3I6cG9pbnRlcn0uZmFuY3lib3gtY2xvc2Utc21hbGw6YWZ0ZXJ7Y29udGVudDoiw5ciO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1cHg7cmlnaHQ6NXB4O3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7Zm9udDoyMnB4LzMwcHggQXJpYWwsSGVsdmV0aWNhIE5ldWUsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Y29sb3I6Izg4ODtmb250LXdlaWdodDozMDA7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXdpZHRoOjA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjI1cztib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDoyfS5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1c3tvdXRsaW5lOm5vbmV9LmZhbmN5Ym94LWNsb3NlLXNtYWxsOmZvY3VzOmFmdGVye291dGxpbmU6MXB4IGRvdHRlZCAjODg4fS5mYW5jeWJveC1jbG9zZS1zbWFsbDpob3ZlcjphZnRlcntjb2xvcjojNTU1O2JhY2tncm91bmQ6I2VlZX0uZmFuY3lib3gtc2xpZGUtLWlmcmFtZSAuZmFuY3lib3gtY2xvc2Utc21hbGwsLmZhbmN5Ym94LXNsaWRlLS1pbWFnZSAuZmFuY3lib3gtY2xvc2Utc21hbGx7dG9wOjA7cmlnaHQ6LTQwcHh9LmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyLC5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVye2ZvbnQtc2l6ZTozNXB4O2NvbG9yOiNhYWF9LmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyLC5mYW5jeWJveC1zbGlkZS0taW1hZ2UgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVye2NvbG9yOiNmZmY7YmFja2dyb3VuZDp0cmFuc3BhcmVudH0uZmFuY3lib3gtaXMtc2NhbGluZyAuZmFuY3lib3gtY2xvc2Utc21hbGwsLmZhbmN5Ym94LWlzLXpvb21hYmxlLmZhbmN5Ym94LWNhbi1kcmFnIC5mYW5jeWJveC1jbG9zZS1zbWFsbHtkaXNwbGF5Om5vbmV9LmZhbmN5Ym94LWNhcHRpb24td3JhcHtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtwYWRkaW5nOjYwcHggMnZ3IDA7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50IDAscmdiYSgwLDAsMCwuMSkgMjAlLHJnYmEoMCwwLDAsLjIpIDQwJSxyZ2JhKDAsMCwwLC42KSA4MCUscmdiYSgwLDAsMCwuOCkpO3BvaW50ZXItZXZlbnRzOm5vbmV9LmZhbmN5Ym94LWNhcHRpb257cGFkZGluZzozMHB4IDA7Ym9yZGVyLXRvcDoxcHggc29saWQgaHNsYSgwLDAlLDEwMCUsLjQpO2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNmZmY7bGluZS1oZWlnaHQ6MjBweDstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZX0uZmFuY3lib3gtY2FwdGlvbiBhLC5mYW5jeWJveC1jYXB0aW9uIGJ1dHRvbiwuZmFuY3lib3gtY2FwdGlvbiBzZWxlY3R7cG9pbnRlci1ldmVudHM6YWxsO3Bvc2l0aW9uOnJlbGF0aXZlfS5mYW5jeWJveC1jYXB0aW9uIGF7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfS5mYW5jeWJveC1zbGlkZT4uZmFuY3lib3gtbG9hZGluZ3tib3JkZXI6NnB4IHNvbGlkIGhzbGEoMCwwJSwzOSUsLjQpO2JvcmRlci10b3A6NnB4IHNvbGlkIGhzbGEoMCwwJSwxMDAlLC42KTtib3JkZXItcmFkaXVzOjEwMCU7aGVpZ2h0OjUwcHg7d2lkdGg6NTBweDstd2Via2l0LWFuaW1hdGlvbjphIC44cyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmEgLjhzIGluZmluaXRlIGxpbmVhcjtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bGVmdDo1MCU7bWFyZ2luLXRvcDotMzBweDttYXJnaW4tbGVmdDotMzBweDt6LWluZGV4Ojk5OTk5fUAtd2Via2l0LWtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19QGtleWZyYW1lcyBhezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhbmN5Ym94LWFuaW1hdGVke3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLDAsLjI1LDEpfS5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXN7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO29wYWNpdHk6MH0uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtvcGFjaXR5OjF9LmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLW5leHQsLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3Vze29wYWNpdHk6MDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpfS5mYW5jeWJveC1meC1mYWRlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50e29wYWNpdHk6MX0uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3Vzey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoMS41LDEuNSwxLjUpO3RyYW5zZm9ybTpzY2FsZTNkKDEuNSwxLjUsMS41KTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1uZXh0ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlM2QoLjUsLjUsLjUpO3RyYW5zZm9ybTpzY2FsZTNkKC41LC41LC41KTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXpvb20taW4tb3V0LmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50ey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpO29wYWNpdHk6MX0uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91c3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKC0xdHVybik7b3BhY2l0eTowfS5mYW5jeWJveC1meC1yb3RhdGUuZmFuY3lib3gtc2xpZGUtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKTtvcGFjaXR5OjB9LmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudHstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTtvcGFjaXR5OjF9LmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91c3std2Via2l0LXRyYW5zZm9ybTpzY2FsZTNkKDAsMCwwKSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKDAsMCwwKSB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO29wYWNpdHk6MH0uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUzZCgwLDAsMCkgdHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTpzY2FsZTNkKDAsMCwwKSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7b3BhY2l0eTowfS5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tY3VycmVudHstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSkgdHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06c2NhbGVYKDEpIHRyYW5zbGF0ZVooMCk7b3BhY2l0eToxfS5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91c3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwwLDApIHNjYWxlKC4xKSBza2V3KC0xMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCkgc2NhbGUoLjEpIHNrZXcoLTEwZGVnKX0uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tbmV4dHstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCkgc2NhbGUoLjEpIHNrZXcoMTBkZWcpfS5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1jdXJyZW50ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGUoMSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGUoMSl9LmZhbmN5Ym94LXNoYXJle3BhZGRpbmc6MzBweDtib3JkZXItcmFkaXVzOjNweDtiYWNrZ3JvdW5kOiNmNGY0ZjQ7bWF4LXdpZHRoOjkwJTt0ZXh0LWFsaWduOmNlbnRlcn0uZmFuY3lib3gtc2hhcmUgaDF7Y29sb3I6IzIyMjttYXJnaW46MCAwIDIwcHg7Zm9udC1zaXplOjM1cHg7Zm9udC13ZWlnaHQ6NzAwfS5mYW5jeWJveC1zaGFyZSBwe21hcmdpbjowO3BhZGRpbmc6MH1wLmZhbmN5Ym94LXNoYXJlX19saW5rc3ttYXJnaW4tcmlnaHQ6LTEwcHh9LmZhbmN5Ym94LXNoYXJlX19idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bWFyZ2luOjAgMTBweCAxMHB4IDA7cGFkZGluZzowIDE1cHg7bWluLXdpZHRoOjEzMHB4O2JvcmRlcjowO2JvcmRlci1yYWRpdXM6M3B4O2JhY2tncm91bmQ6I2ZmZjt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjQwcHg7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2NvbG9yOiNmZmY7dHJhbnNpdGlvbjphbGwgLjJzfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1mYntiYWNrZ3JvdW5kOiMzYjU5OTh9LmZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiOmhvdmVye2JhY2tncm91bmQ6IzM0NGU4Nn0uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHR7YmFja2dyb3VuZDojYmQwODFkfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uLS1wdDpob3ZlcntiYWNrZ3JvdW5kOiNhYTA3MTl9LmZhbmN5Ym94LXNoYXJlX19idXR0b24tLXR3e2JhY2tncm91bmQ6IzFkYTFmMn0uZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tdHc6aG92ZXJ7YmFja2dyb3VuZDojMGQ5NWU4fS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2Z3twb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweDt3aWR0aDoyNXB4O2hlaWdodDoyNXB4O21hcmdpbi1yaWdodDo3cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mYW5jeWJveC1zaGFyZV9fYnV0dG9uIHN2ZyBwYXRoe2ZpbGw6I2ZmZn0uZmFuY3lib3gtc2hhcmVfX2lucHV0e2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO21hcmdpbjoxMHB4IDAgMDtwYWRkaW5nOjEwcHggMTVweDtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O2NvbG9yOiM1ZDViNWI7Zm9udC1zaXplOjE0cHg7b3V0bGluZTpub25lO2JvcmRlcjowO2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkN2Q3ZDd9LmZhbmN5Ym94LXRodW1ic3tkaXNwbGF5Om5vbmU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7cmlnaHQ6MDt3aWR0aDoyMTJweDttYXJnaW46MDtwYWRkaW5nOjJweCAycHggNHB4O2JhY2tncm91bmQ6I2ZmZjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7LW1zLW92ZXJmbG93LXN0eWxlOi1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDo5OTk5NX0uZmFuY3lib3gtdGh1bWJzLXh7b3ZlcmZsb3cteTpoaWRkZW47b3ZlcmZsb3cteDphdXRvfS5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJze2Rpc3BsYXk6YmxvY2t9LmZhbmN5Ym94LXNob3ctdGh1bWJzIC5mYW5jeWJveC1pbm5lcntyaWdodDoyMTJweH0uZmFuY3lib3gtdGh1bWJzPnVse2xpc3Qtc3R5bGU6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21hcmdpbjowO3BhZGRpbmc6MDtvdmVyZmxvdy14OmhpZGRlbjtvdmVyZmxvdy15OmF1dG87Zm9udC1zaXplOjA7d2hpdGUtc3BhY2U6bm93cmFwfS5mYW5jeWJveC10aHVtYnMteD51bHtvdmVyZmxvdzpoaWRkZW59LmZhbmN5Ym94LXRodW1icy15PnVsOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo3cHh9LmZhbmN5Ym94LXRodW1icy15PnVsOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czoxMHB4O2JveC1zaGFkb3c6aW5zZXQgMCAwIDZweCByZ2JhKDAsMCwwLC4zKX0uZmFuY3lib3gtdGh1bWJzLXk+dWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie2JhY2tncm91bmQ6IzJhMmEyYTtib3JkZXItcmFkaXVzOjEwcHh9LmZhbmN5Ym94LXRodW1icz51bD5saXtmbG9hdDpsZWZ0O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7bWFyZ2luOjJweDt3aWR0aDoxMDBweDtoZWlnaHQ6NzVweDttYXgtd2lkdGg6Y2FsYyg1MCUgLSA0cHgpO21heC1oZWlnaHQ6Y2FsYygxMDAlIC0gOHB4KTtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcjtvdXRsaW5lOm5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47Ym94LXNpemluZzpib3JkZXItYm94fWxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5ne2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSl9LmZhbmN5Ym94LXRodW1icz51bD5saT5pbWd7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO21heC13aWR0aDpub25lO21heC1oZWlnaHQ6bm9uZTstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmZhbmN5Ym94LXRodW1icz51bD5saTpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtib3JkZXI6NHB4IHNvbGlkICM0ZWE3Zjk7ei1pbmRleDo5OTk5MTtvcGFjaXR5OjA7dHJhbnNpdGlvbjphbGwgLjJzIGN1YmljLWJlemllciguMjUsLjQ2LC40NSwuOTQpfS5mYW5jeWJveC10aHVtYnM+dWw+bGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmV7b3BhY2l0eToxfUBtZWRpYSAobWF4LXdpZHRoOjgwMHB4KXsuZmFuY3lib3gtdGh1bWJze3dpZHRoOjExMHB4fS5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtaW5uZXJ7cmlnaHQ6MTEwcHh9LmZhbmN5Ym94LXRodW1icz51bD5saXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTBweCl9fQ=="}},"time_used":52,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":51,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/img/africa.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.113Z","timestamp":1785135592113,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/img/africa.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: d99eb109c1a06eeabd3992fee6d4d987-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]}],"data":{"size":4511,"size_decoded":2173,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/resource/feature-1.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.166Z","timestamp":1785135592166,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/resource/feature-1.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 20216\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: c75a1d4a6aaccfadcfffbdcffd113ab7-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":20216,"size_decoded":20559,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"a8d98b71a2700e30d843174df3a020e1","sha1":"5b2ac107477ac251e3f673a398eab743b60a202b","sha256":"889a0e7be65967aac88e8f0159db13140234eb3b4dc4f2b46a571b5cd7c08f6f","sha512":"7cd4376992d8f6e8053c5c8923ea740b3e5776cf1179f0ff7032a8578c4ae499e0b18e1b9d9112b386f8662b6f275d80bcdbd7394e9570df5a74c32aabd6aa78","ssdeep":"384:en9NXWDCSHCkctEZ8AK3nmvLXU5dp4WxByCx7GE38K68abrGWuk:eNmeBx+K3ULXU5nlyQ7n38K7abqxk","tlshash":"f792d0e750cdf01cc2568e7060903d6938a23b57461ba77987e0c33ec9ea638d9e8277","first_seen":"2026-07-27T05:44:01.769216Z","last_seen":"2026-07-27T11:04:25.204595Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/responsive.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.576Z","timestamp":1785135591576,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/responsive.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 3987\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:14 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"6ef1-68bf75d4-f60cac7730ef2bc6;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389977\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: c2f2db695af2df63943dfc4736690f75-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.018\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":28401,"size_decoded":4579,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"f140b58fd294e165e9de441bdeb0cca3","sha1":"247f1ac6880448c8b241f2705c0225a152d06642","sha256":"4aa6744498d9199d2542f93c2607387a2a28ef4b1bb9c78061386f4e03fb919b","sha512":"cc3a5cea50360e6a5883abe2638b8319276f48674c7687917c11047d3abefca102f28125538bc2c2512df8d9649156c5b478656df56085255419249c9d0edd83","ssdeep":"768:LRYSkaoHj1QCf7T51wvMiUIqLSr/KJc6OLhUE8/YNw2:7","tlshash":"5ad2f027b45a700d17a34356fbba2ea4fdb4d026d7a741f1f8328229c2e14ad47d1adc","first_seen":"2024-06-18T00:47:48Z","last_seen":"2026-07-27T13:36:13.693268Z","times_seen":99,"resource_available":false,"data":"LyogU29sdmEgSFRNTCBUZW1wbGF0ZSovDQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwMHB4KXsNCgkNCgkucGFnZS13cmFwcGVyew0KCQlvdmVyZmxvdzpoaWRkZW47DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLm9wdGlvbnMtYm94IC5jYXJ0LWJveHsNCgkJZGlzcGxheTpibG9jazsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAudG9wLWxlZnQsDQoJLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5uZXItY29udGFpbmVyew0KCQlwYWRkaW5nLWxlZnQ6NDBweDsNCgl9DQoJDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KXsNCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5vcHRpb25zLWJveCAuY2FydC1ib3h7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAudG9wLWxlZnQsDQoJLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5uZXItY29udGFpbmVyew0KCQlwYWRkaW5nLWxlZnQ6MjE1cHg7DQoJfQ0KCQ0KCS5ydGwgLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAudG9wLWxlZnQsDQoJLnJ0bCAuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5pbm5lci1jb250YWluZXJ7DQoJCXBhZGRpbmctbGVmdDowcHg7DQoJCXBhZGRpbmctcmlnaHQ6MjE1cHg7DQoJfQ0KCQ0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNDBweCl7DQoNCgkucGFnZS13cmFwcGVyew0KCQlvdmVyZmxvdzpoaWRkZW47CQ0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5vcHRpb25zLWJveCAuY2FydC1ib3h7DQoJCWRpc3BsYXk6YmxvY2s7DQoJfQ0KCQ0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNDBweCl7DQoJDQoJLm1haW4taGVhZGVyew0KCQltYXJnaW46MHB4ICFpbXBvcnRhbnQ7DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdHdvew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10aHJlZSAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhew0KCQlwYWRkaW5nOjI1cHggMHB4Ow0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5pbmZvLWJveGVkIC5pbmZvLWJveHsNCgkJbWFyZ2luLWxlZnQ6MTVweDsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10aHJlZSAubWFpbi1tZW51ew0KCQltYXJnaW4tcmlnaHQ6MHB4Ow0KCX0NCgkNCgkubWFpbi1mb290ZXIgLmZvb3Rlci10aXRsZXsNCgkJbWFyZ2luLXRvcDowcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnRvcC1sZWZ0IC5waG9uZSBzcGFuLA0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnRvcC1sZWZ0IC5waG9uZXsNCgkJZm9udC1zaXplOjEzcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXVwcGVyIC51cHBlci1yaWdodHsNCgkJdG9wOjBweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdXBwZXJ7DQoJCW1hcmdpbi1ib3R0b206MHB4Ow0KCX0NCgkNCgkucGFnZS13cmFwcGVyew0KCQlvdmVyZmxvdzpoaWRkZW47CQ0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmluZm8tYm94ew0KCQltYXJnaW4tbGVmdDoyNXB4Ow0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiBhew0KCQlmb250LXNpemU6MTRweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5uYXYtb3V0ZXIgLm91dGVyLWJveCAuc2VhcmNoLWJveC1vdXRlcnsNCgkJbWFyZ2luLXJpZ2h0OjBweDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gLm1lZ2EtbWVudXsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgkJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgkJLW1zLXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCQktby10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgkJdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSAubWVnYS1tZW51LWJhciBoM3sNCgkJZm9udC1zaXplOjE2cHg7CQ0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgLm1lZ2EtbWVudS1iYXIgLmNvbHVtbiA+IHVsID4gbGkgPiBhew0KCQlmb250LXNpemU6MTVweDsJDQoJfQ0KCQ0KCS5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdGhyZWUgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYXsNCgkJZm9udC1zaXplOjE0cHg7DQoJfQ0KCQ0KCS5tYWluLXNsaWRlci10aHJlZSAuc29jaWFsLW5hdiwNCgkubWFpbi1zbGlkZXItdGhyZWUgLnRleHQtYm94ZWQsDQoJLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS10aHJlZSAub3B0aW9ucy1ib3ggLmJ0bi1ib3gsDQoJLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS10d28gLm9wdGlvbnMtYm94LA0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaTo6YmVmb3Jlew0KCQlkaXNwbGF5Om5vbmU7DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdGhyZWUgLmhlYWRlci1sb3dlciAuaW5uZXItY29udGFpbmVyOmJlZm9yZXsNCgkJcmlnaHQ6MHB4Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLXRocmVlIC5vcHRpb25zLWJveHsNCgkJbWFyZ2luLWxlZnQ6MjVweDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpew0KCQltYXJnaW4tcmlnaHQ6MjVweDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYXsNCgkJcGFkZGluZzoxNXB4IDBweDsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28gLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYXsNCgkJcGFkZGluZzoyNXB4IDBweDsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5uZXItY29udGFpbmVyIC5sb2dvLWJveHsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCWZsb2F0OmxlZnQ7DQoJCXRvcDowcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnRvcC1sZWZ0LA0KCS5mYXEtcGFnZS1zZWN0aW9uIC5mb3JtLWNvbHVtbiAuaW5uZXItY29sdW1uLA0KCS5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLmlubmVyLWNvbnRhaW5lcnsNCgkJcGFkZGluZy1sZWZ0OjBweDsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5uZXItY29udGFpbmVyIC5sb2dvLWJveHsNCgkJbWFyZ2luLXJpZ2h0OjYwcHg7DQoJCXBhZGRpbmc6NXB4IDUwcHggNXB4IDE1cHg7DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLmlubmVyLWNvbnRhaW5lciAubG9nby1ib3g6OmJlZm9yZXsNCgkJYm9yZGVyLWJvdHRvbTo4MHB4IHNvbGlkICMyMjIyMjI7DQoJfQ0KCQ0KCS5tYWluLXNsaWRlci10aHJlZSAuc2xpZGV7DQoJCXBhZGRpbmc6MjgwcHggMHB4IDE1MHB4Ow0KCX0NCgkNCgkuc2VydmljZS1ibG9jayAuaW5uZXItYm94ew0KCQlwYWRkaW5nLWxlZnQ6MjBweDsNCgkJcGFkZGluZy1yaWdodDoyMHB4Ow0KCX0NCgkNCgkuaW50cm9kdWN0aW9uLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW4gLnNlYy10aXRsZSBoMiBicnsNCgkJZGlzcGxheTpub25lOw0KCX0NCgkNCgkuY29udGFjdC1zZWN0aW9uIC5mb3JtLWNvbHVtbiAuaW5uZXItY29sdW1uew0KCQlwYWRkaW5nOjBweDsNCgl9DQoJDQoJLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLmlubmVyLWNvbnRhaW5lcnsNCgkJcGFkZGluZy1sZWZ0OjUwcHg7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW4gLmJ0bi1ib3ggLnRoZW1lLWJ0bnsNCgkJbWFyZ2luLXJpZ2h0OjBweDsNCgkJbWFyZ2luLWJvdHRvbToyMHB4Ow0KCX0NCgkNCgkud2UtYXJlLXNlY3Rpb257DQoJCXBhZGRpbmctdG9wOjEwMHB4Ow0KCX0NCgkNCgkuZmVhdHVyZWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJCXBhZGRpbmctbGVmdDowcHg7DQoJfQ0KCQ0KCS5mZWF0dXJlZC1zZWN0aW9uLXR3byAuYmxvY2tzLWNvbHVtbiAuZmVhdHVyZS1ibG9jazpudGgtY2hpbGQoMiksDQoJLmZlYXR1cmVkLXNlY3Rpb24tdHdvIC5ibG9ja3MtY29sdW1uIC5mZWF0dXJlLWJsb2NrOm50aC1jaGlsZCgzKXsNCgkJbWFyZ2luLXRvcDowcHg7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLXR3byAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCgkJcGFkZGluZy1sZWZ0OjIwcHg7DQoJfQ0KCQ0KCS5ydGwgLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAudG9wLWxpc3R7DQoJCW1hcmdpbi1sZWZ0OjE1cHg7DQoJfQ0KCQ0KCS5ydGwgLm1haW4taGVhZGVyIC5vcHRpb25zLWJveHsNCgkJbWFyZ2luLXJpZ2h0OjI1cHg7DQoJfQ0KCQ0KCS5ydGwgLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpew0KCQltYXJnaW4tcmlnaHQ6MHB4Ow0KCQltYXJnaW4tbGVmdDoyNXB4Ow0KCX0NCgkNCgkucnRsIC5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLmlubmVyLWNvbnRhaW5lcnsNCgkJcGFkZGluZy1yaWdodDozMzBweDsNCgl9DQoJDQoJLnJ0bCAuaGVhZGVyLXN0eWxlLXRocmVlIC5oZWFkZXItbG93ZXIgLmlubmVyLWNvbnRhaW5lciAubG9nby1ib3h7DQoJCW1hcmdpbi1sZWZ0OjIwcHg7DQoJfQ0KCQ0KCQ0KCQ0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCl7DQoJDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpew0KCQ0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsLA0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bCwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiAubWVnYS1tZW51ew0KCQlkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7DQoJCXZpc2liaWxpdHk6aGlkZGVuOw0KCQlvcGFjaXR5OjA7DQoJfQ0KCQ0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCl7DQoJDQoJLm1haW4taGVhZGVyIC5pbmZvLWJveHsNCgkJbWFyZ2luLWxlZnQ6MHB4Ow0KCQltYXJnaW4tcmlnaHQ6MTVweDsNCgl9DQoJDQoJLnJ0bCAuZmVhdHVyZWQtc2VjdGlvbi10d28gLmJsb2Nrcy1jb2x1bW4sDQoJLnJ0bCAud2UtYXJlLXNlY3Rpb24gLnRpdGxlLWNvbHVtbnsNCgkJb3JkZXI6MTsNCgl9DQoJDQoJLnJ0bCAuaGVhZGVyLXN0eWxlLXR3byAubmF2LW91dGVyIC5tYWluLW1lbnV7DQoJCXdpZHRoOmF1dG87DQoJfQ0KCQ0KCS5ydGwgLmhlYWRlci1zdHlsZS10aHJlZSAuaGVhZGVyLWxvd2VyIC5pbm5lci1jb250YWluZXIgLmxvZ28tYm94ew0KCQltYXJnaW4tbGVmdDoxOHB4Ow0KCX0NCgkNCgkucnRsIC5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnRvcC1sZWZ0LA0KCS5ydGwgLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5uZXItY29udGFpbmVyew0KCQlwYWRkaW5nLXJpZ2h0OjBweDsNCgl9DQoJDQoJLnJ0bCAuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5pbm5lci1jb250YWluZXIgLmxvZ28tYm94ew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgl9DQoJDQoJLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLmJ0bi1jb2x1bW4gLmlubmVyLWNvbHVtbiwNCgkuY291bnRlci1zZWN0aW9uIC5mYWN0LWNvdW50ZXIgLmNvdW50ZXItY29sdW1uLA0KCS5zZXJ2aWNlcy1zZWN0aW9uIC5vd2wtZG90cywNCgkuc2VydmljZXMtc2VjdGlvbiAuY29uc3VsdHsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW4gLmJ0bi1ib3ggLnRoZW1lLWJ0bnsNCgkJbWFyZ2luLXJpZ2h0OjMwcHg7DQoJfQ0KCQ0KCS5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC50aXRsZS1jb2x1bW4gLmNvbnRlbnR7DQoJCXBhZGRpbmc6MHB4Ow0KCQlib3JkZXI6bm9uZTsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC5pbm5lci1jb250YWluZXJ7DQoJCXBhZGRpbmc6MzBweCAyMHB4Ow0KCX0NCgkNCgkuaW50cm9kdWN0aW9uLXNlY3Rpb24gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJCXBhZGRpbmctdG9wOjYwcHg7DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdGhyZWUgLmhlYWRlci1sb3dlcnsNCgkJYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOw0KCX0NCgkNCgkuc2VydmljZXMtc2VjdGlvbiAuaW5uZXItY29udGFpbmVyew0KCQltYXJnaW4tdG9wOjEwMHB4Ow0KCX0NCgkNCgkubWFpbi1zbGlkZXItdGhyZWUgLnNsaWRlOmJlZm9yZXsNCgkJd2lkdGg6NzAlOw0KCX0NCgkNCgkuc2VydmljZXMtc2VjdGlvbiAucGF0ZXJuLWxheWVyew0KCQl0b3A6LTEwMHB4Ow0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXRocmVlIC5oZWFkZXItbG93ZXIgLmlubmVyLWNvbnRhaW5lcnsNCgkJcGFkZGluZy1sZWZ0OjBweDsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10aHJlZSAuaGVhZGVyLWxvd2VyIC5pbm5lci1jb250YWluZXI6YmVmb3Jlew0KCQlib3JkZXItcmFkaXVzOjBweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5pbmZvLWJveDpsYXN0LWNoaWxkew0KCQltYXJnaW4tcmlnaHQ6MHB4Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLm1haW4tYm94IC5sb2dvLWJveCB7DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQlsZWZ0OjBweDsNCgkJdG9wOjBweDsNCgkJcmlnaHQ6MHB4Ow0KCQlib3R0b206MHB4Ow0KCQltYXJnaW46MHB4Ow0KCQl0ZXh0LWFsaWduOmxlZnQ7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdHdvIC5vcHRpb25zLWJveHsNCgkJZGlzcGxheTpibG9jazsNCgkJdG9wOjBweDsNCgkJcmlnaHQ6MHB4Ow0KCQlsZWZ0OmF1dG87DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLm9wdGlvbnMtYm94IC5jYXJ0LWJveCwNCgkubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLXR3byAub3B0aW9ucy1ib3ggLmJ0bi1ib3h7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28gLm5hdi1vdXRlciAubWFpbi1tZW51ew0KCQl3aWR0aDoxMDAlOw0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28gLm5hdi1vdXRlcnsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCWZsb2F0OmxlZnQ7DQoJCXdpZHRoOjEwMCU7DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLmlubmVyLWNvbnRhaW5lciAubG9nby1ib3g6YmVmb3JlLA0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcC10d28gLnRvcC1saXN0LA0KCS5maXhlZC1oZWFkZXIgLnN0aWNreS1oZWFkZXJ7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gYXsNCgkJZm9udC1zaXplOjE0cHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAub3B0aW9ucy1ib3h7DQoJCW1hcmdpbi10b3A6MHB4Ow0KCQlwb3NpdGlvbjphYnNvbHV0ZTsNCgkJbGVmdDowcHg7DQoJCXRvcDo1cHg7DQoJCXotaW5kZXg6MTI7DQoJCWRpc3BsYXk6bm9uZTsNCgkJcmlnaHQ6YXV0bzsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdXBwZXIgLnVwcGVyLXJpZ2h0ew0KCQlwYWRkaW5nLXRvcDowcHg7DQoJCXdpZHRoOjEwMCU7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuZHJvcGRvd24gPiBhOjpiZWZvcmV7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdXBwZXIgLmxvZ28tYm94ew0KCQl3aWR0aDoxMDAlOw0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIC5zbGlkZXsNCgkJcGFkZGluZzoxNzBweCAwcHggMTUwcHg7DQoJfQ0KCQ0KCS5tYWluLXNsaWRlci10d28gLmNvbnRlbnQtYm94ZWR7DQoJCXdpZHRoOjEwMCU7DQoJCWZsb2F0OmxlZnQ7DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdHdvLmZpeGVkLWhlYWRlciAuaGVhZGVyLXVwcGVyew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgl9DQoJDQoJLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLmlubmVyLWNvbnRhaW5lcnsNCgkJbWFyZ2luLXRvcDo5NXB4Ow0KCX0NCgkNCgkubWFpbi1zbGlkZXItdHdvIC5zbGlkZXsNCgkJcGFkZGluZzoxNTBweCAwcHg7DQoJfQ0KCQ0KCQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCgkJcGFkZGluZy1sZWZ0OjE1cHg7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuaW1hZ2UtY29sdW1uLA0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW4sDQoJLmZsdWlkLXNlY3Rpb24tdHdvIC5pbWFnZS1jb2x1bW4sDQoJLmZsdWlkLXNlY3Rpb24tdHdvIC5jb250ZW50LWNvbHVtbnsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXdpZHRoOjEwMCU7DQoJCWRpc3BsYXk6YmxvY2s7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiwNCgkuZmx1aWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5pbm5lci1jb2x1bW57DQoJCW1heC13aWR0aDoxMDAlOw0KCQlwYWRkaW5nLWxlZnQ6MTVweDsNCgkJbWFyZ2luLWxlZnQ6MHB4Ow0KCQlwYWRkaW5nLXJpZ2h0OjE1cHg7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuaW1hZ2UtY29sdW1uLA0KCS5mbHVpZC1zZWN0aW9uLXR3byAuaW1hZ2UtY29sdW1uew0KCQliYWNrZ3JvdW5kLWltYWdlOm5vbmUgIWltcG9ydGFudDsNCgkJbWFyZ2luLWxlZnQ6MHB4Ow0KCX0NCgkNCgkuZmx1aWQtc2VjdGlvbi1vbmUgLmltYWdlLWNvbHVtbiAuaW1hZ2UtYm94LA0KCS5mbHVpZC1zZWN0aW9uLXR3byAuaW1hZ2UtY29sdW1uIC5pbWFnZS1ib3h7DQoJCWRpc3BsYXk6YmxvY2s7DQoJfQ0KCQ0KCS5wcm9qZWN0cy1zZWN0aW9uIC5zZWMtdGl0bGUgLnB1bGwtcmlnaHR7DQoJCXdpZHRoOjEwMCU7DQoJfQ0KCQ0KCS52aWRlby1zZWN0aW9uIC5zZWMtdGl0bGUgaDIgYnJ7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLnRlYW0tYmxvY2stdHdvew0KCQltYXJnaW4tYm90dG9tOjcwcHg7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLW9uZSAuY29udGVudC1jb2x1bW57DQoJCXBhZGRpbmctdG9wOjgwcHg7DQoJfQ0KCQ0KCS5mbHVpZC1zZWN0aW9uLXR3byAubG93ZXItY29udGVudCAuY29udGVudC1ib3h7DQoJCXBhZGRpbmc6MzVweCAzNXB4Ow0KCX0NCgkNCgkuZmx1aWQtc2VjdGlvbi10d28gLmluZm8tbGlzdCBsaXsNCgkJbWFyZ2luLXJpZ2h0OjIwcHg7DQoJCXBhZGRpbmctcmlnaHQ6MjBweDsNCgl9DQoJDQoJLnRlc3RpbW9uaWFsLWJsb2NrLXR3b3sNCgkJbWFyZ2luLWJvdHRvbTo1MHB4Ow0KCX0NCgkNCgkucGFnZS10aXRsZXsNCgkJcGFkZGluZzoxNjBweCAwcHggMTAwcHg7DQoJfQ0KCQ0KCS5wcm9qZWN0cy1kZXRhaWwtc2VjdGlvbiAuaW1hZ2UgLnByb2plY3QtaW5mb3sNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXJpZ2h0OjBweDsNCgkJbWFyZ2luLXRvcDozMHB4Ow0KCQltYXgtd2lkdGg6MTAwJTsNCgl9DQoJDQoJLnJ0bCAuY2FsbC10by1hY3Rpb24tc2VjdGlvbiAudGl0bGUtY29sdW1uew0KCQlvcmRlcjoxOw0KCX0NCgkNCgkucnRsIC5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC5idG4tY29sdW1uew0KCQlvcmRlcjoyOw0KCX0NCgkNCgkucnRsIC5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC50aXRsZS1jb2x1bW4gLmNvbnRlbnR7DQoJCXBhZGRpbmctcmlnaHQ6MHB4Ow0KCQlib3JkZXI6bm9uZTsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5ydGwgLmNhbGwtdG8tYWN0aW9uLXNlY3Rpb24gLmJ0bi1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJCXBhZGRpbmctdG9wOjBweDsNCgkJbWFyZ2luLXRvcDowcHg7DQoJfQ0KCQ0KCS5ydGwgLnByb2plY3RzLWRldGFpbC1zZWN0aW9uIC5pbWFnZSAucHJvamVjdC1pbmZvew0KCQlsZWZ0OjBweDsNCgl9DQoJDQp9DQoNCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpew0KCQ0KCS5oZWFkZXItdXBwZXIgLmxvZ28tb3V0ZXIgew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJbGVmdDowcHg7DQoJCXRvcDowcHg7DQoJCXJpZ2h0OjBweDsNCgkJYm90dG9tOjBweDsNCgkJd2lkdGg6MTAwJTsNCgkJbWFyZ2luOjBweDsNCgl9DQoJDQoJLnNlYy10aXRsZSAudGV4dCBiciwNCgkuc2VjLXRpdGxlLXR3byAudGV4dCBicnsNCgkJZGlzcGxheTpub25lOw0KCX0NCgkJDQoJLm1haW4tbWVudXsNCgkJd2lkdGg6MTAwJTsNCgl9DQoJDQoJLm1haW4tbWVudSAuY29sbGFwc2Ugew0KCSAgIG1heC1oZWlnaHQ6MzAwcHg7DQoJCW92ZXJmbG93OmF1dG87DQoJCWZsb2F0Om5vbmU7DQoJCXdpZHRoOjEwMCU7DQoJCXBhZGRpbmc6MTBweCAwcHggMHB4Ow0KCQlib3JkZXI6bm9uZTsNCgkJbWFyZ2luOjBweCAwcHggMTVweDsNCgkJLW1zLWJvcmRlci1yYWRpdXM6M3B4Ow0KCQktbW96LWJvcmRlci1yYWRpdXM6M3B4Ow0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6M3B4Ow0KCQktby1ib3JkZXItcmFkaXVzOjNweDsNCgkJYm9yZGVyLXJhZGl1czozcHg7DQoJCWJveC1zaGFkb3c6bm9uZTsNCiAgIH0NCiAgIA0KCS5tYWluLW1lbnUgLmNvbGxhcHNlLmluLA0KCS5tYWluLW1lbnUgLmNvbGxhcHNpbmd7DQoJCXBhZGRpbmc6MTBweCAwcHggMHB4Ow0KCQlib3JkZXI6bm9uZTsNCgkJbWFyZ2luOjBweCAwcHggMTVweDsNCgkJLW1zLWJvcmRlci1yYWRpdXM6M3B4Ow0KCQktbW96LWJvcmRlci1yYWRpdXM6M3B4Ow0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6M3B4Ow0KCQktby1ib3JkZXItcmFkaXVzOjNweDsNCgkJYm9yZGVyLXJhZGl1czozcHg7DQoJCWJveC1zaGFkb3c6bm9uZTsJDQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1oZWFkZXJ7DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQlmbG9hdDpub25lOw0KCQlkaXNwbGF5OmJsb2NrOw0KCQl0ZXh0LWFsaWduOnJpZ2h0Ow0KCQl3aWR0aDoxMDAlOw0KCQlwYWRkaW5nOjE1cHggMHB4Ow0KCQlyaWdodDowcHg7DQoJCXotaW5kZXg6MTI7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1oZWFkZXIgLm5hdmJhci10b2dnbGV7DQoJCWRpc3BsYXk6aW5saW5lLWJsb2NrOw0KCQl6LWluZGV4OjEyOw0KCQlib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7DQoJCWZsb2F0Om5vbmU7DQoJCW1hcmdpbjowcHggMHB4IDBweCAwcHg7DQoJCWJvcmRlci1yYWRpdXM6MHB4Ow0KCQliYWNrZ3JvdW5kOiNmYmI5MDg7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1oZWFkZXIgLm5hdmJhci10b2dnbGUgLmljb24tYmFyew0KCQliYWNrZ3JvdW5kOiNmZmZmZmY7CQ0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbnsNCgkJZmxvYXQ6bm9uZSAhaW1wb3J0YW50Ow0KCQltYXJnaW46MHB4ICFpbXBvcnRhbnQ7DQoJCXdpZHRoOjEwMCUgIWltcG9ydGFudDsNCgkJYmFja2dyb3VuZDojMmMyYzJjOw0KCQlib3JkZXI6MXB4IHNvbGlkICNmZmZmZmY7DQoJCWJvcmRlci10b3A6bm9uZTsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaXsNCgkJbWFyZ2luOjBweCAhaW1wb3J0YW50Ow0KCQlmbG9hdDpub25lICFpbXBvcnRhbnQ7DQoJCXBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7DQoJCXdpZHRoOjEwMCU7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IGEsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWw6YmVmb3Jlew0KCQlib3JkZXI6bm9uZTsJDQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiBhew0KCQlwYWRkaW5nOjEwcHggMTBweCAhaW1wb3J0YW50Ow0KCQlib3JkZXI6bm9uZSAhaW1wb3J0YW50Ow0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uIGxpLmRyb3Bkb3duID4gYTphZnRlciwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkuZHJvcGRvd24gPiBhOmJlZm9yZSwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gYTo6YmVmb3JlLA0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYTo6YmVmb3Jlew0KCQljb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7DQoJCXJpZ2h0OjE1cHg7DQoJCWZvbnQtc2l6ZToxNnB4Ow0KCQlkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpID4gdWx7DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQlib3JkZXI6bm9uZTsNCgkJZmxvYXQ6bm9uZTsNCgkJdmlzaWJpbGl0eTp2aXNpYmxlOw0KCQlvcGFjaXR5OjE7DQoJCWRpc3BsYXk6bm9uZTsNCgkJbWFyZ2luOjBweDsNCgkJbGVmdDphdXRvICFpbXBvcnRhbnQ7DQoJCXJpZ2h0OmF1dG8gIWltcG9ydGFudDsNCgkJdG9wOmF1dG8gIWltcG9ydGFudDsNCgkJcGFkZGluZzowcHg7DQoJCW91dGxpbmU6bm9uZTsNCgkJd2lkdGg6MTAwJTsNCgkJYmFja2dyb3VuZDojMmMyYzJjOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6MHB4Ow0KCQktbXMtYm9yZGVyLXJhZGl1czowcHg7DQoJCS1vLWJvcmRlci1yYWRpdXM6MHB4Ow0KCQktbW96LWJvcmRlci1yYWRpdXM6MHB4Ow0KCQlib3JkZXItcmFkaXVzOjBweDsNCgkJdHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnQ7DQoJCS13ZWJraXQtdHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnQ7DQoJCS1tcy10cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLW8tdHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnQ7DQoJCS1tb3otdHJhbnNpdGlvbjpub25lICFpbXBvcnRhbnQ7DQoJfQ0KCQkNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bHsNCgkJYm9yZGVyLXRvcDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwxKSAhaW1wb3J0YW50OwkNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGl7DQoJCWJvcmRlci10b3A6MXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMSkgIWltcG9ydGFudDsNCgkJYm9yZGVyLWJvdHRvbTpub25lOw0KCQlvcGFjaXR5OjEgIWltcG9ydGFudDsNCgkJdG9wOjBweCAhaW1wb3J0YW50Ow0KCQlsZWZ0OjBweCAhaW1wb3J0YW50Ow0KCQl2aXNpYmlsaXR5OnZpc2libGUgIWltcG9ydGFudDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaTpmaXJzdC1jaGlsZHsNCgkJYm9yZGVyOm5vbmU7CQ0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gYSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IGEsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaSA+IHVsID4gbGkgPiB1bCA+IGxpID4gYXsNCgkJcGFkZGluZzoxMHB4IDEwcHggIWltcG9ydGFudDsNCgkJbGluZS1oZWlnaHQ6MjJweDsNCgkJY29sb3I6I2ZmZmZmZjsNCgkJYmFja2dyb3VuZDojMmMyYzJjOw0KCQl0ZXh0LWFsaWduOmxlZnQ7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiBhOmhvdmVyLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiBhOmFjdGl2ZSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gYTpmb2N1cywNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgLm1lZ2EtbWVudS1iYXIgLmNvbHVtbiA+IHVsID4gbGkgPiBhew0KCQliYWNrZ3JvdW5kOiNmYmI5MDg7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGk6aG92ZXIgPiBhLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkgPiB1bCA+IGxpOmhvdmVyID4gYSwNCgkubWFpbi1tZW51IC5uYXZiYXItY29sbGFwc2UgPiAubmF2aWdhdGlvbiA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGk6aG92ZXIgPiBhLA0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uID4gbGkuY3VycmVudCA+IGEsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gPiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpIC5tZWdhLW1lbnUtYmFyIC5jb2x1bW4gPiB1bCA+IGxpID4gYXsNCgkJYmFja2dyb3VuZDojMmMyYzJjOw0KCQljb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmJhci1jb2xsYXBzZSA+IC5uYXZpZ2F0aW9uIGxpLmRyb3Bkb3duIC5kcm9wZG93bi1idG4sDQoJLmhlYWRlci1zdHlsZS10d28gLm5hdi1vdXRlciAuYnRuLW91dGVyew0KCQlkaXNwbGF5OmJsb2NrOw0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAubWFpbi1ib3ggLmxvZ28tYm94OjphZnRlciwNCgkubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLXR3byAubmF2LW91dGVyIC5vdXRlci1ib3gsDQoJLm1haW4tbWVudSAubmF2YmFyLWNvbGxhcHNlID4gLm5hdmlnYXRpb24gbGkuZHJvcGRvd246YWZ0ZXIsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gdWw6YmVmb3Jlew0KCQlkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsJDQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuYnRuLW91dGVyew0KCQlsZWZ0OjBweDsNCgkJdG9wOjBweDsNCgkJcmlnaHQ6YXV0bzsNCgkJbWFyZ2luLXRvcDoxNXB4Ow0KCQl0ZXh0LWFsaWduOmxlZnQ7DQoJCXotaW5kZXg6MTI7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAubWFpbi1ib3ggLmxvZ28tYm94ew0KCQlmbG9hdDpub25lOw0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgkJcGFkZGluZy1ib3R0b206MTBweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5vcHRpb25zLWJveHsNCgkJZGlzcGxheTpibG9jazsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10aHJlZSAubmF2LW91dGVyIC5vdXRlci1ib3h7DQoJCWRpc3BsYXk6YmxvY2s7DQoJCXBvc2l0aW9uOmFic29sdXRlOw0KCQlsZWZ0OjBweDsNCgkJdG9wOjRweDsNCgkJei1pbmRleDoxMjsNCgkJbWFyZ2luLWxlZnQ6MHB4Ow0KCQltYXJnaW4tdG9wOjEwcHg7DQoJfQ0KCQ0KCS5zaWRlYmFyLXBhZ2UtY29udGFpbmVyIC5jb21tZW50cy1hcmVhIC5jb21tZW50LWJveC5yZXBseS1jb21tZW50ew0KCQltYXJnaW4tbGVmdDowcHg7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAuaW5mby1ib3h7DQoJCXBhZGRpbmctbGVmdDowcHg7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCQl3aWR0aDoxMDAlOw0KCQltYXJnaW4tcmlnaHQ6MHB4Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLmluZm8tYm94IC5pY29uLWJveHsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCW1hcmdpbjowIGF1dG87DQoJCW1hcmdpbi1ib3R0b206MTVweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5tYWluLWJveCAub3V0ZXItY29udGFpbmVyew0KCQlwYWRkaW5nOjBweDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItbG93ZXIgLm91dGVyLWJveHsNCgkJcG9zaXRpb246YWJzb2x1dGU7DQoJCXotaW5kZXg6MTI7DQoJfQ0KCQ0KCS5oZWFkZXItdG9wLXR3byAudG9wLXJpZ2h0ew0KCQlkaXNwbGF5Om5vbmU7DQoJfQ0KCQ0KCS5tYWluLWZvb3RlciAuZm9vdGVyLXVwcGVyIC5wdWxsLWxlZnQsDQoJLm1haW4tZm9vdGVyIC5mb290ZXItdXBwZXIgLnB1bGwtcmlnaHR7DQoJCXdpZHRoOjEwMCU7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkNCgkubWFpbi1mb290ZXIgLmZvb3Rlci11cHBlciAuc3Vic2NyaWJlLWZvcm17DQoJCXdpZHRoOjEwMCU7DQoJCW1hcmdpbi10b3A6MzBweDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpLmhhcy1tZWdhLW1lbnV7DQoJCXBvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7CQ0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgLm1lZ2EtbWVudS1iYXIgLmNvbHVtbnsNCgkJcGFkZGluZzowcHg7DQoJCW1hcmdpbjowcHg7CQ0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgPiAubWVnYS1tZW51ew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJd2lkdGg6MTAwJTsNCgkJcGFkZGluZzowcHggIWltcG9ydGFudDsNCgkJYmFja2dyb3VuZDpub25lICFpbXBvcnRhbnQ7DQoJCW1hcmdpbjowcHggIWltcG9ydGFudDsNCgkJbGVmdDowcHggIWltcG9ydGFudDsNCgkJdG9wOjBweCAhaW1wb3J0YW50OwkNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gLm1lZ2EtbWVudSAucm93ew0KCQltYXJnaW46MHB4Ow0KCQl3aWR0aDoxMDAlOwkNCgl9DQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gLm1lZ2EtbWVudTpiZWZvcmUsDQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpIC5tZWdhLW1lbnUtYmFyIGgzew0KCQljb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7DQoJCXJpZ2h0OjE1cHg7DQoJCWZvbnQtc2l6ZToxNnB4Ow0KCQlkaXNwbGF5Om5vbmUgIWltcG9ydGFudDsNCgl9DQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpID4gLm1lZ2EtbWVudSwNCgkubWFpbi1tZW51IC5uYXZpZ2F0aW9uID4gbGkgLm1lZ2EtbWVudS1iYXIgPiB1bHsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCWJvcmRlcjpub25lOw0KCQlmbG9hdDpub25lOw0KCQl2aXNpYmlsaXR5OnZpc2libGU7DQoJCW9wYWNpdHk6MTsNCgkJZGlzcGxheTpub25lOw0KCQltYXJnaW46MHB4Ow0KCQlsZWZ0OmF1dG8gIWltcG9ydGFudDsNCgkJcmlnaHQ6YXV0byAhaW1wb3J0YW50Ow0KCQl0b3A6YXV0byAhaW1wb3J0YW50Ow0KCQlwYWRkaW5nOjBweDsNCgkJb3V0bGluZTpub25lOw0KCQl3aWR0aDoxMDAlOw0KCQliYWNrZ3JvdW5kOiMyYzJjMmM7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czowcHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOjBweDsNCgkJLW8tYm9yZGVyLXJhZGl1czowcHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czowcHg7DQoJCWJvcmRlci1yYWRpdXM6MHB4Ow0KCQl0cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLXdlYmtpdC10cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLW1zLXRyYW5zaXRpb246bm9uZSAhaW1wb3J0YW50Ow0KCQktby10cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLW1vei10cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsNCgkJLXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7DQoJCS1tcy1ib3gtc2hhZG93Om5vbmU7DQoJCS1vLWJveC1zaGFkb3c6bm9uZTsNCgkJLW1vei1ib3gtc2hhZG93Om5vbmU7DQoJCWJveC1zaGFkb3c6bm9uZTsNCgl9DQoJLm1haW4tbWVudSAubmF2aWdhdGlvbiA+IGxpIC5tZWdhLW1lbnUtYmFyIC5jb2x1bW4gPiB1bCA+IGxpew0KCQlib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDEpICFpbXBvcnRhbnQ7DQoJCWJvcmRlci1ib3R0b206bm9uZTsNCgkJb3BhY2l0eToxICFpbXBvcnRhbnQ7DQoJCXRvcDowcHggIWltcG9ydGFudDsNCgkJbGVmdDowcHggIWltcG9ydGFudDsNCgkJdmlzaWJpbGl0eTp2aXNpYmxlICFpbXBvcnRhbnQ7DQoJfQ0KCQ0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSAubWVnYS1tZW51LWJhciAuY29sdW1uID4gdWwgPiBsaSA+IGF7DQoJCXBhZGRpbmc6IDEwcHggMTBweCAhaW1wb3J0YW50Ow0KCQlsaW5lLWhlaWdodDoyMnB4Ow0KCQljb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7DQoJCWJhY2tncm91bmQ6I2ZmYjIwMDsNCgkJdGV4dC1hbGlnbjpsZWZ0Ow0KCQlmb250LXNpemU6MTRweDsNCgkJZm9udC13ZWlnaHQ6NjAwOw0KCQl0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7DQoJfQ0KCS5tYWluLW1lbnUgLm5hdmlnYXRpb24gPiBsaSAubWVnYS1tZW51LWJhciAuY29sdW1uID4gdWwgPiBsaSA+IGE6aG92ZXJ7DQoJCWJhY2tncm91bmQ6I2ZmYjIwMDsNCgl9DQoJDQoJLm1haW4tbWVudSAubmF2YmFyLWhlYWRlciAubmF2YmFyLXRvZ2dsZXJ7DQoJCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgkJei1pbmRleDogMTI7DQoJCXdpZHRoOiA1MHB4Ow0KCQloZWlnaHQ6IDQwcHg7DQoJCWZsb2F0OiBub25lOw0KCQlwYWRkaW5nOiAwcHg7DQoJCXRleHQtYWxpZ246IGNlbnRlcjsNCgkJYm9yZGVyLXJhZGl1czogMHB4Ow0KCQliYWNrZ3JvdW5kOiAjZmRhNzAwOw0KCQlib3JkZXI6IDFweCBzb2xpZCAjZmRhNzAwOw0KCX0NCgkNCgkubWFpbi1tZW51IC5uYXZiYXItaGVhZGVyIC5uYXZiYXItdG9nZ2xlciAuaWNvbi1iYXJ7DQoJCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgkJYmFja2dyb3VuZDogI2ZmZmZmZjsNCgkJaGVpZ2h0OiAycHg7DQoJCXdpZHRoOiAyNnB4Ow0KCQlkaXNwbGF5OiBibG9jazsNCgkJbWFyZ2luOjAgYXV0bzsNCgkJbWFyZ2luOjVweCAxMXB4Ow0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLm9wdGlvbnMtYm94IC5jYXJ0LWJveCAuY2FydC1wYW5lbHsNCgkJbGVmdDowcHggIWltcG9ydGFudDsNCgkJcmlnaHQ6YXV0bzsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAuaW5mby1ib3hlZCAuaW5mby1ib3h7DQoJCW1hcmdpbi1sZWZ0OjBweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIC5zbGlkZXsNCgkJcGFkZGluZy10b3A6MTUwcHg7DQoJCXBhZGRpbmctYm90dG9tOjEwMHB4Ow0KCX0NCgkNCgkubmF2LW91dGVyIC5tb2JpbGUtbmF2LXRvZ2dsZXJ7DQoJCWRpc3BsYXk6IGJsb2NrOw0KCQltYXJnaW46IDA7DQoJCXBhZGRpbmc6IDEycHggMHB4Ow0KCQltYXJnaW4tbGVmdDogMjBweDsNCgkJZm9udC1zaXplOjI2cHg7DQoJfQ0KCQ0KCSNuYXZiYXJTdXBwb3J0ZWRDb250ZW50ew0KCQlkaXNwbGF5OmJsb2NrOw0KCX0NCgkNCgkubWFpbi1tZW51IHsNCgkJd2lkdGg6IDEwMCU7DQoJCWRpc3BsYXk6IG5vbmU7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtb25lIC5oZWFkZXItbG93ZXIgLm5hdi1vdXRlcjpiZWZvcmUsDQoJLm1vYmlsZS1tZW51IC5uYXZpZ2F0aW9uIGxpLmhhcy1tZWdhLW1lbnV7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS1vbmUgLmhlYWRlci1sb3dlcnsNCgkJYmFja2dyb3VuZC1jb2xvcjojMjIyMjIyOw0KCX0NCgkNCgkubWFpbi1oZWFkZXIgLm9wdGlvbnMtYm94ew0KCQl0b3A6OHB4Ow0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5pbm5lci1jb250YWluZXIgLmxvZ28tYm94ew0KCQl3aWR0aDphdXRvOw0KCQltYXJnaW4tcmlnaHQ6MHB4Ow0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAubmF2LW91dGVyew0KCQlmbG9hdDpub25lOw0KCX0NCgkNCgkudGVzdGltb25pYWwtYmxvY2sgLmlubmVyLWJveCAudGV4dCBiciwNCgkubWFpbi1oZWFkZXIgLmhlYWRlci10b3AtdGhyZWUsDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAudG9wLWxlZnR7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5oZWFkZXItdG9wLXR3byAuc29jaWFsLW5hdnsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXRvcDowcHg7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkNCgkubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLXRocmVlIC5vcHRpb25zLWJveHsNCgkJdG9wOjBweDsNCgkJDQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdGhyZWV7DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCX0NCgkNCgkubWFpbi1zbGlkZXIgLnNsaWRlew0KCQlwYWRkaW5nOjE1MHB4IDBweCAxNTBweDsNCgl9DQoJDQoJaDF7DQoJCWZvbnQtc2l6ZTo0MHB4Ow0KCX0NCgkNCgkubWFpbi1zbGlkZXItdGhyZWUgLnNsaWRlew0KCQlwYWRkaW5nOjIwMHB4IDBweCAxNTBweDsNCgl9DQoJDQoJLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tIC5wdWxsLWxlZnQsDQoJLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tIC5wdWxsLXJpZ2h0ew0KCQl3aWR0aDoxMDAlOw0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLmZhY3QtY291bnRlci10d28gLmNvbHVtbnsNCgkJcGFkZGluZy1sZWZ0OjBweDsNCgkJZGlzcGxheTpibG9jazsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5mYWN0LWNvdW50ZXItdHdvIC5jb2x1bW4gLmlubmVyIC5jb3VudC1vdXRlcnsNCgkJcGFkZGluZy1sZWZ0OjBweDsNCgl9DQoJDQoJLmZhY3QtY291bnRlci10d28gLmNvbHVtbiAuaW5uZXIgLmljb257DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQltYXJnaW46MCBhdXRvOw0KCQltYXJnaW4tYm90dG9tOjI1cHg7DQoJfQ0KCQ0KCS5wcmljZS1ibG9jay5hY3RpdmV7DQoJCXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOw0KCX0NCgkNCgkuZmx1aWQtc2VjdGlvbi10d28gLmxvd2VyLWNvbnRlbnQsDQoJLnByb2Nlc3Mtc2VjdGlvbjpiZWZvcmUsDQoJLnNlYy10aXRsZSBoMiBicnsNCgkJZGlzcGxheTpub25lOw0KCX0NCgkNCgkudGVhbS1zZWN0aW9uLXR3b3sNCgkJcGFkZGluZy1ib3R0b206NTBweDsNCgl9DQoJDQoJLndlLWFyZS1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAuaW5uZXItY29sdW1uew0KCQlwYWRkaW5nOjBweDsNCgkJYm9yZGVyOjBweDsNCgl9DQoJDQoJLndlLWFyZS1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAudGV4dHsNCgkJbWF4LXdpZHRoOjEwMCU7DQoJfQ0KCQ0KCS53ZS1hcmUtc2VjdGlvbiAuY29udGVudC1jb2x1bW4gLmlubmVyLWNvbHVtbiAucHVsbC1yaWdodHsNCgkJd2lkdGg6MTAwJTsNCgl9DQoJDQoJLndlLWFyZS1zZWN0aW9uLA0KCS5mZWF0dXJlZC1zZWN0aW9uLXR3b3sNCgkJcGFkZGluZy1ib3R0b206MTAwcHg7DQoJfQ0KCQ0KCS5mb290ZXItc3R5bGUtdHdvIC5sb3dlci1ib3ggLmZvb3Rlci1jb2x1bW57DQoJCXdpZHRoOjEwMCU7DQoJfQ0KCQ0KCS5mb290ZXItc3R5bGUtdHdvIC5mb290ZXItYm90dG9tIC5wdWxsLWxlZnQsDQoJLmZvb3Rlci1zdHlsZS10d28gLmZvb3Rlci1ib3R0b20gLnB1bGwtcmlnaHR7DQoJCXdpZHRoOjEwMCU7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkNCgkubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLXRocmVlIC5vcHRpb25zLWJveCAuYnRuLWJveHsNCgkJZGlzcGxheTpibG9jazsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28gLm5hdi1vdXRlciAubW9iaWxlLW5hdi10b2dnbGVyLA0KCS5oZWFkZXItc3R5bGUtdGhyZWUgLm5hdi1vdXRlciAubW9iaWxlLW5hdi10b2dnbGVyew0KCQljb2xvcjojMDAwMDAwOw0KCQl3aWR0aDo0MHB4Ow0KCQloZWlnaHQ6IDgwcHg7DQoJCWxpbmUtaGVpZ2h0OiA2MnB4Ow0KCX0NCgkNCgkubmV3cy1wb3N0czpiZWZvcmUsDQoJLm1haW4taGVhZGVyLmhlYWRlci1zdHlsZS10aHJlZSAub3B0aW9ucy1ib3gsDQoJLmhlYWRlci1zdHlsZS10d28gLmhlYWRlci11cHBlciAub3B0aW9ucy1ib3h7DQoJCWRpc3BsYXk6bm9uZTsNCgl9DQoJDQoJLnBhZ2UtdGl0bGV7DQoJCXBhZGRpbmc6MTAwcHggMHB4IDEwMHB4Ow0KCX0NCgkNCgkuZXJyb3Itc2VjdGlvbiBoMnsNCgkJZm9udC1zaXplOjMycHg7DQoJfQ0KCQ0KCS5jb21taW5nLXNvb24gLmNvbnRlbnQgLmNvbnRlbnQtaW5uZXIgaDJ7DQoJCWZvbnQtc2l6ZTo2MHB4Ow0KCQltYXJnaW4tYm90dG9tOjMwcHg7DQoJfQ0KCQ0KCS5ibG9nLWRldGFpbCAuaW5uZXItYm94IC50d28tY29sdW1uIC5pbWFnZXsNCgkJbWFyZ2luLWJvdHRvbTozMHB4Ow0KCX0NCgkNCgkucHJvamVjdHMtZGV0YWlsLXNlY3Rpb24gLmxvd2VyLWNvbnRlbnQgLnR3by1jb2x1bW4gaW1new0KCQl3aWR0aDoxMDAlOw0KCQlkaXNwbGF5OmJsb2NrOw0KCQltYXJnaW4tYm90dG9tOjI1cHg7DQoJfQ0KCQ0KCS5uZXdzLXBvc3RzIC5wcmV2LXBvc3QsDQoJLm5ld3MtcG9zdHMgLm5leHQtcG9zdHsNCgkJd2lkdGg6MTAwJTsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJCXBhZGRpbmc6MHB4Ow0KCX0NCgkNCgkubmV3cy1wb3N0cyAubmV4dC1wb3N0IC5pbWFnZSwNCgkubmV3cy1wb3N0cyAucHJldi1wb3N0IC5pbWFnZXsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXRvcDowcHg7DQoJCW1hcmdpbjowIGF1dG87DQoJCW1hcmdpbi1ib3R0b206MTVweDsNCgl9DQoJDQoJLm5ld3MtcG9zdHMgLnByZXYtcG9zdHsNCgkJbWFyZ2luLWJvdHRvbToyNXB4Ow0KCX0NCgkNCgkuc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudC1ib3ggLmF1dGhvci10aHVtYnsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCW1hcmdpbi1ib3R0b206MjBweDsNCgl9DQoJDQoJLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnR7DQoJCXBhZGRpbmc6MHB4Ow0KCQlib3JkZXI6bm9uZTsNCgl9DQoJDQoJLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtYm94IC50aGVtZS1idG57DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQlyaWdodDowcHg7DQoJfQ0KCQ0KCS5jYXJ0LXNlY3Rpb24gLmNhcnQtb3B0aW9ucyAudGhlbWUtYnRuLA0KCS5jYXJ0LXNlY3Rpb24gLmNhcnQtb3B0aW9ucyAucHVsbC1sZWZ0LA0KCS5jYXJ0LXNlY3Rpb24gLmNhcnQtb3B0aW9ucyAucHVsbC1yaWdodHsNCgkJd2lkdGg6MTAwJTsNCgl9DQoJDQoJLmNhcnQtc2VjdGlvbiAuYXBwbHktY291cG9uIC5mb3JtLWdyb3Vwew0KCQltYXJnaW4tcmlnaHQ6MHB4Ow0KCQl3aWR0aDoxMDAlOw0KCX0NCgkNCgkuY2FydC1zZWN0aW9uIC5hcHBseS1jb3Vwb24gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT0idGV4dCJdew0KCQl3aWR0aDoxMDAlOw0KCQltYXJnaW4tYm90dG9tOjBweDsNCgl9DQoJDQoJLnJ0bCAubWFpbi1oZWFkZXIgLmluZm8tYm94ew0KCQlwYWRkaW5nLXJpZ2h0OjBweDsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5ydGwgLm1haW4tZm9vdGVyIC5mb290ZXItYm90dG9tIC5wdWxsLXJpZ2h0ew0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLnJ0bCAuZmFjdC1jb3VudGVyLXR3byAuY291bnQtb3V0ZXJ7DQoJCXBhZGRpbmctcmlnaHQ6MHB4Ow0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLnJ0bCAubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLXRocmVlIC5uYXYtb3V0ZXJ7DQoJCWZsb2F0OmxlZnQ7DQoJfQ0KCQ0KCS5ydGwgLndlLWFyZS1zZWN0aW9uIC5jb250ZW50LWNvbHVtbiAudGV4dHsNCgkJdGV4dC1hbGlnbjpyaWdodDsNCgl9DQoJDQoJLnJ0bCAuc2lkZWJhci1wYWdlLWNvbnRhaW5lciAuY29tbWVudHMtYXJlYSAuY29tbWVudHsNCgkJcGFkZGluZy1yaWdodDowcHg7DQoJfQ0KCQ0KCS5ydGwgLnNpZGViYXItcGFnZS1jb250YWluZXIgLmNvbW1lbnRzLWFyZWEgLmNvbW1lbnQtYm94IC50aGVtZS1idG57DQoJCWxlZnQ6MHB4Ow0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3by5maXhlZC1oZWFkZXIgLmhlYWRlci11cHBlcnsNCgkJcG9zaXRpb246Zml4ZWQ7DQoJfQ0KCQ0KfQ0KDQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KXsNCgkNCgkuc2VhcmNoLXBvcHVwIC5zZWFyY2gtZm9ybSBmaWVsZHNldCBpbnB1dFt0eXBlPSJzdWJtaXQiXXsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXdpZHRoOjEwMCU7DQoJCWRpc3BsYXk6YmxvY2s7DQoJCWJvcmRlci1yYWRpdXM6OHB4Ow0KCX0NCgkNCgkuc2VhcmNoLXBvcHVwIC5zZWFyY2gtZm9ybSBmaWVsZHNldCBpbnB1dFt0eXBlPSJzZWFyY2giXXsNCgkJcGFkZGluZy1yaWdodDoyMHB4Ow0KCX0NCg0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLWxlZnR7DQoJCXdpZHRoOjEwMCU7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkNCgkubWFpbi1zbGlkZXItdHdvIC5saW5rLWJveCAudGhlbWUtYnRuew0KCQltYXJnaW4tcmlnaHQ6MTBweDsNCgl9DQoJDQoJLnNlYy10aXRsZSBoMiBiciwNCgkubWFpbi1zbGlkZXItdHdvIC50ZXh0IGJyLA0KCS5jb21taW5nLXNvb24gLmNvbnRlbnQgLmNvbnRlbnQtaW5uZXIgLnRleHQgYnIsDQoJLmNvbnRhY3Qtc2VjdGlvbi10d28gLmltYWdlLWNvbHVtbiAuaW1hZ2U6YmVmb3JlLA0KCS5tYWluLWhlYWRlciAuaGVhZGVyLXRvcCAudG9wLXJpZ2h0ew0KCQlkaXNwbGF5Om5vbmU7DQoJfQ0KCQ0KCS5jb250YWN0LXNlY3Rpb24tdHdvIC5pbWFnZS1jb2x1bW4gLmlubmVyLWNvbHVtbnsNCgkJcGFkZGluZy1yaWdodDowcHg7DQoJfQ0KCQ0KCS5jb250YWN0LXNlY3Rpb24tdHdvIC5pbWFnZS1jb2x1bW4gLm51bWJlci1ib3h7DQoJCW1hcmdpbi10b3A6NDBweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIC5vd2wtZG90c3sNCgkJcmlnaHQ6MjBweDsNCgl9DQoJDQoJLnByb2plY3QtYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94ew0KCQlwYWRkaW5nOjI1cHggMjBweDsNCgl9DQoJDQoJaDJ7DQoJCWZvbnQtc2l6ZTozMHB4OwkNCgl9DQoJDQoJLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94ew0KCQlsZWZ0OjE1cHg7DQoJfQ0KCQ0KCS5wcm9qZWN0cy1zZWN0aW9uIC5sb3dlci10ZXh0ew0KCQl0ZXh0LWFsaWduOmNlbnRlcjsNCgl9DQoJDQoJLnByb2plY3RzLXNlY3Rpb24gLm93bC1kb3Rzew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJdG9wOjBweDsNCgkJYm90dG9tOjBweDsNCgkJdGV4dC1hbGlnbjpjZW50ZXI7DQoJfQ0KCQ0KCS5wYWdlLXRpdGxlIC5wdWxsLXJpZ2h0ew0KCQl3aWR0aDoxMDAlOw0KCX0NCgkNCgkucGFnZS1icmVhZGNydW1iew0KCQltYXJnaW4tdG9wOjEwcHg7DQoJfQ0KCQ0KCS5lcnJvci1zZWN0aW9uIGgxew0KCQlmb250LXNpemU6MTAwcHg7DQoJfQ0KCQ0KCS5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC5zb2NpYWwtYm94ew0KCQl3aWR0aDoxMDAlOw0KCQltYXJnaW4tdG9wOjEwcHg7DQoJfQ0KCQ0KCS5ibG9nLWRldGFpbCAucG9zdC1zaGFyZS1vcHRpb25zIC5zb2NpYWwtYm94IGxpew0KCQltYXJnaW4tbGVmdDowcHg7DQoJCW1hcmdpbi1yaWdodDoxNXB4Ow0KCX0NCgkNCgkuaW50cm9kdWN0aW9uLXNlY3Rpb24gLmltYWdlLWNvbHVtbiAuaW5uZXItY29sdW1uew0KCQlwYWRkaW5nOjBweDsNCgl9DQoJDQoJLmludHJvZHVjdGlvbi1zZWN0aW9uIC5pbWFnZS1jb2x1bW4gLmltYWdlIC5wcm9qZWN0c3sNCgkJcGFkZGluZzoyMnB4IDIwcHg7DQoJCWxlZnQ6MHB4Ow0KCX0NCgkNCgkuc3R5bGVkLWZvcm0gLmZvcm0tZ3JvdXAuc29jaWFsLWxpbmtzLXR3bywNCgkuc3R5bGVkLWZvcm0gLnN1Ym1pdC10ZXh0ew0KCQl3aWR0aDoxMDAlOw0KCX0NCgkNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkgew0KCQ0KCS5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdHdvIC5vcHRpb25zLWJveHsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXdpZHRoOjEwMCU7DQoJfQ0KCQ0KCS5tYWluLWhlYWRlciAub3B0aW9ucy1ib3ggLmdyaWQtYm94ew0KCQlmbG9hdDpsZWZ0Ow0KCQlib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkZGRkZGQ7DQoJfQ0KCQ0KCS5oZWFkZXItc3R5bGUtdHdvIC5oZWFkZXItdXBwZXIgLmlubmVyLWNvbnRhaW5lciAubG9nby1ib3h7DQoJCXBhZGRpbmc6NXB4IDE1cHggNXB4Ow0KCX0NCgkNCgkuaGVhZGVyLXN0eWxlLXR3byAuaGVhZGVyLXVwcGVyIC5zZWFyY2gtYm94LW91dGVyew0KCQlmbG9hdDpyaWdodDsNCgl9DQoJDQoJLm1haW4taGVhZGVyIC5vcHRpb25zLWJveCAuYnRuLWJveHsNCgkJZGlzcGxheTpub25lOw0KCX0NCgkNCgkubWFpbi1oZWFkZXIuaGVhZGVyLXN0eWxlLW9uZSAub3B0aW9ucy1ib3ggLmdyaWQtYm94LA0KCS5tYWluLWhlYWRlci5oZWFkZXItc3R5bGUtdGhyZWUgLm9wdGlvbnMtYm94IC5ncmlkLWJveHsNCgkJYm9yZGVyOm5vbmU7DQoJfQ0KCQ0KCWgxew0KCQlmb250LXNpemU6MzJweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyIC5saW5rLWJveCAudmlkZW8tYm94ew0KCQltYXJnaW4tcmlnaHQ6MjBweDsNCgl9DQoJDQoJLm1haW4tc2xpZGVyLXRocmVlIC5saW5rLWJveCAudGhlbWUtYnRuLA0KCS5tYWluLXNsaWRlci10d28gLmxpbmstYm94IC50aGVtZS1idG57DQoJCW1hcmdpbi1ib3R0b206MTJweDsNCgl9DQoJDQoJLmxpc3Qtc3R5bGUtdHdvIGxpew0KCQlwYWRkaW5nLWxlZnQ6MHB4Ow0KCX0NCgkNCgkubGlzdC1zdHlsZS10d28gbGkgLmljb257DQoJCXBvc2l0aW9uOnJlbGF0aXZlOw0KCQltYXJnaW4tYm90dG9tOjIwcHg7DQoJfQ0KCQ0KCS5jYWxsLXRvLWFjdGlvbi1zZWN0aW9uIC5pbm5lci1jb250YWluZXI6OmJlZm9yZXsNCgkJYmFja2dyb3VuZC1zaXplOmNvdmVyOw0KCX0NCgkNCgloMnsNCgkJZm9udC1zaXplOjI2cHg7CQ0KCX0NCgkNCgkuZmVhdHVyZS1ibG9jay10d28gLmlubmVyLWJveHsNCgkJcGFkZGluZy1sZWZ0OjBweDsNCgl9DQoJDQoJLmZlYXR1cmUtYmxvY2stdHdvIC5pbm5lci1ib3ggLmljb24tYm94ew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJdG9wOjBweDsNCgkJbWFyZ2luLWJvdHRvbToyNXB4Ow0KCX0NCgkNCgkuZmVhdHVyZWQtc2VjdGlvbi10d28gLmNvbnRlbnQtY29sdW1uIC5saW5rLWJveCAudmlkZW8tYm94ew0KCQltYXJnaW4tYm90dG9tOjI1cHg7DQoJfQ0KCQ0KCS5mb290ZXItc3R5bGUtdHdvIC5sb3dlci1ib3ggLmZvb3Rlci1jb2x1bW4gLmZvb3Rlci13aWRnZXR7DQoJCXBhZGRpbmctbGVmdDoyMHB4Ow0KCQlwYWRkaW5nLXJpZ2h0OjIwcHg7DQoJfQ0KCQ0KCS5jb21taW5nLXNvb24gLmVtYWlsZWQtZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPSJzdWJtaXQiXSwgLmNvbW1pbmctc29vbiAuZW1haWxlZC1mb3JtIGJ1dHRvbnsNCgkJcG9zaXRpb246cmVsYXRpdmU7DQoJCXRvcDowcHg7DQoJCXJpZ2h0OjBweDsNCgkJd2lkdGg6MTAwJTsNCgkJbWFyZ2luLXRvcDoxMnB4Ow0KCX0NCgkNCgkuYWNjb3JkaW9uLWJveCAuYmxvY2sgLmFjYy1idG57DQoJCXBhZGRpbmc6MTNweCAxNXB4IDEzcHggMTVweDsNCgl9DQoJDQoJLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5pY29uLW91dGVyew0KCQlwb3NpdGlvbjpyZWxhdGl2ZTsNCgkJYm9yZGVyOjFweCBzb2xpZCAjZDdkN2Q3Ow0KCX0NCgkNCgkuc2hvcC1zaW5nbGUgLnByb2R1Y3QtZGV0YWlscyAucHJvZC10YWJzIC50YWItYnRucyAudGFiLWJ0bnsNCgkJd2lkdGg6MTAwJTsNCgkJbWFyZ2luLWJvdHRvbTo4cHg7DQoJCXRleHQtYWxpZ246Y2VudGVyOw0KCX0NCgkNCgkucnRsIC5tYWluLWhlYWRlciAuaGVhZGVyLWxvd2VyIC5zZWFyY2gtYm94LW91dGVyew0KCQltYXJnaW4tbGVmdDowcHg7DQoJfQ0KCQ0KCS5ydGwgLmxpc3Qtc3R5bGUtdHdvIGxpew0KCQlwYWRkaW5nLXJpZ2h0OjBweDsNCgl9DQoJDQoJLnJ0bCAuZmVhdHVyZS1ibG9jay10d28gLmlubmVyLWJveHsNCgkJcGFkZGluZy1yaWdodDowcHg7DQoJfQ0KCQ0KCS5ydGwgLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5hY2MtYnRuew0KCQlwYWRkaW5nOjEzcHggMTVweCAxM3B4IDE1cHg7DQoJfQ0KCQ0KCS5ydGwgLmFjY29yZGlvbi1ib3ggLmJsb2NrIC5pY29uLW91dGVyew0KCQlib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNkN2Q3ZDc7DQoJfQ0KCQ0KCS5ydGwgLnNlYXJjaC1wb3B1cCAuc2VhcmNoLWZvcm0gZmllbGRzZXQgaW5wdXRbdHlwZT0ic2VhcmNoIl17DQoJCXBhZGRpbmc6MjBweCAyMHB4IDIwcHggMjBweDsNCgl9DQoJDQoJLnRlYW0tYmxvY2sgLmlubmVyLWJveCAuaW1hZ2UgLm92ZXJsYXktYm94IC5zb2NpYWwtbmF2IGxpew0KCQltYXJnaW4tcmlnaHQ6MTBweDsNCgl9DQoJDQoJLnBvcnRmb2xpby1zZWN0aW9uIC5maWx0ZXJzIC5maWx0ZXItdGFic3sNCgkJcGFkZGluZzowcHggMTVweDsNCgl9DQoJDQoJLmhlYWRlci1zdHlsZS10d28uZml4ZWQtaGVhZGVyIC5oZWFkZXItdXBwZXIgLmlubmVyLWNvbnRhaW5lciAubG9nby1ib3h7DQoJCXBhZGRpbmc6NXB4IDE1cHg7DQoJfQ0KCQ0KfQ0K"}},"time_used":58,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/owl.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.855Z","timestamp":1785135591855,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/owl.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 3653\r\ncache-control: public, max-age=604800\r\nexpires: Thu, 30 Jul 2026 11:10:01 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"4caa-68bf75d4-d7cc60143d51e1c;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 330590\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 2d53bedc4ed19f56a875f4bba8ba5bc7-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.019\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":19626,"size_decoded":4244,"mime_type":"text/css","magic":"ASCII text, with very long lines (14311)","md5":"4502ba85128c7faf0358b2ad0c25fdc6","sha1":"c7524ec9ed88c67f77f955e28cb7f7bc48c1eca0","sha256":"7c87520c8a9c86fa72018e0668b20504173b43b839ea3a83a6c6e50edaf04527","sha512":"270e700378c95fae4aab8549e7d7b4d78b5e40c01e0518d764362d74d9e54caaeada7f8008150c2a451f664b2b3c06f37f10f12c4e69e787115023ec0b5ac346","ssdeep":"384:OisGL+Io1SJ/pKzF7Hb+wMyOcQcQ2Wb2AT9T1pIgVc20EjJDVZM0YZR0XJUhs+JQ:OisGL+Io1SzKwwMyOrt2Wb2AT9T1pIgR","tlshash":"5b9262915193220ca02fd7858bc6aa593b3cc412f47219eeb3a77913cb46dcd246bf5b","first_seen":"2023-04-08T04:13:47Z","last_seen":"2026-07-27T13:36:13.690582Z","times_seen":104,"resource_available":false,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4yLjAKICogQ29weXJpZ2h0IDIwMTMtMjAxNiBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSkKICovCi8qCiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlCiAqLwoub3dsLWNhcm91c2VsIHsgIGRpc3BsYXk6IG5vbmU7ICB3aWR0aDogMTAwJTsgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7ICBwb3NpdGlvbjogcmVsYXRpdmU7ICB6LWluZGV4OiAxOyB9IC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7IH0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIgeyAgICBjb250ZW50OiAiLiI7ICAgIGRpc3BsYXk6IGJsb2NrOyAgICBjbGVhcjogYm90aDsgICAgdmlzaWJpbGl0eTogaGlkZGVuOyAgICBsaW5lLWhlaWdodDogMDsgICAgaGVpZ2h0OiAwOyB9ICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIgeyAgcG9zaXRpb246IHJlbGF0aXZlOyAgICBvdmVyZmxvdzogaGlkZGVuOyAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0geyAgICBwb3NpdGlvbjogcmVsYXRpdmU7ICAgIG1pbi1oZWlnaHQ6IDFweDsgICAgZmxvYXQ6IGxlZnQ7ICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH0gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7ICAgIGRpc3BsYXk6IGJsb2NrOyAgICB3aWR0aDogMTAwJTsgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9ICAub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkLCAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQgeyAgICBkaXNwbGF5OiBub25lOyB9ICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldiwgIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LCAgLm93bC1jYXJvdXNlbCAub3dsLWRvdCB7ICAgIGN1cnNvcjogcG9pbnRlcjsgICAgY3Vyc29yOiBoYW5kOyAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7ICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7ICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH0gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7ICAgIGRpc3BsYXk6IGJsb2NrOyB9ICAub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHsgICAgb3BhY2l0eTogMDsgICAgZGlzcGxheTogYmxvY2s7IH0gIC5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7ICAgIG9wYWNpdHk6IDA7IH0gIC5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVtIHsgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9ICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7ICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7ICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7ICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH0gIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIgeyAgICBjdXJzb3I6IG1vdmU7ICAgIGN1cnNvcjogZ3JhYjsgfSAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHsgICAgZGlyZWN0aW9uOiBydGw7IH0gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0geyAgICBmbG9hdDogcmlnaHQ7IH0ubm8tanMgLm93bC1jYXJvdXNlbCB7ICBkaXNwbGF5OiBibG9jazsgfQoub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7ICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zOyAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7ICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4geyAgei1pbmRleDogMDsgfSAub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHsgIHotaW5kZXg6IDE7IH0ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHsgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7ICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQgeyAgMCUgeyAgICBvcGFjaXR5OiAxOyB9ICAxMDAlIHsgICAgb3BhY2l0eTogMDsgfSB9QGtleWZyYW1lcyBmYWRlT3V0IHsgIDAlIHsgICAgb3BhY2l0eTogMTsgfSAgMTAwJSB7ICAgIG9wYWNpdHk6IDA7IH0gfSAub3dsLWhlaWdodCB7ICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7IH0gLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHsgIG9wYWNpdHk6IDA7ICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkgeyAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7ICBwb3NpdGlvbjogcmVsYXRpdmU7ICBoZWlnaHQ6IDEwMCU7ICBiYWNrZ3JvdW5kOiAjMDAwOyB9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICBoZWlnaHQ6IDgwcHg7ICB3aWR0aDogODBweDsgIGxlZnQ6IDUwJTsgIHRvcDogNTAlOyAgbWFyZ2luLWxlZnQ6IC00MHB4OyAgbWFyZ2luLXRvcDogLTQwcHg7ICBiYWNrZ3JvdW5kOiB1cmwoIm93bC52aWRlby5wbGF5Lmh0bWwiKSBuby1yZXBlYXQ7ICBjdXJzb3I6IHBvaW50ZXI7ICB6LWluZGV4OiAxOyAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwbXMgZWFzZTsgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlOyB9IC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXIgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10biwub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7ICBkaXNwbGF5OiBub25lOyB9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHsgb3BhY2l0eTogMDtoZWlnaHQ6IDEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtwb3NpdGlvbjogcmVsYXRpdmU7ICB6LWluZGV4OiAxOyBoZWlnaHQ6IDEwMCU7d2lkdGg6IDEwMCU7fQogYm9keXt9dWx7cGFkZGluZzowO21hcmdpbjowO2xpc3Qtc3R5bGU6bm9uZX0ubWVnYW1lbnVfbGlzdHM+bGk+YXtwYWRkaW5nOjEwcHg7Y29sb3I6IzAwMDAwMH0ueHMtY29udGFpbmVye3dpZHRoOjEwMCU7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTttYXgtd2lkdGg6MTE0MHB4fS54cy1uYXZiYXJ7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDstbXMtZmxleC13cmFwOndyYXA7ZmxleC13cmFwOndyYXA7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy1tcy1mbGV4LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtcGFjazpqdXN0aWZ5Oy1tcy1mbGV4LXBhY2s6anVzdGlmeTtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0ueHMtbmF2YmFyLWJyYW5ke3RleHQtZGVjb3JhdGlvbjpub25lO2NvbG9yOiMwMDAwMDB9LnhzLW5hdmJhci1icmFuZD5oMnttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsuZWxlbWVudHNraXQtaGVhZGVyIC5lbGVtZW50c2tpdC1tZW51LWNvbnRhaW5lcntwb3NpdGlvbjpzdGF0aWN9LmVsZW1lbnRza2l0LW1lZ2FtZW51LXBhbmVsPmxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjI1JTtmbG9hdDpsZWZ0fX0ubGFuZ3VhZ2UtY29udGVudCBwe2NvbG9yOiNGRkZGRkY7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLWJvdHRvbTo0MHB4O2ZvbnQtc2l6ZTpyZW0oMjBweCl9LmZsYWctbGlzdHN7dGV4dC1hbGlnbjpjZW50ZXJ9LmZsYWctbGlzdHMgbGl7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXJpZ2h0OjI1cHh9LmZsYWctbGlzdHMgbGk6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH0uZmxhZy1saXN0cyBsaSBhe2Rpc3BsYXk6YmxvY2s7Y29sb3I6I0ZGRkZGRjstd2Via2l0LXRyYW5zaXRpb246YWxsIDAuNHMgZWFzZTstby10cmFuc2l0aW9uOmFsbCAwLjRzIGVhc2U7dHJhbnNpdGlvbjphbGwgMC40cyBlYXNlOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59LmZsYWctbGlzdHMgbGkgYTpob3ZlcntvcGFjaXR5Oi43fS5mbGFnLWxpc3RzIGxpIGEgaW1ne3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLXJpZ2h0OjEwcHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tb2RhbC1zZWFyY2hQYW5lbCAueHMtc2VhcmNoLWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlfS5tb2RhbC1zZWFyY2hQYW5lbCAueHMtc2VhcmNoLWdyb3VwIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKXtoZWlnaHQ6NzBweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTBweDtib3JkZXI6MnB4IHNvbGlkICNGRkZGRkY7Y29sb3I6I0ZGRkZGRjtwYWRkaW5nOjAgMzBweDt3aWR0aDoxMDAlfS5tb2RhbC1zZWFyY2hQYW5lbCAueHMtc2VhcmNoLWdyb3VwIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojRkZGRkZGfS5tb2RhbC1zZWFyY2hQYW5lbCAueHMtc2VhcmNoLWdyb3VwIGlucHV0Om5vdChbdHlwZT1zdWJtaXRdKTo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojRkZGRkZGfS5tb2RhbC1zZWFyY2hQYW5lbAogLnhzLXNlYXJjaC1ncm91cCBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSk6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNGRkZGRkZ9Lm1vZGFsLXNlYXJjaFBhbmVsIC54cy1zZWFyY2gtZ3JvdXAgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pOi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6I0ZGRkZGRn0ubW9kYWwtc2VhcmNoUGFuZWwgLnhzLXNlYXJjaC1ncm91cCAuc2VhcmNoLWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowcHg7cGFkZGluZzowO2NvbG9yOiNGRkZGRkY7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDtjdXJzb3I6cG9pbnRlcjt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2hlaWdodDoxMDAlO3dpZHRoOjcwcHg7Ym9yZGVyLXJhZGl1czowIDUwcHggNTBweCAwfS5tb2RhbC1zZWFyY2hQYW5lbCAueHMtc2VhcmNoLXBhbmVse21heC13aWR0aDo4MDBweDttYXJnaW46MS43NXJlbSBhdXRvfS5tZnAtYmcueHMtcHJvbW8tcG9wdXB7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuODcpO3BhZGRpbmctYm90dG9tOjEwMCU7Ym9yZGVyLXJhZGl1czoxMDAlO292ZXJmbG93OmhpZGRlbjstd2Via2l0LWFuaW1hdGlvbjptZW51LWFuaW1hdGlvbiAuOHMgZWFzZS1vdXQgZm9yd2FyZHM7YW5pbWF0aW9uOm1lbnUtYW5pbWF0aW9uIC44cyBlYXNlLW91dCBmb3J3YXJkc31ALXdlYmtpdC1rZXlmcmFtZXMgbWVudS1hbmltYXRpb257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuMDQpIHRyYW5zbGF0ZVkoMzAwJSk7dHJhbnNmb3JtOnNjYWxlKDAuMDQpIHRyYW5zbGF0ZVkoMzAwJSl9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuMDQpIHRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnNjYWxlKDAuMDQpIHRyYW5zbGF0ZVkoMCk7LXdlYmtpdC10cmFuc2l0aW9uOmVhc2Utb3V0Oy1vLXRyYW5zaXRpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbjplYXNlLW91dH00MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4wNCkgdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06c2NhbGUoMC4wNCkgdHJhbnNsYXRlWSgwKX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuMDIpIHRyYW5zbGF0ZVkoMHB4KTt0cmFuc2Zvcm06c2NhbGUoMC4wMikgdHJhbnNsYXRlWSgwcHgpfTYxJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4wNCkgdHJhbnNsYXRlWSgwcHgpO3RyYW5zZm9ybTpzY2FsZSgwLjA0KSB0cmFuc2xhdGVZKDBweCl9OTkuOSV7b3BhY2l0eToxO2hlaWdodDowO3BhZGRpbmctYm90dG9tOjEwMCU7Ym9yZGVyLXJhZGl1czoxMDAlfXRve29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgyKSB0cmFuc2xhdGVZKDBweCk7dHJhbnNmb3JtOnNjYWxlKDIpIHRyYW5zbGF0ZVkoMHB4KTtoZWlnaHQ6MTAwJTtwYWRkaW5nLWJvdHRvbTowO2JvcmRlci1yYWRpdXM6MH19QGtleWZyYW1lcyBtZW51LWFuaW1hdGlvbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4wNCkgdHJhbnNsYXRlWSgzMDAlKTt0cmFuc2Zvcm06c2NhbGUoMC4wNCkgdHJhbnNsYXRlWSgzMDAlKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4wNCkgdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06c2NhbGUoMC4wNCkgdHJhbnNsYXRlWSgwKTstd2Via2l0LXRyYW5zaXRpb246ZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uOmVhc2Utb3V0fTQwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjA0KSB0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTpzY2FsZSgwLjA0KSB0cmFuc2xhdGVZKDApfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC4wMikgdHJhbnNsYXRlWSgwcHgpO3RyYW5zZm9ybTpzY2FsZSgwLjAyKSB0cmFuc2xhdGVZKDBweCl9NjEle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjA0KSB0cmFuc2xhdGVZKDBweCk7dHJhbnNmb3JtOnNjYWxlKDAuMDQpIHRyYW5zbGF0ZVkoMHB4KX05OS45JXtvcGFjaXR5OjE7aGVpZ2h0OjA7cGFkZGluZy1ib3R0b206MTAwJTtib3JkZXItcmFkaXVzOjEwMCV9dG97b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDIpIHRyYW5zbGF0ZVkoMHB4KTt0cmFuc2Zvcm06c2NhbGUoMikgdHJhbnNsYXRlWSgwcHgpO2hlaWdodDoxMDAlO3BhZGRpbmctYm90dG9tOjA7Ym9yZGVyLXJhZGl1czowfX0ueHMtcHJvbW8tcG9wdXAgLm1vZGFsLWNvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtwYWRkaW5nOjBweDtib3JkZXI6MHB4fS54cy1wcm9tby1wb3B1cCAubWZwLWNsb3Nle2NvbG9yOiNGRkZGRkY7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgMXMgZWFzZSAuOHM7LW8tdHJhbnNpdGlvbjphbGwgMXMgZWFzZSAuOHM7dHJhbnNpdGlvbjphbGwgMXMgZWFzZSAuOHM7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MDBweCl9LnhzLXByb21vLXBvcHVwLm1mcC1yZWFkeSAubWZwLWNsb3Nle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ueHMtcHJvbW8tcG9wdXAubXktbWZwLXNsaWRlLWJvdHRvbSAuem9vbS1hbmltLWRpYWxvZ3tvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAxcyBlYXNlIC44czstby10cmFuc2l0aW9uOmFsbCAxcyBlYXNlIC44czt0cmFuc2l0aW9uOmFsbCAxcyBlYXNlIC44czstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwMHB4KX0ueHMtcHJvbW8tcG9wdXAubXktbWZwLXNsaWRlLWJvdHRvbS5tZnAtcmVhZHkgLnpvb20tYW5pbS1kaWFsb2d7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5taW5pX2NhcnRfaXRlbXttYXJnaW4tYm90dG9tOjIwcHg7cGFkZGluZy1ib3R0b206MjBweH0ueHMtZW1wdHktY29udGVudHtwYWRkaW5nOjEyMHB4IDMwcHggMzBweH0ueHMtZW1wdHktY29udGVudCAud2lkZ2V0LXRpdGxle2ZvbnQtc2l6ZTpyZW0oMjJweCl9LnhzLWVtcHR5LWNvbnRlbnQgLnhzLXRpdGxle21hcmdpbi1ib3R0b206MjBweDtmb250LXNpemU6cmVtKDE4cHgpfS54cy1lbXB0eS1jb250ZW50IC53b29jb21tZXJjZS1taW5pLWNhcnRfX2VtcHR5LW1lc3NhZ2V7Zm9udC1zaXplOnJlbSgyMHB4KX0ueHMtZW1wdHktY29udGVudCAuZW1wdHktY2FydC1pY29ue2ZvbnQtc2l6ZTpyZW0oNTBweCl9LnNpZGViYXItdGV4dHdpZGdldCAuc2lkZWJhci1sb2dvLXdyYXBlcnttYXJnaW4tYm90dG9tOjMzcHh9LnNpZGViYXItdGV4dHdpZGdldD5we2ZvbnQtc2l6ZTpyZW0oMTVweCk7bGluZS1oZWlnaHQ6MS41O21hcmdpbi1ib3R0b206NDBweH0uc2lkZWJhci10ZXh0d2lkZ2V0IC5zb2NpYWwtbGlzdHttYXJnaW4tYm90dG9tOjMwcHh9LnNpZGVhYnItbGlzdC13aWRnZXR7bWFyZ2luLWJvdHRvbTo0MHB4fS5zaWRlYWJyLWxpc3Qtd2lkZ2V0IGxpe21hcmdpbi1ib3R0b206MjBweH0uc2lkZWFici1saXN0LXdpZGdldCBsaTpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MHB4fS5zaWRlYWJyLWxpc3Qtd2lkZ2V0IGltZ3ttYXJnaW4tcmlnaHQ6MTVweDttYXJnaW4tdG9wOjNweH0uc2lkZWFici1saXN0LXdpZGdldCBhLC5zaWRlYWJyLWxpc3Qtd2lkZ2V0IHB7bWFyZ2luLWJvdHRvbToycHg7Y29sb3I6IzAwMDAwMDttYXJnaW4tYm90dG9tOjhweDtkaXNwbGF5OmJsb2NrfS5zaWRlYWJyLWxpc3Qtd2lkZ2V0IHNwYW57ZGlzcGxheTpibG9jaztmb250LXNpemU6cmVtKDE0cHgpO2NvbG9yOiMxNzY4ZGR9LnNpZGVhYnItbGlzdC13aWRnZXQgLm1lZGlhLWJvZHl7bGluZS1oZWlnaHQ6MX0uc3Vic2NyaWJlLWZyb217cG9zaXRpb246cmVsYXRpdmU7bWFyZ2luLWJvdHRvbTo0MHB4fS5zdWJzY3JpYmUtZnJvbSBwe2ZvbnQtc2l6ZTpyZW0oMThweCk7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbi1ib3R0b206MTVweDtsaW5lLWhlaWdodDoxO2NvbG9yOiMxNzY4ZGR9LnN1YnNjcmliZS1mcm9tIGxhYmVse3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTotMjRweDtsZWZ0OjBweDttYXJnaW4tYm90dG9tOjA7bGluZS1oZWlnaHQ6MX0uc3Vic2NyaWJlLWZyb20gLmZvcm0tY29udHJvbHtib3JkZXI6MXB4IHNvbGlkICNmNWY1ZjU7aGVpZ2h0OjUwcHg7cGFkZGluZy1sZWZ0OjI1cHh9LnN1YnNjcmliZS1mcm9tIC5zdWItYnRue2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyOjBweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3BhZGRpbmctcmlnaHQ6MjVweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojMTc2OGRkO2hlaWdodDoxMDAlfS5zdWJzY3JpYmUtZnJvbSAuc3ViLWJ0bjpmb2N1c3tvdXRsaW5lOm5vbmV9LnN1YnNjcmliZS1mcm9tIC5mb3JtLWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjstd2Via2l0LWJveC1zaGFkb3c6MHB4IDEwcHggMzBweCAwcHggcmdiYSgyMywgMTA0LCAyMjEsIDAuMik7Ym94LXNoYWRvdzowcHggMTBweCAzMHB4IDBweCByZ2JhKDIzLCAxMDQsIDIyMSwgMC4yKTtib3JkZXItcmFkaXVzOjI1cHg7bWFyZ2luLWJvdHRvbTowcHh9LnhzLXNpZGViYXItZ3JvdXAgLnhzLW92ZXJsYXl7bGVmdDoxMDAlO3RvcDowO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6MTAxO2hlaWdodDoxMDAlO29wYWNpdHk6MDt3aWR0aDoxMDAlO3Zpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzIGVhc2UtaW4gLjhzOy1vLXRyYW5zaXRpb246YWxsIC40cyBlYXNlLWluIC44czt0cmFuc2l0aW9uOmFsbCAuNHMgZWFzZS1pbiAuOHM7Y3Vyc29yOnVybCguLi9pbWFnZXMvY3Jvc3Mtb3V0LnBuZyksIHBvaW50ZXJ9LnhzLXNpZGViYXItZ3JvdXAgLndpZGdldC1oZWFkaW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7cGFkZGluZzoyNXB4fS54cy1zaWRlYmFyLXdpZGdldHtwb3NpdGlvbjpmaXhlZDtyaWdodDotMTAwJTt0b3A6MDtib3R0b206MDt3aWR0aDoxMDAlO21heC13aWR0aDozNjBweDt6LWluZGV4Ojk5OTk5OTtvdmVyZmxvdzpoaWRkZW47b3ZlcmZsb3cteTphdXRvOy13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoO2JhY2tncm91bmQtY29sb3I6IzI3MjcyNzstd2Via2l0LXRyYW5zaXRpb246YWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuOSwgMC4wMywgMCwgMC45NikgMC42czstby10cmFuc2l0aW9uOmFsbCAwLjVzIGN1YmljLWJlemllcigwLjksIDAuMDMsIDAsIDAuOTYpIDAuNnM7dHJhbnNpdGlvbjphbGwgMC41cyBjdWJpYy1iZXppZXIoMC45LCAwLjAzLCAwLCAwLjk2KSAwLjZzO3Zpc2liaWxpdHk6aGlkZGVuO29wYWNpdHk6MH0ueHMtc2lkZWJhci1ncm91cC5pc0FjdGl2ZSAueHMtb3ZlcmxheXtvcGFjaXR5Oi45O3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zaXRpb246YWxsIC44cyBlYXNlLW91dCAwczstby10cmFuc2l0aW9uOmFsbCAuOHMgZWFzZS1vdXQgMHM7dHJhbnNpdGlvbjphbGwgLjhzIGVhc2Utb3V0IDBzO2xlZnQ6MH0ueHMtc2lkZWJhci1ncm91cC5pc0FjdGl2ZSAueHMtc2lkZWJhci13aWRnZXR7b3BhY2l0eToxO3Zpc2liaWxpdHk6dmlzaWJsZTtyaWdodDowOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC43cyBjdWJpYy1iZXppZXIoMC45LCAwLjAzLCAwLCAwLjk2KSAwLjRzOy1vLXRyYW5zaXRpb246YWxsIDAuN3MgY3ViaWMtYmV6aWVyKDAuOSwgMC4wMywgMCwgMC45NikgMC40czt0cmFuc2l0aW9uOmFsbCAwLjdzIGN1YmljLWJlemllcigwLjksIDAuMDMsIDAsIDAuOTYpIDAuNHN9LnNpZGViYXItdGV4dHdpZGdldHtwYWRkaW5nOjQwcHg7fS5jbG9zZS1zaWRlLXdpZGdldHtjb2xvcjojMTc2OGRkO2ZvbnQtc2l6ZTpyZW0oMTVweCk7ZGlzcGxheTpibG9ja30uc2lkZWJhci13aWRnZXQtY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDoxNTBweDtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAuM3MgZWFzZS1pbiAuM3M7LW8tdHJhbnNpdGlvbjphbGwgLjNzIGVhc2UtaW4gLjNzO3RyYW5zaXRpb246YWxsIC4zcyBlYXNlLWluIC4zczstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS54cy1zaWRlYmFyLWdyb3VwLmlzQWN0aXZlIC5zaWRlYmFyLXdpZGdldC1jb250YWluZXJ7dG9wOjBweDtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgMXMgZWFzZS1vdXQgMS4yczstby10cmFuc2l0aW9uOmFsbCAxcyBlYXNlLW91dCAxLjJzO3RyYW5zaXRpb246YWxsIDFzIGVhc2Utb3V0IDEuMnM7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ueHMtb3ZlcmxheXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtvcGFjaXR5Oi41O3otaW5kZXg6MH0ueHMtYmctYmxhY2t7YmFja2dyb3VuZC1jb2xvcjojMDAwMDAwfS54cy1tZW51LXRvb2xzPmxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDoxNXB4fS54cy1tZW51LXRvb2xzPmxpOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LnhzLW1lbnUtdG9vbHM+bGk+YXtjb2xvcjojMDAwMDAwO3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXYtYWxpZ25tZW50LWR5bmFtaWMsLm5hdi1hbGlnbm1lbnQtZmxleC1zdGFydHstd2Via2l0LWJveC1wYWNrOnN0YXJ0Oy1tcy1mbGV4LXBhY2s6c3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LmVsZW1lbnRza2l0LW1lbnUtY29udGFpbmVye3otaW5kZXg6MTAwMDB9LmVsZW1lbnRza2l0LW5hdmJhci1uYXZ7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWJvdHRvbTowO2xpc3Qtc3R5bGU6bm9uZX0uZWxlbWVudHNraXQtbmF2YmFyLW5hdiBsaXtwb3NpdGlvbjpyZWxhdGl2ZTsgcGFkZGluZzowcHggMTVweDt9LmVsZW1lbnRza2l0LW5hdmJhci1uYXYgbGk6bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmU7fS5lbGVtZW50c2tpdC1uYXZiYXItbmF2IGxpIGF7aGVpZ2h0OjEwMCU7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtZGVjb3JhdGlvbjpub25lfS5lbGVtZW50c2tpdC1uYXZiYXItbmF2IGxpIGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmVsZW1lbnRza2l0LW5hdmJhci1uYXYgbGkuZWxlbWVudHNraXQtbWVnYW1lbnUtaGFze3Bvc2l0aW9uOnN0YXRpY30uZWxlbWVudHNraXQtbmF2YmFyLW5hdj5saT5hey13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjRzIGVhc2U7LW8tdHJhbnNpdGlvbjphbGwgLjRzIGVhc2U7dHJhbnNpdGlvbjphbGwgLjRzIGVhc2U7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXdlaWdodDo1MDA7bGV0dGVyLXNwYWNpbmc6bm9ybWFsfS5lbGVtZW50c2tpdC1kcm9wZG93bntwYWRkaW5nLWxlZnQ6MDtsaXN0LXN0eWxlOm5vbmU7b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVuO30uZWxlbWVudHNraXQtZHJvcGRvd24+bGk+LmVsZW1lbnRza2l0LWRyb3Bkb3due2xlZnQ6MTAwJTt0b3A6MH0uZWxlbWVudHNraXQtZHJvcGRvd24+bGk+LmVsZW1lbnRza2l0LWRyb3Bkb3duLm9wZW4tZnJvbWxlZnR7bGVmdDphdXRvO3JpZ2h0OjEwMCV9LmVsZW1lbnRza2l0LXN1Ym1lbnUtcGFuZWw+bGk6aG92ZXI+YSwuZWxlbWVudHNraXQtc3VibWVudS1wYW5lbD5saT5hOmhvdmVye2NvbG9yOiMwZDNhNGY7YmFja2dyb3VuZDpyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7YmFja2dyb3VuZDotd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpLCB0byhyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDEwMCUpO2JhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDEwMCUpO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAxMDAlKX0uZWxlbWVudHNraXQtbWVnYW1lbnUtcGFuZWx7d2lkdGg6MTAwJTt9LmVsZW1lbnRza2l0LW92ZXJsYXl7ZGlzcGxheTpub25lfS5lbGVtZW50c2tpdC1uYXYtaWRlbnRpdHktcGFuZWx7ZGlzcGxheTpub25lfS5lbGVtZW50c2tpdC1tZW51LWhhbWJ1cmdlcntib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtmbG9hdDpyaWdodH0uZWxlbWVudHNraXQtbWVudS1oYW1idXJnZXIgLmVsZW1lbnRza2l0LW1lbnUtaGFtYnVyZ2VyLWljb257YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuNSl9LmVsZW1lbnRza2l0LW1lbnUtY2xvc2UsLmVsZW1lbnRza2l0LW1lbnUtaGFtYnVyZ2Vye2Rpc3BsYXk6bm9uZTtwYWRkaW5nOjhweDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MC4yNXJlbTtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjEwO2N1cnNvcjpwb2ludGVyO3dpZHRoOjQ1cHh9LmVsZW1lbnRza2l0LW1lbnUtY2xvc2UgLmVsZW1lbnRza2l0LW1lbnUtaGFtYnVyZ2VyLWljb24sLmVsZW1lbnRza2l0LW1lbnUtaGFtYnVyZ2VyIC5lbGVtZW50c2tpdC1tZW51LWhhbWJ1cmdlci1pY29ue2hlaWdodDoxcHg7d2lkdGg6MTAwJTtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206NHB4fS5lbGVtZW50c2tpdC1tZW51LWNsb3NlIC5lbGVtZW50c2tpdC1tZW51LWhhbWJ1cmdlci1pY29uOmxhc3QtY2hpbGQsLmVsZW1lbnRza2l0LW1lbnUtaGFtYnVyZ2VyIC5lbGVtZW50c2tpdC1tZW51LWhhbWJ1cmdlci1pY29uOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS5lbGVtZW50c2tpdC1tZW51LWNsb3Nle2JvcmRlcjoxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjUpO2NvbG9yOnJnYmEoNTEsIDUxLCA1MSwgMC41KTtmbG9hdDpyaWdodDttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWxlZnQ6MjBweDttYXJnaW4tcmlnaHQ6MjBweDttYXJnaW4tYm90dG9tOjIwcHh9LmVsZW1lbnRza2l0LWRyb3Bkb3duLWhhczpob3Zlcj5hOmFmdGVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjMWU3M2JlICMxZTczYmUgdHJhbnNwYXJlbnR9LmVsZW1lbnRza2l0LWRyb3Bkb3duLWhhcz5he3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstbXMtZmxleC1wYWNrOmp1c3RpZnk7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmVsZW1lbnRza2l0LWRyb3Bkb3duLWhhcz5hOmhvdmVyOmFmdGVye2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCAjMWU3M2JlICMxZTczYmUgdHJhbnNwYXJlbnR9LmVsZW1lbnRza2l0LWRyb3Bkb3duLWhhcz5hOmFmdGVye30uZWxlbWVudHNraXQtc3VibWVudS1wYW5lbCAuZWxlbWVudHNraXQtZHJvcGRvd24taGFzOmhvdmVyPmE6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMwZDNhNGYgIzBkM2E0ZiB0cmFuc3BhcmVudH0uZWxlbWVudHNraXQtc3VibWVudS1wYW5lbCAuZWxlbWVudHNraXQtZHJvcGRvd24taGFzPmE6aG92ZXI6YWZ0ZXJ7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICMwZDNhNGYgIzBkM2E0ZiB0cmFuc3BhcmVudH1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCl7LmVsZW1lbnRza2l0LWRyb3Bkb3duIC5lbGVtZW50c2tpdC1kcm9wZG93bi1oYXM+YTphZnRlcnt9LmVsZW1lbnRza2l0LW1lbnUtY29udGFpbmVye2JhY2tncm91bmQ6cmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtiYWNrZ3JvdW5kOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgyNTUsIDI1NSwgMjU1LCAwKSksIHRvKHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpKTtiYWNrZ3JvdW5kOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtiYWNrZ3JvdW5kOi1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MHB4O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5lbGVtZW50c2tpdC1kcm9wZG93bnttaW4td2lkdGg6MjUwcHh9LmVsZW1lbnRza2l0LW5hdmJhci1uYXZ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDt9LmVsZW1lbnRza2l0LW5hdmJhci1uYXY+bGk+YXt9LmVsZW1lbnRza2l0LWRyb3Bkb3duey13ZWJraXQtYm94LXNoYWRvdzowcHggMTBweCAzMHB4IDBweCByZ2JhKDQ1LCA0NSwgNDUsIDAuMik7Ym94LXNoYWRvdzowcHggMTBweCAzMHB4IDBweCByZ2JhKDQ1LCA0NSwgNDUsIDAuMik7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowcHg7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCk7cG9pbnRlci1ldmVudHM6bm9uZX0uZWxlbWVudHNraXQtZHJvcGRvd24taGFzOmhvdmVyPi5lbGVtZW50c2tpdC1kcm9wZG93bntvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwcHgpO3BvaW50ZXItZXZlbnRzOmF1dG99fUBtZWRpYSAobWF4LXdpZHRoOjk5MXB4KXsuZWxlbWVudHNraXQtbWVudS1jb250YWluZXJ7YmFja2dyb3VuZDojZjdmN2Y3O2JhY2tncm91bmQ6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgYm90dG9tLCBsZWZ0IHRvcCwgZnJvbSgjZjdmN2Y3KSwgdG8oI2Y3ZjdmNykpO2JhY2tncm91bmQ6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoYm90dG9tLCAjZjdmN2Y3IDAlLCAjZjdmN2Y3IDEwMCUpO2JhY2tncm91bmQ6LW8tbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgI2Y3ZjdmNyAwJSwgI2Y3ZjdmNyAxMDAlKTtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgwZGVnLCAjZjdmN2Y3IDAlLCAjZjdmN2Y3IDEwMCUpO21heC13aWR0aDozNTBweDt3aWR0aDoxMDAlO3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6LTQ1MHB4O2hlaWdodDoxMDAlOy13ZWJraXQtYm94LXNoYWRvdzowcHggMTBweCAzMHB4IDBweCByZ2JhKDI1NSwgMTY1LCAwLCAwKTtib3gtc2hhZG93OjBweCAxMHB4IDMwcHggMHB4IHJnYmEoMjU1LCAxNjUsIDAsIDApO292ZXJmbG93LXk6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLXRvcDoxMHB4O3BhZGRpbmctbGVmdDowcHg7cGFkZGluZy1yaWdodDowcHg7cGFkZGluZy1ib3R0b206MTBweDstd2Via2l0LXRyYW5zaXRpb246bGVmdCA2MDBtcyBjdWJpYy1iZXppZXIoMC42LCAwLjEsIDAuNjgsIDAuNTMpIDBtczstby10cmFuc2l0aW9uOmxlZnQgNjAwbXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4xLCAwLjY4LCAwLjUzKSAwbXM7dHJhbnNpdGlvbjpsZWZ0IDYwMG1zIGN1YmljLWJlemllcigwLjYsIDAuMSwgMC42OCwgMC41MykgMG1zfS5lbGVtZW50c2tpdC1tZW51LWNvbnRhaW5lci5hY3RpdmV7bGVmdDowfS5uby1zY3JvbGxlcntvdmVyZmxvdzpoaWRkZW59LmVsZW1lbnRza2l0LW1lbnUtb3ZlcmxheXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6NTt0b3A6MDtsZWZ0Oi0xMTAlO2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLCA1MSwgNTEsIDAuNSk7LXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjRzIGVhc2U7LW8tdHJhbnNpdGlvbjphbGwgMC40cyBlYXNlO3RyYW5zaXRpb246YWxsIDAuNHMgZWFzZTtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgNjAwbXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4xLCAwLjY4LCAwLjUzKSA0MDBtczstby10cmFuc2l0aW9uOmFsbCA2MDBtcyBjdWJpYy1iZXppZXIoMC42LCAwLjEsIDAuNjgsIDAuNTMpIDQwMG1zO3RyYW5zaXRpb246YWxsIDYwMG1zIGN1YmljLWJlemllcigwLjYsIDAuMSwgMC42OCwgMC41MykgNDAwbXN9LmVsZW1lbnRza2l0LW1lbnUtb3ZlcmxheS5hY3RpdmV7bGVmdDowJTstd2Via2l0LXRyYW5zaXRpb246YWxsIDYwMG1zIGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjI0LCAxKSAwbXM7LW8tdHJhbnNpdGlvbjphbGwgNjAwbXMgY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMjQsIDEpIDBtczt0cmFuc2l0aW9uOmFsbCA2MDBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4yNCwgMSkgMG1zfS5lbGVtZW50c2tpdC1tZW51LWNsb3NlLC5lbGVtZW50c2tpdC1tZW51LWhhbWJ1cmdlcntkaXNwbGF5OmJsb2NrfS5lbGVtZW50c2tpdC1uYXYtaWRlbnRpdHktcGFuZWx7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ei1pbmRleDo1O3dpZHRoOjEwMCV9LmVsZW1lbnRza2l0LW5hdi1pZGVudGl0eS1wYW5lbCAuZWxlbWVudHNraXQtc2l0ZS10aXRsZXtmbG9hdDpsZWZ0fS5lbGVtZW50c2tpdC1uYXYtaWRlbnRpdHktcGFuZWwgLmVsZW1lbnRza2l0LW1lbnUtY2xvc2V7ZmxvYXQ6cmlnaHR9LmVsZW1lbnRza2l0LW5hdmJhci1uYXZ7cGFkZGluZy10b3A6MTAwcHh9LmVsZW1lbnRza2l0LW5hdmJhci1uYXY+bGk+YXtjb2xvcjojMDAwMDAwO2ZvbnQtc2l6ZToxMnB4O3BhZGRpbmctdG9wOjVweDtwYWRkaW5nLWxlZnQ6MTBweDtwYWRkaW5nLXJpZ2h0OjVweDtwYWRkaW5nLWJvdHRvbTo1cHh9LmVsZW1lbnRza2l0LW5hdmJhci1uYXY+bGk+YTpob3Zlcntjb2xvcjojMGQzYTRmfS5lbGVtZW50c2tpdC1uYXZiYXItbmF2PmxpOmhvdmVyPmF7Y29sb3I6IzBkM2E0Zn0uZWxlbWVudHNraXQtc3VibWVudS1wYW5lbD5saT5he2NvbG9yOiMwMDAwMDA7Zm9udC1zaXplOjEycHg7cGFkZGluZy10b3A6N3B4O3BhZGRpbmctbGVmdDo3cHg7cGFkZGluZy1yaWdodDo3cHg7cGFkZGluZy1ib3R0b206N3B4fS5lbGVtZW50c2tpdC1kcm9wZG93bnttYXgtaGVpZ2h0OjA7b3ZlcmZsb3c6aGlkZGVuO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyOjBweDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOm1heC1oZWlnaHQgMnMgY3ViaWMtYmV6aWVyKDAsIDEsIDAsIDEpOy1vLXRyYW5zaXRpb246bWF4LWhlaWdodCAycyBjdWJpYy1iZXppZXIoMCwgMSwgMCwgMSk7dHJhbnNpdGlvbjptYXgtaGVpZ2h0IDJzIGN1YmljLWJlemllcigwLCAxLCAwLCAxKX0uZWxlbWVudHNraXQtZHJvcGRvd24uZWxlbWVudHNraXQtZHJvcGRvd24tb3BlbnttYXgtaGVpZ2h0OjI1MDBweDtvcGFjaXR5OjE7dmlzaWJpbGl0eTp2aXNpYmxlOy13ZWJraXQtdHJhbnNpdGlvbjptYXgtaGVpZ2h0IDVzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246bWF4LWhlaWdodCA1cyBlYXNlLW91dDt0cmFuc2l0aW9uOm1heC1oZWlnaHQgNXMgZWFzZS1vdXR9LmVsZW1lbnRza2l0LW5hdmJhci1uYXY+LmVsZW1lbnRza2l0LWRyb3Bkb3duLWhhcz4uZWxlbWVudHNraXQtZHJvcGRvd24gbGkgYXtwYWRkaW5nLWxlZnQ6MTVweH19"}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":55,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/jquery.bootstrap-touchspin.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.862Z","timestamp":1785135591862,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/jquery.bootstrap-touchspin.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 256\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"304-68bf75d4-881c0a8adb3886ae;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 42763c729cec21cea341356b9af8404a-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.014\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":772,"size_decoded":846,"mime_type":"text/css","magic":"ASCII text","md5":"c82a1dde47ad0956ce4a8a71761cc87e","sha1":"2b59a1bc66421246f642c1b866a4fea07210075b","sha256":"ea40d450aba1b968363c725912b035222155046a64acc60f14829a3e53e2006c","sha512":"f86dd414f7e06eb2961a1eb7d2759e38a807d9ff81ec1f2abd3e3c6dae0edf37340ed0eed499e305b9b0b5aeec959af389ded5739a0dc6c56eea896410d88567","ssdeep":"","tlshash":"8301499b3b93a960ec4ae174255443c7796a1292beb7c10403ea31246f899ff0b33a05","first_seen":"2023-04-05T08:09:08Z","last_seen":"2026-08-18T03:25:22.43143Z","times_seen":1996,"resource_available":false,"data":"Ci5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHdpZHRoOiAxJTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIGRpc3BsYXk6IHRhYmxlLWNlbGw7Cn0KCi5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgPiAuYnRuIHsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbm9uZTsKICB3aWR0aDogMTAwJTsKICBtYXgtd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogOHB4IDEwcHg7CiAgbWFyZ2luLWxlZnQ6IC0xcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouYm9vdHN0cmFwLXRvdWNoc3BpbiAuaW5wdXQtZ3JvdXAtYnRuLXZlcnRpY2FsIC5ib290c3RyYXAtdG91Y2hzcGluLXVwIHsKICBib3JkZXItcmFkaXVzOiAwOwogIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7Cn0KCi5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgLmJvb3RzdHJhcC10b3VjaHNwaW4tZG93biB7CiAgbWFyZ2luLXRvcDogLTJweDsKICBib3JkZXItcmFkaXVzOiAwOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7Cn0KCi5ib290c3RyYXAtdG91Y2hzcGluIC5pbnB1dC1ncm91cC1idG4tdmVydGljYWwgaSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogM3B4OwogIGxlZnQ6IDVweDsKICBmb250LXNpemU6IDlweDsKICBmb250LXdlaWdodDogbm9ybWFsOwp9Cg=="}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":49,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/uploads/gecio.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.115Z","timestamp":1785135592115,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/uploads/gecio.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 81142a69bce79001d43e606065378d2e-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":4511,"size_decoded":2173,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":31,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":31,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:59.755Z","timestamp":1785135599755,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1087630013.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 03 Jun 2026 14:33:02 GMT","end":"Tue, 01 Sep 2026 14:33:01 GMT"},"fingerprint":{"sha1":"CE:B9:32:81:E9:D2:46:C8:31:53:55:D3:41:19:F7:94:91:30:D1:93","sha256":"54:C9:41:2F:97:E8:14:28:D7:2C:4F:FA:E0:C3:3A:BC:85:F8:14:22:1C:98:23:82:53:4D:5D:58:C9:0B:C9:68"}}},"request":{"raw":"GET /api/v1/widget/translations/lang/en/defaults HTTP/1.1\r\nHost: translations.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://goldenprofitstock.com/\r\nOrigin: https://goldenprofitstock.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:59 GMT\r\ncontent-type: application/json; charset=utf-8\r\naccess-control-allow-origin: *\r\ncache-control: max-age=600\r\nx-response-time: 1ms\r\nx-version: 0dd3c95f86cdb6b59a0dad25ffcd406aa7c7723b\r\nx-77-nzt: kwXOi4K3RUf8ickQLOXIuA2KJkWJlNsNT4hcxS8TKzQhGyyqjvBeyMNBDLrI4sQgk0wtXJE\r\nx-77-nzt-ray: e2f754206d142288ef01676a79c17330\r\nx-77-cache: HIT\r\nx-77-age: 448\r\nvary: Origin, Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":7216,"size_decoded":3346,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"05d7604a60456ab25eb809557b353edc","sha1":"e32135b721636e7994e42748da35341e03dfd123","sha256":"5892aca834fe3f9f8fb66f68c8a3eb2295708a3b428cf355d7f3e3c1a0b7b62e","sha512":"db4124c008e22597192e1f07b44575ff191a03322f763bffb1efd129152e0f6f1546d98f5016967b32cc71a8252fefc0546aef0be258e8343fbba4ae2afe00da","ssdeep":"192:Ccdft/hc4l6WKHSY8pZcqq+jT0UHAfoW/Ymz8:CgF/hcbWbYKZcF+jhqoWQmw","tlshash":"48e1b54f9a144ea987c6438276cfb84675bc80734250993afd8cc8b842697cda3e3b94","first_seen":"2026-04-01T12:23:41.393805Z","last_seen":"2026-07-27T13:21:25.866734Z","times_seen":5254,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":64,"timings":{"blocked":-1,"dns":33,"connect":8,"send":0,"wait":8,"receive":0,"ssl":15},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/uploads/binance.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.813Z","timestamp":1785135591813,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/uploads/binance.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 9687308a5bfe0b5bf75b27163531d0da-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":4511,"size_decoded":2165,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":112,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":65,"receive":47,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/translate.yandex.net/website-widget/v1/widget80d6.html","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.040Z","timestamp":1785135592040,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /translate.yandex.net/website-widget/v1/widget80d6.html HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\ncontent-security-policy: upgrade-insecure-requests\r\nplatform: hostinger\r\npanel: hpanel\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 6e31a62d6f27def03f32efa429edc748-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":4511,"size_decoded":2059,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/author-6.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.812Z","timestamp":1785135591812,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/author-6.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 3574\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: f79f505e27050a000c1c4a26e8209183-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.021\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":3574,"size_decoded":3916,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"abda45e76278b18c9abe595039b5e22c","sha1":"e36ab2e67bb62117a9ff4f9a297745028d1ca10a","sha256":"a50d6552b48d20c0f71a0cf6665332057066fd8fc5456a05e3d6de247ae12941","sha512":"78266281d81f4e8745950d904e13df48661eb71c6b85d777fc1d01da23f1ac4208fab038b3bd51c1f73bf54637d4b6c51c7624a38ef1d130211ccaa025c6e4f2","ssdeep":"","tlshash":"78716d30fd248d6bc0d00e7472d6630dfe866e69c30e866658a294147a430e9b2de614","first_seen":"2026-07-27T05:44:01.830823Z","last_seen":"2026-07-27T11:04:25.214782Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":106,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":66,"receive":40,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/uploads/gecio.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.813Z","timestamp":1785135591813,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/uploads/gecio.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: b659615fd94249cb377fc8f64ad395f1-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":4511,"size_decoded":2165,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":113,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":66,"receive":47,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/uploads/Crypto.com-logo.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.814Z","timestamp":1785135591814,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/uploads/Crypto.com-logo.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 82bcdd7f283b3a44173b6125832ab8bd-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]}],"data":{"size":4511,"size_decoded":2165,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":111,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":64,"receive":47,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/jquery-ui.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.856Z","timestamp":1785135591856,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/jquery-ui.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 7799\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"91ac-68bf75d4-3d9fdb880365e0bf;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 2b6be4fa68bfe38ced4301a4e6bfdc99-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":37292,"size_decoded":8391,"mime_type":"text/css","magic":"ASCII text, with very long lines (2363), with CRLF line terminators","md5":"1490821f948b63774f6585c96f098c78","sha1":"df3d8641ae9c934d4939bed4b8223ecde5b5d7ed","sha256":"c3b849ad6623aff6d7478892aa60d2cb2391cb812abeba91cabd12c61e8e98a9","sha512":"a2b1016b8aa20a00c7fc5fd0c3e7fb57340a7898239d399b21b87d2fda7f4a67c4e7e820b1095e7a879cc11e51fe09ee12dcbc5f583124bbb4b488a164269c05","ssdeep":"768:29IVwgSrzZIjnT79V96MBiWAVPQ0l5r/cdH4NvEFTfbv:Q2fbv","tlshash":"d6f21eb49b43340d7617d350f2f26bf3de2e1392ee17c96fa49a254992d64a0807f6b0","first_seen":"2023-04-08T03:07:13Z","last_seen":"2026-08-03T16:28:36.572586Z","times_seen":200,"resource_available":false,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE2LTA5LTE0DQoqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiogSW5jbHVkZXM6IGNvcmUuY3NzLCBhY2NvcmRpb24uY3NzLCBhdXRvY29tcGxldGUuY3NzLCBtZW51LmNzcywgYnV0dG9uLmNzcywgY29udHJvbGdyb3VwLmNzcywgY2hlY2tib3hyYWRpby5jc3MsIGRhdGVwaWNrZXIuY3NzLCBkaWFsb2cuY3NzLCBkcmFnZ2FibGUuY3NzLCByZXNpemFibGUuY3NzLCBwcm9ncmVzc2Jhci5jc3MsIHNlbGVjdGFibGUuY3NzLCBzZWxlY3RtZW51LmNzcywgc2xpZGVyLmNzcywgc29ydGFibGUuY3NzLCBzcGlubmVyLmNzcywgdGFicy5jc3MsIHRvb2x0aXAuY3NzLCB0aGVtZS5jc3MNCiogVG8gdmlldyBhbmQgbW9kaWZ5IHRoaXMgdGhlbWUsIHZpc2l0IGh0dHA6Ly9qcXVlcnl1aS5jb20vdGhlbWVyb2xsZXIvP2ZmRGVmYXVsdD1BcmlhbCUyQ0hlbHZldGljYSUyQ3NhbnMtc2VyaWYmZnNEZWZhdWx0PTFlbSZmd0RlZmF1bHQ9bm9ybWFsJmNvcm5lclJhZGl1cz0zcHgmYmdDb2xvckhlYWRlcj1lOWU5ZTkmYmdUZXh0dXJlSGVhZGVyPWZsYXQmYm9yZGVyQ29sb3JIZWFkZXI9ZGRkZGRkJmZjSGVhZGVyPTMzMzMzMyZpY29uQ29sb3JIZWFkZXI9NDQ0NDQ0JmJnQ29sb3JDb250ZW50PWZmZmZmZiZiZ1RleHR1cmVDb250ZW50PWZsYXQmYm9yZGVyQ29sb3JDb250ZW50PWRkZGRkZCZmY0NvbnRlbnQ9MzMzMzMzJmljb25Db2xvckNvbnRlbnQ9NDQ0NDQ0JmJnQ29sb3JEZWZhdWx0PWY2ZjZmNiZiZ1RleHR1cmVEZWZhdWx0PWZsYXQmYm9yZGVyQ29sb3JEZWZhdWx0PWM1YzVjNSZmY0RlZmF1bHQ9NDU0NTQ1Jmljb25Db2xvckRlZmF1bHQ9Nzc3Nzc3JmJnQ29sb3JIb3Zlcj1lZGVkZWQmYmdUZXh0dXJlSG92ZXI9ZmxhdCZib3JkZXJDb2xvckhvdmVyPWNjY2NjYyZmY0hvdmVyPTJiMmIyYiZpY29uQ29sb3JIb3Zlcj01NTU1NTUmYmdDb2xvckFjdGl2ZT0wMDdmZmYmYmdUZXh0dXJlQWN0aXZlPWZsYXQmYm9yZGVyQ29sb3JBY3RpdmU9MDAzZWZmJmZjQWN0aXZlPWZmZmZmZiZpY29uQ29sb3JBY3RpdmU9ZmZmZmZmJmJnQ29sb3JIaWdobGlnaHQ9ZmZmYTkwJmJnVGV4dHVyZUhpZ2hsaWdodD1mbGF0JmJvcmRlckNvbG9ySGlnaGxpZ2h0PWRhZDU1ZSZmY0hpZ2hsaWdodD03Nzc2MjAmaWNvbkNvbG9ySGlnaGxpZ2h0PTc3NzYyMCZiZ0NvbG9yRXJyb3I9ZmRkZmRmJmJnVGV4dHVyZUVycm9yPWZsYXQmYm9yZGVyQ29sb3JFcnJvcj1mMWE4OTkmZmNFcnJvcj01ZjNmM2YmaWNvbkNvbG9yRXJyb3I9Y2MwMDAwJmJnQ29sb3JPdmVybGF5PWFhYWFhYSZiZ1RleHR1cmVPdmVybGF5PWZsYXQmYmdJbWdPcGFjaXR5T3ZlcmxheT0wJm9wYWNpdHlPdmVybGF5PTMwJmJnQ29sb3JTaGFkb3c9NjY2NjY2JmJnVGV4dHVyZVNoYWRvdz1mbGF0JmJnSW1nT3BhY2l0eVNoYWRvdz0wJm9wYWNpdHlTaGFkb3c9MzAmdGhpY2tuZXNzU2hhZG93PTVweCZvZmZzZXRUb3BTaGFkb3c9MHB4Jm9mZnNldExlZnRTaGFkb3c9MHB4JmNvcm5lclJhZGl1c1NoYWRvdz04cHgNCiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqLw0KDQovKiBMYXlvdXQgaGVscGVycw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoudWktaGVscGVyLWhpZGRlbiB7DQoJZGlzcGxheTogbm9uZTsNCn0NCi51aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUgew0KCWJvcmRlcjogMDsNCgljbGlwOiByZWN0KDAgMCAwIDApOw0KCWhlaWdodDogMXB4Ow0KCW1hcmdpbjogLTFweDsNCglvdmVyZmxvdzogaGlkZGVuOw0KCXBhZGRpbmc6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAxcHg7DQp9DQoudWktaGVscGVyLXJlc2V0IHsNCgltYXJnaW46IDA7DQoJcGFkZGluZzogMDsNCglib3JkZXI6IDA7DQoJb3V0bGluZTogMDsNCglsaW5lLWhlaWdodDogMS4zOw0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCglmb250LXNpemU6IDEwMCU7DQoJbGlzdC1zdHlsZTogbm9uZTsNCn0NCi51aS1oZWxwZXItY2xlYXJmaXg6YmVmb3JlLA0KLnVpLWhlbHBlci1jbGVhcmZpeDphZnRlciB7DQoJY29udGVudDogIiI7DQoJZGlzcGxheTogdGFibGU7DQoJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCn0NCi51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXIgew0KCWNsZWFyOiBib3RoOw0KfQ0KLnVpLWhlbHBlci16Zml4IHsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IDEwMCU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCW9wYWNpdHk6IDA7DQoJZmlsdGVyOkFscGhhKE9wYWNpdHk9MCk7IC8qIHN1cHBvcnQ6IElFOCAqLw0KfQ0KDQoudWktZnJvbnQgew0KCXotaW5kZXg6IDEwMDsNCn0NCg0KDQovKiBJbnRlcmFjdGlvbiBDdWVzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi51aS1zdGF0ZS1kaXNhYmxlZCB7DQoJY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7DQoJcG9pbnRlci1ldmVudHM6IG5vbmU7DQp9DQoNCg0KLyogSWNvbnMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KLnVpLWljb24gew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KCW1hcmdpbi10b3A6IC0uMjVlbTsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1pbmRlbnQ6IC05OTk5OXB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCn0NCg0KLnVpLXdpZGdldC1pY29uLWJsb2NrIHsNCglsZWZ0OiA1MCU7DQoJbWFyZ2luLWxlZnQ6IC04cHg7DQoJZGlzcGxheTogYmxvY2s7DQp9DQoNCi8qIE1pc2MgdmlzdWFscw0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCi8qIE92ZXJsYXlzICovDQoudWktd2lkZ2V0LW92ZXJsYXkgew0KCXBvc2l0aW9uOiBmaXhlZDsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IDEwMCU7DQp9DQoudWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIHsNCglkaXNwbGF5OiBibG9jazsNCgljdXJzb3I6IHBvaW50ZXI7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCW1hcmdpbjogMnB4IDAgMCAwOw0KCXBhZGRpbmc6IC41ZW0gLjVlbSAuNWVtIC43ZW07DQoJZm9udC1zaXplOiAxMDAlOw0KfQ0KLnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWNvbnRlbnQgew0KCXBhZGRpbmc6IDFlbSAyLjJlbTsNCglib3JkZXItdG9wOiAwOw0KCW92ZXJmbG93OiBhdXRvOw0KfQ0KLnVpLWF1dG9jb21wbGV0ZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWN1cnNvcjogZGVmYXVsdDsNCn0NCi51aS1tZW51IHsNCglsaXN0LXN0eWxlOiBub25lOw0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KCWRpc3BsYXk6IGJsb2NrOw0KCW91dGxpbmU6IDA7DQp9DQoudWktbWVudSAudWktbWVudSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KfQ0KLnVpLW1lbnUgLnVpLW1lbnUtaXRlbSB7DQoJbWFyZ2luOiAwOw0KCWN1cnNvcjogcG9pbnRlcjsNCgkvKiBzdXBwb3J0OiBJRTEwLCBzZWUgIzg4NDQgKi8NCglsaXN0LXN0eWxlLWltYWdlOiB1cmwoImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIpOw0KfQ0KLnVpLW1lbnUgLnVpLW1lbnUtaXRlbS13cmFwcGVyIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJcGFkZGluZzo4cHggMWVtIDhweCAxNXB4Ow0KfQ0KLnVpLW1lbnUgLnVpLW1lbnUtZGl2aWRlciB7DQoJbWFyZ2luOiA1cHggMDsNCgloZWlnaHQ6IDA7DQoJZm9udC1zaXplOiAwOw0KCWxpbmUtaGVpZ2h0OiAwOw0KCWJvcmRlci13aWR0aDogMXB4IDAgMCAwOw0KfQ0KLnVpLW1lbnUgLnVpLXN0YXRlLWZvY3VzLA0KLnVpLW1lbnUgLnVpLXN0YXRlLWFjdGl2ZSB7DQoJbWFyZ2luOiAtMXB4Ow0KfQ0KDQovKiBpY29uIHN1cHBvcnQgKi8NCi51aS1tZW51LWljb25zIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQp9DQoudWktbWVudS1pY29ucyAudWktbWVudS1pdGVtLXdyYXBwZXIgew0KCXBhZGRpbmctbGVmdDogMmVtOw0KfQ0KDQovKiBsZWZ0LWFsaWduZWQgKi8NCi51aS1tZW51IC51aS1pY29uIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWJvdHRvbTogMDsNCglsZWZ0OiAuMmVtOw0KCW1hcmdpbjogYXV0byAwOw0KfQ0KDQovKiByaWdodC1hbGlnbmVkICovDQoudWktbWVudSAudWktbWVudS1pY29uIHsNCglsZWZ0OiBhdXRvOw0KCXJpZ2h0OiAwOw0KfQ0KLnVpLWJ1dHRvbiB7DQoJcGFkZGluZzogLjRlbSAxZW07DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglsaW5lLWhlaWdodDogbm9ybWFsOw0KCW1hcmdpbi1yaWdodDogLjFlbTsNCgljdXJzb3I6IHBvaW50ZXI7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsNCgktbW96LXVzZXItc2VsZWN0OiBub25lOw0KCS1tcy11c2VyLXNlbGVjdDogbm9uZTsNCgl1c2VyLXNlbGVjdDogbm9uZTsNCg0KCS8qIFN1cHBvcnQ6IElFIDw9IDExICovDQoJb3ZlcmZsb3c6IHZpc2libGU7DQp9DQoNCi51aS1idXR0b24sDQoudWktYnV0dG9uOmxpbmssDQoudWktYnV0dG9uOnZpc2l0ZWQsDQoudWktYnV0dG9uOmhvdmVyLA0KLnVpLWJ1dHRvbjphY3RpdmUgew0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCg0KLyogdG8gbWFrZSByb29tIGZvciB0aGUgaWNvbiwgYSB3aWR0aCBuZWVkcyB0byBiZSBzZXQgaGVyZSAqLw0KLnVpLWJ1dHRvbi1pY29uLW9ubHkgew0KCXdpZHRoOiAyZW07DQoJYm94LXNpemluZzogYm9yZGVyLWJveDsNCgl0ZXh0LWluZGVudDogLTk5OTlweDsNCgl3aGl0ZS1zcGFjZTogbm93cmFwOw0KfQ0KDQovKiBubyBpY29uIHN1cHBvcnQgZm9yIGlucHV0IGVsZW1lbnRzICovDQppbnB1dC51aS1idXR0b24udWktYnV0dG9uLWljb24tb25seSB7DQoJdGV4dC1pbmRlbnQ6IDA7DQp9DQoNCi8qIGJ1dHRvbiBpY29uIGVsZW1lbnQocykgKi8NCi51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29uIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJbGVmdDogNTAlOw0KCW1hcmdpbi10b3A6IC04cHg7DQoJbWFyZ2luLWxlZnQ6IC04cHg7DQp9DQoNCi51aS1idXR0b24udWktaWNvbi1ub3RleHQgLnVpLWljb24gew0KCXBhZGRpbmc6IDA7DQoJd2lkdGg6IDIuMWVtOw0KCWhlaWdodDogMi4xZW07DQoJdGV4dC1pbmRlbnQ6IC05OTk5cHg7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCg0KfQ0KDQppbnB1dC51aS1idXR0b24udWktaWNvbi1ub3RleHQgLnVpLWljb24gew0KCXdpZHRoOiBhdXRvOw0KCWhlaWdodDogYXV0bzsNCgl0ZXh0LWluZGVudDogMDsNCgl3aGl0ZS1zcGFjZTogbm9ybWFsOw0KCXBhZGRpbmc6IC40ZW0gMWVtOw0KfQ0KDQovKiB3b3JrYXJvdW5kcyAqLw0KLyogU3VwcG9ydDogRmlyZWZveCA1IC0gNDAgKi8NCmlucHV0LnVpLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwNCmJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIgew0KCWJvcmRlcjogMDsNCglwYWRkaW5nOiAwOw0KfQ0KLnVpLWNvbnRyb2xncm91cCB7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQoudWktY29udHJvbGdyb3VwID4gLnVpLWNvbnRyb2xncm91cC1pdGVtIHsNCglmbG9hdDogbGVmdDsNCgltYXJnaW4tbGVmdDogMDsNCgltYXJnaW4tcmlnaHQ6IDA7DQp9DQoudWktY29udHJvbGdyb3VwID4gLnVpLWNvbnRyb2xncm91cC1pdGVtOmZvY3VzLA0KLnVpLWNvbnRyb2xncm91cCA+IC51aS1jb250cm9sZ3JvdXAtaXRlbS51aS12aXN1YWwtZm9jdXMgew0KCXotaW5kZXg6IDk5OTk7DQp9DQoudWktY29udHJvbGdyb3VwLXZlcnRpY2FsID4gLnVpLWNvbnRyb2xncm91cC1pdGVtIHsNCglkaXNwbGF5OiBibG9jazsNCglmbG9hdDogbm9uZTsNCgl3aWR0aDogMTAwJTsNCgltYXJnaW4tdG9wOiAwOw0KCW1hcmdpbi1ib3R0b206IDA7DQoJdGV4dC1hbGlnbjogbGVmdDsNCn0NCi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1pdGVtIHsNCglib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KLnVpLWNvbnRyb2xncm91cCAudWktY29udHJvbGdyb3VwLWxhYmVsIHsNCglwYWRkaW5nOiAuNGVtIDFlbTsNCn0NCi51aS1jb250cm9sZ3JvdXAgLnVpLWNvbnRyb2xncm91cC1sYWJlbCBzcGFuIHsNCglmb250LXNpemU6IDgwJTsNCn0NCi51aS1jb250cm9sZ3JvdXAtaG9yaXpvbnRhbCAudWktY29udHJvbGdyb3VwLWxhYmVsICsgLnVpLWNvbnRyb2xncm91cC1pdGVtIHsNCglib3JkZXItbGVmdDogbm9uZTsNCn0NCi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLWNvbnRyb2xncm91cC1sYWJlbCArIC51aS1jb250cm9sZ3JvdXAtaXRlbSB7DQoJYm9yZGVyLXRvcDogbm9uZTsNCn0NCi51aS1jb250cm9sZ3JvdXAtaG9yaXpvbnRhbCAudWktY29udHJvbGdyb3VwLWxhYmVsLnVpLXdpZGdldC1jb250ZW50IHsNCglib3JkZXItcmlnaHQ6IG5vbmU7DQp9DQoudWktY29udHJvbGdyb3VwLXZlcnRpY2FsIC51aS1jb250cm9sZ3JvdXAtbGFiZWwudWktd2lkZ2V0LWNvbnRlbnQgew0KCWJvcmRlci1ib3R0b206IG5vbmU7DQp9DQoNCi8qIFNwaW5uZXIgc3BlY2lmaWMgc3R5bGUgZml4ZXMgKi8NCi51aS1jb250cm9sZ3JvdXAtdmVydGljYWwgLnVpLXNwaW5uZXItaW5wdXQgew0KDQoJLyogU3VwcG9ydDogSUU4IG9ubHksIEFuZHJvaWQgPCA0LjQgb25seSAqLw0KCXdpZHRoOiA3NSU7DQoJd2lkdGg6IGNhbGMoIDEwMCUgLSAyLjRlbSApOw0KfQ0KLnVpLWNvbnRyb2xncm91cC12ZXJ0aWNhbCAudWktc3Bpbm5lciAudWktc3Bpbm5lci11cCB7DQoJYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7DQp9DQoNCi51aS1jaGVja2JveHJhZGlvLWxhYmVsIC51aS1pY29uLWJhY2tncm91bmQgew0KCWJveC1zaGFkb3c6IGluc2V0IDFweCAxcHggMXB4ICNjY2M7DQoJYm9yZGVyLXJhZGl1czogLjEyZW07DQoJYm9yZGVyOiBub25lOw0KfQ0KLnVpLWNoZWNrYm94cmFkaW8tcmFkaW8tbGFiZWwgLnVpLWljb24tYmFja2dyb3VuZCB7DQoJd2lkdGg6IDE2cHg7DQoJaGVpZ2h0OiAxNnB4Ow0KCWJvcmRlci1yYWRpdXM6IDFlbTsNCglvdmVyZmxvdzogdmlzaWJsZTsNCglib3JkZXI6IG5vbmU7DQp9DQoudWktY2hlY2tib3hyYWRpby1yYWRpby1sYWJlbC51aS1jaGVja2JveHJhZGlvLWNoZWNrZWQgLnVpLWljb24sDQoudWktY2hlY2tib3hyYWRpby1yYWRpby1sYWJlbC51aS1jaGVja2JveHJhZGlvLWNoZWNrZWQ6aG92ZXIgLnVpLWljb24gew0KCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQoJd2lkdGg6IDhweDsNCgloZWlnaHQ6IDhweDsNCglib3JkZXItd2lkdGg6IDRweDsNCglib3JkZXItc3R5bGU6IHNvbGlkOw0KfQ0KLnVpLWNoZWNrYm94cmFkaW8tZGlzYWJsZWQgew0KCXBvaW50ZXItZXZlbnRzOiBub25lOw0KfQ0KLnVpLWRhdGVwaWNrZXIgew0KCXdpZHRoOiAxN2VtOw0KCXBhZGRpbmc6IC4yZW0gLjJlbSAwOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglwYWRkaW5nOiAuMmVtIDA7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LA0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMnB4Ow0KCXdpZHRoOiAxLjhlbTsNCgloZWlnaHQ6IDEuOGVtOw0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciwNCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgew0KCXRvcDogMXB4Ow0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7DQoJbGVmdDogMnB4Ow0KfQ0KLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dCB7DQoJcmlnaHQ6IDJweDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXIgew0KCWxlZnQ6IDFweDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXIgew0KCXJpZ2h0OiAxcHg7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2IHNwYW4sDQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1uZXh0IHNwYW4gew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiA1MCU7DQoJbWFyZ2luLWxlZnQ6IC04cHg7DQoJdG9wOiA1MCU7DQoJbWFyZ2luLXRvcDogLThweDsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHsNCgltYXJnaW46IDAgMi4zZW07DQoJbGluZS1oZWlnaHQ6IDEuOGVtOw0KCXRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXRpdGxlIHNlbGVjdCB7DQoJZm9udC1zaXplOiAxZW07DQoJbWFyZ2luOiAxcHggMDsNCn0NCi51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLA0KLnVpLWRhdGVwaWNrZXIgc2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhciB7DQoJd2lkdGg6IDQ1JTsNCn0NCi51aS1kYXRlcGlja2VyIHRhYmxlIHsNCgl3aWR0aDogMTAwJTsNCglmb250LXNpemU6IC45ZW07DQoJYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsNCgltYXJnaW46IDAgMCAuNGVtOw0KfQ0KLnVpLWRhdGVwaWNrZXIgdGggew0KCXBhZGRpbmc6IC43ZW0gLjNlbTsNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJYm9yZGVyOiAwOw0KfQ0KLnVpLWRhdGVwaWNrZXIgdGQgew0KCWJvcmRlcjogMDsNCglwYWRkaW5nOiAxcHg7DQp9DQoudWktZGF0ZXBpY2tlciB0ZCBzcGFuLA0KLnVpLWRhdGVwaWNrZXIgdGQgYSB7DQoJZGlzcGxheTogYmxvY2s7DQoJcGFkZGluZzogLjJlbTsNCgl0ZXh0LWFsaWduOiByaWdodDsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIHsNCgliYWNrZ3JvdW5kLWltYWdlOiBub25lOw0KCW1hcmdpbjogLjdlbSAwIDAgMDsNCglwYWRkaW5nOiAwIC4yZW07DQoJYm9yZGVyLWxlZnQ6IDA7DQoJYm9yZGVyLXJpZ2h0OiAwOw0KCWJvcmRlci1ib3R0b206IDA7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCW1hcmdpbjogLjVlbSAuMmVtIC40ZW07DQoJY3Vyc29yOiBwb2ludGVyOw0KCXBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtIC42ZW07DQoJd2lkdGg6IGF1dG87DQoJb3ZlcmZsb3c6IHZpc2libGU7DQp9DQoudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbi51aS1kYXRlcGlja2VyLWN1cnJlbnQgew0KCWZsb2F0OiBsZWZ0Ow0KfQ0KDQovKiB3aXRoIG11bHRpcGxlIGNhbGVuZGFycyAqLw0KLnVpLWRhdGVwaWNrZXIudWktZGF0ZXBpY2tlci1tdWx0aSB7DQoJd2lkdGg6IGF1dG87DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB7DQoJZmxvYXQ6IGxlZnQ7DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cCB0YWJsZSB7DQoJd2lkdGg6IDk1JTsNCgltYXJnaW46IDAgYXV0byAuNGVtOw0KfQ0KLnVpLWRhdGVwaWNrZXItbXVsdGktMiAudWktZGF0ZXBpY2tlci1ncm91cCB7DQoJd2lkdGg6IDUwJTsNCn0NCi51aS1kYXRlcGlja2VyLW11bHRpLTMgLnVpLWRhdGVwaWNrZXItZ3JvdXAgew0KCXdpZHRoOiAzMy4zJTsNCn0NCi51aS1kYXRlcGlja2VyLW11bHRpLTQgLnVpLWRhdGVwaWNrZXItZ3JvdXAgew0KCXdpZHRoOiAyNSU7DQp9DQoudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciwNCi51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXIgew0KCWJvcmRlci1sZWZ0LXdpZHRoOiAwOw0KfQ0KLnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB7DQoJY2xlYXI6IGxlZnQ7DQp9DQoudWktZGF0ZXBpY2tlci1yb3ctYnJlYWsgew0KCWNsZWFyOiBib3RoOw0KCXdpZHRoOiAxMDAlOw0KCWZvbnQtc2l6ZTogMDsNCn0NCg0KLyogUlRMIHN1cHBvcnQgKi8NCi51aS1kYXRlcGlja2VyLXJ0bCB7DQoJZGlyZWN0aW9uOiBydGw7DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItcHJldiB7DQoJcmlnaHQ6IDJweDsNCglsZWZ0OiBhdXRvOw0KfQ0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQgew0KCWxlZnQ6IDJweDsNCglyaWdodDogYXV0bzsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVyIHsNCglyaWdodDogMXB4Ow0KCWxlZnQ6IGF1dG87DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dDpob3ZlciB7DQoJbGVmdDogMXB4Ow0KCXJpZ2h0OiBhdXRvOw0KfQ0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgew0KCWNsZWFyOiByaWdodDsNCn0NCi51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1idXR0b25wYW5lIGJ1dHRvbiB7DQoJZmxvYXQ6IGxlZnQ7DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LA0KLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwIHsNCglmbG9hdDogcmlnaHQ7DQp9DQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsDQoudWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbWlkZGxlIC51aS1kYXRlcGlja2VyLWhlYWRlciB7DQoJYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOw0KCWJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7DQp9DQoNCi8qIEljb25zICovDQoudWktZGF0ZXBpY2tlciAudWktaWNvbiB7DQoJZGlzcGxheTogYmxvY2s7DQoJdGV4dC1pbmRlbnQ6IC05OTk5OXB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCglsZWZ0OiAuNWVtOw0KCXRvcDogLjNlbTsNCn0NCi51aS1kaWFsb2cgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCglwYWRkaW5nOiAuMmVtOw0KCW91dGxpbmU6IDA7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXIgew0KCXBhZGRpbmc6IC40ZW0gMWVtOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZSB7DQoJZmxvYXQ6IGxlZnQ7DQoJbWFyZ2luOiAuMWVtIDA7DQoJd2hpdGUtc3BhY2U6IG5vd3JhcDsNCgl3aWR0aDogOTAlOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglyaWdodDogLjNlbTsNCgl0b3A6IDUwJTsNCgl3aWR0aDogMjBweDsNCgltYXJnaW46IC0xMHB4IDAgMCAwOw0KCXBhZGRpbmc6IDFweDsNCgloZWlnaHQ6IDIwcHg7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctY29udGVudCB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWJvcmRlcjogMDsNCglwYWRkaW5nOiAuNWVtIDFlbTsNCgliYWNrZ3JvdW5kOiBub25lOw0KCW92ZXJmbG93OiBhdXRvOw0KfQ0KLnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmUgew0KCXRleHQtYWxpZ246IGxlZnQ7DQoJYm9yZGVyLXdpZHRoOiAxcHggMCAwIDA7DQoJYmFja2dyb3VuZC1pbWFnZTogbm9uZTsNCgltYXJnaW4tdG9wOiAuNWVtOw0KCXBhZGRpbmc6IC4zZW0gMWVtIC41ZW0gLjRlbTsNCn0NCi51aS1kaWFsb2cgLnVpLWRpYWxvZy1idXR0b25wYW5lIC51aS1kaWFsb2ctYnV0dG9uc2V0IHsNCglmbG9hdDogcmlnaHQ7DQp9DQoudWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSBidXR0b24gew0KCW1hcmdpbjogLjVlbSAuNGVtIC41ZW0gMDsNCgljdXJzb3I6IHBvaW50ZXI7DQp9DQoudWktZGlhbG9nIC51aS1yZXNpemFibGUtbiB7DQoJaGVpZ2h0OiAycHg7DQoJdG9wOiAwOw0KfQ0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLWUgew0KCXdpZHRoOiAycHg7DQoJcmlnaHQ6IDA7DQp9DQoudWktZGlhbG9nIC51aS1yZXNpemFibGUtcyB7DQoJaGVpZ2h0OiAycHg7DQoJYm90dG9tOiAwOw0KfQ0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXcgew0KCXdpZHRoOiAycHg7DQoJbGVmdDogMDsNCn0NCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zZSwNCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zdywNCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uZSwNCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1udyB7DQoJd2lkdGg6IDdweDsNCgloZWlnaHQ6IDdweDsNCn0NCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1zZSB7DQoJcmlnaHQ6IDA7DQoJYm90dG9tOiAwOw0KfQ0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXN3IHsNCglsZWZ0OiAwOw0KCWJvdHRvbTogMDsNCn0NCi51aS1kaWFsb2cgLnVpLXJlc2l6YWJsZS1uZSB7DQoJcmlnaHQ6IDA7DQoJdG9wOiAwOw0KfQ0KLnVpLWRpYWxvZyAudWktcmVzaXphYmxlLW53IHsNCglsZWZ0OiAwOw0KCXRvcDogMDsNCn0NCi51aS1kcmFnZ2FibGUgLnVpLWRpYWxvZy10aXRsZWJhciB7DQoJY3Vyc29yOiBtb3ZlOw0KfQ0KLnVpLWRyYWdnYWJsZS1oYW5kbGUgew0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLnVpLXJlc2l6YWJsZSB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KfQ0KLnVpLXJlc2l6YWJsZS1oYW5kbGUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglmb250LXNpemU6IDAuMXB4Ow0KCWRpc3BsYXk6IGJsb2NrOw0KCS1tcy10b3VjaC1hY3Rpb246IG5vbmU7DQoJdG91Y2gtYWN0aW9uOiBub25lOw0KfQ0KLnVpLXJlc2l6YWJsZS1kaXNhYmxlZCAudWktcmVzaXphYmxlLWhhbmRsZSwNCi51aS1yZXNpemFibGUtYXV0b2hpZGUgLnVpLXJlc2l6YWJsZS1oYW5kbGUgew0KCWRpc3BsYXk6IG5vbmU7DQp9DQoudWktcmVzaXphYmxlLW4gew0KCWN1cnNvcjogbi1yZXNpemU7DQoJaGVpZ2h0OiA3cHg7DQoJd2lkdGg6IDEwMCU7DQoJdG9wOiAtNXB4Ow0KCWxlZnQ6IDA7DQp9DQoudWktcmVzaXphYmxlLXMgew0KCWN1cnNvcjogcy1yZXNpemU7DQoJaGVpZ2h0OiA3cHg7DQoJd2lkdGg6IDEwMCU7DQoJYm90dG9tOiAtNXB4Ow0KCWxlZnQ6IDA7DQp9DQoudWktcmVzaXphYmxlLWUgew0KCWN1cnNvcjogZS1yZXNpemU7DQoJd2lkdGg6IDdweDsNCglyaWdodDogLTVweDsNCgl0b3A6IDA7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnVpLXJlc2l6YWJsZS13IHsNCgljdXJzb3I6IHctcmVzaXplOw0KCXdpZHRoOiA3cHg7DQoJbGVmdDogLTVweDsNCgl0b3A6IDA7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnVpLXJlc2l6YWJsZS1zZSB7DQoJY3Vyc29yOiBzZS1yZXNpemU7DQoJd2lkdGg6IDEycHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCXJpZ2h0OiAxcHg7DQoJYm90dG9tOiAxcHg7DQp9DQoudWktcmVzaXphYmxlLXN3IHsNCgljdXJzb3I6IHN3LXJlc2l6ZTsNCgl3aWR0aDogOXB4Ow0KCWhlaWdodDogOXB4Ow0KCWxlZnQ6IC01cHg7DQoJYm90dG9tOiAtNXB4Ow0KfQ0KLnVpLXJlc2l6YWJsZS1udyB7DQoJY3Vyc29yOiBudy1yZXNpemU7DQoJd2lkdGg6IDlweDsNCgloZWlnaHQ6IDlweDsNCglsZWZ0OiAtNXB4Ow0KCXRvcDogLTVweDsNCn0NCi51aS1yZXNpemFibGUtbmUgew0KCWN1cnNvcjogbmUtcmVzaXplOw0KCXdpZHRoOiA5cHg7DQoJaGVpZ2h0OiA5cHg7DQoJcmlnaHQ6IC01cHg7DQoJdG9wOiAtNXB4Ow0KfQ0KLnVpLXByb2dyZXNzYmFyIHsNCgloZWlnaHQ6IDJlbTsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQoudWktcHJvZ3Jlc3NiYXIgLnVpLXByb2dyZXNzYmFyLXZhbHVlIHsNCgltYXJnaW46IC0xcHg7DQoJaGVpZ2h0OiAxMDAlOw0KfQ0KLnVpLXByb2dyZXNzYmFyIC51aS1wcm9ncmVzc2Jhci1vdmVybGF5IHsNCgliYWNrZ3JvdW5kOiB1cmwoImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEtBQW9BSUFCQUFBQUFQLy8veUgvQzA1RlZGTkRRVkJGTWk0d0F3RUFBQUFoK1FRSkFRQUJBQ3dBQUFBQUtBQW9BQUFDa1l3TnFYcmRDNTJEUzA2YTdNRlpJKzRGSEJDS29EZVdLWHF5bVBxR3F4dkpyWFpiTXg3VHRjK3c5WGdVMkZCM2xPeVFSV0VUMklGR2lVOW0xZnJEVnB4WlpjNmJmSHd2NGMxWVhQNmsxVmR5MjkyRmI2VWt1dkZ0WHB2V1N6QStIeWNYSkhVWGlHWUlpTWcyUjZXNDU5Z25XR2ZITmRqSXFEV1ZxZW1IMmVrcE9ia3BPbHBwV1VxWmlxcjZlZHFxV1FBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwU01nWm5HZmFxY2cxRTJ1dXpEbW1IVUJSOFFpbDk1aGlQS3FXbjNhcXRMc1MxOHk3RzFTek5lb3dXQkVOdFFkK1QxSmt0UDA1bnpQVGRKWmxSNnZVeE5XV2pWK3ZVV2hXTmtXRnd4bDlWcFpSZWRZY2ZsSU9MYWZhYTI4WGRzSC95bmxjYzF1UFZEWnhRSVIwSzI1K2NJQ0Ntb3FDZTVtR2haT2ZlWVNVaDV5SmNKeXJrWldXcGFSOGRvSjJvNE5ZcTYybEFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLVkRJNFl5MjJabklOUk5xb3N3MEJ2N2kxZ3lIVWtGajdvU2FXbHUzb3ZDOEd4TnNvNWZsdXozcUxWaEJWZVQvTHo3WlRIeXhMNWREYWxRV1BWT3NRV3RSbnV3WGFGVGo5alZWaDhwbWE5SmpaNHpZU2o1Wk95bWE3dXVvbGZmaCtJUjVhVzk3Y0h1QlVYS0dLWGxLam4rRGlIV01jWUphaDROMGxZQ01sSk9YaXBHUnI1cWRnb1NUcnFXU3E2V0ZsMnlwb2FVQUFBSWZrRUNRRUFBUUFzQUFBQUFDZ0FLQUFBQXBhRWI2SExnZC9pTzdGTld0Y0ZXZSt1Zk9ER2pSZm9pSjJha1NoYnVlYjB3dEk1MHptMDJwYnZ3ZldFTVdCUTF6S0dsTEloc2tpRVBtOVI2dlJYeFY0WnpXVDJ5SE9HcFdNeW9yYmxLbE5wOEhtSEViL2xDWGpjVzdibXRYUDhYdDIyOU9WV1IxZm9kMmVXcU5mSHVNalhDUGtJR05pbGVPaUltVm1DT0Vtb1NmbjN5WGxKV21vSEdocXA2aWxZdVdZcG1UcUtVZ0FBSWZrRUNRRUFBUUFzQUFBQUFDZ0FLQUFBQXBpRUg2a2I1OGJpUTNGTld0TUZXVzNlTlZjb2p1RkdmcW5acVNlYnVTMDZ3NVY4MC9YMDJwS2U4ekZ3UDZFRldPVDFsREZrOHJHRVJoMVRUTk9vY1E2MUhtNFhtMlZleFVIcHpqeW1WaUhyRmJpRUxzZWZWcm42WEtmbnQyUTlHLytYZGllNDk5WEhkMmc0aDdpb09HaFhHSmJvR0FuWFNCbm9Cd0tZeWZpb3ViWkoySG4wUnVSWmFmbFpPaWw1NlpwNmlpb0tTWHBVQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2tvUVJxUnZueHVJN2tVMWExVVU1YmQ1dG5TZU9aWGhtbjVsV0szcU5UV3ZSZFF4UDhxdmFDKy95YVlRelhPN0JNdmFVRW1KUmQzVHNpTUFnc3dtTllyU2daZFlyVFg2dFNIR1pPNzNlenVBdzJ1eHVRK0JiZVpmTXhzZXhZMzUrL1FlNEoxaW5WMGc0eDNXSHVNaElsMmpYT0tUMlErVlU1ZmdvU1VJNTJWZlp5ZmtKR2toYTZqbVkrYWFZZGlycStsUUFBQ0g1QkFrQkFBRUFMQUFBQUFBb0FDZ0FBQUtXQklLcFllMEwzWU5LVG9xc3dVbHZ6bmlnZDR3aVI0S2hackt0OVVwcWlwNjFpOUUzdk12eFJkSGxiRUZpRVhmazlZQVJZeE9aWkQ2VlEycFV1bkJtdFJYbzFMZjhoTVZWY05sOEphZlYzOGFNMi9GdTVWMTZCbjYzcjZ4dDk3ajA5K01YU0ZpNEJuaUdGYWUzaHpiSDkraFlCemtwdVVoNWFabUh1YW5aT1pnSXV2YkdpTmVvbUNuYXh4YXAydXBhQ1pzcSsxa0FBQ0g1QkFrQkFBRUFMQUFBQUFBb0FDZ0FBQUtYakk4Qnk1emY0a094VFZyWE5WbHYxWDBkOElHWkdLTG5OcFl0bThMcjljcVZldU9TdmZPVzc5RDlhREhpek5oREppZEZaaE55ZEVhaE9hREg2bm9tdEpqcDF0dXRLb05Xa3ZBNkpxZlJWTEhVL1FVZmF1OWwyeDdHNTRkMWZsOTk1eGNJR0FkWHFNZkJOYWRvWXJoSCtNZzJLQmxwVnBibHVDaVhtTW5aMlNoNEdCcUorY2tJT3FxSjZMbUtTbGxabXNvcTZ3cFFBQUFoK1FRSkFRQUJBQ3dBQUFBQUtBQW9BQUFDbFl4L29Mdm94dUpEa1UxYTFZVVpiSjU5blNkMlpYaFdxYlJhMi9nRjhHdTJEWTNpcXM3eXJxK3hCWUVrWXZGU004YVNTT2JFK1pnUmwxQkhGWk5yN3BSQ2F2WjVCVzIxNDJoWTNBTi96V3RzbWYxMnA5WHh4RmwybHBMbjFyc2V6dGZYWmpkSVdJZjJzNWRJdHdqWUtCZ285eWc1cEhnekpYVEVlR2xadWVucHlQbXBHUW9LT1drWW1TcGFTbnFLaWxlSTJGQUFBQ0g1QkFrQkFBRUFMQUFBQUFBb0FDZ0FBQUtWakIrZ3Urakc0a09SVFZyVmhSbHNubjJkSjNabGVGYXB0RnJiK0NYbU85T296ZUw1VmZQOTlIdkFXaHBpVWRjd2twQkgzODI1QXdZZFU4eFRxbExHaHRDb3NBcktNcHZmYTFtTVJhZTlWdldaZmVCMlhmUGtlTG1tMThsVWNCaitwNWRuTjhqWFozWUlHRWhZdU9VbjQ1YW9DRGtwMTZobDVJallKdmpXS2Nub0dRcHF5UGxwT2hyM2FFbGFxcnE1NkJxN1ZBQUFPdz09Iik7DQoJaGVpZ2h0OiAxMDAlOw0KCWZpbHRlcjogYWxwaGEob3BhY2l0eT0yNSk7IC8qIHN1cHBvcnQ6IElFOCAqLw0KCW9wYWNpdHk6IDAuMjU7DQp9DQoudWktcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSAudWktcHJvZ3Jlc3NiYXItdmFsdWUgew0KCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQp9DQoudWktc2VsZWN0YWJsZSB7DQoJLW1zLXRvdWNoLWFjdGlvbjogbm9uZTsNCgl0b3VjaC1hY3Rpb246IG5vbmU7DQp9DQoudWktc2VsZWN0YWJsZS1oZWxwZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiAxMDA7DQoJYm9yZGVyOiAxcHggZG90dGVkIGJsYWNrOw0KfQ0KLnVpLXNlbGVjdG1lbnUtbWVudSB7DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWRpc3BsYXk6IG5vbmU7DQp9DQoudWktc2VsZWN0bWVudS1tZW51IC51aS1tZW51IHsNCglvdmVyZmxvdzogYXV0bzsNCglvdmVyZmxvdy14OiBoaWRkZW47DQoJcGFkZGluZy1ib3R0b206IDFweDsNCn0NCi51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnUgLnVpLXNlbGVjdG1lbnUtb3B0Z3JvdXAgew0KCWZvbnQtc2l6ZTogMWVtOw0KCWZvbnQtd2VpZ2h0OiBib2xkOw0KCWxpbmUtaGVpZ2h0OiAxLjU7DQoJcGFkZGluZzogMnB4IDAuNGVtOw0KCW1hcmdpbjogMC41ZW0gMCAwIDA7DQoJaGVpZ2h0OiBhdXRvOw0KCWJvcmRlcjogMDsNCn0NCi51aS1zZWxlY3RtZW51LW9wZW4gew0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KLnVpLXNlbGVjdG1lbnUtdGV4dCB7DQoJZGlzcGxheTogYmxvY2s7DQoJbWFyZ2luLXJpZ2h0OiAyMHB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQoJdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7DQp9DQoudWktc2VsZWN0bWVudS1idXR0b24udWktYnV0dG9uIHsNCgl0ZXh0LWFsaWduOiBsZWZ0Ow0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQoJd2lkdGg6IDE0ZW07DQp9DQoudWktc2VsZWN0bWVudS1pY29uLnVpLWljb24gew0KCWZsb2F0OiByaWdodDsNCgltYXJnaW4tdG9wOiAwOw0KfQ0KLnVpLXNsaWRlciB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRleHQtYWxpZ246IGxlZnQ7DQp9DQoudWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxlIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJei1pbmRleDogMjsNCgl3aWR0aDogMS4yZW07DQoJaGVpZ2h0OiAxLjJlbTsNCgljdXJzb3I6IGRlZmF1bHQ7DQoJLW1zLXRvdWNoLWFjdGlvbjogbm9uZTsNCgl0b3VjaC1hY3Rpb246IG5vbmU7DQp9DQoudWktc2xpZGVyIC51aS1zbGlkZXItcmFuZ2Ugew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiAxOw0KCWZvbnQtc2l6ZTogLjdlbTsNCglkaXNwbGF5OiBibG9jazsNCglib3JkZXI6IDA7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOw0KfQ0KDQovKiBzdXBwb3J0OiBJRTggLSBTZWUgIzY3MjcgKi8NCi51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1oYW5kbGUsDQoudWktc2xpZGVyLnVpLXN0YXRlLWRpc2FibGVkIC51aS1zbGlkZXItcmFuZ2Ugew0KCWZpbHRlcjogaW5oZXJpdDsNCn0NCg0KLnVpLXNsaWRlci1ob3Jpem9udGFsIHsNCgloZWlnaHQ6IC44ZW07DQp9DQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1oYW5kbGUgew0KCXRvcDogLS4zZW07DQoJbWFyZ2luLWxlZnQ6IC0uNmVtOw0KfQ0KLnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItcmFuZ2Ugew0KCXRvcDogMDsNCgloZWlnaHQ6IDEwMCU7DQp9DQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1taW4gew0KCWxlZnQ6IDA7DQp9DQoudWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1tYXggew0KCXJpZ2h0OiAwOw0KfQ0KDQoudWktc2xpZGVyLXZlcnRpY2FsIHsNCgl3aWR0aDogLjhlbTsNCgloZWlnaHQ6IDEwMHB4Ow0KfQ0KLnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZSB7DQoJbGVmdDogLS4zZW07DQoJbWFyZ2luLWxlZnQ6IDA7DQoJbWFyZ2luLWJvdHRvbTogLS42ZW07DQp9DQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2Ugew0KCWxlZnQ6IDA7DQoJd2lkdGg6IDEwMCU7DQp9DQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWluIHsNCglib3R0b206IDA7DQp9DQoudWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4IHsNCgl0b3A6IDA7DQp9DQoudWktc29ydGFibGUtaGFuZGxlIHsNCgktbXMtdG91Y2gtYWN0aW9uOiBub25lOw0KCXRvdWNoLWFjdGlvbjogbm9uZTsNCn0NCi51aS1zcGlubmVyIHsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCW92ZXJmbG93OiBoaWRkZW47DQoJcGFkZGluZzogMDsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KfQ0KLnVpLXNwaW5uZXItaW5wdXQgew0KCWJvcmRlcjogbm9uZTsNCgliYWNrZ3JvdW5kOiBub25lOw0KCWNvbG9yOiBpbmhlcml0Ow0KCXBhZGRpbmc6IC4yMjJlbSAwOw0KCW1hcmdpbjogLjJlbSAwOw0KCXZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQoJbWFyZ2luLWxlZnQ6IC40ZW07DQoJbWFyZ2luLXJpZ2h0OiAyZW07DQp9DQoudWktc3Bpbm5lci1idXR0b24gew0KCXdpZHRoOiAxLjZlbTsNCgloZWlnaHQ6IDUwJTsNCglmb250LXNpemU6IC41ZW07DQoJcGFkZGluZzogMDsNCgltYXJnaW46IDA7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgljdXJzb3I6IGRlZmF1bHQ7DQoJZGlzcGxheTogYmxvY2s7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCglyaWdodDogMDsNCn0NCi8qIG1vcmUgc3BlY2lmaWNpdHkgcmVxdWlyZWQgaGVyZSB0byBvdmVycmlkZSBkZWZhdWx0IGJvcmRlcnMgKi8NCi51aS1zcGlubmVyIGEudWktc3Bpbm5lci1idXR0b24gew0KCWJvcmRlci10b3Atc3R5bGU6IG5vbmU7DQoJYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTsNCglib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7DQp9DQoudWktc3Bpbm5lci11cCB7DQoJdG9wOiAwOw0KfQ0KLnVpLXNwaW5uZXItZG93biB7DQoJYm90dG9tOiAwOw0KfQ0KLnVpLXRhYnMgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsvKiBwb3NpdGlvbjogcmVsYXRpdmUgcHJldmVudHMgSUUgc2Nyb2xsIGJ1ZyAoZWxlbWVudCB3aXRoIHBvc2l0aW9uOiByZWxhdGl2ZSBpbnNpZGUgY29udGFpbmVyIHdpdGggb3ZlcmZsb3c6IGF1dG8gYXBwZWFyIGFzICJmaXhlZCIpICovDQoJcGFkZGluZzogLjJlbTsNCn0NCi51aS10YWJzIC51aS10YWJzLW5hdiB7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IC4yZW0gLjJlbSAwOw0KfQ0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIHsNCglsaXN0LXN0eWxlOiBub25lOw0KCWZsb2F0OiBsZWZ0Ow0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl0b3A6IDA7DQoJbWFyZ2luOiAxcHggLjJlbSAwIDA7DQoJYm9yZGVyLWJvdHRvbS13aWR0aDogMDsNCglwYWRkaW5nOiAwOw0KCXdoaXRlLXNwYWNlOiBub3dyYXA7DQp9DQoudWktdGFicyAudWktdGFicy1uYXYgLnVpLXRhYnMtYW5jaG9yIHsNCglmbG9hdDogbGVmdDsNCglwYWRkaW5nOiAuNWVtIDFlbTsNCgl0ZXh0LWRlY29yYXRpb246IG5vbmU7DQp9DQoudWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUgew0KCW1hcmdpbi1ib3R0b206IC0xcHg7DQoJcGFkZGluZy1ib3R0b206IDFweDsNCn0NCi51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3IsDQoudWktdGFicyAudWktdGFicy1uYXYgbGkudWktc3RhdGUtZGlzYWJsZWQgLnVpLXRhYnMtYW5jaG9yLA0KLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtbG9hZGluZyAudWktdGFicy1hbmNob3Igew0KCWN1cnNvcjogdGV4dDsNCn0NCi51aS10YWJzLWNvbGxhcHNpYmxlIC51aS10YWJzLW5hdiBsaS51aS10YWJzLWFjdGl2ZSAudWktdGFicy1hbmNob3Igew0KCWN1cnNvcjogcG9pbnRlcjsNCn0NCi51aS10YWJzIC51aS10YWJzLXBhbmVsIHsNCglkaXNwbGF5OiBibG9jazsNCglib3JkZXItd2lkdGg6IDA7DQoJcGFkZGluZzogMWVtIDEuNGVtOw0KCWJhY2tncm91bmQ6IG5vbmU7DQp9DQoudWktdG9vbHRpcCB7DQoJcGFkZGluZzogOHB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl6LWluZGV4OiA5OTk5Ow0KCW1heC13aWR0aDogMzAwcHg7DQp9DQpib2R5IC51aS10b29sdGlwIHsNCglib3JkZXItd2lkdGg6IDJweDsNCn0NCi8qIENvbXBvbmVudCBjb250YWluZXJzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi51aS13aWRnZXQgew0KCWZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsNCglmb250LXNpemU6IDFlbTsNCn0NCi51aS13aWRnZXQgLnVpLXdpZGdldCB7DQoJZm9udC1zaXplOiAxZW07DQp9DQoudWktd2lkZ2V0IGlucHV0LA0KLnVpLXdpZGdldCBzZWxlY3QsDQoudWktd2lkZ2V0IHRleHRhcmVhLA0KLnVpLXdpZGdldCBidXR0b24gew0KCWZvbnQtZmFtaWx5OiBBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsNCglmb250LXNpemU6IDFlbTsNCn0NCi51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQgew0KCWJvcmRlcjogMXB4IHNvbGlkICNjNWM1YzU7DQp9DQoudWktd2lkZ2V0LWNvbnRlbnQgew0KCWJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7DQoJYmFja2dyb3VuZDogI2ZmZmZmZjsNCgljb2xvcjogIzMzMzMzMzsNCn0NCi51aS13aWRnZXQtY29udGVudCBhIHsNCgljb2xvcjogIzMzMzMzMzsNCn0NCi51aS13aWRnZXQtaGVhZGVyIHsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWJhY2tncm91bmQ6ICNlOWU5ZTk7DQoJY29sb3I6ICMzMzMzMzM7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQoudWktd2lkZ2V0LWhlYWRlciBhIHsNCgljb2xvcjogIzMzMzMzMzsNCn0NCg0KLyogSW50ZXJhY3Rpb24gc3RhdGVzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi51aS1zdGF0ZS1kZWZhdWx0LA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRlZmF1bHQsDQoudWktYnV0dG9uLA0KDQovKiBXZSB1c2UgaHRtbCBoZXJlIGJlY2F1c2Ugd2UgbmVlZCBhIGdyZWF0ZXIgc3BlY2lmaWNpdHkgdG8gbWFrZSBzdXJlIGRpc2FibGVkDQp3b3JrcyBwcm9wZXJseSB3aGVuIGNsaWNrZWQgb3IgaG92ZXJlZCAqLw0KaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmhvdmVyLA0KaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmFjdGl2ZSB7DQoJYm9yZGVyOiAxcHggc29saWQgI2M1YzVjNTsNCgliYWNrZ3JvdW5kOiAjZjZmNmY2Ow0KCWZvbnQtd2VpZ2h0OiBub3JtYWw7DQoJY29sb3I6ICM0NTQ1NDU7DQp9DQoudWktc3RhdGUtZGVmYXVsdCBhLA0KLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLA0KLnVpLXN0YXRlLWRlZmF1bHQgYTp2aXNpdGVkLA0KYS51aS1idXR0b24sDQphOmxpbmsudWktYnV0dG9uLA0KYTp2aXNpdGVkLnVpLWJ1dHRvbiwNCi51aS1idXR0b24gew0KCWNvbG9yOiAjNDU0NTQ1Ow0KCXRleHQtZGVjb3JhdGlvbjogbm9uZTsNCn0NCi51aS1zdGF0ZS1ob3ZlciwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsDQoudWktc3RhdGUtZm9jdXMsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzLA0KLnVpLWJ1dHRvbjpob3ZlciwNCi51aS1idXR0b246Zm9jdXMgew0KCWJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7DQoJYmFja2dyb3VuZDogI2VkZWRlZDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KCWNvbG9yOiAjMmIyYjJiOw0KfQ0KLnVpLXN0YXRlLWhvdmVyIGEsDQoudWktc3RhdGUtaG92ZXIgYTpob3ZlciwNCi51aS1zdGF0ZS1ob3ZlciBhOmxpbmssDQoudWktc3RhdGUtaG92ZXIgYTp2aXNpdGVkLA0KLnVpLXN0YXRlLWZvY3VzIGEsDQoudWktc3RhdGUtZm9jdXMgYTpob3ZlciwNCi51aS1zdGF0ZS1mb2N1cyBhOmxpbmssDQoudWktc3RhdGUtZm9jdXMgYTp2aXNpdGVkLA0KYS51aS1idXR0b246aG92ZXIsDQphLnVpLWJ1dHRvbjpmb2N1cyB7DQoJY29sb3I6ICMyYjJiMmI7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQoudWktdmlzdWFsLWZvY3VzIHsNCglib3gtc2hhZG93OiAwIDAgM3B4IDFweCByZ2IoOTQsIDE1OCwgMjE0KTsNCn0NCi51aS1zdGF0ZS1hY3RpdmUsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUsDQphLnVpLWJ1dHRvbjphY3RpdmUsDQoudWktYnV0dG9uOmFjdGl2ZSwNCi51aS1idXR0b24udWktc3RhdGUtYWN0aXZlOmhvdmVyIHsNCglib3JkZXI6IDFweCBzb2xpZCAjMDAzZWZmOw0KCWJhY2tncm91bmQ6ICMwMDdmZmY7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCgljb2xvcjogI2ZmZmZmZjsNCn0NCi51aS1pY29uLWJhY2tncm91bmQsDQoudWktc3RhdGUtYWN0aXZlIC51aS1pY29uLWJhY2tncm91bmQgew0KCWJvcmRlcjogIzAwM2VmZjsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KfQ0KLnVpLXN0YXRlLWFjdGl2ZSBhLA0KLnVpLXN0YXRlLWFjdGl2ZSBhOmxpbmssDQoudWktc3RhdGUtYWN0aXZlIGE6dmlzaXRlZCB7DQoJY29sb3I6ICNmZmZmZmY7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KDQovKiBJbnRlcmFjdGlvbiBDdWVzDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCi51aS1zdGF0ZS1oaWdobGlnaHQsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1oaWdobGlnaHQgew0KCWJvcmRlcjogMXB4IHNvbGlkICNkYWQ1NWU7DQoJYmFja2dyb3VuZDogI2ZmZmE5MDsNCgljb2xvcjogIzc3NzYyMDsNCn0NCi51aS1zdGF0ZS1jaGVja2VkIHsNCglib3JkZXI6IDFweCBzb2xpZCAjZGFkNTVlOw0KCWJhY2tncm91bmQ6ICNmZmZhOTA7DQp9DQoudWktc3RhdGUtaGlnaGxpZ2h0IGEsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCBhLA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWhpZ2hsaWdodCBhIHsNCgljb2xvcjogIzc3NzYyMDsNCn0NCi51aS1zdGF0ZS1lcnJvciwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3Igew0KCWJvcmRlcjogMXB4IHNvbGlkICNmMWE4OTk7DQoJYmFja2dyb3VuZDogI2ZkZGZkZjsNCgljb2xvcjogIzVmM2YzZjsNCn0NCi51aS1zdGF0ZS1lcnJvciBhLA0KLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciBhLA0KLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWVycm9yIGEgew0KCWNvbG9yOiAjNWYzZjNmOw0KfQ0KLnVpLXN0YXRlLWVycm9yLXRleHQsDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWVycm9yLXRleHQsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dCB7DQoJY29sb3I6ICM1ZjNmM2Y7DQp9DQoudWktcHJpb3JpdHktcHJpbWFyeSwNCi51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1wcmltYXJ5IHsNCglmb250LXdlaWdodDogYm9sZDsNCn0NCi51aS1wcmlvcml0eS1zZWNvbmRhcnksDQoudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXByaW9yaXR5LXNlY29uZGFyeSwNCi51aS13aWRnZXQtaGVhZGVyIC51aS1wcmlvcml0eS1zZWNvbmRhcnkgew0KCW9wYWNpdHk6IC43Ow0KCWZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTsgLyogc3VwcG9ydDogSUU4ICovDQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCn0NCi51aS1zdGF0ZS1kaXNhYmxlZCwNCi51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsDQoudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGlzYWJsZWQgew0KCW9wYWNpdHk6IC4zNTsNCglmaWx0ZXI6QWxwaGEoT3BhY2l0eT0zNSk7IC8qIHN1cHBvcnQ6IElFOCAqLw0KCWJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQp9DQoudWktc3RhdGUtZGlzYWJsZWQgLnVpLWljb24gew0KCWZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTsgLyogc3VwcG9ydDogSUU4IC0gU2VlICM2MDU5ICovDQp9DQoNCi8qIEljb25zDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KLyogc3RhdGVzIGFuZCBpbWFnZXMgKi8NCi51aS1pY29uIHsNCgl3aWR0aDogMTZweDsNCgloZWlnaHQ6IDE2cHg7DQp9DQoudWktaWNvbiwNCi51aS13aWRnZXQtY29udGVudCAudWktaWNvbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nIik7DQp9DQoudWktd2lkZ2V0LWhlYWRlciAudWktaWNvbiB7DQoJYmFja2dyb3VuZC1pbWFnZTogdXJsKCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nIik7DQp9DQoudWktc3RhdGUtaG92ZXIgLnVpLWljb24sDQoudWktc3RhdGUtZm9jdXMgLnVpLWljb24sDQoudWktYnV0dG9uOmhvdmVyIC51aS1pY29uLA0KLnVpLWJ1dHRvbjpmb2N1cyAudWktaWNvbiB7DQoJLypiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy91aS1pY29uc181NTU1NTVfMjU2eDI0MC5wbmciKTsqLw0KfQ0KLnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbiwNCi51aS1idXR0b246YWN0aXZlIC51aS1pY29uIHsNCgkvKmJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZyIpOyovDQp9DQoudWktc3RhdGUtaGlnaGxpZ2h0IC51aS1pY29uLA0KLnVpLWJ1dHRvbiAudWktc3RhdGUtaGlnaGxpZ2h0LnVpLWljb24gew0KCWJhY2tncm91bmQtaW1hZ2U6IHVybCgiaW1hZ2VzL3VpLWljb25zXzc3NzYyMF8yNTZ4MjQwLmh0bWwiKTsNCn0NCi51aS1zdGF0ZS1lcnJvciAudWktaWNvbiwNCi51aS1zdGF0ZS1lcnJvci10ZXh0IC51aS1pY29uIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy91aS1pY29uc19jYzAwMDBfMjU2eDI0MC5odG1sIik7DQp9DQoudWktYnV0dG9uIC51aS1pY29uIHsNCgliYWNrZ3JvdW5kLWltYWdlOiB1cmwoImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5odG1sIik7DQp9DQoNCi8qIHBvc2l0aW9uaW5nICovDQoudWktaWNvbi1ibGFuayB7IGJhY2tncm91bmQtcG9zaXRpb246IDE2cHggMTZweDsgfQ0KLnVpLWljb24tY2FyZXQtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9DQoudWktaWNvbi1jYXJldC0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggMDsgfQ0KLnVpLWljb24tY2FyZXQtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfQ0KLnVpLWljb24tY2FyZXQtMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IDA7IH0NCi51aS1pY29uLWNhcmV0LTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IDA7IH0NCi51aS1pY29uLWNhcmV0LTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAwOyB9DQoudWktaWNvbi1jYXJldC0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAwOyB9DQoudWktaWNvbi1jYXJldC0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IDA7IH0NCi51aS1pY29uLWNhcmV0LTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IDA7IH0NCi51aS1pY29uLWNhcmV0LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE2cHg7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTEtbmUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE2cHg7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTEtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY1cHggLTE2cHg7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTZweDsgfQ0KLnVpLWljb24tdHJpYW5nbGUtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE2cHg7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTEtbncgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2cHg7IH0NCi51aS1pY29uLXRyaWFuZ2xlLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNnB4OyB9DQoudWktaWNvbi10cmlhbmdsZS0yLWUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTZweDsgfQ0KLnVpLWljb24tYXJyb3ctMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMS1uZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjVweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMS1zdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMzJweDsgfQ0KLnVpLWljb24tYXJyb3ctMi1uLXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTMycHg7IH0NCi51aS1pY29uLWFycm93LTItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvdy0yLXNlLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvd3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvd3N0b3AtMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvd3N0b3AtMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvd3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0zMnB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLW5lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMS1zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTEtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGljay0xLW53IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTItbi1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3cgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMi1lLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2stMi1zZS1udyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTQ4cHg7IH0NCi51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtNDhweDsgfQ0KLnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9DQoudWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2cHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJuLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC02NHB4OyB9DQoudWktaWNvbi1hcnJvd3JldHVybi0xLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZXR1cm4tMS1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTY0cHg7IH0NCi51aS1pY29uLWFycm93cmV0dXJuLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3dyZWZyZXNoLTEtcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtNjRweDsgfQ0KLnVpLWljb24tYXJyb3ctNCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTgwcHg7IH0NCi51aS1pY29uLWFycm93LTQtZGlhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC04MHB4OyB9DQoudWktaWNvbi1leHRsaW5rIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTgwcHg7IH0NCi51aS1pY29uLW5ld3dpbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC04MHB4OyB9DQoudWktaWNvbi1yZWZyZXNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTgwcHg7IH0NCi51aS1pY29uLXNodWZmbGUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtODBweDsgfQ0KLnVpLWljb24tdHJhbnNmZXItZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTgwcHg7IH0NCi51aS1pY29uLXRyYW5zZmVydGhpY2stZS13IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC04MHB4OyB9DQoudWktaWNvbi1mb2xkZXItY29sbGFwc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtOTZweDsgfQ0KLnVpLWljb24tZm9sZGVyLW9wZW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtOTZweDsgfQ0KLnVpLWljb24tZG9jdW1lbnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtOTZweDsgfQ0KLnVpLWljb24tZG9jdW1lbnQtYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC05NnB4OyB9DQoudWktaWNvbi1ub3RlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTk2cHg7IH0NCi51aS1pY29uLW1haWwtY2xvc2VkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTk2cHg7IH0NCi51aS1pY29uLW1haWwtb3BlbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC05NnB4OyB9DQoudWktaWNvbi1zdWl0Y2FzZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtOTZweDsgfQ0KLnVpLWljb24tY29tbWVudCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtOTZweDsgfQ0KLnVpLWljb24tcGVyc29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC05NnB4OyB9DQoudWktaWNvbi1wcmludCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjBweCAtOTZweDsgfQ0KLnVpLWljb24tdHJhc2ggeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc2cHggLTk2cHg7IH0NCi51aS1pY29uLWxvY2tlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtOTZweDsgfQ0KLnVpLWljb24tdW5sb2NrZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjA4cHggLTk2cHg7IH0NCi51aS1pY29uLWJvb2ttYXJrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC05NnB4OyB9DQoudWktaWNvbi10YWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTk2cHg7IH0NCi51aS1pY29uLWhvbWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMTJweDsgfQ0KLnVpLWljb24tZmxhZyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMTJweDsgfQ0KLnVpLWljb24tY2FsZW5kYXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMTEycHg7IH0NCi51aS1pY29uLWNhcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTEycHg7IH0NCi51aS1pY29uLXBlbmNpbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMTJweDsgfQ0KLnVpLWljb24tY2xvY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTEycHg7IH0NCi51aS1pY29uLWRpc2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTEycHg7IH0NCi51aS1pY29uLWNhbGN1bGF0b3IgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTExMnB4OyB9DQoudWktaWNvbi16b29taW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTExMnB4OyB9DQoudWktaWNvbi16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMTJweDsgfQ0KLnVpLWljb24tc2VhcmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMTJweDsgfQ0KLnVpLWljb24td3JlbmNoIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE3NnB4IC0xMTJweDsgfQ0KLnVpLWljb24tZ2VhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xOTJweCAtMTEycHg7IH0NCi51aS1pY29uLWhlYXJ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xMTJweDsgfQ0KLnVpLWljb24tc3RhciB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMjRweCAtMTEycHg7IH0NCi51aS1pY29uLWxpbmsgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjQwcHggLTExMnB4OyB9DQoudWktaWNvbi1jYW5jZWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xMjhweDsgfQ0KLnVpLWljb24tcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xMjhweDsgfQ0KLnVpLWljb24tcGx1c3RoaWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTEyOHB4OyB9DQoudWktaWNvbi1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0xMjhweDsgfQ0KLnVpLWljb24tbWludXN0aGljayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xMjhweDsgfQ0KLnVpLWljb24tY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMTI4cHg7IH0NCi51aS1pY29uLWNsb3NldGhpY2sgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTI4cHg7IH0NCi51aS1pY29uLWtleSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMTJweCAtMTI4cHg7IH0NCi51aS1pY29uLWxpZ2h0YnVsYiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xMjhweCAtMTI4cHg7IH0NCi51aS1pY29uLXNjaXNzb3JzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjhweDsgfQ0KLnVpLWljb24tY2xpcGJvYXJkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xMjhweDsgfQ0KLnVpLWljb24tY29weSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTI4cHg7IH0NCi51aS1pY29uLWNvbnRhY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTEyOHB4OyB9DQoudWktaWNvbi1pbWFnZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDhweCAtMTI4cHg7IH0NCi51aS1pY29uLXZpZGVvIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIyNHB4IC0xMjhweDsgfQ0KLnVpLWljb24tc2NyaXB0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xMjhweDsgfQ0KLnVpLWljb24tYWxlcnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDsgfQ0KLnVpLWljb24taW5mbyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0xNDRweDsgfQ0KLnVpLWljb24tbm90aWNlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggLTE0NHB4OyB9DQoudWktaWNvbi1oZWxwIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE0NHB4OyB9DQoudWktaWNvbi1jaGVjayB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNDRweDsgfQ0KLnVpLWljb24tYnVsbGV0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTE0NHB4OyB9DQoudWktaWNvbi1yYWRpby1vbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNDRweDsgfQ0KLnVpLWljb24tcmFkaW8tb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xNDRweDsgfQ0KLnVpLWljb24tcGluLXcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE0NHB4OyB9DQoudWktaWNvbi1waW4tcyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH0NCi51aS1pY29uLXBsYXkgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNjBweDsgfQ0KLnVpLWljb24tcGF1c2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTYwcHg7IH0NCi51aS1pY29uLXNlZWstbmV4dCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNjBweDsgfQ0KLnVpLWljb24tc2Vlay1wcmV2IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE2MHB4OyB9DQoudWktaWNvbi1zZWVrLWVuZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC02NHB4IC0xNjBweDsgfQ0KLnVpLWljb24tc2Vlay1zdGFydCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQ0KLyogdWktaWNvbi1zZWVrLWZpcnN0IGlzIGRlcHJlY2F0ZWQsIHVzZSB1aS1pY29uLXNlZWstc3RhcnQgaW5zdGVhZCAqLw0KLnVpLWljb24tc2Vlay1maXJzdCB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNjBweDsgfQ0KLnVpLWljb24tc3RvcCB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4IC0xNjBweDsgfQ0KLnVpLWljb24tZWplY3QgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTEycHggLTE2MHB4OyB9DQoudWktaWNvbi12b2x1bWUtb2ZmIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyOHB4IC0xNjBweDsgfQ0KLnVpLWljb24tdm9sdW1lLW9uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xNjBweDsgfQ0KLnVpLWljb24tcG93ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNzZweDsgfQ0KLnVpLWljb24tc2lnbmFsLWRpYWcgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTc2cHg7IH0NCi51aS1pY29uLXNpZ25hbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xNzZweDsgfQ0KLnVpLWljb24tYmF0dGVyeS0wIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTE3NnB4OyB9DQoudWktaWNvbi1iYXR0ZXJ5LTEgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMTc2cHg7IH0NCi51aS1pY29uLWJhdHRlcnktMiB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xNzZweDsgfQ0KLnVpLWljb24tYmF0dGVyeS0zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggLTE3NnB4OyB9DQoudWktaWNvbi1jaXJjbGUtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtbWludXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTZweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLWUgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS10cmlhbmdsZS1zIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXRyaWFuZ2xlLW4geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTZweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1hcnJvdy1lIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTExMnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLWFycm93LXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTI4cHggLTE5MnB4OyB9DQoudWktaWNvbi1jaXJjbGUtYXJyb3ctdyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS1hcnJvdy1uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2MHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLXpvb21pbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNzZweCAtMTkycHg7IH0NCi51aS1pY29uLWNpcmNsZS16b29tb3V0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlLWNoZWNrIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOHB4IC0xOTJweDsgfQ0KLnVpLWljb24tY2lyY2xlc21hbGwtcGx1cyB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwOHB4OyB9DQoudWktaWNvbi1jaXJjbGVzbWFsbC1taW51cyB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMDhweDsgfQ0KLnVpLWljb24tY2lyY2xlc21hbGwtY2xvc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtMjA4cHg7IH0NCi51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXMgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMjA4cHg7IH0NCi51aS1pY29uLXNxdWFyZXNtYWxsLW1pbnVzIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggLTIwOHB4OyB9DQoudWktaWNvbi1zcXVhcmVzbWFsbC1jbG9zZSB7IGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMDhweDsgfQ0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWwgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMjRweDsgfQ0KLnVpLWljb24tZ3JpcC1kb3R0ZWQtaG9yaXpvbnRhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNnB4IC0yMjRweDsgfQ0KLnVpLWljb24tZ3JpcC1zb2xpZC12ZXJ0aWNhbCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0yMjRweDsgfQ0KLnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFsIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTIyNHB4OyB9DQoudWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMjI0cHg7IH0NCi51aS1pY29uLWdyaXAtZGlhZ29uYWwtc2UgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODBweCAtMjI0cHg7IH0NCg0KDQovKiBNaXNjIHZpc3VhbHMNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKiBDb3JuZXIgcmFkaXVzICovDQoudWktY29ybmVyLWFsbCwNCi51aS1jb3JuZXItdG9wLA0KLnVpLWNvcm5lci1sZWZ0LA0KLnVpLWNvcm5lci10bCB7DQoJYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4Ow0KfQ0KLnVpLWNvcm5lci1hbGwsDQoudWktY29ybmVyLXRvcCwNCi51aS1jb3JuZXItcmlnaHQsDQoudWktY29ybmVyLXRyIHsNCglib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4Ow0KfQ0KLnVpLWNvcm5lci1hbGwsDQoudWktY29ybmVyLWJvdHRvbSwNCi51aS1jb3JuZXItbGVmdCwNCi51aS1jb3JuZXItYmwgew0KCWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsNCn0NCi51aS1jb3JuZXItYWxsLA0KLnVpLWNvcm5lci1ib3R0b20sDQoudWktY29ybmVyLXJpZ2h0LA0KLnVpLWNvcm5lci1iciB7DQoJYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsNCn0NCg0KLyogT3ZlcmxheXMgKi8NCi51aS13aWRnZXQtb3ZlcmxheSB7DQoJYmFja2dyb3VuZDogI2FhYWFhYTsNCglvcGFjaXR5OiAuMzsNCglmaWx0ZXI6IEFscGhhKE9wYWNpdHk9MzApOyAvKiBzdXBwb3J0OiBJRTggKi8NCn0NCi51aS13aWRnZXQtc2hhZG93IHsNCgktd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggNXB4ICM2NjY2NjY7DQoJYm94LXNoYWRvdzogMHB4IDBweCA1cHggIzY2NjY2NjsNCn0="}},"time_used":54,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":53,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/translate.yandex.net/website-widget/v1/widget5d1f.js?widgetId=ytWidget\u0026pageLang=en\u0026widgetTheme=dark\u0026autoMode=true","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.996Z","timestamp":1785135591996,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /translate.yandex.net/website-widget/v1/widget5d1f.js?widgetId=ytWidget\u0026pageLang=en\u0026widgetTheme=dark\u0026autoMode=true HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 54ba5c5119b949102388861d09d40ae6-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]}],"data":{"size":4511,"size_decoded":2007,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/use12.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.456Z","timestamp":1785135592456,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/use12.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 92976\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: aa4a821aeab87f81467bd019c4eae90a-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":92976,"size_decoded":93319,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"6f6835dcf53ece8ed9c71a22491a0a78","sha1":"992044c246f237459561035f54a2f9147d6c6fda","sha256":"c1066236c988e2671de2b1412b7594c154634eeb0b03ba4bc34a3acc85d7a7bb","sha512":"de5fd832bfca4393bab6156ea92169e56a0774595a4c9745a9bd17c3e73689584b66966158a4a765e30915e7f425e70d31d642367de6cfe6f18c3a2ee6125d12","ssdeep":"1536:a4t/Y561zEt4Ewel50LwrJ817bffKXD1OtBj+rgLXxsQmxv+LNYMX+lA:blC61zswecC8b3GotKMdmp+L9R","tlshash":"8d93123dbae7a33d069d9ea3fe1a284857d24c9520b7852cc6c96c35e823d730369f15","first_seen":"2026-07-27T05:44:01.773054Z","last_seen":"2026-07-27T11:04:25.207823Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":50,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":47,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/use13.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.458Z","timestamp":1785135592458,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/use13.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 94744\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: b45f3696cda70eaef45dc624f3108426-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":94744,"size_decoded":95087,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"5de42645f98859c0fd5b9b55d1fb1e8f","sha1":"1c4cbb05f372fb514c16733138f23c255c5e87cf","sha256":"f98dbd7da134950f1e3b3ddc37ea4b7177d45754cbd482d102d36882aad54376","sha512":"909c0b7cc901f4419216a392ec1cd0d02f247f89c591ae8c64482d3395c8443b379cd8c239c9d62174aa7b4c692a8f8bfc42dc8c8ff046ad2d34ca9efcb75410","ssdeep":"1536:R8piME6Synrn4AkUbxgQWScGL27uwtMFpRdGwfxI4upBTgtsbAjVz1De3MX+0j:7BEMVU1Wwy7JtMXnGssFbAjVzReMX+K","tlshash":"fc931344f499924cdf355f3b20c4fb5eb6614553681b3de332c425446790aac9ce62ed","first_seen":"2026-07-27T05:44:01.855978Z","last_seen":"2026-07-27T11:04:25.205198Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":51,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":49,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/css/real%20estate%20(1).jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.805Z","timestamp":1785135591805,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/css/real%20estate%20(1).jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 101074\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 8eb377c44d91afa300915bc830dc5847-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":101074,"size_decoded":101418,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"7881d2e549b1d7179b15a392e15c0841","sha1":"dcad6c8d9f18abbac4e1bf6d5ae37a4d6e648a49","sha256":"c403d570e4a9885381997892788ca927f6ae55173a3a281c1c175d84517a8cc3","sha512":"500970934edd104bdc1de3bd050abf17648737d9a828d086bdf4a59e0920e661e7d2f267ae639eb32bbf5bc44be865214dc39ca4186404bbfd001685d6e8511e","ssdeep":"1536:Lc+0uiXHopxAKJwcHywgz4qtsmK+qcW8/yZ2SryH7seiHQ5N/PPheqT3SaC4AYVy:LcJXHgxvJwYFt0DW8/MiH7se+QvBQ68","tlshash":"3ea31204c09396f0a514f03fb39d563199ac0b6bf9fd1d179e20858bbe55ac89e8b7c2","first_seen":"2026-07-27T05:44:01.819111Z","last_seen":"2026-07-27T11:04:25.194918Z","times_seen":4,"resource_available":false,"data":"UklGRsqKAQBXRUJQVlA4WAoAAAAIAAAApQIAwwEAVlA4IOqJAQCQQAOdASqmAsQBPk0ei0QioaEYXBbwKATEsbbLU3Ol3xLf/r/4zb+ymxeDDKtjlDpBuqX+Z2AWY7Rt/xvIx+r/8TzUOsA1b5P219a/S9GXyD4gfdfyPrX4VXVP+bzhfdO87/1P2799X8j/1PsWfrx6lf/J+2fxG/vX/Y9d/7g/t17qX/l/ZL2iPR26tL0kPNo/8/tY/u3+5ntrYMB5j/Bf5H8jvM/8l+gfx/92/yX/H/v/uAf6/+t8NXUv/f/2vqJ/Nvwz+5/wH+h/7/+I/eT7m/xv/S/y/5RejPxV/w/8L/nv/b/pvkI/JP51/m/7b/kv+x/gvhI+n/8/+h/0XgUbJ/lf+3/ovYL9p/rH+9/wX+e/9X+i+KL6j/qf57/Neyf7//m/+n/ofzA+wT+p/2f/d/4r99v89/////9+/7b/zf7P96/Rv/E/6D/1f6v4A/6F/Yf+L/hP8t/8f9r/////+MX9L/7P9P/uf3T9u/6Z/kf/L/nP9V+4n2Ifzn+1f9D/E/6L9tf///+vuh/9v+o/fb6S/sf/6/29////z+3T9j//J+1P/8/+ipHEun6OBDsCGLfgjD//AMXpUV1BhISEfrbavX8zV/tOFYu5gciBcuL4obxGJ/1FN4izm7XLuIPh+NbQDv02BAYBeuoybkOfMrxyAoVTTcjQ71Ld9Zl3lDc6rpd5cFqm/vD1kKYw+SX/KSM131U2TEf/cjSIRY26u7VqRKuM51M6tq2aEmAsP5Psd5lsnu29rjfRgnzv7rT1xP+Sx8O2OQ02k2JiSBPMII6BNyzo0xE2TwUNPyuztaDeC6+XKfRXM0G18YNIVZ9XSc5gbnwTE9ylJQXW1CjnZxENe+gxAhb/BmpX4+qP7HpdIcA17uP5VECs1Sx+wuXWh/+t51dGo7VdC6+FEwNhNgxyv62/rf9KZt+T5SwaI8kXyuaOUZUiGO96ZlbXsqol37drjaHW844qWgDX45cWZejD+Qvc+x0HNy0HFJUbzmwaM05ttfE7D3fL9aQF/vzxf0KoqKVynT8hznh287c2X8YgABoLI9nYn0yDSl7SaeDoEBTXNmqP0qxwTxa5xwyaVBOnzVcXK//SPYp4ku5JO2FT+MbXHtvG4gi0a/8khGKgd0R49uRs6KPdEPnT3yo+M7b9u/H73PzKsR99oxmELfpXYdZHpCH2AgpwzFQe5G7WO8BdECcIurnugKZZn1BHZ2kMYu9KNaIlZVBBEJqA89F+x04IKNJLP8MSeuJIldFWoBkzyyoJkszReMQ66BVqnYu+0GW5MCUxW6p6Xr5WSrHtp0QW0zxOfD4/Fl/0nFV3kVkISjGXEWRQ35KqaLjAhW3oJdXWGaPhd2eyv0PjInhu1vuWaR9ZFP8FI3EdC8tAqUlq5c3JJE9Uuel64yiYcjOJwsOtY5zlbunRQztPsFzjQYDdb50oNuD5k89nbpkl4gL7KvWb03jA1RXRJBIS1JjzDhs41wiS6TW7JDwH31HriPZ/P3ztya2k0VrtuugtKKTvhYDEtdF6fo7WNZvOdJWYAHtLB+wS3M2jtexgJJjxu9eqpjrzvpFvm72SRslSv6+jGb7klKb+H5uR2Xe+TWl3GTYeTYezxOY1TXHkDpbFcLJbsXpdjhVlxwn8cGKOkXpZEbVZHL3B8k76ym3Q2RBDYnqDRALHQwtwA3n2xFGqtqcIQunqR+P6dsglu6O40n2FsXNjZrai0FBsGRvlaZZ6HgD3rEhUpcMlP3a3WGB3Sh3Hnkhbbsx/7S5WnIAKweP9XCvK1AuvD53xVBNE5TKNzXg+uobOE4QxKHZok94k3Vayao+P+fhvh7jxiU2cuZeoPtApVEN9qxFUa/p8JX9FAfaBxzdnJMX2GfBgGD1htg+cub3TlhPROeUZdyYTOFZQBGmId8jJipb2CLZR3vOhEu6IirwnNRccQnHKGfnj8KvdXA2Sl+3m0jqqbhrPWeN9Gner3lBjRumDo21CSmoGvLiAiNyeDjL4C69VF2MLKfmJ4k5pAZuk1D1AL9tX/3bsxOuOVjwy6o2f0o6a5tpM3BtjtmEI5l7Rv6wM+KHzDRaUeb7/w4itfzZgZAGnbLaJFxN+gjStLFBh0TXpU6jatO65AcU3WSZEI1/QsiVBTx+4rYMhFXDK8b/2/0LcAZ0qqxQHxNPmPwVvF9w1QxJf17tpplzHtzsHQep02x/BEyZ9bgqZKipVo0dHFEaC0S1ui7RlBYVJa4TE5grJm/Z8M0tKnwNq+2e6U0M8bbs0sLVnKnXmblUAxvmzDm7LKxwWcFK4A1IIVYx2eQ1lR9Vwi4cLJKedrmzPdoWrB2dqP0yr0aNnHTimk//jOB1wqjjyQhgUEwtQEOWT2GshA4lOSU8Peg4S9INPs4JD+U7+5r3qll7URxtRMmueteySd+kaC/JcGpR3R9z6AEskgUw+LP8h+gTW05J8bvBKZrJ3l9TXlYAG8k/39PkSPPNreRaHVoiUiyyESqydciaz/rRLFilMWCgcfT6Wf9lARZ5mZHhQQLHgCBjfF7LGbq34Tms+TcE3OuDLChc9u3e67q7QDNeseDQwVb8vk6/6VaN4cHPt1amxV9+VKoiE7AQs+GmUA5Nh95o9v1Acc4mK4wpV3uBqJlZLllhBXySUwxBqKBTVf+YgRWobBVJfzuCvEjWXgbjbqrbQuryst6jG681DzEujhQxcNXGOhAGU93ApvGj4dvb1uYpGBLl7fuEGOHG/6kmXcRz/4J+PNe7L17PP2H8CHCPmpPWKrXEcu5s1wr4J9xr0Oyjfsn1LAR3huBw5nATzL5YtraFos8QSzZerRjd6frXUPQb0q1VccRbLGATQpjnC60vatYyZ4I6QgCjwS+uFEc6lB7MCKqSYLYRRR2wh2DeHrb30AHuF50jfP0NfPp+nWpYWAfrTGT8aonZPLT9Z7O09NVSAy0+HWV4Xy53nDLO/SDufnDDT4bksKW9lenuRScKtVcTpRgl6wTZNbnLPN7TpRnrRdwsVZEd/942cuO2N+ov+VbRX2Sn6XPHazJ+4o6FVwqvslWtZM/fdWB2DjARHSRcuJYXc/BT1kyvxHkXneFWduY9YrBdKlfjFGavTrOVi5WE0vKsTY4l4JPU4mjkZDDQZ2S2sJMAJTzKsR8qblKNyHz7l9rtVMwD+jHnb9ojsNfMbd6w+jwySkT5snlaaeJo7ruEbEtzNmZZvsVA8o/uwuJEGCwir4sM5zyuo92oa4LRo6a63PXAfMs3DhRwFUpQGK29bWqSp6F9kqa/QHnITErmVxOBprP1a9MVO+K5UZGs2U5Og0vzDC/SqyGlzSQUXhjj9GwsqZbw4TzvyTuxOYqlk05C0/S/bipmcO/M4NDtRlgPUDEX4oCM588hruacUI2T0Z8LYG92juNol79cYqMlmDWPzw2+SidbxJY/1c+C2FUHU83mDpiujoRoF/fycTLjdc1X20ePopBmA88soDNGSmpIDM2gl3gOHI/4YSnBakWxfOOui7q5aXbP5qo+iuiFBFkd7OZPE7fzjakcGBW5OsJRrX8iNTAdfuQZYQSzJ8QU271gZGlzzpulh1rQl9xGYK2JIvmFJFxK2aLu8dLZ/gf3O83zH6OTcHCFc7K0EIuetaVk5B5ctAjpDWddtwZRZr4Ren+UFSSoBLp2Hp4Ggd3FUU0Iv2jW+nCu0nQ6vnemYnFCWljfCk3+P4vieEmj5ph7qoK4ok5akhkablgCIgfCt2zuXNOsYY1B6f3ZiCtVLSDD3bxVhODPplmmreoI9Yu8fWxqfVzsc3qBtkX6vPvMSrDuX2+3rlTgzhtc2oge0JfvEf+hNvZywukw6Spjxlmre69DGmeW7/6ky6K9G+caW1NXUjRp0js0hM6RhKJ9MFCUxqFP1YmxamN8iAa2X+QQdqeLISib1ahzi5qnn/kVqApTch18trc9fkL9zxanXbOpavpaoOpbHTrZHSBjrPoBXlyH99jCshs7n932pClayFCqqn42Ww0YQ/1f7M0kFE6YftJuEkcCbxIX3wVQh53avxr7wfDobOYZ41aLRMk2BJ452iicpgyaclKXQzdiOu0ymH7UMb29kA8hz6xoOSLyBumX9UG/mm7zVF0jfQfgnubBi9g3nNABVCJX9Y5UL5uAsf43HiBKrswgrBzrCYHpxJfYGXvRnOlcDJ8i1UDSAGyB5Z2cOCh1QCYjwkPwGIeJK/rIqF3h0RtfQeRRlBXrjcIx4xkitcTeEAtyYSpxddDlD+h7wkWlaMFk4VY2jy3/uFkGm7tBwT/Z++SOpv8sbFeN+52k6iN5RoxQw/dtTkvZ5dqmFdkX0KTUEV0W425fC7A7fLD2v9lAPMWgHoMWYnBIdvv7eSRdjHj8OnRqxNJskfXOS4mQp7E5mWR2ROnQty3xb/ADztySpS7NsV5hcSGscwP9swf2Vq2zsK7SRx3WHnqtfDiBp7HFp4ic2dXVI1Xd9Ab6Ap8rT6E/4570dVgHv0j962wXAaFZqmFMBs3iSZzHlMfkf/KSIo5zlnJTsLuOpK6VtZVok6PriM15U7h2tw2ZShvdUOxpRh2lrHdDLrAOJKC8ukukUXZOTmbTrKBuPm/lT8hF+4XrjEbBcRfzkBO7hxphIXJvOdrWJ3xpqGlAvq+yflw4Vjdx4InvIf4Z+usFZyQwkDIPsjTA/eYqwKDtbKdOBU36Mt7/2AQ9LlQz87WhQLCnLCrybwsKua8MgJdkLid2E6ZLhRl47HWEWdtjDTu2qLK56Z87beCgryPZzm6GqiS1MT+SyB2eGAu6mGpkt9mmdDd7g2AOAd0nMMfUh6bnsqi3BrFsF2RRJSCmvHY98Sbpu8oWc3M3D5sCNNC+yiFMdYU22hHHJmSCEUMKb5OMOnI61VzK2I7cmsnmZexNoiBqPOWm2ZLsImp71D5RXz7cPXxXKR5NCJOQeW5g65AkNk1rrQItRxRkBrgOUjg42yf6LT5nn9Y4xS592wxy5B5hxwYYQoh7SYg03jl4XBVj9a/6UhaDxi6VbDUgGgJlr8sU6uxTtW/BWGLx7LYExYrbdnNmFq5Z6u4rfEMkyJSM50Y4lXLNSnFpidDNvct9ca7MK9crfGgEccbXI8dnpO8qvgY24lbWtR0xBDCp0Wl2zYKflZYA/gmrlK3Wp7kn1WJC1BdQYZnTCeG4x8hNlNG36MhKolRbioEL/5Z8VA1TUiwt8EHsxF8NOj5bz4d909mbIIrFVpY7uAwSec/GmhQsJVSzXE0kuCKd55J4NFb04RtkyXtRlozcVsVz7vR8yY+qh3wEBtvl9dU9vO9PC6a1lHD2IA2k91eUY99T+zURTVU5+jURJuE3PVqEYIosUDt2aVELdf5LIrGbKKI3Fh1flnP7YGDOzLOXVxXJpORVA3dcabbmOwPk1ezaIbkSXR4We9ytCuj88dB5Zext84iQHCnRFWx1/THcgZiXZTb/uc6tM4RnXaxBuDxHlch++gr2UTmbJGWbWLBmWFlRmxuYARi5hlzQ+AD6ELyoJ0QOAv952EA98JD6uGp67amXLGN9mRfmm/UsfADMsLfifMk1q+Y9+1kAXwUXTYiqTsr9q2jUL/izWTVB75mRQaeHBViwghYayDX9OuGybqFfk0wHcCBUV4xdoXcBNo52qFw+svrOWzK0isZbRNkPsdX5uKvKo5KyO1WZC8/xLEgBSVRJ4amRRC0uL8m7UgBbyzKqFVI4mRqJsEHuVQAmxk0Rt7VJPCkezIUFMQm+UrMeZTsllaNmQMXGjahfwq/EGJercz6BEFhv+b2H28Hq1HoPP5R7rnt32Ai4ZypBUNoOfEBSGEnvwtjRXaTLXa1NvizUU4O1i/MOcmxQ8ccLNA3VQxyIwJVVqsGGMbjfNKr9NBLOOb1ipJ/A+Yw8WHtBtUPrTz8JS55AEe94l6HpBtW3AF+bwP5jAQt8MyuUsHp6JyR6Dyn8fsI//z39KY64/hrSYvHatifTCAIoi4YaEAIGl2yf+E6oVbDWu0S7rLp618jISrkUjn0KBXfogOAfYoD/wICVnLH0wCVHKuR1KjqxvvpwW9HF8CMSA7KF09G9O7mnZ1EtjZjhhWi0lFcywGD/yE0jxLlMr10M+i2dHB9+S1MFs6EFjbULmkyzvojCvVDvwf9UdtQDXCTbr4iUaOHLTnprxz2Ts3I81tJtF/EM+YZUCHOQhuyzZqbIi0qs1nbOvmzQIHXXpEIDcIsx+b2QnB2OlBnp1a+58MtWU6s/Spb9tTcv4UDL4q794DW5nbnc1EgNlw6/vQjtECvClfQponjTSCw+yTwMcwNdH38ecVec8fIlm39LcTy2A9n9rqgyoP2NnytgUlJEMkvo/oy3PUdt/kWXQFAoTv9R0nMKrVLL9x/ZU2ZCQoANei50S4HF6LQ/gEE7HXamgYpxvzX+Bsp6sLGG8ZEyzg1ip8FaD7Vunh73ga3w73W7tph5jbxdAF0XpuXawoqg+0z6kjYgBWFxETPsp7DwWSVTJ70htyDoXCuYDvRWQ+7rGEceepETdys+wVPiMccYz8q6H2k7iUmjadFIbVCT7NMHxPeWuYUI2QSl/8l/kL9DGbrzqEUM6pjFm3BzGDWhkwbmqsSfCWuPCMRq8QOwHYnS7mYH2fL5bR8wJxf7nusKOtBybNuZhOJCb9KOi6YpqVSxwFL1STo75hk3NNu+PIqPHeRJdG43ZCPr2KJVO92jtvaPxRHqn6g9evLhduASSYWarlEKEywK9BOKT/0Xn8Rp2KckZj379v0xe02kFDcxMyUtzzRgA6nvuYfLCZ+cS2DQWAYfd3/37lklNkVMM/+DNOA8eehRzqcjKZpN+LRzqkYtfLxhghQ8/NR5cSceF0c5XEUs/kzk0krRz8nRw7lZttDINq66sZNKlhJQrU8+ke5sPp4gZO3VVAgifzJSfVgOv9MsYEPvnAmpNAiP1YH7YaEDnGpzBRwDpJByJ4jz9asTEifKN9ry/Mf6vTv+k2njT4s1yeJkpbb9j/hyvnRuWG50OSlTsKnJ2M18xgnThkQJj+eRy84Z/bpIyb8SjZ48idyyDPF4LfuQrMMeQJC55ADJsmr5or2YpeDvKEhUtev+jN+l/tuIo1GPEW42Etg4xLw51zeOpQdoBJ033VzT/+ON+MSqS8AsHKJk9atKAJTQy3lRTLh//OEkBv9E104Eky0gytBOnyKMzP1Dh6GoJSEuQ/YEdM/9EOTZUSP053sDj4sRm6rgBKBU2S6jlmBiKPLysH/yfo8sGdgBilJORl0hvQdLUFh06dmRx7V3x3kjJ7isGhFT5lriBwRtk1izOPSXJ4Sg/cELeRLPS38/yhITQ9WmYNRis/Uv/bgaXoXYVvhoeomLn5PaGh9jHiZkzPskjF9WkEwm983zQq0+P+XLKiwuB3Q6qPW6isUJ/rs6KFVKM0zhuMFhwNOqyHfiBELZ1qH36cuOyr6dQlVncPOQYy8wzdWQrPP7IEWotGpIA6nZr3+PfZCiPx1JosQk/rqJ4FW+0AmrMi7B98svcBCa/2Dl243H8rqHw6sH/h6bv+89jOII4KGFn37ooXwEd0Oa6mgcZqmuNhMHHqDXIsUf2E/tlXrq70Q1eYujLBrG3j/mLgKbjguIXbU5LmWhAre+B/bg6haUdWX8m6z1An5cIM2ZxdxiA1vBmh7f3alzlaDMp9CTSny3b0qNtuUoJvpkfpvSEtGqppHMsEmmK2ERyGv78kWBFScy+bZ241OxGY6Nar1H9iSdp7BrdQl/VZx4nzILMDb7eHJeQ2oJeZIEpkhYUYxpyUwCn5/DfTkiEEM6xNVvVdtU7yzlcT5S9bY977vMMs8EOuRQzuSQZb0alBrt+AWplULPM8L921X/2OWpGRh/kgLVGfNT69DniBCCQZP5NSPdNNzsOZ3jkG66++ri0zk/ZzQ+rxfopahZx18DgJV8zoZLRCNs3YgxD9tdb++p6Lhal0RPa8szcTyepWKv6s4b1CJDf9iwgwfbyJ0u5PluNq4qim+LxHPIDHynrAIt1ih6NH48RjZ0nuq393FZAeYuwp9p7GHkMId/PJBzULw74MbAHZduLapBbU7UZP6+imevHSWzhxGmpfsrKMx+j7wWzWtP3my9CSseOvxsCT560z9Xkd7L3K/2PNvqP4rLuJlhqvi2rF/SXAyjWrfbl9TYGcv41SVcErElaRocL4K3ZmTM0sCGZJN2QMyucmlBZ9+ac4xgbx3C82rx9SM0zMjnsQnDgqOj4W+/22z5+Lphd4H5Dw0hyQ0tUEDtoCWU2kQ8Sih9VrOLlynl2tYOOhzuVD03CEqy5YZiyvl7GHyevHBpB18UW/qHAkGke/MTyUVlK3kgQh/M9dbu48PksNGB1RotZi3h3PQ0g3PwTG7582QMypJB5+QhQn2wBMUgXGJthZQFAznzA7tpYsRDlf39mmfUKtFtAdPi4J9iX83v6yFHa4Y0erjNmCEJnbqPcQXdADFwnJwD/tOkgn/UDH7L6VEM7zgMzBBDEBitljfbaD2J34Z+qNEfFJgGcTJ/wmW9jCxQo35sZG1ewG02/o5Z4bX/rPjW1WXq8SOuW0vq5gJqmjSfZVZ80c2Z7FkmKFP5MJnfU6LBWHsqE9KeYdkOYzZwnGslXsl8w1Rm1CRLV20LvXYk/UglG21ka4iVcahPmZ+FzrDfijWN0X9Wi4Pc/FV56YgTqPett0l5/t1swAk9yjL4yF/wWKyddUjqZy9GZf6s6twTkLaj2WU2fjX4GPm63o3bcgiXvZOUI64BNtEXFZxrXLirCprE1TXxGxVwwJX8fa6sK6h52cKCClh8Dcy2MfzyEilgu+a9glomHjHPkU+6Fch98Y+DPxe+CzBuie+yD4QjhUu8J9GA6baPgvS2Tu8KWuem10IAA/vkV9U7aTHmTA0qrkqcn3I8XqqWuJuELKSI7EyULifUA4nl0x34rYhJw4bISBDXmOzDprZeBJlv/xzpnyg6+0dX/Gnp/e+wWh8OeThKNlPIU38xRg2Fj5G5t/27CJiKtti0oJaXg17EmQG20tatAR9d2x9ya+FzQDcNmqnx/RdPp+z2VrsV7XlZ2/cJaY+Vd4COj5UzwB2uBEGGjggjyF1hQ/Wji5GYgegRsOEic0oSsPSZW4l402Nb5AGrPbW9k8V19vQHElfmY7lAa1VoNNri+Lf6Y9+WO38gbvTNd3zu25M6rkXHf8Q7pMw+BQwTMzF9h+kx8JYT72Oh39rW3uQ3YfRKW6gl9HTFIyK919bwRc0sb1CIuHV6JfLYApGp9F9xzmgl+0VcV7uRMIcHRv3Y6ed98OzLSKrJH8VebIsgh6kjUKvL0J1isdTXDpL3O0RlJxK04RNJpjg66F62tap8x9Yep2422JsXxPAi8ieO0Es5ETIZRSkwh2mct1zWlrEWV/BvdRFd57liIlkD8C+x/nG7MCqf1w7edl5I62ndVL8NNoJZanNz+r2NEZ4SEPlhCQqskJGvaohFl/QRAe0WfDnHlWhVH0Xzu+fI2xu9pn3fyI0nAphfc3GRHydFzu13DEAwMjqSsykff/0qn/H3S8rJPNODjOS27F7YU44RHpCTiJO2jCedaqxNGfr48UYTlL8+uq0K/Ey2bkR7ONAqhJnuRz2CDrnDBPpbVb4RR+awZnpSAyIBF6/Vup/un5dWb03a0jVV5WuK45mU48tRnaWqzwjuerTbHrAXTxLJeW2YNlfqwmP5c/gNyiYP97V6txKvkk3VHAvYiki9ttub89wFDUQuIGNAWs4JLjSxmBwjU5jtuWnuML+276fPiRS6yL4O8vmx9MV2q623s+DZeZm8u1fI4JKF1zwnpy2G+SkCEbUjqr0foagNoXt9s31TNeuMYphR2us5+ck8NjjCvqjkdh4IZ9RRzZ2m0ZKdbWIRk8zyS/bx7AtaFAOYVVWdZhNShbGokSq0xDAJ32NIGEXb2+Vfst4gLNBraIRAne5hjK4dHDKgfSPh6AQX+ZXRVhOLS4/+0Q7Y0o3LeNDHUnxQZxSPUxScj7zm3p4aBN5kaZqLhPRbmMooHh41KWpWEU/XNSqx9DVAl41XLEECu/fGhnGCYFLawIUbpIrx/np+wnAmqqlmdGrMinO7QwBrAgCkmi7kv8NrQyb6rT2JpU0fESa89bN0mnqx0cYm7aV+SKdwDfGCh6D5mZGZsZa01QJ+BjKcS0MKeqn5T92POvHwQ8k2JUTyutP/MwO9NnbuRMV7km1B5TZGOUxYxx+4e1gUsPZkV4Y4fMffk8Mu8xHxtH6K1P6sXefvFTGJ6r8Og1UWQxnSc4GF3AoxqB7Vob9ublwvhn8UUDN7mLh21e3hN47qmdOSZPDSqCc5Rjus69fBnD99vf/wYRcxKI/m1Jk2CkTGgvH4chyV3IU8zrm68LzfReXDNKhmjpkXxNxw7JtFon/tSuiEyJj4v3AXy0+DtgZLnD1Gw++u37bPC1t+tLUL92dw4DKynNnukO/7wjHUyfZ3q5LgRPCeyVFdCY6VED89a6sRwj7vKM+WILlkgbwjU/KQkoPqsS/S929odzMOelpIsDW4aOckrQMi7hMFXlL7/ROzUosQaaR/h6GKLJqQF1rW/kvpMZIPNIMym/6g3Be8cL0IE2FXlCEc8VZEVbjJvethrLIwbIF8k5weCmexz1r4KVs6C6CDJBbTeEYi/AtL92CTXNrJglAvQJeMK3v4t7knBtXpAbIfH7KczE9MM6RsBX65RoJiqAjkCJ+E/CQOaRTuvqfqRlciK9a0c0dB8Nai0wPej1OF1NJkPkwUkdAilUxg/Ve1n1EGL31ocV95Z5V612bf6LDyijRcRR3qLGFnE2Lq9pMQERyiKlf48qvDpNDjwE/witqAXEHGxkrmmuF123zhtHAlxljO4rIsLxiCSiO1VqtZz9s84Z2eCde1lEDivMWOh9LYh2S5qMzD0KljnaeHC0S+welXhYEMdsabGz5dJuXdQtUC1kdj8RL4slq7L+gx1bhyo2VCmDkE3mEzdaPfLHntNaZ9NfA72nw0cNz/YJ3NWNZIdond7fWR2xGvApYXsWnNl4iNpzLG9rZCv/TO5g8SU3i2II6K8R+1c9x7qcefwJiIamJintksNeG8RTHWFJIobcxkxxLPYXxge/YZ8I8G1RAEvZygDPd1wi9bKlQa90loZOfi33lXHQLFtGSZFRe8Wg86RnwZV5rlyr1+dmkwojqWhDQdcLakG1toUtiFhmiDWG7WksP3Kel4DBTxSC0TN4mui0Lv66DDwuYDTEowfo5rvfWYA4h2izf48a7hlw7+9/pl7J0J9vNyOQrqH7On4xqKPMRBsABfYuh1rhzwmdfk0q/PvMdkF44KyutTnW6dHnFPImzFZ6acp8As5y/HtH+9I+aJ9I+vAqkTuHCX0b/wLOKW+Mhc5gO5MbhkNZJv27uvBu3i3JKUdXRoeqZ2kJobjm00E8cEmvAOgLdqe5xJG0v4FQgCHeNvDgIK+kv9gwtGceRb0+i6g7u7vVL8sFaSgbKtrm83ERSWJfwN+xtscvxmlLskH42WGbyjxTOjuXnaT3/RWT+OyLoki9JEzazgrAL3jfWLWeEqpf91EosHbaPDV6HzxcFVh4x9HWI+20Y2HgvPvoeIJc/Z6HNfyfsfrg5Z+nXjbsXz2kDmKm3T1vHYtOWKcXS02wvhNdIcqbKcC9XbmVKHHcxWSCLf9iR37hLKFdUNp1hEWcg0bnrJFmbxyldp5FCPA/Q5+4NyaESmgyrcM5RfCxKN0LElnKw4AMEQ9FoB3zr19FLwSA6pnP9VnUdh2JsW+LTdiGu+4S0P50x16WLbMD6czt9fwEGOk2giuTFLiNlxFWbzDZ7WrufsOoii9WBZYcTzQzixbCHIMQZa6N/PnfQnldQydogN7oBfMU+hp2+os1ERNTeBRN3Ds12kh/cxeW5JeHmLJjt2b0no4G+IXVlCFpi+1pafU1gnf8MBinBBatULF2yvl5ByUDhxe5djJ+qW8X/txP8AVFhvOjsGbl28H2bU/CRoYjjB8Ifv1xlDMWB7W0LgcBJMGoyIH85+l39hFILlzeCnFwOMNSzJeafx2404FsQo0zDZLUXvxwcboPVdZcsyN8hETZfFKTBP/3smG1GPMxPZPiX+oHr1wpFUDjTD38itOVCRXuUaKXNcsirKw4cgFT+VQYWWhXX/6oIFJtG1sPy+uHoFBLOgAkLp31vD47JzOPVfvAUGfco4rp/BrNxCIldYgZ8oBzMFStkyB0o/JGRRmoP8g/J0Jgoh3xV5gg974JEIKSL1MJ5Vh4GPkGVA2mxpptUNieEOpi/mfguHBWvfdyoWei8lCKcWZHaVIMQaZDrfuULbrD72kClfnPE0b3uUqTecEE50F+B4WrFraaT8+QbhElRVtqBXvNWtjMF19cXXAOeOnocQoifygYaK+e49gVlpv4dP4xSPccHgDp/c78SsGFpfmDpf3mq8DqZ6A0T2H7wheM8AIfkSpFQTrqFxDhOcf8NKWnbqrpJxX1eEG44xSwLHEPZuGSi6W0ZtH9B19ti3laRHX6FGRypCrEuhsuJbZmEeYl9KEd+RwUZYAMIDTdr1dfMJJRVcYV50fbHE4Fm8fEDGxSYmmGxiAWW2xG9NcHPI2Y4On4ObWXKzqFTK6kLV/E0KqmKlTt5LPVrS1Zfnc57iLdKnt1lfGyqyJYSd8AEDqYihbtRnphSkzj36eZu4SEe2hNSLvFr8rTYnyLAEyKscVFj55SPYFH+G1gfHY53jMfFpLgWLxbbFrUH6v3KbeWTSOhqXULAMJPRgKke1Lf7wBnZe7AlzrMSgcurL0RkHBJAaI8n0toklRg0Jo3dY8YjgWaPCvWTRZRD+WpLPK55pbS2fwbJdW9qtKxbVQL95HtgflmaxaK1lkSpJPm3RJPy5Rb+tu+GoZVjCApMF5Acan2E1jH6elxRcdf2RZnLrEkhw5gFwcqvQeSDfJL+owOc20moMQjMJ2nwEwOo0SvHYmVRK4ORIZer/DKPss7s1Ur0W/bQe+N9NMtXUgL96xRX/UE6bWp/tN99vUvhhlskaaDbZVX95LKaE698cEnuilgMSSAGUCVSGrf60Sx+9hbCQFGoDpGkg3yljug2bSOH7183jcPgfhAWl0hSZURiNk/CqYWcP4rP0pKbHGycGiGRmqonhWHw4/hNhRjG7wwxjSipdmjPHOiQKPPrGF1LE/dQhgvBOoPDgUwPRpw5OHlLM+DN7sT7Itbon5fPrHCbulftk7baG1VJbu9ppCT/ZQHN8cKLZ0Bel15yHesDS/nFvYZ0r7j/oiMd7d5arqG6BoPM9SIXJIK1bHWdeLAUfekrr53W2u68wZ7GaqmjaCHi9uaVKlJOv+8abBckfwWIB6yUOy8KVHVbHidOkvn8LjuRPBMADyTX6m8h1xhukvQTkLHEnQtkYIL9EPH+RJF4hanGxgTyb+YL4MjiNEvQwm4IkVPnhZej3eLTdhpviFLNEUO8STGTIXVhu4i2+fgKNGavClYbCIiDzu5KHHbw1/fZKZi9vP3D/49l/VEi25iB7n4faw/J3e6OnhgyZ3mqjOLRPKDUyg5Y2DNb81ohFIK53FRa5QM+P5X0Z0HGvMXsWHZ9juoTU+vJM94q2xxwp18IpkCEkDHbkliPV7Yu/1xAXJ7a2DExeGTzaaqcc5G+UcCsXOCEW9BLp9uY4jGBtIvGbXgzSrplqFmOJLq598oigDmXWsa21VUCbw2+fXarHDI9wta4jciIQbLURTpHr2eoY2aoRvFiJ8sdPoKIjaF5voILc5YoiDavofhB8Zj0GAj0SR5g+DAMLnUaW8hdS/HvMiNxLdM1eynpEOEFgcBxK+tptqnK+1+r1nSHlmupQu3dlJJNhziHi4uXY8zo4cS39Z/R5VHDgb2FxmzyWg7Fpnu0Jvp2PNVjn2F2QmDceq1BcxYP4bCaSQYPYadImnjkZuPLh8PcPBGcvjz8YhEL7PBjOrnmoBrAmLBemA/auCpfmbtlXqbkAYibEvH8IC+a6vZpYejcr1tFHKtzBoZjcp1psMijK41GZ/8Fda1Sgsd3/3kEduZC87RFQJR4h97wHYSJQ/iNHv1ZCwv3NHxHyC5f1V1hvP1yAOMFjrD0qLSVHwMKW7RTup1ujUzBj1vSRJ7t70UizxEx3EwHhcdbCbHSUIUg7sPnfXha9KKep38neEP6Kq5iGiFluXAalEnwbJX+6z8ybOHMjOxh2Ul9JUc719htzx7VEvqxpXCPYgzoG8ttDukReRVO2b/RU781XKghJFJDqaB015rmx7ELK0oWmwIQCVOXfCKBxhgxlOg5BfMRNIoHE+ccAIefc50DLu1UUDmNV7iLzmIM74rZxTXB2MRKQ+VEFEEDYwG47/kiKzMHmfur08n14alXIK4Kf3kzvUsD6bSG4yEdvBiC8C67r8aC9Z/vikuf1ptjW0e6zYX7DlBRqIEC+GQ+xQIQtPQwKssD4ZablwTSZi8PxG0V+zc0vGBUOsQgWTqqV0xUqfHULmN2b1J999A+I9gZmnp0t/X9mg2TiBigsBSz2iOLhY+Beb/BNjspCo1IDYmVh6wGQNUlQpCNg3LTEuO35pjJe81nIb6VxhXIPhBFaJT0LuNFeGoOGMd+bW9bfEKY+bcgGKnr78WhWEaL/qRai3WLgnK+rCxyVMM2qG8Gxj/N9WFUl+KTqPn7eiQLrvEw2DZDAWzWKJCCXFoY7togTS8Xa93teeUVK/0ceflMPJMTDszmiS5OaiXC0+9Ob0z5CdP8Nq2chv6tJmkkPgyrcoe3W1X1751C1NTatHbCvL5TDniAfJ2GHZgEdnV2yabBST7KFTyUhmgT6EDQGH1c5K1roA7S+QPIYEwAKiMTRImM9oDLrZnWP4U+VTEBjQnRjjsSwbDefD6azy0X2thvf9ptxPQCrq5J5FH/tKSLu05AyW+lvUFgoXTNmYJWaXWup8ZA0VwSkRuxo0tZlDdA6I+NJ7hoWL367yfd9CLo7ZjTOIiyvouV1IFsvAG0C2Ji1tKuuWkCq2NJwxgBw94W68TOrFcHGIl7GtC4UWXsHPS5k+hYEhZArIfJ2QFHCmkm/s7IYT5lmdzX2yELyLOCLpJy2JHtnCsqCHfUj6kSZnD1eiibsPEBpFjWuVE/9nCPaf450eLApsYLt346AW7eCRDNuzjrfRewb+Dz2WeW9BqhNVp9B6IMn93FMBtSI8PZWDzQ5CnJhtLjenbSlHx2FoOdF5yhusTmtq+SLGl2XjPr95uhRqg3Dj7YeA4uI1ijIhiRQ6sjp+7AazogNQhBFdGysBD/TNuNZgPQiuslhRgYOHZNEGB3vJnriviAFVi8o3+l6WraRQ+2hHnhE04JwHyFUn3ozqg83Z9WB8quHbL5wRvTKlPPhZvHUxNaEb/8YHwDUwxRZHZyC685lupOQQQUAZ3luP4514SZ3qZDmkhGVEVU9qOVSZMfRmL9rrQal2MYv9/hb0tfpNG+LFMIakB/Dbxumb/M2h8UdSLpa1/ftDW9Q8isc665TYoMB60Qt2M0NaxpHVSfDKS77CvvKu2AjQ6yFY71r5dUDQQj8Rakh9kOC6A9dhUAQEok+yFMGOWwl9CthlFN2N9D6+OtuaCYhReowQ+KyWCjTmvU0I24rrXeUKaHpetzv73DXZhzl13lw+CvF3t1HNIsnE4eno5aUwN2g/gPMfkiMHxEVJvvSISZ5fgV+KWmS9XXrL6NbSdQPlQJRSKMUOr7GAARP6foAlK/dD1YR6iRglDYmklqXjMxJ+vp3nURmfdBJcMGYJjD9ej1vt7CWuRqfiYk5LWvBeTU9eI4/pcihPRxFn+GP6SXtow4jV7/V7oaFFCMR4aHDv0+BWWa0bw/NMZ5JlP41vk4wzZ2Y2QamH0FGf5SwMVQn96DJQPKjIip8AIX95KyOut9IgeOQOPNz9FBSM/JIwZHbB+Uf8WEF5JAwRPFR0KooV49Zt0VHYqns8+wUe9nmQgqgMakRSV4VU5QOAkP3GVRxiyp1DycTtGIDZxFxdn8kZcF9eLmzuBQcjwOVM6uNW3vzvNjB/6qS9ehiPotjBKLJeD/wAoPhgCvSjp+tn+HOBm9atOsyyCwwDg7PH9fmdwxV5ZbdbuJM+c48dIou4svqCjkGnur0SIxz1tZaTJsZWFw3qQS+WishKzsPD8CoXCYTQQHoxYGJ4OLziAe3YdLxVYtqDeeLeLe6BwHJ/2MhKlpTvNFmF1c9hZNlQOugoYOxRILKN+4CFUX/3kX9mi2typeR1b0l8+9jnCJQ8s98/pbMifo9LIS1IWf0dIYvsd7j4aaURT1wwTOmnLPToxQglXTqBgwsKg2eU4AuIuPB6DXQbqVuhO0yRnyMPzY/Qz/fxcXmChzsveAM6aTjJ6PizWC/IWgYv3EmIs9pD35Fnp+ZbOYYQa+07Ic6CbdHYsC8ZcQCe0YMCDUB0fjlsUnJ82fmsJmPCH1qaJg2SYoHEU45n7cM4U4M6AJF0HOZb6qqEto17RfpruPuykDFG8zTQ3GnenaQxWU783tG2fE7D6hoHSyE+pef/6Xwgd7dJiIpotgqSX0V7XcepWGj2OV3BFIIC1T4L0EcdaAq/VvVj0Ys9gJmeetLttug1vefp+sBFwolSaTnP6xuopcQhZHJ6yXb8UcAmU5JLYzCLrYIWvNFgEPIBJBAcW9AXppbm/jZCb8GRowyPQroS8xvMw8Ts+rMicn8tbb+02JBTsiefvbSliKRhHnl4IeuXJZVk4VHMUu5M68w3zz0SMpSe07GkjbSTU/LEhee7nCe4z89KU/inDSIW64sTcnVxoIn/SssKj9PHJrwDfpRKmC8lEY0hWQrNdrxpTPuZIkWDfcnuXi67NbqEhytpWBJ5kGQBKlE26MUerU5CxLRJw7kDnzBgN5DKoRswE6r+sdhaNROjh5PqwH+cGVXabfx0zoBOCrb1JsS3vwTUIKMujWjn0smMQWRF67NmM7vGL2nYNwIag9WnwJCSB0w0O18L7NxwkESrBmdF/8uMP5i/Dpqb40Vj5+oEtrshLsSmvOjoOwZwD2R4JIhuzhr+hPz/bPAoN6Djd6U/2EAzujWhhpl9pXJ6ojbXK8glhU65xBtB4JcjzzFbEmGz8tLhscYDiviu9nkMalKM8PSMNX8W23CxRYZXmbbOIZhGnhPeorIsVHEkrqZPIBD42S7dkQmfgO/5ILKeabF6bCj5JBaR1Zq20u8GOEBH6Oc0FwK0JXP2RxnyfA9o/vRBe9LnEjLJ3a6rgbl+8PEp4fN4nSPyDHi8N8KOwe2y2eR7cwcoT14FcEwN4+A53nMe70DuFRwHnpZeeAbeeMDgeghITnFJvv7rGmIfzjk2zV1BAnq1I/0DURCGHKm1EapPTUQ3PZU1uBL9H2NEMxosWy9ZQsNHBAuuao7DDacP9mmNb3cmtW9M9mdmxI5YUB9fsWA/oJNnsnXUZKwA81odYbQE3FRChAobCr6sZxif/XuU8wZ5GQh8U9v2XK9YIL3f0BnlLSNJNEgK/bq1ZPHZyQeksRrfIuGGVCSNBDGc1w/6pnHBjf2A8NXIw73ywfKL5F/V4bf9eXh7UF98MUNWkSSDyEzwo1G5hHRTF/7LRLkjwGhpE6KyTx/B1CwyNLsIyyYomK/DkJjlrysgwGoidh2mvLWB/YWdTtkz/X1olZEXly2IubvDwCiX4SgXlitGKiFyIpBo7BvgIGxqUIYyPt4cySukLA4P2X9l22qhdVss7pHtdSGSd0mtwIILydJmC13DlA9KO7+51JBz0ciIhdiKsHQcuPncTKhS8cbrdDqoDK01S9zud0f8iJzpIuBFGX6T5L6+Z/7h8o0zFfIRtJQ0DUPYN7zxu6mMppCcPlJwt9K0GsU58J07A1nw6PPuH+vITz8WbYUTOdzQ8xTvG1h4SMvwOlKMhrMoFZ3Dlllyqyq7R3PkvYBlXGKW5giVA9GrmQyt8d7oDg8qOLakQn1TlJA+tquHCO7pglrJqOTrAZHfKHWnd4BNbDvJRTaRx3QBjR6IpYWxWRO4tvKjlzLjsf6KuBKpaPilmBDxe1N+dpFLewmx1jyfQxQj23+d8UPFy8yem5A4VUzv3ReHkL8MeQwn9JeHuPqyCQDStX+s6kkaycsCVyxCJ0xIZx3jCH+5HL8f6uw+e1b3x7U9ZTtOob9Z5/NzEzklGsCrnluhTaFLMAUvMs9FdOtbcxlIyecWobcpJBijeE35c8TFDwIw/+521IxwYdms6/idA2tZQXzy3vTGCMx5+rDYQq0Cwi/3Y8h/Xd6VBIFj/DIV64Z8DKHs0DelgmMcBnj3crNwB3xVtntQXDjohagaw37Zrpm81VPa/aFZRWhRu6S1nHRupZIg6bN/M+hrPU5+MlrHYSrZ7p+opJsfbjPl1Oc/tRamXgfTb9kPOIsZufSRHRRgRuQlDdlnKcJrlJ1WFRy3YDb2z27Jhb/NxN2Kg3rM6bIS2GWh6RmD79BTTkL5JgdAs1PBF/ugMklG7Fi0v2upIIRi9cExgT7f5dIR1TN2FqyKJh7UVrse9/14h2HAphLDIioiflNv+YpGF+CroQ1K5u1wjNY8lNCG0n9jviDKpFDahNVFeDukMoc9OAdCmMPUuR8tY+xBhzIJxr1ZhvIc5KScStaN2qqmSM/GyXmGugf8FqPQAdXKn5uJ7b1A+lqjJVdVtylzm+lKz/T+WSOI/tEwgavK1YieFz1NEMaWK7OlzRWXYcP+GG/g6tR+g+2NfPaedmhYvQiFvTQNG5ASb5Fb1hPVpcQAs/8d5hbKOiKy1552YZhdQZsHB5I8czN8VGfl/RqHqX6HlhZhYxuWa5LeVUOuHoo9u7j8BnxdXInEg5uC5c2alWvmpTPg2PcoCOBEZLDMdSfYFPUMiTTptL/UL6Eb0UTee1qcwdiNRWGwxjSoFZQarsjamomApl4QVq6eC8KcSEVwKJn9TMQvtHESOMBWlPd5BwxsOVe7CLAoV5xmm8gg++rkVDRNU3FWnnE4YCsyKXb3OFWKK/OZV4ZwUYq739ebNzbS2n44jPtCtBp8lyuYfDLYMlk4LhIxVAvA1xWqcCurX/Xj/BuwPlr9iVHu9YunulZjtm38QE3/JcqswqdOFmBejfV4/s7jclcdTSTCwIu+oswwUrLZshVueb8ygTig0hBakc3GtCm/Ry6WvRrF56Y5PQ47GRRa7ULSwlRSfM8c8ykU7vmgBpBJF8upvzVS9iOmgYdxV+5Ft33NTkLfwTIz1vSEUpe8F9hAyO+ANtgwbL7rPu7BTMfabx8nK09ByLJgp/kHM1dYCIMZIPJSvnexAAj/Xiv+oHgnmZzEtsPTB39vvir1ilY+THaTvMpaLWxtCfcznNgELnlwmZUqpCL2TJY+L47xjnBY+jaV3krz/hg5CxHJ1b0DRadpMQM+eaZHTaJ2FLi60qAjgwwQh3yDcaoR9C0BYru9SXmgEd+Lf6AwV/C/Omv0h6c0MixnNQDsrS9GC8bns00VVfsHtpWPrfQCoGgazaKpMGtJ84R+L/++7/x4nOSpvTZ2YTBz9MJSOMV+Z+UqOjNSpBfyek8rQpwI5QF1bgdDu+H8n39FP0AWbpjMn1DTxu14ZGZmSf9DvaR/GhuJnZC38yCOBJkR/agO5uM4lDM8CNnXt9kkB+McQ/y7E2Dm16QCdW/sP8XAelhwslzWsSQjyOyWlwz/DO6yqI84R+oPiQdYpooxolHBQxhqtEdAx9Qtt2QbKjNkln/U7m6H1jf4e2EmebK//fYDZL0XH8Hx2I97xDQk62jRmNLLZuA2gnrRLx2uRYprwXaf2dFvYsceFqJAiqaQ2KkF/2Gs5ASG97bmhpQgC+wj5W1WIjymdz7MpQZyPxk01adRQpMEutKSxLF+p1zS2xK74/O/ef5nMbycOO9oHRpsRshxABttH7NQ0p8oUCFA5AcNgkxGRhO5Gh9RgmrkIhHjZB+5b/MCeAPpTAh/PBFvjFVdB4D3cTGXG598D0pMnD+HfRjU/lihk8/hp5BuxRqTXA4rmJM7OdTy5wPlocXZiHpxH/6CAFktfJG4ISbc7B1kV/7drfQQDpI3UDs+pbnAn/Xw1Rt79lhQIa/eAV4ow61vxQXn1Pcomtlo1p2ImxL46naPBDqKqIK9dWFbmJdZvJO8fBw+8MMkj142neCgjw1wrq5PKjsects2wUyK5EnMOeCtYCDDgBIfsyQqs8B+FA91472HJ8smp0NPfJl0l4M1HUFNsdhVEIZbpQIXJxB0OPSLsDzJ1gHCDSjixV37X5U10dDyCS8CkpBYcuxelR84uDEdz363iKYt15mBVSveRCqVETz5HmQJVzYNxFrcR70MyvMKx6m1Eg4y496wnL7zZ4GWFWQ0SpMTQk9dNG6jTbomL9DF0/b7WSz9w++Dwvu0gaT8CKSa/noHyftlwKEwcVmiQPfP2dJIjDLhX4KFlbKUJAidXKxit22X3btf7sJFNYOKHnby9Gg3PT6cx1/PPw2WeBiL/mc7ltVpWieKaamh5X2D7sI1zOsggrWDIuRxi8tYG1p5YqL241WM0F/WLqqdFOYd8mJTstaYNy0Rt4E9Ja2yC/k6yC0zDSNheF4gX80SHEJdfNi91jzE5R47n3xRXH3rlE8yXpFJn5kYQKFTzmx+iOfvyOOI82UofmGHiJzrMl3jmm/LvflllmubM8scWWnKclWl9OrLVfFZmJj7BfPZllbpXms1t01pIdMFEMLz0QARH0cb30ZXQhpjh3Z/Hzi7XtOrGerQ74oxTf5xahoGZifGg9+CObwv8g405Vr9lyzV1ys8k9nNWwPLPfRDQVuyzWhUcjnj7uHBr33+Rp58iF++Ykgq1OTwNN/IHadaXjjg8mYZqrCIJHy0IuebK/PjTyBBSy/nbqLZ5F+FR23fvswbUijKyhXmUe3oAyIklXsrk1gv0sYoUIR7PwdseqDlPX/ch+fkEQepXKno3dqZEtacBBv/Sg3OzLCRczri6Xhb+UiFA+IMb0Xtoq44Wi3NPDVr3iIp7OeZ1D8Zu3yYDM8ZGhbbGHYnPrhsu4tv22ouB9820StaxPBlp8oCY0wXSFb/rv96p2gysrbmWVLN3hNnkvW90VZB+pbTH0x2Ci1hJSnsg5oOTMLngpmmqTk78I+aqvAgMhkc0EIVE9pLQDWYw7pticURZNjO8G5otqtDSbLjhnPKh4PjAx0g0+fJArhW/q6WuWp6mqE0/umMezwF60q+3VBQJs9NQN9wkK/v6Ly5Mrdyy4+vxfcyixHnPGedE+1SIoZtb1wcOngD4L/u+9XMwRFLt5QGzmzyDM4Mcfe9ewjX73uTz7eY1kV6LXbUGA07TeX9pGliBTCSOGJ9IZfnxbt08KX+iRcxaGl66aUioQUlDjKdux1deA3VW48IejjSW5E4MwU+ZB6At7zpk3sHQtfnwZa95UOR//S9gzfM0lT+c5kdYHK5ptFks+RUhWMWxJZRKJi84bPvmYIQh5PbbAIYjLPo8uLktpOEccelAcON12GtLXPHAtvaB7Cx8NNSUau/lGeGpslK+yZlmnx0A00Yykv/g5x/trMr95ukUWaS9Yr1T94pLHcHyoeuBR1+6Y2YwP6PWnmWlu35jJkxJljOd8XBuXn0/mmJMNjvX/4bj4cCgRBlLdv/m27UBtCE5MB8uxuzmxEbIc9o6ErnwV2K2Ly1OoojoNvMV+yS3Hi9C1BRbtKov7ZHuRRHngAkA0FEQfxhSEzZ8+SYlcyLMtMNbsVeZKxYWqJfZ3SVOvVNTljo8rMKnQBqLMmFNhu0BVROMnFLQP4AwVPiW1xjPY2Y9WAxNFRTLoEdTfHdJnbApN1MxsDODekgLPI1apxz6+NA2AXA30QbT0r8zZIdNcyWufBguKOwL80p2TNEvfDrtXUKMNULF9x66JBfyBIQEVO4o5CZQ7ckSDFuKCKC6L2hjOz96lOOaq6oLLXWhdkZ7wjBX8J+E6dZ83ds1zu6lnKOooO3bwStQ5dYyU74s+EGTFZr0mEqycRe8GxGr3HalOfa1z5QLvbCo3qHgGglot4woeLOqLIyDZpngkb/QfaLUMRGuzO+EaEwvkBkzpeIOn097t1sbB0BSKsqdnWRf8BBTvvOOHy72jvxSmAB/2y9PsgEOWWmzhf2Zk5rgC75k7PMMxd3sWuM24XRJl7v9mSyAEBtRkOMDP9m26qkZ+z5Xgadn2iFbnv8iq3oKafrR2I/1lVbsng4t4avJ8ZDn6NSj8bFg4jBlt5cQxroIydmI92PYTFY0Dh5Lxea4tiYuTBbUitTakSJUWkP4XDZkCW4BonbjHNKSIxTLrNFWmo/c4W6ezAVPGxECz2uH9aeGL4Cpfhkc+E6nqFmLToZ5pMCv2n3siTQHgKA/oJ7sN9CCxUewHBr5ClsaOsfxZAPwrkyz3zmT3wl2XOybplAUtTbDYUb7YRIFyxVP93ETntZvmZ4qzl8TFH6vCDRWp+KGc7EwqJP06RybOqMa9CyMd5wArM3tT4ZW5R1WCVg+zmWG/V6SHLHpUJzSZOdxeyVsFLQlq+sfzF/vdgwC0twrXBvhv+hshmX63RWu+vZuu+JjMTvH1xF2gtDIJvDYJMWeJ6akxnSc/qCY55ckZVimRDACWjI1OX6hc0o/biuNrKvjEs0VxcFLzVFXAuMdedEIwe33X2/c5rYIJ1DN3SdW9Z/9Wf7smTMpdUDJb+8kvIYxbAmGQ8EZbRR0AuDjM4f4YRq5O+tGV4Xa3Mo6QllPjykJxFd3ioAojCr7CrvgN6jHeVht3mOu3vrjnREuYq3ZQChRLFtFENgU0+B/T+DSscIhOA7lV2qSBOY410gLj/QemK9dOR2hR2zwWKHiobv6MqMqoWoBaZxpyYVEkBnO5qBcDbJBTrGMPN8qGauH6jbfKljWPWnrDnUaAvqkSlNeQB1XB/IWZnCmAgQfm5xQYEtsoXIsHcQZbSdkXUn7TKPiCOX/dVDGucZlEQUc3nPDhaU4iHlgnmvFLVOwU/G/EjvSc+dD5MbZPg3wAtGwiPYEXsTJBhs4OO6wTf/iizMDszNlFLTNCB7kqOwJhcKti7bVcu4SIi3B/8OYFJ9iyoZiWcMLDtJXu6D0AgHZgQB0TLcPE1SvxqMEYbe2Jp30BLtHoQI59kreUEHNnFS8m2e8bhu0me006gCosUaNFG7/tSBKtTz0SfBnh00/r7616sD3dsWhokD4MdBXPfAnA2QUCsZGCQ46S2zCdTYKfmq1p+/aURtTyw42hUCQHoHSF5SmObg+YnkSGr8voETl8m04ZdvOHUYHbVu7GGjDgFcTu1THLIPKqhg3d+xMkfmFdAg26oic3nf5irVPbLUUDFcbWFp4OgWD89MSIBizIzJK/MFfQkMdD7gERUFSongbThnah9XpyTciDyyUqCDsDXzFrvfQ9NFjpdTGDFrCuIOB1lP+sFuxWerjWwjFq8GVxMLG8jxFl066kceCOcS8tiGN9K21D8oXQLX5W1Ws25+bx0zFhtiFmnI5/vnXHmDONTeu69Dsvu0qg5v+ugpRPs2puJRGRuRe5RHPyN4hzPu5l/2mlXXlLI0ILCYk6XFp23mV/z57NHhbt2G+z2iRgozkBal9q54Cy76k6GDV3wFyv8oo5zL1oD6ge3fgiRrTqSwL1rZu6MnOFLOQXmt+plcfSxmcUwczK6K6ULeotpbHqJgniptdKM9lGlqCRRX3G5g3dkvXyO4ESPhNWOdAciCnzGLuE3lraDr2JqiVO/9VO8eYAHIYSMawQjH2agd0aDT2kEm3S+q3aN09PX+kSZ28UyUCzTW/2Rte5cQz5SJezmrmza1UXrOiYtv1nSXBN/VW+OryNervOKmkGYyEWQMb2rdjTA72ZM5gGAETSKQP2qbF46IfY64tadZ1IT54FMNAaVlXL0XWk4HeZHvS9giGdrH7wRO4h2KpEKfFpTbaUy/utkcBKJpCcOEYLWW5RwwpdOKMr23nfVggWuKPAF4mwmlVVk0fzSvl4uBeyhxza+xS2lEDbZQ1MVarz0Kd6KrtvwyrIJ5DwONk3Q/XNw3Omma+IUDLLbUS2EedyDzOanoT7RjbE4Z1tC9AuvZVGBBXBY6ZBFzDJxSrbM0CbN6ZvAe3iFUGv8AuSP2btbXWNnz5QeTAltgD0P3au6SnfW7NugblH2jsYlMhzhiREYbQgfsM9VvESYqhsA5S9UjClLuX77Y+nf0G5t1fOXu7JFXMp6yI0N+HxL377DhxQkEO/OP9XI3lKgraAeVLd7FDN4I4lH2UmGuTP+6Yoq52V9g3a0df5Wk5XmTjDzeVG//ZbYStmnPbikzyJMYSx78lEfvgPMwq+LYakEggOHf/bmsPqud11mWfjtQI3+YDCtq1hjT4NzMQTkhFd/H1ZpOnU/Bzu2lYNNr+mtmtqXk6Y5ui/r/sVtyGZDdX37nGJII/8uzEO7G2iSKaBkIZTfZUpAJrdn41X9eusRr/Pur02tgjd5ySsxane+DQRLlS7kxTuR0smqEVg0LJrm8qNmwP7CDWseafoSGgi901B+nIhr8cq8mbRkP4D1GZq92qDfVf+HKXr0/ca14YBu2WWhILPRTaCG9aqPfmvL04cOoykwZhQAmvomdBcbVar/X6AFVkaKV7BNWixI7DUu2TKuGOu3B5sjO3ELbXhkEpMAwdx9EmaQMYlCOpPOXAjflMvb3mg6+ZAnDRUOigmB5u54xYNt44ydPHXVEbg+nOu5lC0D//REHUPiZpbDbPcsuXfgzdDgDSkD1ccfeAHNQzm8/Ywp1mBn86WxGgCilRwq3NoL1MFlvfXzD+NwuShraIhYCjBlBHYTTnqZ996yr930WnbVlW972XCkg0O+b07briVlXJCMORxBfkTv2YBFPFLDqy3fiqEbdeIiOxhE32WjIGvtqeatgE/18AoIkROSQ2y7Yefr4xvBRr8Zkt/dyURcYzuAvwnFTslrrLV9mFWE9FxjRMZpC53a6yHAVnQdPuRD4CHUs3f7k144NCBW+re4emdcKt1kCA4+Oby51I5mRbIxcB/awZ30+0CZ64QWAC3monNTgqU6WOf1FUNz8l1eF0bDuzSuHCieagnYWpZQdEtTJ7cdxie3iEjIYcPpteqpGGCJ55xPbvtVrf8J0ZVzY2CKg4sbzu91qMUgsHs/J22MUphuw6kbfkcPYunrAIg6L8D6SYO5MoEgYfuNaAkeSljh9j/XDlDO5WWszeA5eyGCZh15Qa9I6zuvK6HeFraleNMW6AgYW8cF8Zu5KYzKLY9F16k6TpKwKPfqaaOg+XmwMTYN6ttB8Tc3QYqw8MZ1Fmwx1hthEcf2LOgm45aTd+nZP5401Kbz90KanNjZyU2V2y/g71qy674JaUyQTJG2/v19+S+SK/2N15wjqzjDlhuLPz0VsXS4mJHySYM4xTjWBMGVWR9MLcNrSbRC1XIOJqWUAokaJxWPe6YnAXFh1YDY3Itq5BSvWKRFizaaYZv0IzdMOvqeEYYCtePEagkT78Uy3g6A9d1lUlwEHJDl0X9Z8zTcLdDBYc8UD5t4PubaTdiKFbMnARUNtvr28SJSPWx6GkDeA+yMs8tb6K2zaPTs5HGGiPZCswnL81Ia6/4YVV1MDY68n0tjAm/isV0qcU9aPMUcy9Z6T5CNgWdAEIUmdeKWak+XLQBvYcTFB8Yyq8uTQkfac8ij8KnPdYpPjMljwC2tRynnAOyZ+A5XHBAmgoDHBl6S6QL+GySVc1odxOi8rSmrL2TTpwBFDYoCZ/4u0uzBHEaGnx99N8cmT3nJbtiBDVsqxTnqLE/17tDNvbByzm+B+5yBfQv4EWJCItMMtjJ6lzamEuf13gGHT0Htsi3LqvgQ+7XF19hmE8fLgC5gbCC/jlCl7StsJsPs5SjPPnWU/gCAbxPupR/8AuZSU7MGAzXONlAeczjXvE4SmVnhCFccZBIITQFc/XRoHGbXVYQvJeNXgKCBmYKmkQsbK1Onq+3IFprvTKmO6ZaOgTnuGoAhhUoBQQZx2c5ZGXhq4ftdl0GtVbvW9XGHf1SzwjYfj+P4WB68egDiX//8u0JX/Cxkj1Xvt4jti6myQXd3KzRS+5jByFJBUqx8kipBLPl5MgtHTBcNu8wDZUEyUr4bMFLyTOdhpJMPaOBJd/uLs0q9/+wbqnVevRLnIogNy5y8A5khSh2FjCn24nsHhPaTPsTyJnZBH4znKKvOo+jfAHJAAlIrAKY/QpHc2ItipSv7tbkfcDFs6i7tZUWSKIjdG9cACCTCA+tn6+BEbJH1Onu7HNTdmQj83QrCRW1ut3HePnKP8cTEH9WIC2DbQygYKGSp04Y0DZI9Spg8q6vNjhYntbZhtFnhOQUGx5YP9n6WosN+WkidBk54T2Fqse9cMVOk4DZ043XDoBzyL0BvQXKgJPwKI3an91kq+O2QoeVjzs5+zkv49BF/FhZfYeQc7LFi68/RGG0YVLON8HfVlkDRMYMee8tF9z6oWMqpaMjS2cUhJbUdpiJDayh+BrS6PLqgNQb3qQM4tgpOT3o1eFVPxF7uE2k+k+WAnZQv/8bAQhGGaSQpo6dK6VN/iLhF0KO0+B/I8t5M3x/BED2iKBMq6M3ugVBQm1epMHc2rDmsMMvNnuRWVUa7IbZtjjuwtUUi20Ie/3+QHGKI9D0ia2ABzkt2ccj7eNI0UhUcQldgmJ8KHV1YkGKzCCLwL0HqEbfcG/ZWn29rxT23Q8mP1UA/BraYa2KLjNfyjvWt4y2oo8IugvwV8THESdtspilRQ3RZb/bXDVVd37TKf7f538uJR3ttaC92/f/MtDklI0hlLiP8B8YEPAMhdt/7f0tmMPmWIerTx/PNoU3BWXug4dZs8EwG3r2qWgvkJd45JfAFWYk5ArfQlz7WltAWnyFE5elmY488C503VI3Uqq4if+21m70ktq0NYZ0ayU8U88qwMfYiBFoTeQzELKMuZbd1VZDCr+qvhlw4+5DtXcobT+FxIUEHveHc1/dvCAERT3GjOLBGt/nonUYbdqftAng0SHmAdonILbHOIYB0x03v1qE3JoXOrtA/Tmewvd7pq2SUYR+i/DJ15OWoHkiGXMfKPaMGaRe3wRaMg6Hnp5luhW/hQ/v6OvWSZPZbbmUwaUl5CeFlXxYguzx4EqSNf8DCLh8hig96IksdufcgXv6CzfGw3e2gDgmlB7aBCYugEyVI8tye6pk+36pQZrSzhs50/noNZvFTCqKMbnZo09VBnREDltr5ixXfYdp/Lx2fi7yRUW4FERG+8t5ZpFVWaRh9UyDTctyIq4nNsGkl5as/pKjFlFR3w+OGlSVh3AMZz3vHqchn3X8PNp+gs21Ye0lB/GXVcD5+GEPTq7A/wBAf233vTn0bNwI88ZUv4XB6cq1H5CTfqHj3G50ohoPMR3VpCujKxihJgKdw7rIvAVpUCMjxmcKw7teaGsd63p5BNx6SZZWelU107auTbaHn9R/R4pglR3wOABU0cKYDxfadeiFITAVx1gbEayKXI8gW1svgqC5PYxzaSqD+h2h3KH8IDGk58dDMG2vEe4xln2Ao6jMTzhYt2dHumC/ITf90G5FC7pmD8zoBkeQ/sXs97kxnf6ZU5GiU/xlBkNAMO4IrI/2GirrY1plUi5nysAs9lTTfL4MXsvA49qrKiaFLER/Zch7yyJikmdAcs7upYLYWEYrAcKqsuwQON+qzUypiu4G7sGcNL2Hw2eLpDEfGqPiOKlHg6aqRsLzdAL/w4XV8idIwHznoh8oSxGjD8bYk9Zc82P2qrtbnfx4o5XsUdDWDr6TztKfdGGHyfkD6XV7TSkts8rdozAs5EvNWVyfLrZTjVOD9e1GMHQxSYDsGLih/zNqJSMiMEA9OPevGIndIEwTTsZv4/1QrNoU49hRdLh7/w5PRx7cH2pZWpz5vnnLAprw942nRXA2V+WEYWUFUQcuajctnW6f3mdSgL8aWAaXUo2sKj9wNckHeSk3PfINHyDx8Pr64QRSsI9srCNT0eLkSDVc6CT/zvADBeLUnvko3rPMjflKGKfKlPIg7Vn2wlAmk1LeV8WfFsyk/jZ9tz2I0EUqhtAqNhQBE6zsurG9klhlc7sH+IsBVwvUMgIxdfkFLGDE0xDzzT4HkFtajocTwK6ylg9fFPAcD9pqRYvKGcfOJ46V58xTuZpP20o7FiTyjajEAxpipr8yaWxEpOee9gOu9yXmfpW/MeNC1zRtenjr+9PyuY4jKm2ZSLQ4geVxPwh1Ve/2cZ24vw+bHmGi73ZIemykTh2cexEUxTORa7m/Gvz3Ks/pFkXTQrmeo1T2EmmqLjmHjxKctZO7k8xdWehrKAj19wFROwRNaIuA5N0zO0IAL7z+/wU+9r2dA7EZbBzP3+S1EcMUWW8nCVFpcar3BOwyiwkT/yIxHb0vvO4yGaCTF4HHH08FPB1WtqxrIldgGTZvvP0+kdtEJvdR4Koy/dgaqBXObZHzicoNh4eYXsEhDNlGVIseCASqmHUPsoOPW5YERIS7hSq5Fs/tsXVpUZ3hzx8+Rts95kIYukZ5MY+WehGUxEeldDZb1WjDITZ9mN4mXz3opddMDLy3OsWTR4gxVTsHyn+oqnudeLaXEEN1TdqrPNWNm6ocSTnzNU9QHDHOP/Dv+bfaCdWj1lW1MneKoGxYwnKoWuOYtPsTT5J8nmCa6vakw17snk8mEO9iNtfahQXSYuzcEXgV1BAqqU1g3FhSJ8UGoMT1adgdKbd5ucq5gkN3MkBz+SPJSJI5bNuJZAbRkeQcG0L4A22X1b6rckAII6fde3mLyLwU4DGusCosRAh662FNnAhj/ONuWRkIWz2oDmXzxz84Cx/gqZYHkAhELrL1ZNTWU2u1xat6DAseSd4ycIbXfIN+W5z13kI0dJLAkq4wp/iL8Bz478c1jQeGuov0oMs5wMIOw5pAh1af70xkfyfLdXI6w4NMOgVbFkevbvfs4zRgD4BNXBSift9E4Sd6VpzKvDB8/H9RJ26rSXjxKj/yjOAPHlgtKtulZ9W8bdxc9U0LYa0hh96gaM/DxHuK8VbexdCRlEdKsayBPTbVT7Jq/6Hzu3dsk5TCSBaF5uDcuTzm0zP6oH3s88nwR7EQv83i2DTd7Z2kY8t7xBANZK6wBRCTGe4nkum+kSlLPlyJHLTAwD5lTGdgbF4OO7mOFCt3Gm2KX89fSYFz3eSuL+vNLOP98XqV/d3hnerUJ2/GmrT4bx4QPRq6e1pyYcLHfJ1BwVWBcCqhTdts1kVL42K1CTuntmLumdKbgGOPJX25CVZDlkUiJ459fpH+dRh+wm1kyHX6Nnxzmnk9cSBvA4FN7tB80Hswy4iFjzQm63/3o3wnACofVPYv3pVogMg5vB6FLwihyx/DhzdKa59HJcdYXRKRl4gdlhNWsokjb7fXKtIQK5RKkuDgz8ioePhxZctUhVU2FSD9nYs3WlD1vLZ9miP4NHvN2PvOA0Y4k43XOboAbk85xrRiB1SGNJj0qqOZxeapqIpaeQZ66EEGB0uMzOs4ntAXsZc0Elf8GnMd/ZqYKyt3FFq7njIIHCDyjWCwOmfnd6hhOB1ac9WjMN8mgzereOkk40kCkoFVQwt2gT3BbJWuU+BIjX244Bl282gcUu+UYEoXmiOxM9rmznvgb231tuU5qgCCP2ZY4ynbUe+KPBnl/rwvndygYIX4QuvyrjG2IcL3yY0iubKsg17kC335SplnzTQgbksxFLCoGGf3WZ8+/UEav7cviFMwa1CEWpyAq6a85Cw77rcxxFfxiryv7/au87PJdu50XIDqt4PNvv+UnNXnvtZrea6akEnQ3uR+uIDnk2yujhmV4284nf4/AnbWOjcmvqoWrM/hV8tH9WiSN6REtMBe8BE7csLwnn3guti5PKSSTAY+Mes7GEr+qeckSd2cB4NNLGSEOfvRbx5Qrub2HJjiNv0aCDXPmop2ZtHg53yODnLLsmOAVahcbUOCQ+Bvsm8C+BfIaqKQZbyuczQ8shxLgn9ApTtdHvK7Ka4QRs3DjahuFnjlry7Jd1X2xVJgvVW6dqexN1OSn7T0zC1nhkt0pS/8jnjZhgvQGppUpUI2l6rl0Kq0woxkaH40JVg3sOQiLjvonRR86m5vLS1grD/s4EigLwGosLonOl90kW6AuD33W1qXa1TmRDkiRksllv9jHX34qZiviOKmzNVQpYu5i3vRNnRSYIZ57L8MnBUXUnld0z4PA4pFdPWUKWZyd7KFKio6HnX2vKCK9IqC4SwOeCvDoX7+1eXi2Q5VCPZ63jLFhqcaw+ozNhTEV6oZWAwZPmDS4wj4l4InuVPlob+S3Z+n9+9oeQb2pJkfw15NP6qoAEY4bb9WcxCwpQ6oWqErYGEsf0o5ChTb8p0UuE9eXpaCbXbSL4gWq2BaA3mOylL1CHHnd9PlG9Q9MLFKNLTMI8j4XR/soHW53kzuB6ruLvJKukGzaVXyjzClno0l7bH1FtEdteQImHJ+k9YGaaZbtzOMNoGMCBwBxynJz5+m443D1lkaaQg2h/eQw8sOAFP1fuMKrBPdpQFeoXj7CGnpaPj5mf/UQID6PyXVtMeYU26LZszyMRuQ9w9Nh3HLMhM3YJiiC1Eog3u3rFetEUVmhBSUQ2beqdmPKDw7XaEDhLsoWQXriKvJA8Kna3avRoUVzAhJYdVuTQpnZJHVasRIWYiHGTDwGOInqHXSFTkHJ7B7J8D54k5bLhsb4U0klf2l+gwIfaFuZup6f4IirBSWlZsuYfAH1aadvIrSNgW/IOQ/croK1n88e4H8LG8r0j5n+CJdA6HCM69pE5H/IBhQzDOuomOIraWlhxTHEqQfHOOj+/M25oSmzvHg6+iVYhSNIXKVPi6NnXeo0GFTEv+pKPZkkOK5qe9zeyqZ3qJAdrzkHp6mEzKL0jg9teOHBLU15C3GkSAursZBvvF9DezWwdRqW/I7HiDer6qnVojebNpyUIlgrMAz/G5wZQO4LS1ROkdjjpWvdBPjL3bFC0eX0B3gd9rzsT01nYJ5ikqWPIiwPhxAlo++RlyvcfE5JSJ+yCCPhcgb9StBMUrY0Ij3jFJ+kaSeMEEw5+f8By6n2gMpYPR2deUgfRhMkiSTmyCdz3kerPiWu6pBaWKKIrtfT0CeIP732c4u4XrQfTMVi0vmAWzl3lanzfY6aODef9qFUXbJlhZ0EGQ1LVj5Zp5st+EPQ9itVlxx+wenPEpOuLQbDZq+Ggn5Q/JhfUVrEgLlR1Y+dqvrIy/fRjoxuRdQQNVg7OihmZn0JqGvHvtp/otrwRcKR/rqrBKTZLkiSsdpH30Wb/A00XWH/5VEr409kn4h/4+htsennEoH0bt/zfnUnAAPAZgKZO2yiOLgydosoBYHLA3ZJBDTwVlrt6y9E8yijB2RS7t2MWQb9uZ8ALYf8mKP8oCU6EI9s4OpLwSPEJ7F+cBPhR4ntIOv0kBeWZm+6BSz6kgpLn/uo9o/xdN8Hy2WpTRh7z475G1cbn5s1Bn+/izOyhhLN9Ihjz39xCuBRHWwlm8/6/1OMSPPPt1mDeCtq0Z1biwLa5Zyx/4PdHt8ORPaRZsHsHKik8Q5mRzdVk1l9gL9iwDpcPHtMNwOGSQGMuUApmisQFj+FCfwDhkPgf5mUbC/swcX6Yqo2c1jtWIqe9M5cCLd/N1B5b9GmKw6Rq49gLmjaFX05PuC8T7p5fqFW3EzJRfnRq0zOTz2jXDd+Y7C/AlO8az4rDJV2YLs4lCZOtZ1Oq5lL5Ti++7OvqSN0kXR2IKeY6/DzpSLqGmYW30+9TI/UlaLT759ZBQaKTR+cgTNTy0DxpK9wDOEDVQ+Y3nvWyFp7B8EHlLZTVuz37p7bYQHudc4d7fd4F+F/usq9jLimYZh24nBUF28qOSj87P3EfVXBGRw+jreK3jba/XtSxTHhimYNJ5cn3av7/buxFS4J1QXuIZGq/aW6uYGCBXCtmITjJJU+rExecQNBzTIOWJRXHaFKpdMzGZm3RCC2MHgPgI0LNByBgwG3rl3D0WPTPsxgbU2TzOzXu+Rgi7LXhJgXQX9g1vCtUh37AIuUy5yVCPGyuJSozRm6SEF4rnmygO/d+8q7OAUgQHXZBu291Rm1OpfjtJCsE7CoBs6upuZVmjKd9g9ffeHKxn/DWmkCSd/CmwbBrdeoLkOMasaQFi9rChcohEGSnCZIesJqC67B+9OoD0UOS7vO8+nLZJDLw69NZJO+Uy/7AVJ3JtCUI4P9BsqIrufQmEAlwPVOnoXOmzXcRgGkl/s/OUVlPMsWvXAmevH5xzNHvc3YZ63idVAIDltbUik7bKGY/6Xf1dftQ+awHsS7KmV3HV6qhC67mGAk0YMv1JbzW+TWwpAcSjIGzVX0R9mOmq0YUYeFVk/GxlgfMeWO3pJF8mV2zaNJR0aFyfxMLe2m5yHr4sz6sETOJmW0bfaKo++m2osSXDlX6BKDgB6y5pELHTGUW1FALEO4jsgGFMAx8h7CTWj9QmeShvA4tLzGHcLydGR2J8wha8+9sj7S3s6dq/xH/MT7e+nK8KJWz5ExpXACBYICcdMOPF4aPc105kMos2SwrmjV/DDemiy2qZPPzagj7e8wk4f/dh9YbvkV5d7lLuxFMs9xLyx6gB/FC1JivcPO3sgPjZrp1+RQaPjvtEtUbnbt3JAxT0m47Ayh5gX9osMspPKea54GzmgfGCjXYhl7sgDtYymwfExSF45lMOgBZQOuMSygxQGBjsjvoQ16fFZkAuRZJ/mDCO8dZLXRW0eFtYNcRtO4CqSjnIPH4BxpBWx61qEl8tG6AqszfsyRzeK4glasPwH7+lfXZcIiTYHCdu9g/CByeBLKiSg+ZbftbP+Vy/5jxxcIxOELqY2aSz8PItMwnBM5xKMjOG28WHl9JSQ1ewLOt37Pah0Ji7eMrspu1Gxs1sBxXUIDk+dOm1GT8R+dRrhfAtx+HLGlhaH4FJmmFo1VdbF9pJdqD7tioNMEOm/f0eh6pPEdI9SlJXTlmj6zv/4jfH8vmGm6mwdjM3ZpMHBVMFkekc+AYDLzP004COalkTe7cz1exAPBIP0BRslYXXgf9f4LhnaDq/ifL3Drhj9m+fze6xtncblkwowf1DGbuYtSBNT/muhiBuJi9cmgjiXqm9U9FdwX85C2b2VSJZanoWKZaZ790atX6Vz2GEKOJdjM0zdiWHk1c55GXHFHvgPXj6HfOxxbw++GPWz1BO2TALaSKzYetZRbmEXlAeoRsFSJWvJmgCuyQgjWv8wtBbE5OvH4uKELzv1BqkmbeANUnjwpQQVDIg4+evOALlyCsx/Juiu7RTLlEB7ayKB8p6d/RXkDfVCWQ4S3ozCeyjMe/BF7WRjhFLarwFHgNPovLBScE5nnS17Thy2f5mfXAtj5S3bTpfAlwy1sjejDsF7PXq7wy1937Cx2Yg0lJRpzCznfmLARPIBNafBmM27VoIETBRFQoYfk6OuXvEsElv7GOG/JEKCqijHmLyp++2j8ZOvdL0PYypmKhoBEd3ssqBFhJMuQpeZL+x7AQVCj7MtY33CFx3ZtayRkP0sajvo2iktL9Zdj1rg5LgaDEMRQzwOcRXfvnu7r2Y50MU2A7pEDqrtKPpSPauT8E/vQp66Mu5RSNFIjW3KO0uVPzfsjPcJT4gLhHiOUL190jRR9iMWBMZyUNUPFL8LgIZsA1SpV5zRoYup/uIt+XswChb59+5aIubP8hoYOLZ9qdPKnKeKkCBGRnP+kEFQqnZrmd+TDIbm76oScVrJSi4l7QSffVtOZnED7DM/3ZWzFWESv2a9OJWr5P+uO9pN03Jv1LEfJIZ/imDiS3lf/I/YT8wcymEe+yJekE7ajLqjiMYphZ6alFXDs8+V5HL0x4ejemRtNvYV6RD0s78WXFHfhRyBqGZyqLhJ7IGYR+qp0uIJNxPwSuwQmh5A2ZDMNGTZfMkz+C+Vy06XM08nNL/3v0lcfPsfKDyN+Bxk5AWcVTXfx/1Tk2qEk1CyoCZvb3szbaCj3wnP5jqJPpE74Qhty8m8+O1RF7d3U8zRFAN4aSFzlV4lT9Sali5vHxOSG6wQ0vhZYHZhgSLy+iJba6CUVNIPZBGv0DIcRWvdpHpRxL6wjncnX/ER+2RtmetPR0vUYeHUlu/cPdnGtEsc9Hfvm0ZLHEA5s8PrZux08DJ1JR21DzImkW3rJn2kv4JvCwiMgWvNcFLswGtKtA+oo70Z4fij5iIqclSjpzx9ey12asmjqEijNjnEHULfAL1dyCTly8p/h2N1SvBKe46SqQVkR28tT1jKBwNaJwydJpJbysggIJ4AGrC+CtIKlqB7Edeqhpup5frULk04ppSkMaHFIzMgYnvcwOLnQsnYhUrbW7vTfoPQeq9G03ylwDUxNfg+Wt4RvDmh5j3rknyRc84LfFudJJzvN1vXSu4i/mFfnHZ14rJ+5NDp87JQWkmqOjYQacyI9pTr7J8AQEMgNh2UYVmNpM7Dc3+FavYpbD+C0dNCl7XNVycanuKnRwVk97XJ9gKXflonP4lq4suHeyxDc6c/vNf1KVBQ+xVpQobtflkWKbxu60yxbOIiK4WcNQDGfu+CfGatWILEg4yYn/u9J9aQbeir9WpbxSTEPCskN6jWGAFFlQmCDI0kQqdgNz4bPWbOqSGtfe2t6rt8p3bhhgAZ3UohBjihK2kAjMK5pf6zGhlNYMCi8/CuQn18WLYYJPY0mF0lxiAdma0epNjt/rIBkC5VJMmFR5w0M/GLQKvcZeUpjVgA6uZ1GVBAfnF9jSWka7IVs8Jyeon/yz4p6dyHEbxs5wy0CSugOYb7LfPKn0oyMLzdHFuwjOlUalod23xev2leYlXL1GOK2QjSy1g8ZhKelYw+xYP9LM3RtOmKs4ZR2cj4IBbsXiK8E8nkAg6+ysJqPl1M3OoQwaHK8Maq3Xh6qjfQWN/02r1QZDK3y5iwwK7a/7uZ8Ss12IiASM+LCKaNjWs6QYKHwxNwX7NTXKEgBlwH/gcuDL8ci9vz+cONtirof3FOtUtdKqmt8HJCqO7HkYIJFoa4499UuK8IqbG4UPaPqzMaFh881Fcdjs5Oxm/WNl0EF4fnOpXmvoQZIOo6Q+aWh16HZSNRSDxLhnjLgdjKimk9wuxI6yXSnAvmGIjySw+t8Lbw432gc5dm8iH2u7mEv3pKpMy4fUBSRvun1azyrH5jf6L5GjjfQHBtpQglYHDK5JK3t8CxxYibDYs+sTKCgwNE/XCQUTzlz5meD27iw3pgZy9yJq98kf2H0Bo9COR3OgY9GLW7gBeJOn6+nU/N/KbL6VqYLIt0Yi4CT2N9qMKGmaVOhoGCrqzuUvE6dYWKhHWYLjepXS4+565d8xHhFgH9uRAy8tXwtuhMgGfgCmrA7SjglZRFLqI31/fOmtg6B9Sx5qC2oalHFEvKBHuRmO4WFbnLdUUDDXmNwxc0uzU+R+59sHI3HBVW+gvIsCTaSA/lqMX2GMglq7DlgKSAptVLRtfSgswZ/FDrF4PGsaD4Q1QnwsWMxufU/gN30aGF2x1INwcArjMpQFSQ1SjS3ibO0pn5HYVlq35G/qr2Cj7mrsG5rvG3M5/iwiROiql9oa1Zfg11cMygym/EbQJKkIQNFm8N4cXVOnc1ijUmoHa4rtRzIlcRod1idnP+JnKcNnzmjJwBmVqcMo61NZf7IfFY68TWRpfGNxu+EMFaFCOiMHat20cJJ0wLoI5sqrSeHjQ4I9SFqreBHOHzpXKF7a9n/K6xVo+Vc5OL9uim5VhPwVauSb+K0JFZVVgo4j3QwjZTc8GTx0MF6mkUry19auezKXTfuF5C1BNZgO6xBdHSuVl7V5J29FVR+7jyaR4oyDig41tLPtd9oNZLHWpdGtFbd9rVfeYheuOh5/Es5jYM/7PVXjzERKUY8FerY3dL7xpomomgVfN8QeXhuhBOIKmDXq1fZ3ABi11z3SuruaIc6JIsQqqL9GQrhotvBqZvqHkTo6yF7ej++QD/JRRQicPWYHf2YImI0JPDAN/GzvJHUucwCMXhNjLFTv1EHZdGxV/+OTUTumtuuxlzgN6u9UzUEXn/ouvYWPvaGdGeBrnhptMJhr/R+Zbn9NhtyVn8gUKGDoR4aR6e+AtAs6Guhk56GPHd7uPglwovYohP70dwmh//HI2tn8z/UeD/zi8DJCQBMjxVnN/90IICQmQLaf/qZJeuWkFjfYBlYLOy6cYUTd4j7ImiqSmfe5jX+tRftkFhvOWzMrjzjmcH9GlrU2pJe6Su3p8fm6hTYcwiw2H1OR3maDMf1++Eqn8pUg3eWFukWtJ8pfKjj3PkBGqm+dap5hmBWhC5LlBAT24hdeeubxrQ80JmWEcPKH08Ey+jTKrEXDnjvXdshw1uDf316fxZ4gsp7fW5EB4IJ6HgfTvgU2R7zx2jXwOwR4/7S0AAQzjbhxdpQ9GwWO04fp4HLPsyi/itahcl/fuhZAE7jMW70UyscQGZlfN8F5ljinpb+N6UpXB39qPnG9AaMqZZXc04sk2+RcBJ/1QPZ8SV8PO+bB+ndcoGzMJ6ZV/9OYhcUvX7h95jau9DlHAcDM1EwsEtuXbCOwqzukt1dDj5yEA/aEHG1LR1nMyOsK+PHCbmHwN3us6EvxTABEhGmOIG62WBWR03AeGl9wZoRYl2Qnxndyo56fJM4u0NDhuqRfH/uZ3VqDRak4QERdZ7tc05ruZw9Q5FRquIx12Eka3hHd/GITGRovmrAG/7dXHN3GSJnwVTLitYXb5/doALlU/77QmkXHXnPMasLdo+yDk5xMi+9KemjSSoIpXfZ3/KrhlkshZEZd3Hbkk+Eeg6xt8s9TYPQVzvKqhHuMNQz0lRRiUYKsVLJupnqu+BdPdEMy0o43DfbVxGHluhat5c6cIs7Nk634F+ExLx8Vlt+7JX34jt8PlwzZC4sY2Yb6ln3EgaTJ4fkCE8NUrwwzXvqQZe0s9SZ8ko1PqWBKpHxGTHc3DD0KyuxxfmuQCkIU0unPvIZCKBzgrgR4sTkJTed+OwxH/We5i/ua2eDJfvRDVXSA6j4Vf7p/KpbKNkjOjCfUS7tTq4fGlyTDkKgvgCMkfyGzCtXZsrD6PAR6DMIN+8nt6lbwpt1pX9dPluJp9lyw5yqkK++CX6wK89Vvu/gxw1XLxsa+rO8KoZNnZ+nsBVFWWyNUZ27RdqXTwjIydYmZV98EeXRb7fQb8KluBG8QJGnGQuLqx3ImKtuk+1OKjSrW6N2yikAWjXPw8jbAxP4C+WJz954+KfG+f2WvKTXAiInLhB9SVbPVLfR6cWudmaRx4af1Y5ijpi94vgOku38F4WCYxGkUHwfB2OJ+4STfk6ICrQJOvYtNH7si8AL6lNKsGwQ73UUlro9su+Qx6DnGq6UdJuHPvseKi+alL7I0qRc9Qko6hJbjgJ9uDhVyW2dOQ4gbXE3K6HoY9BscOJVDO86FYpBiVd6MnOaXMwXLZ20XHX9hmDl26Cd6x+qbtxCd2EzFbQvTxetBjwwtpMlp3g5wio8V351Xc3o0clDuQxgfSi7HGrMGfShSpFhdUd/hFRv9259ESdVP63ZfbeN2p8BN+46B9HhnrfpJ3LJjRZUmOkZvoGj0I1vHhnd/NM8vEy2xp2hY0b0HaDqoQ5Y/yiSbbF2CHtHKfH7yRKwZ4VTcoy3MmmQdheqElNKp0YaWZIuOjWmCCY3Ho1BPEwEeQQ0LSGkr63ba5NyeASFISvjDMXeObvH2f4MWkX7h/ykxwt+cJsafnO8PWeOmI55GCh0f9O0OWC/e8rFyIcvCWLFmzpIPRdWSpt3hmvxLIW4WRgRaJ1k/q7cL/cQWSeWSWf8IQI31yzQIvQzs/AXvnTW6jQi/c7rKSfVCk4I2U6tHoehPGE9T6v1AS9kL6ubt/sgflDp+X+mi9CGLQaTPyTFXk39vECv+dYH3INJUiVP/2Z7+LG14BDWPx0a6wod0PxXMoUC0XpVpag2uxYUyL7L8QzR+VpA4ZLgku8Dbxdnf+85ZP6Ix1EAiWmljz3wCkkpl0TgwkdvcsrtByxGBqC2cAHSODPQnH/D/qIV9E0sNjLNQJxBvlA0gKFmIPc551znzw4l2t4bdCzlpirzlwM4kHK/T+0XBhrYsl3d+X2TvdzZSi1mAWpUb3VrigbE5Ms2MG7StcGCzrObbL8LDXcosGVK1Xr3q+OuihAzSVUCbZQAnOyhI3zYOSCxBKMN1M7JzHh/YyArRCXh+acL8Pj5Jk3BOs/wrcbbJLBKHF7EeJBc32SQ8f8U3di1kKDr8YHBdKkwfhG2eZ/2vAaEBNwcTmZCYdKRAYx8Y7S8DkNsa99yrUW08xQsV3SLvC2IsLpKetQ9FWRynpT7Jpl/FmIq9agc0SHNFeln38C1gfyBPPDPiC5XzLRQX+W+iS7EIofzLKeC9iDkTe56V9b/PL+rXD8/1LjMsAxAm9z+CcntvSj2wknFtn9NzNx0OhewltglCCaZbBe2p3+B13NTUBXwjUUh0oKQBzI5QJCPDUgRq1h6qO9OwXirNO7f16eU0HFnZydnjjoUzD2FHeR9ZLrc8UBV8zoZ8Q12cWYZc31+C0B1J6upn8A5rJTVeetSbOAyZbgiAp50Kzmq1QAzkwmg+FdEzQDh+IO1Iw8MdY/dRI7RKCB7QSgkU+s35JQZh/mcqe3Zjm9fhhpqNLVI2wXoO4pyvsdazNgmjKG14VVqVQFlVpXtNrmm/ibDFoovqDUvufLpDnXoTl3Yith5vlNcJomHUAzQwp8/VBXi2WfNiTn8sDqVka8OWzRdGruW+5ZYm8FWfhWYlIlKBwpOOPRAQse+Oxx7S7x5CfzLHMBbH4BEK7rR1LIVD48Ue2m+9Vmun2eLEESRn6moO+IynGvDjoJrNaPARX6VtBt5tLHINSkmpNJyZvAhTctSdyYmorR+FjeVmZIKN1QI/cgWku6FojlSGpsFgf6YwxyIjCD66LLqSdufUdGFS7SJkvjALcamOriSeDoQzozfAlatySW5uc1LbB/afDJR6jwxfvci985/+S/UXGJ0d0JMDDVPWJa7kNVTUNJdeafRiYMofOoeAYy70pC3lQ2UG5a8skGuR7lqG7CK1hGIvwnUkJm2N9HN5T/2tBJcqLDqNPO1+UihEEK25zrkppIdRVOXi8OI0b3IfN1G+kvAip/kRj6ePgMj+0rYP3nao1rJcmzZLsQzxxU5iPBRCvpRh6e9j3QkoMs9IqLA+cfU32JHxt1pvow4eusQfF+KxzdRY8vi9sjUjDC/9nYQ7IFvwoM5EwCTvek8+GnTw6Bc1SDc27zWMSO/9JxSpwbvcDZXCEi7iv3ELBtKdRbboSVKtwyEjs1MRa6DS/gKxt43BX9df1nf6yHEzVAJGI4wTJn5wHqJofAMl7M2q+/gaI6Hveq7uJ9W70CXqsiHJasl34CQq81KF9P+Plr0pFPtKssfjdJgRIzywhw3dGtTq1GpGkIK/voeez5jduzgRztfwUZ6Xd9bwOjFqxlLlUClkCr5HBpOqNDZmCUAjUovRDEUUwLelgoV+702hRyuSey5Ef9tIM/BgZH8wYiiDvANVnY3CX3bNyFvIS04xrcHFhcFO2nylus9yUqELIHBiiuNFF62B+7EZIqMfd8FDjZARoiHaYW0nCedcpqUB/CnhV0N14gjhBDZPbeXETQlj/JRlCKuNsUv5KiVvQQsNPRx7vPL5Dx62RVvyeEXvyqYf1Ikjf9aSuSsOm9MIwMIinbHvqYku1sR4VPC8CA0z+g15UM2oCcb3iDpfvNwygaP7PRWZ89obGa+h4RMLMhBEXetHsGXK9tRrchniKjjHisCSOkUsIEZ72ZiPPEnAx8XB675V/jhtGDOwX3FDiBHbPOAhWEFNtzqVwlM1oFaChekL0crVUXEww2Sz5qVFzNd/UDilyyg0u0sTvWcmTaYf3y9Qh73sB2Wct+mBDeN+l0WgQzTkKZyw/e3g03bwJA1l4Y/KdP/Z4RalU0Wg+oS4gfKW8GrpPoGPMVAuo7HaT6IJFtJxPgHTHUQirk+YzH531NCgfQt+ecLw4BVbBMheO+XQ0T9ERKgeZVeXWWLVAgIQRqql7DPE2EB8kmOnQ4W3GM0vq0jMG64Nczf4CyljZRaQXfHa7UD/O9zWqomr9xTQ9GZlJdNomekhe4dHIh7GspEc+G0zfbi3vus6m5H4usg85oXOv9KZ5f39bdiWmwyi/SgvfU5Xs2PZwhJ5QFYLi7BE3EWbSS7IbTwZY92mNUk4RLs7BJhgBwtY7uAPSdwyD7vRlEKjy0H+esapqgo5Nott7NKcGv57lLa763+pf3/SUrzszvz010EIe8cloRmpVR9s1Ov0BpACrd6C0usByNTo5jssNBrw7r4nuiM7ExqG+njKrA8Ft1/fvdlRTvpQqymQwjP2SFXZYZWAAx0F7ljNnpXWYA1Xt1coIvtgyXpxdi+YTgTt4BCov6ngdDuAWkGKCdarkRsMU+zk9mowfqIGXqRO+DXaCIH5SBMpChlFqLxOpeFUw+gN3M/78c96Iyp4C384Hx1G9ZgQlJQArJ9ZORszavR0EBm/YNHVwtz94Sza/KaJGVuJRH1HNcTr741YFbwuiB5c4AH5XwyWmBuYF2/ROtyyHrcveiT20vhSF955uiLEOtWCOmavWKQ0TTtNl3Ho8zz6jg6obSLdzoaHDazOgoZd2b6YtPoj14wZ1CESztUkvDOepWRgNgE2hfWGX//DdChMPMTjvi9KQjegKD6Y9SsQJPo6wPB+7m2fnATQM22iutVQmsd/7GfTDuWGK4HYhEeSUpvg2JkS8WujZE+t6y11x5eZTV11HXpKN9020HKKl9rAu1xNxngK1zRnMuC61uWmJpn/i5frEA2zB6JwdV2yD6iftAXH6kVK7Vz8oHBC5bkS7d+vqiTSfzTE3sbgASDFAtJ+J92AJJY9SX9BEIsw3W+b9K7aaAm/P33QSA6hnrmzdz7sN3M6Y9XUi1J6UayXxFaw6h/JQM1mKNofhKcibLuyXaXrNtTXwyeAMsgkAumt7g55/Pff0EEIZ0KOWo4fWwynvBB5oyMdNuggm4i/67NWNQGPHvKhPN5GT5JjKP/da1INTZ4o8F4NcAPXzle1IgP4CfX4PHLMwmJYDWuMbPbYPAzyN1yRsqXnxStO7hIBFanZVSkYCKT2krNScBOTaROnvCXuKbdkKBABh8PJgvDquo9apc/MWqEVZe+xy4HgQJgQoVx61FQLd5n3CAO9HKv81uuOdBgJBZql/ndKFoSx5mtjqKj4L78HggUoUFgNaczzwCOlZKSNEQ3y/+D1ManJTGuZ3nUl7b2hTaFujWpqmZnLZb/RVh2kyyC4PdvMrKtJLCAop4Ou4Ymnstg5ri5iU2t2Fx7vWh1VaQE0E8BCnilDNOkOS+Ao6w83/OD7DwfdLhZn/UxBVbYB/97XeAkEwNtjt4OoMOoqjIDyBXuLV107BcRL/8MJg9biUvR3iJMXottVEuD83TYetSDYhm95OaN51E4zJ9spYVdFlzht6AasvKoT9sKpxs5ydg9QeOkdXh1XxLGCT9dFULNlzDMYplPkr9sm1QL0JUgyNlw8m04FPhyzBqSuD2ahgcyHCUkSeHM1tUkS0+yLmqDEwERSgkufW8xjIXP7Suj1VDwF8DUNhaTIdaMxGNdFy2QQq3OQi1VRF+DKm01CP33OvH+vY3mQsolsvtE3N9QB6+vq5zgsANEX3VwtKfrnbyYrM7CkNNR7+3firxje8sa88Ucma+PqpId3UggkRIcgQz+zY/A1u3eP+3BKIUjPzLcjXh5q5kuevI4iLCC/R6jrCkuLWQIru9qr3jex5u6Vo4RUKMCkFKXCNRI+1BaF3C+yIj6J/JHMVkjMi+/ySDw9ujRrBKEwDkbAyG3BJAFAhV11Sr4eJWH8J0WLff5yqx7FrlsBP7voGnp3PmBI8+PB92lBRTS5UTAkb2sqwKQTlLG6qIX5uaHqHaAm5dv3SGS61/YvFGU59wGMH2wxaN2G6vDlFhWHeC9foomlCdv+p6tdj2bSjQFSeKR8hq+39dfQDkp9vFt9YOrvNDNl2U+P1raU02yn68VRVaneB7bHktJklyNjx2qsHMlpNj9heP30nfmIyDTy5w6GGp3/ba2he3m9GwfvY30SQJVNnOUAo116m9R9z5La21ZnJhLQ8zZMaZb/n/pwUHTuzGGtC3hPuby0uuVS+7VrERenTzooDybSEQvoxjtSLjSfo8/Q4g+UQHOFuzjvDFaLxRVoacJDEmu9wccvTcI8uO8JKY3y/wUWE/7TgHgp7Y50/v/TWVTKpMmsjx7PKQ4uKLMCmdWaHj3qVMGuGK7il82hUfj4yp/ymdb9BiwNvLaHh62ChsFDZ68b5MTpi1t/S1kFnp/IxmFdNPbD2e7pF2OqmqY0x52VrcGqo/H0qw28MXMzIXn1FfBtFvTe4aaHBdoGxiz5bLaemWjSKPdgniQSAnRyjW94AP+e4fA5qLN9zCygFelg/5Itv3UUXnKTfq60J8vI7lRyf5Mbu6xsxeDjIh2YfAaZH/LQqaQCK/sphlq+k71cFmPLB2noTq/ga2G+1UaXghUMb53i9hCuxuTSfFuv6PxwedCyZC6eFs8Z5OnKQZ8PXbFVyCdgMbO0wV9j+PG3xstipurBJ74N3fbuG3KWtVH17UJl2O4a8d61Df2yvFAuqUYK7ySxqw5zLpL1dssYCz32e6+d52R3qnvO/uWLYFOIEZf3I3R0wUUpxTFLEwPUu9eZINlu75KvRECqUimjU3VZZ1lxmVUq1gsIP7pbvI6tMFnAouimMF/YZQ0+NBUmI17pcsu/6bpErtzrrFd5bOvkNemc/fpz3ibU8mEeYt5BfF47MoNJVI94I0/dH2sT8anZSV532/up/97S9wjetmAWcNP3I3rZj2wpyFuCs7O3qPnmz6OQ7k10sx5l31gT9QbKY4tsbQJ3GlDRmX1bg51siBb/yWRINOGM3zmZH3JPtEzyB9Hbeee6+Kr8rEn5mr/3ngmYlSONNPU+3iCq4OYQMBBACwq7KMzwqx1zLbKJimq61M7DIvM9/QkxxyOEj7JU6e5wYr+kUlAjZ/T8axleSu+LiNsy7qDlb2oUPNtuokmHlwT9RYhnN0a5K8t+aaQr979OiY3saluKzaquiqJZx/EWJC4avknKVSDzs/roljzAG0cTmhhJN6/77juuMAwPPDVvNMnK4hFxGmnH4KWjoZkshvpSTggFT7sKrgyCPeElcb0koLc0bQHWOQiKHaL8fAutapGAOeO+qo3L1prnHrIwOOR0uzGYPRvnnP2qYO1X2FgUzwnIlPVR1oUnJFsXLEb68AVjUEnFG4oc2bc/fxMdrH0pa3qd3edQk1mhXJWtGoZTbOFO8HMcvSqSEBhpeUBCEb/v3yQV8P4D+VlFFuWIUBfXYJ0/ha5qLE3hniM9rEfVlxRBvpux0mmi3QB5QOlZr7ltUqsbo/96fg5utKY4hzi4TXWSqy3TrbZaVx9mFd0s4CQ3pvuiOlwVOKBUx0tuhlrjvtK8cASqcjmtz/J1Cefd6+q/xH6eOoOg2xTGGJeScWZSAzUiJs1MO88tvc1yxC9FUIwnr9N+vIIy42tk8kfXzJRN9KcoWxZDSNvtvPx045CEm2/2EcTQVNgMY4SiCFgOIFGmMZIEwVguW2HNsghZ30+jDQ+XGEq4Qzzv0v+SbupMYqbNaQ0Gv/cqJUdyQcjD2N5GUfZ/xZv4kJvqWnFecpsY6FbzQSRzm7Zgc6U5GbxbqXz8wZ+LLdKADx31yjlxpuQFcC+kBNb4araUV481AV/UoZBlbi2xVM22NQ+LeDbY8tnMUni4r4/NJ+37Zj2XrAZR95oUaiQDAcEGlEUJo85apCyRxle1VdT4iroOY5UFIWC3Wqyk3kvBdd4t7n1YjcMNjLHWeh2fBuxjdmW6Y0sTQXCAMzF6T7DW0d0ensvphMW/cPZf6QfIF2lF5jLZo7YXIUPGbBHtDb9O2wfA+5EZ9KvSsZ7V/bNjTRZrmr8LAKOLXCqAU+pzOVBT7mwno+oVYN6Dl3LtQm0bKR6wRy9DEr64az1uNd3e5XQCHkfdyq/LF/NB+ugoU5BOFwhwTq28xsNU135jxjJ/cKqLj0nGazKXqtLpZRr+Iwt2jNwAoxM3ZY4mzGkGBkxP1rwnmA7qICTuUQnNGV7pXg1M2Mm8EvombvrfNQcPzyDjsYv0XkqgTmDYn4SFgaRAkwztHFnzx46XIEdPSSKGhz1QTbHpe5ycMXCwBZShUnN52JKO2FDvRtF+NJ0B0u/KdLfnBe6TZEbXYGVJLc/Q+vYk0qhHO4unJ4WD5DHiRHfgcHOmsvBMvDhkcgqhqCEkJYCnPNX/69/oQlNWqn+rgYylOpq4ys5UEEzOtVepMmkIk7FNpm2HKqsDcfvSKEHJGeQCS/Fx2+cSKpZHQxUtWVktfk5fhWYfSkN6/YcCV+x+hcCzT7UNK/HkSorghwsnCTRsAUVQBMWpMslp0se7X2GR8+N7VCvqxOwAEppXX5Y+rky2WCV/BmVK/NXm6hi9A3zEz9atgGu7+SzkqhmZw5LT67ZJR61PycwXCvxVb6xXikpt2JSO9Sf2WxxDOQ+EzfWvi3h4vuBaKVlh+VcXWu24P/edLwwoKsSecDMSGxYT0OviSJKpXYMz3b7EPZzhfxsHq+Gp8TvSv7Qu89XAsxWF0/M/0+e8/lWvd+xL80KmUvBnkVPXV/cUqU9oqRINHqWM7UhDteiA4XxDjJUb7zXb4LkE49ISv4v5gEGscXMncyfzltk+8WTIopWITRvv0yKd6g/sBqJlR24sAWkj56vpmI7pMLEBK7s+2/3dwZCiZrevKILgsk1zcY/bOi69aIMyQudZWpNpgihVq0dFHH6n0+ZohjQUHL1QhSn/GIuEEtjOJYMoXC9dymulsCczU0pP55/VtqLA/h4eANeuvnWR+taaKEBKVvGlY8AXKk6YUyBGeS29pl6+NGTJC+ONwe1SRKBfOrHaqs0fMyWYZhCrRHzo5CxXqttxdf6zASRJZ8P8oO0qxCB99bFz6r7KboeoPIIUJMntmtBKJGjkMbP1/W756eM7n+IuqPBQM9doowvdyN+/rYj5FQL2Pw0OY4g7W2FZRiZFRzghQPrjs5uGCQIcDq3dMBfHEIQQD1NCgRumKvNtSNHKtAbYwvIU6Kmo6u1yGIzy4RfJMcrN/vPPqtkWDV/dqJrWQtegEUaHn0ZLAnwj+RhmB8T1P/pKuh3eBhjidqFBDItNUWc3CGBNR8KHcfmnt1RjBjuXINr5xcRl9DQZwdw4HjjJTpH2Pju6Eff+p2Q42aRw0YO6YaI60xmjxf+c8WCtHthy9Kd2WVxD6fprCd3wvcTzyc81JIEzI3GeJeK8jWnFLnpdqDkqwdXu8AlwUd0mSCjafmNEKnJMPMUPspl1rTCb/colvoLGXUISRHdJqEeqUVbbLIJWPCAcN44cDfHpP3bSM6cHIj/NO8JG201fgZoqCCltzI+NrzBV5UkjxEwsYfblWt/j4OWWeqHs8Lp+ugmE3jKEQq0zbSSR6RAqrsnMGRdyxcT4cZ7n5249WmFKmDqXlofdKTmVuDRpsNdiBNdOa6iwE5K1nurIqgwI1Ya79xE6mKYpdnssZN9eoQNIykpg62HZ/4NqMFyoNyqOHuU3XA9/Igb+Sh9Gscqer9YP4HWLxNjmOb5mSlcWCeIoFQZtiye7huKo6dCKUrobAuC90FXCggNGSognlit60g55ZaBtWA9+ENy+SdxmzlYBJOFEyNZVMAjxlNXDRCStA2Y1GpXXgcuw4D77iL84HHP98fFt2pq+5lUehz7xy48L61gNw3VO69kJn8k0pYeWCZpnpNfDzh98IiAkVlgxmYspK4f9uz6e6vW5iimbj1DOWN6aR/cI+1gYsVjSREZc2EZidwyVwgc/Q28tPG0ziBCVw9Zi1uvFkx2qINb/8EugMVE8GAaBbUy4gjuzL2laWqDOTkw8I4bMGCqNrp9T1nDxx5rlX2c9mumBpNg18YXsiXbWF+l6WNRNnXTmp5jJKnD2PZbgXv0OUG6kzzQ5uQ0ysPaM4EufhKWF94YzXRtrh9Sp2tyHzl3u3SrrrlytaJYw64PDHhmQ66rYsvcj1ZPXJg1tZHuZ5UYAbz/7/R8q+dFvc6h+t0+EiK98Azo9Wz3utgfvXS1bmmcLUb6GNBdSmqzMgy2JlxAszq66P0DMirP5ELPfStVPMdPCxbjgVntHsQLSrApH/qQyJeF1w4/THfeMU+5TzVRHYW/ylgSBqZCmeIj6WN9mPwWv/7/zFavCK1Alkl5wVje17kdfhaTWCbr1yHQKlwgPNTpcG6PmMTWWj7TiX1qsjQGufjeSN3Crb6BSmxh/7Qr7JokNfoI1WUEDK43Fdg5V9v0zVgATxS1C4uwIyS6pZNR4ngFQca37fY9eUhLVrzFvxW8cMyXCf83R3eNwlbZUNbGCYkKhlYPFgFEIgCLIrB5B9MLhpb/FZLbLhEt7ZAeAinJ15m+I7AFRptIslKRWdljr2CMxeXKgEnrg+kGw1o+LF48M5gX+GMOQ205R4XWjcztRvtKa2sYFyvEjm+SaA+/2JEQwmWmc5Cnkqh6ABoI4CCLQMjZUKngRPF7dHZcXxHRYfmfjKEJIThFfODONoOMC85BrmMaAIH20IGsLo8MDUY/OcJp02nEpUcoWO1mEdEgeuehO3e7I1hVd8lk9NNYxH38Ep5dh1n5S/2EgkwcUxAEKFLy4uqiRAdYrbjKT/qCcs/8GlTaHZ84okVSDVeFXN1cj3DkhKKTilUiQEoYABcUMClCKQZFRBaZQAawHtj3SwtT1WQf2aCiiozApG3PS/3pPD3NwYYZEHh4y/BanlgsOltNr9NXsUkkaYT3m4Sw6ptsoFJZRJNS4um5enH40xQNiIV5t0ipl2l/X61E9H8mnnnZ076rIIfagp9hOvg3ZM/qmphh5WOp5Ra9GsUbwJiH6Qr7qh7Uqzev+myRRigwe21Gwwho38btBQ+Bjqy2UaJN3h254GrBktH8eCXOFVk9i4ZjWvTWGGTcHSQbmSJhGsvIK2PuFXQK8FXXfVi+0P8ZgBGt3sF8TCvJQl14k+Q/RUSDTIZclbA5PCVe0r+NeFeEsQRwoQ/DJawHhWFU85xAclnfbfTndE4PuYAamH0Bu0bmbc7AbG/cxEVqO/L/lCIBewGkY9xu7dPR2EWeMzh6vwul4eIHA0t8PDjtnKkIeHibBNcSB4YEtrxggl+rwEljZvnn3fl5XDsXx1SYJ2NrNNWQEx9+cgWSfWXHLrUUIu4ri16paijOQ+PTOS1eqBU2LZpf/rM+Oit9YAb/pCuil46SaGcY+4juFtbgLGCvZG4AHsKIuzzZjkuv/X7T+tPt9fLdpqFR5r5TofbPcuVF1+F34Q4wApS2keUTmmtOWCtl/EQ1SAYL8zfNNUSFO0TKllBwrYWataIDHDugB4g1EH+lwLtkXrdJ8xHx+oJ5mUku33Fo4KMKrxkSPRLImtwtrg1vT3VSm8detoYHgMTKetm67zFUjvgCcvi5CmTpb3vZpikEqcNmwHqkQ/ZwG1GNbb8oPcpRRSlNWt8Kq5CrjE/RWAnAkqaL2bKYcZ7RqgnIefReFXeJ92IfaV5OWOmdVpFeM9CqUTTeOBBIAw41Pt6Zd3XLLwXaf65kFGmkJeesv4LSIQTfpfe/I54zhWx8glwiuGiCZrvrHkTqg9tz9ixSIPGYT2t2gnGeANULuylJxRw6TlclzGAolCnLW+DXaNeBUqn1+YcpTvJh3b7Z5PEe8YtKJ6To19+1y89fnWPrJCYpHK639BFzTfwK2VaTmLd9QoC36WxTZpdrtV3YUSbSbHoIGVwCGZx8iCfa8a5b5eop/aPAuhK4IJnSGwROf/iCSg8D+m5XBKPT9UQFIr1aBLvos00YaBRytdvS6a7BVKQHak+Z3CHLvo0kDhgCbWTspSWSYhoAc0DW556f5Xrz58qZiVVM6jneIykudJmzTeiTu6Ce7ZtS89g9ao7J2E7Hhzsj9vnoR5k2Gws5eQ47J5IGAG/QLkY1RHBK2tWCFxbMtNRZqVwq/p7s4LbhNIM6/6+VDnStQu1mF4hPy4RmiLlDFrxSSb019fXIOo1q8twC5kvSLUB5lzRo9DeopOIE3L4EftwanOy6Yd3EP6nHN5z6xYuW+in9SzpJ4QCp832bG/G7Gd1kKCNUsENRoaP7uQDEa5EXgAEMHVPaH/Z6d9CWyO4vnkxFjMU8brFd0fEBd7fo5QEjLXNPeIXopta5rvh8lNUdDcM+2j17QtyiLGsj86mdTxpoklscxst8eRwBuJjlA95zKPQoyaA/cHKXhmCbKA9GMMaovF14Fgd01Eg3d3Q3jRAce4bKsz7mkDzIFvk5Efj3ySHv4MqTXvEUXoV7+wiFkf77aMko+I6W6mjN8perJT8XTLZE+332qMHpnAm363BOqv4wuQn85HHodmy4A10SqXYjQtJPRj5PVpgnYCs6Qi6JKdJtz5ZzpeUx3eupxVjHNQAviji6B5DaPchJAZQUIh8WGpqT06Jivlzq4BUx8OVEtcfBl1EgYdtknMg4TaaLQ8Fk90nRLH2c/mY/rg0Jvhj/9eGKcgceVv07Ploi6sutJrECsOKqWjOuU6goBPY9/U8Zuq6+auzUJY7oet3E+Vaav1HWUmmMn2yxW/LMGBHGfuNud3peXvEqTNZqU0uC+G/73TiK20VUdAtZ/3UNn6cmvuz1d8ugWrYkt+GjmyqDj4UxY2PJA5wL0FDzO+g8wKCfDmAQpRGpvVWos44UZiZ/SxibEzP2gREgVr6F+/XiT4r/DqWbqZXOeHT15xpXrOj34QIPb3+OyBGzML3nN9pMf7QkHElvgVDFCLJoOi6FpbbOT2QKbJQyYSiTWSBQSdA7FVkziKov9yDcik9kVguB9QX86+gFj9Fr5vxRBvWDwzkUFKFbNM9kbNa4O6AUny4TCZafmbm0CXhBc2TuxE3mi2yA5linuKEDxv0HL0Luqy9A2Shv/PllJ865Qjol4yufn4z91nB8uQSxQtueDegPlODGGoEAhbncODeGFeD9Pe5ZIIm7r5UMfJZ0KyvUTXYtCmODVvUL8HMNDRaU7f42gtVzUJOUsbloxnh2JKChRSIfZ16AdfRT5vev0O3/wZbQ3ir3u3TECzF7Y0Sy12HqTrd+QT1BmbNLCkCSE8E3h2USgl08ST969iOM3WCTBwCRQMVu5VB6M9VRneb8f030HzJwvoW56dAYEFJaLNURQjSKhlOMb9LFHENQv3Fx2kay1Gy/4HEtuY7bYk1Z6kItouEr3XG7qhBsUT7LOd9PQ1vjLbFGLSvA4MvRoMLlzn55X/e42IOuJpLhSAZsy/WbTvNV5njpL4A+KGgpqw1WyHC4MMlBXLFMsPNmFmoWzzYqWQnzAeUAWy6+oSWXz4RpAUNxRX/iZY7ygCKJ7B9M4ctkCyIJkmBNZetSwTT9nSYHtbpyHUnA4MCphkC+YRhoMzY9y4pqed8UvnqzXkonrCPJz/JRnJxeM47/uCZSq0aMg/TP4Kokg34P2tBPwCqgaO15N8czvc8vWCp3YqAloCinwbLGYJfYSkYJsiATPvSY2kpnec5lANlkRBIbbF/G2b/MuUQpcsjGPWGSg+NsQLvPZ++Wd3l+DX9d/InZH5YOGEYtWtdzenjFFjGn47TpCVkX93B9tThiMfMxxdsjwV2WaGwwYCsf5LVh3JWJ1qlw2BAyBknS+Wwj7Z+zH74euB149uxdIbFuPxuHxoyPrDOG0J8CwQE5hl7/3MubQvTe9jSoxBLihDiVQhY6wl2/zcRmNUWiArXF7QG6JsDCPnaQ2wOgx7Ic0gUxf+cTD/DfYhd4GY7ptdV+1ubS1YgcAueXjgcUGoY/Tvq00GMxNpCbyB1/MUl8MDZ5y3mdZDUy7v/Ul/1DrVs/Uf+BS1JXKDWiGpNf6cszOTM6bDsr7Jqr523FwDT8IOTK1/xASqcDG53+BM8zVHW/jUFUjD2JVXt+7UyAy5RiuMMqZDcxKX8b0604Q/jfRCwKb0LMlCFF/pFaO86aHMAG1RhKJujt5P9V77uJ4QSyXF822TzS1WN4tZACQcWXUAWeMtSTpgE8CiC9SF6NUxn/2Uer+mF3kiTSqpdC/Wx7ms8f2kv6hftGnFCaCFvP1IF9UPLqgxBMHYoou0iet7tyn5mNT1G1UKXYDvKtKlvyQZkrqxs9wfRuCzburS37pEDcrOgzkSNFg1ACk/eNR4+AYKh7R+XGJ72sb3DEkIBdaFugPRqubLG/0kdt2lNL6Ek4+ksNWLi8rc+P0IhekHWWzfbFVdZIS8aIhSVvkOhPu5x1jj+xrpVyifyLzeE7wIHKytNm0K04kbBhP+usqLARxRhwCxhrEhLsfl06juoKmPhmrvmpheCwxH+n804SlA7BYCwBA8DVfvBK/w61nbcJ+Saa7I63Zt5svWkeYhiPkkPOmScoXCUkQjkLtHlAxDtiYAEzBTXLWnfVZdLCyyzcUirUI5/SLI3RXH80d3QSpDSa97sVr4oqhzakX83fh/TfXnjY9pFEJHXbkhaxlqvOHbFW5BZBQ7A7Le3K1Ihh1QfT887PUSsCl5AljVuAg42LoJN3lZpKfkeME9Gu/9z7K7f90/+RXL9zaRPFIwaPrB7MZcppvhEeH1sYkXu0s+M8ybz0Ntwo60DGkVIeE9XDYzHtcR3s2DzQMfCPGvKBM3HmLXhMDHqXpTUUkTWKKTU7Pu2V4swgeZcqFWpPkTLLRyYqwy+LHMQgwsBqrhAziQtjG6fd0qBEw8FuntVL9XJyDAkW7BVmTSaYSsrmBzYyQxMEncFXdl/4E40O5D751yyCY40gR6rY7IDY59LiYnVQU3wX/Rlji0LM2e3SYhBAjhgxkhkFgL8GnWuRbtIdXlFLsHzpxceO7azkgYEBytQdT0NLN1ihs8YbC6PUBLHSCMP7b3tv/22iyl8tIYA/Om9ICa64QS2Hhv+6/LLk8wM5wp0DOfnaxVK8u8GgNifnp7j9Pe7a/00Y5ypRGM5gF7It/EPVuSoB0YmhvRggOdr1hSVAZvTs40euBNfPA3yTGEn+SZe4wG0m3t2sl5fkvaKd00wvhlWAoMsHWh+QbJ8bSayXLg7GtznJNaz4DEK3nHjRxlAs2eaLtka48A/57wcUHGrlgDKstwVQVMflERYtzOiMj/Kr1Ff+rVQI2dreUvL+zWg5dYe//LjshB9+nGTGoYYsGOWDQTud+Kdrzg+3GHgbGS4JEi7m7x03zK+2BYYRwYyGpJVNKyWrKOgErOcLAbgfGAtyT/R7SeyjvpNRPseF6H3w74dsrBgSBUW2Zj10BuCejeaVpevBC230zevo3ERvTFpR046MUmAETjP5aAiPCzha3RHJlrfob23YtS1fgO06aH0oshthvPoLO/oWa2tV6GpBIBYwBScizyI6vFCP6NrQp+57wYAGh9gNdY6H5s/r02i58u8HjMCH5+6hFrOGpKTJQRag5Mr4udhGDgSObU8V/vCW+F6QNgwPwL0Y3/XAjYh6NE818eLGuyoH6A1vn91RH1VavI/1x4yGYFvpSWjLgtttzgO5lNFshAnVxGdtOWVVDffs13vEIIHlJNVUh9/HxXfO+essf3vCjDN/kCfRP8ziZVg4810crbm5Zh38cb9nxqtc227FUtCmEIRYBpG5XWarXDVa6ZPUdWXtDOdjYfh/FgtCyvsg9b3+yxiPH7h2zFnH001mS8X45uRBtihSVjFi4MaXPyCcICZWE6KHwzzemHQUEm1HFAH9+ETtbl3mwBLmVNnNJ3RI73audRcWJzNdudGN+kCvm4iLHgcnmhx/mQGhRgfxW+JJm5KNX6pDoqHbYrgx2X80bwW0OEIJWSqjnFgxdnbCGDXUzhwKE0Aqpn4SH0eShmgmFR3mwWHKJkIGnFNUs4DXf5t997QvRnKpz5Sm930CqhPG5Smv6otqMYu3f9Kin9gk4GdgWl4RmSe6gcAoyGvwgEik8hA56QB2l/6/8WCcv0Hof9hH7jkBJKE+pAIvOFV2MC2c6Wnjjsy/JLaHOVL0sjValY3RWxZwyUndFPS5/YyCYIi/2MD07IhxZeJmW81EAZqQ4FZhZusYri3uFSI07FTolbumtqXxYtGMdIMQ2N2b8RffFu1qiqYZIdOi0/zfGdTfael1Gvz03Z93oJeBdfT1c6APOzVOqRJgtGuyPzvBgwc4VTDSW6dpN5x1lL5hPIUVpv/ZFEjZ0p1TONKTEr17OBEQyhVaE1tC12NZJufMZss1s51Roo3m75hwgc6+mvkn21upkuQOPYihQjjR5v2YL2MCO+v41y9vS7/vA9ysIM7f7UcJcTibJ5BViX1LqrJYXBwEsJl6uHYETkY9xbz9nW+xVZTbNNi67SUtc2k2vEuZS/DaGwWGb/Fdy3RGDPtb++OHt6qp9Lw7tZxyvGuzUiqi/EgOoURLLooPbcWvGEMuzYwcYsXqGExZHXIA96g08iQjujDBbDVWb1HOBfRobegr4dcdOORzEl7J5JDtw3WFszdkMv9p/r47beSAi9qkhUN+lK3ZCvjUn98TQEzSVDuznvMyZsQUCNjOpYxUjfE7D1zwW/NIKRMp0zorEIEATiD1JNDQe2ZV8Gs4+KAD/LMkhsBtCnD0tjNqNaJV9s3oQQRMmtNu/dMgpFnQVSN0vf204tElgyc/GovzFQAbfSV7Q34+bvF3vSp4ttBLekNVY5uv26YeiI8TFXIJtBmTYEED1Fk9Rc+Azo2kNoHpOQB9MGSffWJY7NCjbv3JYhf9Ns0apR/VNxqqWZ+Xp+KAsHh6kizNO91ChMSq2T9ZdL73B5o8phGDai3M1R+UIqXmYdOtl5+zngbg0tbbBHekjZvF9MJxUVRw2fWtoOA4gxIbi/UXnK4vQhMklZyw77MAfR7himX+weyN6sWg9fHyguo76MJD/e2v4uoggaGo3lq45ElHqldZwfpYP2ryIWihmQelOsUWYCHqNDDM2LoViD5YjfLvsLP6bI6HamldEh8fbhc4WJ/GshgORES3VOSyMcfiRvQD7u+9uGBaYltpAZOjH98Wt6FHmQoKiqechop77BbU6bMOfewKnPb6RjF8MyQW2QU8enwYSgo8C0Rk/xHI+LNa3Vp4NIWWvSGSkpJ3+Sz9W7gZ6v32KK4HprhRjBih8o3ZNc/thfUKU7Srs71Ie82muOWH51FQdLnEUpaVwI+JpuBIrvVnIgJkZuxOMgV+M5/FnsfREl1Knat1VpmRqM8ILPkRnTMnvjQBNo4kYZDfo7LOrSUy81VoMdsocseGwxq/ISk11i7CTObZKLKnTANiGaQv6Bc3RmoqjwMpBc1Xgj1rAYxCZBOr1e7yoWrH/EWky76pOo88moL5uY9GajSuyORuPx8AP0u8rzByVzohuWrQ0kE15mNjXFh65VHsd1o0I3+FnQjxLOb9rKEGqCrq/dFAfcGZDE3d0aERv0gdo1LLQYJm63AQOQsVJglQCefRbYHMB4t6bDYYazDL6P7DuBrIrpx23UNgZPvVjYDwAEZtIAa84tINObSGfyA0CxVYbEaOdgB1O7cIxb3nqk5ljOfmKEa1w/t9MtBUBkp+eeq9uGLr0JdEDlbjlzubsIteQ60iRAGH9H1wSwzuKe347MFgjTenLCkbFb9byLawgUCyIa2D8vTjHwmb2bcSxw4tv6ADbbNvFZ+Wh/DNCy5NKOUs2Xk2aQT8m7Hl4INZ4qC46U1NnZ6HVBSLxBKmTja3xg8q7qTvb0OLzXmuoHNnOAswzJZ/3yY6usn/BGiJXPnDbFnMVrbRbli0eKudQdM1t/MdD9tFviWlbRD/YUuF2+D5ef7Gy3WuY2W7+LtSbYkL6LsDwSI0tOyhvcp9O314lNyw+zYIqAbpYU+ACBCkpMurukj931JQEQkxitwyeOSsWiyTKhJb0x1bSpoNaWsQ4B6TsOtSHc1HwO/ycASKg7JkxbgKYKyfzBK8BS13ZqoYBbqeXewysRRDIcBwgOhSUA2qUKPktKh1Eqrpd6a7S6+ucySK5nwlPrezVu87PlNBn9wPtUFupl3ipLPYMA1SR6zrSzCYvJEvBv9veX4tEOWw/qFK5ae8nSWnD8UyGo9Zs9PmRA1ogXbDI5UV3CJyzh+bxczBE4/9aFmqlhbOuzzJJLjrQ5nzy/miyYg/8BqawXuBkqCtbmri1/HXpZhur59zr8gXVi/BmP+cE4rx/OqagW8DCTDTnzSnJa8SLVLhr94Sx0oDSgiR4pqP5eE1jIE1oSa0VVxXmha0NtMOJSG9mhML3H4g5jowZ8nX958kyjLtFY33k46+moC/5P82iv4bu9TmWmiPqKytjqkvRhq0ErqonOULfoipl5k38Ehqbnf7Jx3G07BM+dSome4Yx+aOooNdrlm558eWU0RlJl5nGFcL+LpgLkmC4ZsdIHe0o9QTSP+PWZoC7SMWlU2vi8IbtwiTfmdWQeGOOtkGYfbGizImk8ndBOAlPrtWGhBBzVJZccxEke3IE8brIXIBxDV+V7pJnnA4AGYNez896WE5+HYJOri7ipiNfxIMIPgfV6UvkVczcIdeN76Ff2F2bulIG21z6kwI+sbX53c+AGcU+97xnlhX+IJG6sZ5Z6tFFwhQIMF3aPbDOw2xZTIbMZx6Rg4RuIl2mpTNLUcPQp72ogk14f1OHxixyaKaRPjxL6ubZV/vURxT5lsrfHnyIjRQElitY0+rKUd+dDIuCPcC+JwQaDuNXNo6/sI+pcN/zdk9hcX1Fe8eUiwS0SKBPGYrhraazeBc4ekCIU+oguEkHHmW7WRHfkW6KAgbR0SFYvJ9X6Wgd7kvcH3UuWB4LJTgLEFSNyNBm+yeHOROnDCD0YJYtthBZVSdQDmC4iTHOoCdySkeQbH9tApQEf3MG6vdTub00mqOGpSJ4vWrxBtA7X266uswOMVzUA5vJcDxoxagjVlklWXi+Y31AjbeaLLbESa7AKXak4ME+10iFOWO9O9l+dh/9xxYJ5oLjPqoh7W/7p733R4W/jLvtyO5LopKG4fAv8S/1ABPMRIX2vFmByXjOO5XfaFBIXCr9HFCOELRR0IrwEIwxd2Kr/ItBYIRPH19ZPVXExv4iFcnCt9eZ95+oGYFA01JareD7gd9+qX4Gk9j4Z++c52A6pd/mu5dtnoVbWza6v9lqMTLa9qgFoLtlHlMZWhyN7H6xwUrLcscoXzsgykfcWKyl7DvQ0e1l8C5g+5KrhDfVu8bA1pOuYrgVi8NFDOwWq/EzUQYBuHln/wF5s58/NiRo2B8EDO8Gzrp/EN3UrP1iSdK+/txn/SH2/9UTbAWQYnEYvq7AzLhbfaeoVEcUFKlE+Elt1n5R/YcXrrciS7oSup1OqOLi8LsIqkCEwsju4QDnNVnX00PqHvZwqyQGzajtzFByWq42JneDFvxVmwBdyyRfoeCKADx8eqMP5q1Ojl5x6btIXbeaAAEsDKu09I4FVxq0oloatkhnlVir2BBHItU/oNr6+48L6+IsAPFHT6AvmPDeJadup+TlyRipfph8HoXanY3rCLXdx5DWyWbmt+m0gG/yIJjxzv/I8KOHfY+4zI3c8uaOhpCBBhDhvhOQx2pDFfPZ0XlSIfoU9hh2pGqLNlm3dqBXPSiyE0I8DoPwf4cQN1N2wd3ut77Xy5cXVY45s+r/E5EvNr8RA2FIKzwJVLeFSWI6ueLXgZWCB9c/rsenE/IW0toIYjLOTrzdNoRzVjhVb8saDulEKo+sXMrfbU3oU/lZc92uguI0x1CD56PWpnk2S/K1DcflK+lBSqnsG2pHvR02dZaKvTFldW26UbIPN13JXB1HnxISwawRi9w3CgiXZ+H5fObnPVVCMyjCzvQxc/c7iCLU7Jfk3n1L3LLTrkxjN3tqdiRukDijF9AX66RYz7lYoOjG8pk+hsJDn/GBENX5q08l8flAAUfhru/IxIf2XOqNDW9p7hlSO6yWf63HxdswMac1Vgg+05zW76BM+PEk/aIRNhofrg6kQ936u+rQY0smpxlfe3CkKvQoAeN+M0Bsq4r2mFdmOxUxa4mNOxpjnk1yhTB3HCHBfA6YPRlpPp/yfoL5X8sRYBkwVFO/bpxFCRpRrNyeMPVMIW4QyyEl/1w24w6/7k6OC1PBfhqY3oVN91Mz2tzDgy3XXDlRW9dakjHvMAHpHmdSPk4QpEBqhexcGmtQzn4Mr/8Op++vCl5InYl74xzqN+1nUC+acBMAhe0OVjMlPPwJoddYT8ktm0SjgTgQ6jFvz0/cksYRWZyBSupt4LDkNVNAGvKln4ocRUp+qbdWacLxn4MSqahkeDaBhyKGaZeFEg6X3fihoBexY9YFR9aKbk8yUGCz53B5vWfFKNpGCSadLw/PSUC5Uenio+kitHS/EEkPh5E9bOctheSWZkz0EDIE6M76gjPZvMKKaFfHir0jlbJ+mw2kb7IJBCm2XVf4kMJw1Vwzb/GXHnPxhrfgs6QiRKMoOWkXPCK4/+vvpTu2sF28+jk/jNlf9O5ZPnl46xpC0EAI3ZeFWOTuOxdWemCjFmg6JhtaUAUa+Ca3REeGRSZk+inOr38UdfTlQSoSvAhFG1NE4iNuuPyXFXWlSOH2qVuHxAhef5Qy6UjNNYuc/hDhtwcYlH1q2CznEryW9jCzH8pl1Xg4UG5nM3TM5y1lyY06R8o7JRe39fTy1qXQec4l3PFDeWXjDJbUndJx26QV+J9s2qwThkDscN5DZD9c84wgkzwAKMKOjcEheMZd7/dta9lY1VKDnhA9iOals1UD58uDtgvUQuhzHZqq2ZJOV1EN+cwxe81ih3QFGDI6cCt3AwQ9SHTrAQOmbjeX6CK2YcmUsXLHwhKc40kuGWWj0FGsGK7aUL+riJ+ydD6RWBrAGUFqRjvKbmrn2QOojfokOWDMur9mvtKn9uBIMatWqE7s5G+oFyo8dRyosegS8kDJC93LEswqRioVOdH0i09axYspStWD34mviXVzxQ7gqtSH5fw1EcG/5wOGU+X5Nw//218lYyboMFuniIPBuwaZVYI0OzwFQlbeifVH7aPPEWRCUv9b3tntOkuqdZJz/K5IdNFXnxGSau11EUMMIvptMvii1wgntbzEGHJbgAoTDGGSbc67BdpjEe7v5yH5b8K4e8wEuVF4IEV0WemDtEtTxeLWJc63grF7U3SqInziu3I/cp4YheQj7eZpleyJPSa1ZfBs3vOIv8BFlovjVojxf9SaiKzdTvkmABaE1BwltFh/d/Dum/VNCvYokESwq6Q/jlOTJfjIf+Q3i8Z9ACNmfXND7wtnpzRFhNlDX/t2394L32aseHSkc10FMcjr4+ShCHDSCDn5U8ADi3DUr5yFQMyaRVOBAYtixETQVNqrqom7IAjkeiXrc1/cHUqiSWC2X8r4AJ2i+qegs9blM7jhth9aaO09Bh3h0DsQSmo68rlR3gWhWj7en//Gox8Pjha5gclXfLw3gCEHhSYCudnThnXdB2ebtAAndXeSG6Svl9vbqN9mDXe+d+JpyRdplU6Drl8rTxRZcM7OWd6xhJ5oeWJg0yxEJ2C6bySwoCjOArljt7wmHBWKBQKF+BwdrlmjwrmqVQn+xw1rkvE5k+6DojeHU7EXNAt2SeW0LUcwyUxksvHTQ4VShB12tSLHXL99YENlqJ2t7NEnvCmla7PYNwQT2GQp249NhaSY7StEWXa5nlaJzwQHSWtlOcgM1lEdgOidiqtvjDQSx7tKCCGkXS2k78Ff9QjufqXIcYgCACiGqUK/pymAqCPSCJwsy5T2WwMhx3H4ISBeQ7FpMKSZ9S4jPHhfrl/ErE13tpAXoB3+y3Q7X2v/v+LXnPodS6Jgb5D1be6vMh90khUe7FgK2jYU/638H6ubC5zq/mfwiT8aL1cGwiHrcZ6xHyJwRSqfe97ackJjqkiwhBPJ0EAPVAOuMEwcP1MIZU28/6IG7rZChqXSB3phx+Clt721uinNOg7V0oEUzoRPaMsnmi+KSFyhEYsTo9m1PQKG2MsmS8y4yGWTUYo08bumH7h2wdWwyWprMshn1YPFMwuqLEqQwb4fndYpPg2Z062+D0CiCCJe7s5lCuUGo6DQRA52DUweZfNHZ1km05Wlfx3Uczp8Lw/jr5l0oyVt9mZCSjUFNBxoqpqVC2VcVVa7vJ4mkRDsb44VimjEqZ7zvn+ykdf+o7P6G8KdzVCjfEUYKWCpAhDP5X6sWzzwe8dCrVagpC2qzOw3s/VVqJyTyu9syZyiivU75JMOP1a1IXrbA56GaZGzw1jvZgPPsSqZ6GRanAzkbX06YFv4IF8ekwGJkwjIPZH4mChESY+YxySSAFivM+ayawngJz15I8hx0EFRyftzzykjVBVak0m5b3itj+q75fpJ05VvhpgrvJh78vJDO096UrLtgytm+in0gBcx7csBUtBpGaKKm4wdqhP1dyZhkrSf2jHKrFSUkhXyFguwOXtUcf9AgXO+/695Yg+cwj+VNHeyNf6LYPo77stc+nYBNWnBS9lIoMA+8HEa0PFxzn3lIAQ5JC4PuhsH/dcJ9UFvAanOnMcIUi9ZxHcoAWVSlHq4u82KtKEtK1jThmXwqOdtgAhukUrV/Rx4iU2hoc8N6zXyR37Unrzz/YZkoQ3+oeuOZSydA2gTqT+7AI0Dch1516nv2JwY8TsAME0I/w29hbnbL7E+NPyDrTVryr9NMiNvMw3jQRlbSg65D4sixKcpqhpGSuUMr5vbae+1bvOLnP8Ugf1w6fGTe6QKyQoQFtL2QqZLFsHsZZwiWjEjWftXI47IGd9t+TIaEXq4xDs0mDRRCw0pqTAZKkpgjwOt+6OeQFenSz3Js+QWtEXS3bcG+dC0kebhxOyJHRTXsoMR/fkJJiR+KL6zmD1A1yAcOfAL9UGLe4k2u4EJR3MbZSWPiRMvYI99NbGXilKxssss++rARvDUK7lXZJwyOBe4up5yzr0D4wJ7/yJmusWpKSxNywG2sR6R3xHn6DWLnqeAueXlxKyrzO0PheXZlpP/g7JaXIu1A9+Agqx7l1VYxX52x//nCqSrJ9y9r3+PNRk3j0EammcpygFybgffJp80WAL2N+dRxr6uJK0vYNqPTUsFZFYYMudWHF+4wZDXfZjEImzxfZppB5DcdNGh/tQXUHBt9F6qBijtwjnCyzlNvIPGLMOqKX4CRXVA4xRqcS2mhXd0JZaOR33R0IJlunSBlcUSC2Zdy9KP6VJ2Qgi7UfRRkE35oS8iuq6BYesp5AX1D+dmS/KU89IejlAHXKBozkM5udvvZxy8Z1BjoxxYI8b6qMn2NPmTBvbOgz3L8QvacKKWN7Z9qk1k4DYgMTLdbKwfL3S9nk/OCCzoOxP2vXXL5x9KXhRuNMczeq+mMAQpiY13vgtcGND2ulxGBSsa76B9bDt80gSY1SiGfSDndkdOWxG1nGkdv2tfK9LjCL6fxdQ48roG4f23blCgFTQXCLYrqdTutnJxCoWdS3TDupSZ5XxQ0sHbYcg/8mibdim4XZsdeF0O6fcmKwXBX/7L0pihhIaPvmGkhzQidEUglnNAyBCYAXBy5T/DJZUqUT7uhTnaYKPpyhPwkQg1fQgI3Pd/muhM6BT366LadHXZO8lYVRtOb6Dptij+O2bsOXIgzRXZMGJU+udHtnMhCE5Nrdtx0idqxOy5Kb/JWhfHbYv0P9TJqNToZuxeeTYkhODAOkvvehBGYqUnk75XF+c7wByWpn2LXhbuqfzCKLVAYEYn/aE0armi8BNXtFUMiyKtF7BuhL3DYHxPcrMh/gkoNER4FU91qPXUxdtptxqwU8+jMlqSCzGeOSmKSuwksPidmGFPJAt4rTQC76Gr/qa84U+wpqNw/uvFf9bHb4qCu3cShoBpiy1yx61p5WtJbNCPGgfBxDfyla1B9XormmZSNxj0z5HJLYjVAmu3oeL3A5WO0iEjhTgF0tr/5NQyW2oJ5yaeaZSKLyBXE2y8bQGPN/B0UQ5/XDFarlzRRhJ5bHbcrLNBZ9AgKwW7uLEhVe9HrlsxKgxpEG785WIk5zI1k8kHBErdlKirYHaW6PIho8OvtfFXP0JBC0PzKzg18AJjK8PPxDEPWOpH7Eb9RhRg0vkI2tpzAWWmfWdmpSs+v8WNU68ytJuy5phZFqG1NyhxeqLd29piEG5Q2QQ/uMw9r5IH0LkuXh9MfTZdGwWrmHZgwujWfjA0BJ88pR6/1dQQ4qkjRzQMEwJOHU58BNxbUwPqTPOshUjIRSiwoJuEW9UNb1AmAeZhSSEg1T1MBo6z3iR8sC2j444yOWLktOTS/qcYBbZ2+QKHHEoM543NncV5M/n8OWptCcXBtpKbz44yt4iNszk6p6IM/j8cNiw4iEdJLNtfMDktYzTWt/vGmwO+zbXhDB5t7vUW2JlV54MLvXQLpMt30kS+BVsWyvOs3/veA3DgYx3pEmndz8yYW4NQeX6/i85lw2yQ4r5GU+lAYOYXhKb+vpW/lBBpgVvQVsP7+OZKhLOVARlamU2jDBSFGnaaaebBz2xuu7wvVD1peafegWe2X0j81fKFcibh3Cmr06WR64rzeOyMHeiMUjlR1JbhMzlgwGvZgkKu9iYYFpk4yLC4eRRQn2cONoa/xihlOG+EgTk0i9tgeBhsvqnkRManjijXxSbZGvQzpKbbsGZ7YK1lOykLEIcvZEMwHENmZSTpf6i0YJsbTMq3e1EAIfzac7Y7Kh/mhg4LiMC+6ZaYJxI2Dxi08WLdpNljDUBLCboVJsj0BKV1DXpZrh57qe9GL6bxapQxWxGIWAUizMxUzlMtBrawC8pLtYIn+9LVz1PoocUvVES/XzVCGTPKMqJGi9I4llSEM2AeAaZZ4n7FKH76HD69HS6gzdldFScUVyHmbPs5vceyAhGbXp0Br2V9TlJBn9p6ZF/YWwut5UPa9ZuaUdyRtcBu+2PGtwlO3hhSJyG5knuN5b6lFyxnc2LQVSMZwZn91bZzhIId2dRDnYOU0sXtcwMQrPRF07fjAznHlnU4co+g6uORkEdfAiRFD467+EE+n7ecxaCoHLbOaqQitFWf+yBc9DLyJV9sFu2ebcK0G1TbldrNgE5VNg6r3obAHpwCfupTOv8a9fwoueTbZ3IaK9QitVUOqh/AvHRey4Ob4zpX4f9Uurix0jaBsSDR2B/Pr7I+MjMqG8lOCZ+kzz/XcZX/irowsE3sPXucmB646xDsZ7wzp0kJN3RDRdBWzuyo4ZavNcBSfr3h3dWa9UO0C9kBn444DUiwPiYQhdLYyVThFzsAWwLaQKkj23PoBstS2jsB5Fv7BztVOoHmnqEwKyQT1fhLAHRKJp83ZQATuk1jE7Vg2PMQpEq/3tT9KzFxAn3Mry7Q2702umSRnhOG/XU8FT7Jp9NokoZg6t6XnMEsCegDZMxpL3TqoLYXnvkWFF/ijOf2tGseiGyvI4djxEWxTBbz33dlKM8KlxWmCAz8qgp+T0mPfmzkuGClVzWV2hDyGNoRjVSorPJhmDqMDUq7UENLcMdVsp9hc5UXFXPGM8I4KKGOc3p9BhGKtmcL/XNzlkb0lWhmaftBxebtPJY7DKSPwkaLzotvArmOuen1pw1leRF5O2qPIDNWW5qjBv5wld0jE2KFdoYXSKuKjpYrT6ia9s6J0IOd8w3cNwMOMHK65Khriaa87fv3U5g/TNVmq8HVEq0+s16rL1sJEOOwvvfI3XOyw+RduRvBcSfn4xGg1DvumNZsbsleUpOKzcrdeRBt7m5E1/naWaHlXVSKUaxgF3Nv8rhV/0DHRQo6ejgyP+N0rE5n1uVhsWEsXS0Lhrx10s/DJe84mbhr+WgpAlGZZ+y+voCTe7fXz5Mznj0g2Zy3+sFk+S7w2nc+Jemr7YkSPefVxQiCYMQmRvuQ0MdEk0MiXWntoyzvVqMsVIVIU/PPSdU0Cyqsr0x49OZyFC1zT+8SQhiX1ArhNPEelmvAkOn7rVOAwhFxfEwc0abJFhWL0z/4jQExxNqI0YCU/HIy5jfKgmEBqPqF0B7aC2EnkR22wl+qu/fUaI4wxZKoCkVY68fmVjJgzKCQiSBDP8IoXSh8Td3bN7Syj4M7MVkiEjDM9jqYFoLuu3dfVFOz4bt4myGLeFYPUV2RuUt2E6v6kq5ajWOcGSCc++ea/9Zv6uvl4DoZh72Y9JBfKXrUejK8SCkb1KB8AKj8nBFyy4UEi3KBEhdiMKuZkIY+7S4+XFV+bw95puINlqgl1C1NLMDHXi4Ddd+3bugbPl0qvgio+rgtEv2r7U5ePbV5kA5hCY6yIJcpcpeDgerzkLWmt0qH9yCWxdhZ94XW+iXW5l58+9/D1O0bh5N/dDzm0mCqL16Ka+PDd8miL0ByRr1QjyQOxN/qX82o+/2IkU83b8xq6q9wHJPejrWKtv34LxV2ix6MWXm+rJhuZbYMx3yEtR0+dsFiKbFVH2N9oHXoXz+5ShosxednxazP8ytkjzIzEHrNMcGsj3LAN33Q2dw5EonBoHY0E0DYhKOJOrHRsidK/rMPfo9woKOeEGNeTQLIkIVDzYFhxAmuzXD27gjvjD94LAvQ9V5tkHMdTOY/0XZLFEh31b/FORoXFIgJyHIXwgE/YIobSBg2ZuCrcARKwJui841IKBDqd+1EzFC9Jtxnkrk2MCUmnSCBHeQHeIv8XWrNGxc+ro3XpsrTUru82iyfw1vwp0Fq/1d6dD2q4AC04OqJ56Zfv+BXhLA0dTcVxpV15N5YK6UsBtg71WAwH6JgXne3Jb2wFCXzMK8bQCPUzfEhphs9uKOTkJZSvhjyXddEvT5KNvUdqOpc1osT1rjwPf/cxODs7TSANiuLE80YccCKgJ3Jq0h8Mkd/Z5VVkkRWKurCgTgjIvcLlWU5ZJBk5hwif6r7tzI+N0h25iJ2fzmnkq5LmIVbkMMieOAfSuDOWYv6/8MNu9NtTKW0XaNXBVdwKfvMSjXpm7MEP2qqFwKZQj6wLeLfKRIhbB42dmOL7EYIihZCW9GNzuYf+kjq3OEt0mnIp3gj4N5AUcJDLhcEaqH+hRNhNPQLGTLS9Vz6R/R9IC8RQEfFKj+wAclJEu7frlgNh6rSsmxIMR9jDk+2VBn+X4l1m7UZBo1+CNcs2mHMmemdXVk2642KnxnYdui8ls2haKlBbMIoK7V7dzWZ5VBLmCFoTfSCx4Hf7qDy2PLPzng6KNACnv+HsaI90qjkrSDhbv1HearmI2Dh1K/0HyuNrmwispT2RLL2u6dkFcsQiTlOLetcS8G4EoYECIn2k7yYDjkDeb7OcNTe4alQcuxQ/167Kh6aQp7LdXixpIvziVjYnENIYPsjP3H9JiF1J5lLlLsM+jkBnKBTDvj4TBPkLhj6nS7MxtEiH94k5/en+RlcL97OQ/OQ8W7DD2MRcQWHqHOh1BeJJpn+dMluIyuXTM9z73UECr9KY0XtrfarpZWh6tUML5/DG52St8izTdqPxyr2sueW3vQiQdlgfTWO4F96FJeEDyKmztw94jLmAQFS9k9b9aYH8O6q5wgTi8/3UUFdfuPXLtgWu5QQe6k0HEVriAZ735qjmrVxWxK0D7pqs6Jiyol6chxxOT0C6/FWS/WudvDzbl2EZphh2DAnhxdgZ6oKDOX5i+YVTdhhCc3/EjamrdK9i7+tuz4fodVNJugiZpu9g/3YyFpb+b7otss/udYj1oq4U4bG4Q8IcCT0Lg675kqMHQCAh+fCfk/dDU+ivstOKbPITjNIsOTh04jEfo9S3+3AmBm4ff8+vFn8lkr1TEXLq/FAgivxVxedWMTeE8foDDQYQljtJfyXnT7KiFcsmldaqQemO+flYrankT9HHfhquscI8s34hsIksgRJdTTZCQVWIis8lan9EjDXomn8nibRp634lIlgR+Erxe4HD0yUeyzNd1P7fnUe3QDLjS1n2+r0lyFFPykHsHCpFXT5RJgr56J7luUvwTsloJJk6MCwxYi8e5zNXnNFH7EgcAxgOIRXEMh3JbsIk4SwKsXdH9yax+xHOT5TInEMDx7Rf5chGFLysyQnXbpFrQP/HlbH3Jae6kylwfMKVlg35/0kzrRJ5jtX5jCLR4ZRVIoa38YZ6diMuDqZZwSSM2cRxQKMO6xPBjNzHJzBRkkRMS43T0zR0qQmiB1nAYcOQdWgNqOFxM7+0A2tUwcCD9uhqnDjarY8wZ6Rykij/Wmzsif1NZf47zyguua8UNl+m6JkUoTsoqc+djNLyuKZfC9rd4mTSbdL0SyDpVI9lH47og0nZ1vvFP+X7+vfxuKQ7OU3NjebNlGceL5hd8ZFFikh23mXxM+aQvpYIbXsprnxs1US+80Ph3uRlmv8ruTsYSEemn6bqdmXtbDwJg3pZ5u63T+Cc4s+BdMAZ7G9TVpHNlr66NCbddkps2xGxvm1o0197fk76murl0N8iupt/W31KpJB3cj1SowFV14d77C7B1skCPDywyH8SR8xHU3FG4/uUg/XmiAB/OJyz9xILSL8W5oKjgTMhLTflYnFn945zKqPAaLO0sEKvy3Rq3kspS9xpaDPoMdmMzKCFrMtAhEQDQtOYYpPGQ7lTsPiFGsszA2D4WfU1iQfDSDhv+fu1CWC/U0GO0QGKUkKfhPcDk0ayeewTR1kgUNp7DsOPWqCarXzJs8gHQC4glqMK2TgFeLV7s2WswMyx98IE3j+V5HvokztMvXKkOalEcuJBdIPnUdf4XyaJPQeW2defLkDD8iB3t6C7Zda4hyrBr1jEtYeM8woDdyima0r12Fe8HtJl+1YMuPVS1OdBEZ6znb4u/fXdTa1j2VIpIdj3dAr2HhHXxDkwT2VLmnbrwcmCxPVw7TeEi/4NxbWt/tlNmnl9jkkZYdWrWFgIUWViBbV68yW6gYt7tGlsyQ3U0u5DmcRD7+MuucD4X6XurAgr+YMpc+raGCdxCjDYcpqMkLtbhcMff3C8DlkcXsNC0EFCQW2LetIxQQm57wytlUGDrOoX9SWtBQmonH3tupPE864vMzWuhF2gqYUy6basEFW65OowRWC57SkJMbM09v+3Vsu+bhN89LkHZT27pqfkZENuNiEx8C32WircGKiIfeDajH5SEGec/3ZHdmaGbIBs08Z6dteaT1oqJa3v+QZZeZ4Z/F5IsXYDS4GGCbHw06+UCWTZlDlkTmfiv7RE1DZrmaniC7MLkV837cGRSrpvy1vCJCuvQZCVIp0cL+2sIr2mDSjyII+H9Qr231ZYgFqxjEfTti0hlypvhBv4r7JcVYn6WiXOfGR7QNyKhV6lgORqrHfPZpafNPV8ChxDYA32OIE878v1yH0FQ5lTjbyrzHDFBnC356pXfZZ08JjfYG8pdBSexUGd5i6mZeGMElwYFR+Fb16nAGU62/d++WgrOKv4zcXPG6+bJCFefl+YuHOfpYMbEuIleB2zZVAV80tXuXvgpbidlxTCqZaCn0zHPVaYEYc6cHfLoxNmitNAYMx7B3c0yfhinqREQtyjFSj+948OULwPi/8S/97ojY1PhLgUy8W78ZW+W3TPe49kkYPsFU2nQXzJK69mtIG4gPSva2yBVup/OXd95L3A71E5jIPGR9Njb+4adJZYwn/KyJ13tBigonJXBKQWPhBlFXCUGERDmGnl5A94TwCw42zjAgDLjN97ni2qiUKoJqki6EPZtwXaPHBfg34iXwcmxq7V800HBL9DaWaH5rMFSoe5xzcqGY2xXvia92PbblwnhjfBJ0QBAJLinHAans34+f2VuKK78dYkM2TQgmKdPio4z5Y5lrIxB3YVHcN8q2yd94CymZmUnDf82aDk57RZENfmX+8xMFdyggetfL0omPD66isKz7yhYpDQt4/GSgqoOi7pCx04ZQ1Jgp5MGXtq/VCf+vd3EryU9ubIqYIyCefig42cuXYIlmPg16d69oKoD2/xktXhYSFdTWeEBhNEjGgtJl9PoVcOSGo+8X1XtkRg7k9eQBO4sSlwuglbclTqIceK8znC/d2H6OjAz9zMBj41w4Chr9MZXnOCgPrOLIVLZ2BH/d+W4n2Q8tVi7w/o3gUJldxMUr7tGEmtmtiFdctPHOvs3hamHok24Y+6CtzizrwqvtrSaf+oOJwFxbW2C4JsXaqWhQtW2vAw/PiWi2CVTSmCX+JTQ6+D5bniPftajLQ0IXg9A00ZxKQQ78JBlv9pg5W7Ouz+aSQo5f0W3aMZfBe36OrSgoY+RcS/RM6hK/3qKJnTlmkJn1oEbq3Qg8Fv1dh71u9JgrCbSypfRt2Y4rTWJ6mRyP9MTw5D0vFy9s7E96KRXhceckoVAUpbA2qjruJL6YCwzWDhrMjyz3d6Bg2d68VW4kER6zwL0f9YsnYAbbASkZNIp63UKVekmV0nIBzlDJH3kdMJI2BV0VoWhtOP275cw3y/v47AN6ZtSpqj3qs1YSKA35prmgpgaEP3QauXFaSvuAlQhVbB5D81UfAcxgDQoPFqi7eUzo8QaUdRDHFGQockFv1gObJYGToD7ScqK9q6AcAPpQqbGXSY9NIDA90kOISzSgl8OhtEBcVYBzFFQ9KYlQg+4+GF2Qs4z0GuGtuusuem7IahNBeUTTA4IVt71Zf0af1BR0n5tccRmaAR2R+uL3T8wRB1HcdCFebmjTH3abPIY4k1eA4OrSicFBjfNdPCV0A3JnPLymNDmb/YVRPq8Yswhhlt+G2hUaZxwKB87hBtztsr1B0hMjixlbOs3PrJnfCblvt9D5JXFvGgknzwFkT6K4g4uUSX/1eihGm/BMCz1jTF8H4fIiD9sOdZ84NnXoxMfd7kFSUr7Vr4a4ZL9PxH1H3bHUD8sKxz5xUA/QbN1yvjzMhCF5ZJrsh8YPPTjMc/ZKVtaDNmXkxH8yY8uISxos3ydNoPg3Xlexby1pobZUJ5u799ZGlDOzlP8nI5ByMVR2l8FTxWISlMHwZ9gNgDnewNb4RhGTm2NcWTwrNshteUdnvNRbnM5a/P+tZxYC2bwC0FH+YpdJMYsnU8AAyCOM6jojbg/94YVbIB73dWbs+FTEwlQDsD2PJ+BwJB4MpI8fRh7fY4ho6v/4I3LnSsWgGSasyvKHOx+vn7aJQ81Tw87bqryGk7IFzyqf5/TO+qwoFLJE3Gpq01Yn1QcMXVjkcc/XNs8WYBR6Fwe3hw8pu6XyRs2f08dUO3/i5MAowZO56vBciXtoR+tLGx5xVTnp8kOl49DwOC17pTY5H4GrbsX+IZQ92uuRP1xcbHw0QRXGVmgFmI0o7kU1XpA3iM8jQWg6kb8QeWN1XMm/DcSMA8owZjRTC1WLfvAZgutmfiYeMOxVf21bxFn3wr7jRqwB1ptwJFYPsh+J/GBsrnHZrRVxGKcGSDwFgwTaUYBUUCIChGwanLjWn9ySYe+XZHMoz9Zzx+wBC3KQTKuWIe0h6Nxm6ucMAIfUUVxbzvd7Pyf2/AWgLyE9dwvLEu+WFbQPPQX9r/kj6KJ9eFmcmypmfbizhyFsXmuvCtTFiJaRx7+VaqMZ6JA89lqUPP5nD4Tn1+cHX4OSuvwCvz8K0Th+/evyhW7A1U+zLhcvoFtPi/XQ9OdKyrSZ7o3sFurAUB8GLpiLAY8A+dfdB25YV/cI3ojSyYVWazGEHPUsAzKvJJ9ywV85I5a0U9Ppv48GFIkxS4WiUOXomAeAaqrOPx3vVPUfERGlKXI9+a+wliCA+1/UiAiRn0+tcBlboOuOR9vH5/mjLxZz+IqCH5mcBbC9T2192SXrWTfiHzIeIBj7yjVuYlaCe7cltKPu+mZ70Cz1rAMl18+Ml4AJz1wZX2aiqzMdVITMhBgBpjXJvVre8lfU6Wa57KtTAWsAUjxGOLKZmqcC3Oi55FudDDqIrI3R6yi884Ww1jyGNywQ+O1K9UslltEjkjZjYTKU4FUIZx38OLEGGC7IUcfC1rCUildED4Fchs3/uSTsAuEHQmt4r3wgmAG/AkkWwPZIOgmfMM0OGKtsXxrSihmqhHScOXmm8hyiqeKwb76y5RGW9SUbn2PzFFjwtEDO4U7Izu/9dQDj50/uVH/KjnlLM2Pj5wxOo8eP02Fw0vYeqD3Brf6N2EvfGBxrzsiDevgJcr+HDizzMyOkkmpZf+Oce1njTaDFwWSMG5gMfjFcXyjuG5tPf7qoxHKpUQP+T/rlh43zBCuyg08ACl0N5T1u+ZHJfx4z42pqtxPuNOOvGnCCagkj+++Tj5fWGpW9RCLR4g3M65YyucxbtvL5UUOX2/hKSwP6/w9rnZUFoozkoM4ItT6vDWaVbYvkxE+1V+8uqs3HOD9x5LMDXnzKtHR21GhzoArfBFkPMvvqmIQx4QmdpdITlKWi6Rt0FcmZDPX1Ej/uOluBoCLdNnHiNqIMn7+fFMiEKR9fgt/A9S8gDgmF2ewdcarM6i5pRTWQuGs432FwCGh4AW1wfSvntSCYNeaLJiMJLjmendcZrSAR+Rnxz3luIMhiEgcGEEczIjJ6W2eYWYgg20U6XzMhHMILfbTVbaJ++XT3cWR6UhV8aNz+EIn5I9EROzTc0eqy0d+nrWhEibEna/4eKV2nW7L3BOyEE7lL1IkZxHfC6HWGPR53nEFkgsmHbQiNZCrGVuVVyqjJQKw6ENDr0txCOxZYaHOlBYuzLcxW61jVEPBNA2yhYq/xi5ly+cbl9vSpfZJMGyORQBTjQXNn9um0nt3O1O/sCtu0Pb4IyTLU/1MrY/ociutybRDLNPMMT4X7JLV/5S6jj6UloB3xCHxBT48GMNhveuFBCcemDnECXzFXg0ASBqRd6C6n9Jmj5h0wGdVH9YF31FX0Ru4wnsN+ILntDFSXqXjDgScui8BHH3PpBYN1pSHxFhydkD/hDJBzKLv1vA5aR1h7XiX2sxpnu/qhICEofiaUB7Y4MGIKAZ7uo77k+jF5Q7/bjrnAJb0ui8PrsJuuNrMmnyT7Fq/6d++yMCFXpZPphYf5d0oZXVDdsm8onxSuVA3GqEfMDKUoI8vA58Z+OqQoJoD6zY2kx/R2uc4WWBF7XQnOsBWf8HjAq2CSNVfec2kZSSOOVchpyOQXYN7r/2pKc3goBkn/CXepJ2ZZV5MUujAT27T1aL6a+suWDay7NBdmcjLmkVN6ozMtZl4Y9ZPoCtybUGytFv+24WHU63EzZvLqEHPbzzP6vlIMwQqabg/tSCpVEtUqajhNH8sbMNUCQ+iAPT3osrzOrnt4igu/QrsGlsPZHXyZv2/6xjWyvkyEJHi7td6F6823ImnNx2+u16WVOs/GytjotKN1+X7KzOHiLz/rnNWzYcUqQnuyzw4w/JR8cUzjZRIThgXTFtRQEnpH6KG0iB5TxoYP/mWHaPPkcpNG8aGepBwpTIFbSrm4LzU9ZQOTjRghn/d3vWMupgUod9GcU1VYwUQAvGRzZOQ9eTL4+wLjlBBp/wH1yavDuitCLuXXQW1mPFuuVc4Bf+bJMkv++2xAgbtu6jvjYVb6mijajUpslKy0Gv7h2CoNwflm8UuvEgBJt4o5s5qU6jmKIisGdWUnqOE7JWCR9Dyz9UZivFyDQlVs5GIvDLxZljpNVMsz8JvdYC/Ru5sQUvXMjdsivGTFCQYDgJhWxR7Sb/hETNon9m5gEfeS50rP0dVzeHH8hGcsGXE3zb5+rK+pMyKYRs5ZU5AB0DaRFH17ngtR9CpfjELUXgYkvqtn5P11J2JDmOlV1wYar3jZFtL8fDzFbN8kBBMgoVsE1WIp6c4B1UxXonLYTXAEf9lEKBbLsXIT22i6lKOl9BfzxdMfG6Ik0JCeKKJfr9mUP4+sMfK0SaRpd9fH/J52FkHMBvceur/h6Hvi36WhYz8gGRJEPnPSn8zyp1sAEdRwmCR3PqqkeTtQxmabHJQjwb4FQ+yEYwp7i0yqlBvoJE0W1L+oRkO0G7GTUgWEjQRtsbvokX4puxyjdX0LER3T0NV7sY3JsZU19miz77l0Vgmeg4fDEtF9+LQP4rIo9cDX8Dy9wTYlE2kp7CLG7JKezzFCAQVMD503sG/fIW3i9+/rwD0if5J4qOhRS5jKhJ9clipApEpl977J4bIuaOOMFQE9TOv/3vvUxvQZM+RRw5Uu+YK2qw1aClkoG73SnIhLM+l1OmZ2wKi6hMwMoHPkhPPK5pkyMe9Fvnnp/t+hG7ArMytfXAj7RyXzDc26Cy1SmLVH/W/F2fCPqSuWfR2+HiqCVj7OVFU+SsbBA+WOGYdAq+3fSAIpj6unJ6seBvvrBWiP+Tdsn6+YGDA+IaBF9NICFKExIECDgaEryb9iqYrwZuSLl10OEQkZb9DihdEFm5ETsuWJt5HKd3K+XSzeRYKPGzydRIkcCNChNxm7QDAwvTm6l6mwgn7ys6qnuFdycrmcnkgG32ne7cYrVXcGjXyef5OvUYN+kKMYWe6rBq5QOTmpBPBsijRkA4uiqY7t1zjPcGSicPMFMFBU5Fmk39LT2NygBIBw6l0Ats9LrBj/DiQ7bVdvEqIclFvEAVfPpXl7hi/L0b+/sdOH10qu+zOrblvwdHv2/Jq3jzh+FVJM+5VPWF43kXGUxiHu1TXx2H//0r/iASWLNeRwpjfssOWKnym7ldLsnGgbS1jTH9ZVfRmUfrlX4ItNTInNpOpvtYPER7cnoXN+NUYrGI0HwBw34LwzPdflwUrsGzU+7UI9QbBiC7Sq3dxGhSIz7xp0YDg2AudclqDTCMRO1m4K+cOhUtYQml1OEY9PefJTJ9NOk8Y2cTTHEqsYB4qar1f7eMBKmhBd4fmf7kpEZ9VIxU4/OtusjYm8NM4NlCGz43Fi8MaDj3VGfKooyU79gzTCt2mdMfwNy+50Wk9kix0DTFv2KVJv7IlJEU75MmN+jcJulOY78aflOQiwcDN8dSkeWZ6iHgjbJFR1ibEeSnoEqg01hqPXvaNAJztwsonPhXckBYGSnc7e0vrefHKu7p7pmtBS6IpA2buxlBqVMoLO96omuE/CcImz2cYeK0Xtv/KOrdKmnT6GjogQKh24F9jtgHvof/1PZIxatIKwocltLoPdAAFpNwpEZLO8oks6lJltSTcs3g6H5Mxw0/fWjT/aJHbu65PszOEtRCyQX7a4CxKKb+D70LT364rrvQARnn8H25FKJ1JzMmsfULUdgdLV3f54h0ru8KWXV/bIQEFWKTTbLtp1ITffM61a11jzuTLSYKjYnjgDpi+MJ/v31DwGlFXfiMs4rpspYsLPg6JUSz9+D/1zkcRSOcHKFqJiEA85tPdEROtqqvSKWlxg8EGZ40Smoh89U9xTO5XY+QaVgx+L7lCZAqDnYQZ99VRdw2HvqByaVIxYDH2pTMHs562oloY6fMcAgMTOp0xytjFhiAEP8M/heCDHFG68Nto7AeqIc1q2ZYR7mGnx4ipzZww0jTeHxzcHz64mbxYMu1skDz2dkm2q7qwVeNeONBE6gEgz5Gug7QblAUJNU5w8QDhgp2SWd8pV782U9RcLAtVwJ10MoZ+ir4hVr9ra3g13xt4qvQaxd20OdwfvNQBFnYvQHHn9Nq4KAJYuGopdpPvb9lnGBDi3SRzca0MH/p+TlpoVDF85d9lE5yGSzuKBa/j0JTxSvoti+fdR8DphuAo/MbKEaY+pjmLn1mBF4imm3XcEcwTRTZWh4Pl238dK0HfMHiUkVMhhakARAT04622vxPVZpOsgS3JabXZHqyL+/QAqMUAey/5lLXpLGYJN8CsJzBgOqGkFSda4BrX0pYqf2KuC5C4GIRcnRCQgKW9VIR1bFcFqOoEnV6z+mSEYNx8HOx4ZYGtWCC+lHbZos99QGn4nLRuiFDeJwtaSqLwLRhK7N0Ng3eczIV6dgVdpsv5/8LrZyuvpGyNSR8T2JVRTLHFgg4H5oK8lzn7iNVSvKPfxjQI+eaq/y7xV+eYMmSoDojYP1HQGem0NjeVO8yOKpD+6siO3r7jXnSUbqPh1FtHwqovE1TfWagz4aBq+SMf0eIAdxaIBFo3iqjLPHHvK6Wt1jUHdAKv2XgVadovcjC7blU6IqONsZyYNBSzeuSaXyfvfsGG/FGKvEENMBavLef+OfHtdx1sNVtUlCWqir75eD9SYNO6mHlcMjqk8UQw8/HIDpfoOObOEuuplHNDpqSa62GQtjB9KYNc+WanUtm0F+9GO1M16ExGGy0hAf7ExMvX+0xCM9ZH+C2u8C+lIkSeuhMJNTFp3LF344xU5//FFWeV+lKhfC+4EfwGZ/ss69vBl4IIlsJ4Cah2snAMJ2c8+8XuHM0e+1wnN1J6ozz7htN/pQqEOy8valEfTFhKwyJXQcjsPv4rhDAHD0RG6NT/ZkOC26HbenSa/UNg3JSZkfqDk3RdJLljs+kdIzDAeTUMKTJFXgG6upkCwsy/74cAT9VueWD+1AanYZxG8CH8AYAqW3PFs298ELxoopHouukdC9EcgHsoS5FX4J+NtHK499o1rzquFV7kqTL9wj5dD6qK0UkpXHwCZt8j1tl5E76SUOUcrnHyocRjxfTITxEaSBkMpQcint67Ig2B5+rsmW6FGc+vAw1OCJmzsfKZJPRttGIYdB8Fhb5p8ttsVQfalKWuq9Rw+iH/QAeaQ/2FYIxzjgkiNpAqnvayxEKTfTMe28i3enXAaubPjtGwQjo++LZizye6ChbD+HP4NgGyuy/RUaNLlSL/LFLysz97knN3n+l21XHbihSo034g1gvRMKaXd33Cqlz/Lm1LF40UhXP/SESlLT0NVKf6Gmqtt2iZPUTdLtwoAVIa9/Gs9tlh2sTl1FXwCLrdXb1xTXrpMmm7KdMFcOwrg7JUubPH6iM/YRz4A8g/Qrg/sFzGhzosBz0lAk4JfuLs6/+pxLIaezR2FTzi7g3ByxruF1Xc4c9/hdAe9WhYLrQruIevv/anxzzc4/fpMl6YJrTgpxwWUxS74haUs15dmQUDkFXB2NY3b51CAKXa0C5zwAm1RtOJolpI5E2stw/b/JvcLmkE9Gp5zoM9GTwggVvVtNkSwemn6eFicrtRV6tEJPqGadkr3a66Juz6Tb0w32ikE0TGrwBBgX7nk0kZtazLpfEBbulKF9VwUgCiSv3Fqw9xmJ+POfUzU/njlUUE2a6B6dAEd3XW2LraJURyX9JjuZiKtRy35XF7wOm2/j1ClQOnjXKIfp3WSC80/01CIhbGWb/JGMdjhDAmrogrLhczyE4Z4U2uBlCRpiHWiCxKzOhciNUQOhrd2+xDNxU82Lf6FO+5/oCJZe9odQDlBZ6fK15GYsFdg3iWJxJRZl48VYonQ5QZKb5Ir+68Z/U3/UcWyE/XOATc5ls2S9vdeovIeX68QslVHu0a3owobKJEfJFm/xK+riy8GvU3O51oMNKnO1+lPGojsjwYkIiK+jbeMw9jB7rE9x+vMq3xLSDc4T5FBeOoMl7KuBa0yM4IiF+o9tGpI1amM5hQaFOilsjvZ7RrfvMuqpv3+luihPOa5xvIHJ7AsGYqN7cKslDHTfq0+9koVG4pImahXGmj4YODRn9yPkDXnRbGldtS9jK7sS4T+n5XLEeQl7LfbEBUSrp+DkiP3mr3pjRkXLXAPbiXAd18NSeQXwGt7W9WFWx/4acxcwHBv94l86PWeSwC21XbsrVqPL8OrrsKwyT8zaBBhhVVPPZqYeZsavJtx/GVqcpNTXYx+mn54CxlK0GRJPKzprR52ZpUMm0yysqRKJIlH3JUrxz+g3yH9Y9lbhrOyCukhZhqrTw1elHHiWDzcV5gT74KOy3J1FWRa/qNkrh8qv8JtjpAHMo0P4RPUxBFHFDJFWrYCpqgjjw8VDig8ZVIj9CmZQHH32TZGeYS1S4z1cJOymn1t/qBPGvYC5EcBrAbDH14StuyvXtcOegEtVI5u5RuLa1uSW/GGWLMKCllVzkEanZQRC7J5LKpQB77u3SJhM9d7A8iz3GR6IavaNZiqT+15rCV8qC+qQLr/AtrBdm2q7qLhHaC5Gqwtv5sApLGUJRQqVSG3v5H1b8rt2tDhxZgqY7XB3cT1qtWxEGURRYry/Q0+OsRwm3ynQOwjDNfLIIBgm/WkhLzkDYpmcYuQz+N7x0Om4lqDvEZMBkNqnQEOA+h6jEsXI7LFFPDxLmT/qLUjQaQjb9L0QddGv69RuZU6CaQyy+RQzz6SIZuWtP8ytJIPRJlIpSoxXAPySXeHxVvmpfunqJBJEnxG8Ug7qPBnfIBxZwCn/aTFK+UjCDnjAvZISyghYVlTraMyZBOTvCZOEHT6TjBRVIJq2o1qmK3D0Mb6HUyM0xymxjrjpAn776dsmyQzZGrWafKlYn5F1FgQgGVYhHKpzmqLgpWFZOtvsIyc15jWk9BwDriR4x5Z0XRiGl5IIP0Z9XHBY3MOHm0OhN8aA6wsOem2pjrxeV3E4f8vLJ/09/4JioNxRQGUE0Ur00u8oUJeKdIZoskVsV0uv07Mq88O+AX30ecEHZzAM+doty4Ln4OnSMYAdtB8yGdDn/ly/Yzl5F6uTzbiI7HhEyVFRXppwcAT74pf0HuJlPAbmRMUtYI7TVx9zVuAOyIBYw4eUO68kAdPJ+dDiVGY3LCjWU/tX4mNhcOZB+6bNVmjCiC5WqqguHBHbyw5D0C4cPS4c9q6w6Hgv76B0wvuessAs2J8gizyWrTKlO0xDCA2myN1q77w6qAgdXBjTDanTHaq/oibTppaI4Uj+U6nOmH7BLvzsL1ZqpgwJE9B0RgEFGTvF9dOogIc+RyvHy4L+HmqG0YeZNLwcXZT2JCfSU2DaiFXTRJ0N9h+88quQZY+CdU6RELSxBqY0AsLnKoPXrAXHK38npkAeryq2cHNaqPrbyXUVNc6Vjf0CLSI5O96C22ALT8hIjh9yzwo9N5zamsesymnu8VC21MhIes40sLGYoAYTz1eo8KVUh3kWK17vqHkXidp/ajipOsXVnj4Z/UBTrWoYWPd9q0Qt9KUZ9fxuHl5IjFf9WZZIDqRQ4FUsTaemDHl26JA41Fo7DMeP8SviLuBp6at3bDx4NqKdo96wroXGMLtFodsEDQgiDjhMbY94+IVpJUy7kbN/9GQnTcSHn6U5Y13XQVMWBe906btJFPiT7GPxNPDoAUPP2S1UI9CusvUlN26Y512juO+3/MHptIDioe7e9EGAx93SVySEE9eWQJu0YhKXlBcU3HuGFq20qw60B1FZTuVrG7oqUk6Eg9BiwfUwwjWF1fGjA09arBWpXf7IrsFabbVSJBnFnlYc1gwLR1LFTyzAI3IJevpcxLLjR+HuRhkP6C9/fQ/MdHEI+nH6zsNpADXA2CxYE2xMfe2reN0jTQVrszyuo9Acd9AIWgzusAknyZeuqMFYmF8kYCNWcE1CsLBGN7GdxQ1Q599fI04uaZGpjzv1mhPPX4b2RTVewf3BjhBIrNFRT6TTKsi424j9iyHihUXigxfkNnUHlWXehzEhNmXdinILqB2WyD796HqZ0tcp3/AoXNXe0txKxQA68F+vlX1R6E4f+1BdUdEVIN5pvAQ2NcN059LP/I0XYRpDQXJhan1LrekCnu/IV4xAPNgvxKshse9LuIUORtLT+l9bAL3rYow8fdDLA3YBuT44bMqtVzuPP+oIUX7HKI6E1fS/tNwfW/z/dKiGsHr7HMWVH960bgUqnqtZR6bdYUSU/zDtgfWNUmuguNU82bq1ETLfl5y8YcfXQ31AMAFPA1KgKvl3EIJz1kUeQlINpFuuKwyYKA4eoXhdR2k60P0LJBPyukOPoddYwLgSG523uCCmHGuXq7434GIF8+/zB2Qjve/Pc7FOdu9pwEwi+B1rNlhG3i8ixAesYtsWO9dcaWiviAxDVBz7Cf+ZIsXsCwozcowD4iYvaKhwMlAbcgcfSyJme8LrDPhMciQKHBIeON391ML6x3SgU4Aac/4QDcl0um6auL0fpKDvetzXl8R9JzAmS7MtP23V32J8CwtDf5uGTcdogId5XByMQ44d2/+VS2+3S4gWIH/GnSlTDLCfSaJ4aQSzdGBPHmgv98nSwD9H57L7qSd0/kys4K8PQsK/3+bEPsJ8bXvcOEefkD17+ktphY5gaCr0UT1vXf5zyFMYoOZUWlmF+qzB+0z1FdeoDtEalH7nscWCDw/Dxh05UK9ICdEHCwENe/XaQgEVTekReTnCeBICvoP4PPLeQoWxPhK3j5fXZd8Kc0jSK4Oa2XzBgslekE80SZ4RoSAstr3O6tHvtPriZNoIfu6Rn4rVFJwYS5vaLPdHZ/54FAFjkh4pjybZT8Ae+uQ7da7gDXA7A7krLZYXRqZ7JPewQj8+V2qbF2PEicnAF/ZZJ+eVd5Umz7mZVxwarGV4MIqroN+SFytgEYhOYPvJXXNmCmFPONkixWzLduaydGMuw+7vOk2JrMYDf0KOzr7ZYgTdo4K6upMgt5XS3Z1xPY6h28PD5BdVyLxcIeh/bbc2foLgmEN8PZD+Hcu7o78iDFqtTW7IWLWCvASQHiTMPrqJHUyzUeEnNAwKa2j98Nd369Csb0HnHXiI9TPPxfxiLfC1FgQfxkJOFVwXhwyyT1he54GGVCz0gQHewi5ZGEqP7GFQuesWvQq5zBMZBL0ccju3uQhkU38p1TQDMJ+WM12o/lYYPxqReIAh1kt1LGmhx9EI+mJjK7wxBvz5lhsYLJtPH20DPNDYLbHg4tP9s1RN/pXh1tdS9bnYnrn0f9hbPz77XAUwRoIFq2q7wCYiJdjzp/GRRuyb+UdTv/wKE6b6yVwx+rd8KYJAL0uztv5tbTMVQs1e8VNDhDtZjlzw+IP75pqavhFRJf9PstGxVfZIv73DFUKLvTHKr0eeizzImEO9AMI+/xD8eri8t516BwTADWo7vzjQucCuT3Dh9by4fBOREUWrtYqwzex9PSA8HmR3FXicCqbs75pYeDuMHgEb/rCwF0CDPwF3MOdG2l8p/WZyrgN4hqkmBT5WDZO/bWaxWSGXj2L/RGKDbvj35aJqsWsKunWGa/1SEAhK/vJ4yzVtG1tv5i+xyCIX5dfR1mlEBwN2ASN2v12tRtlJ+m6lvcZmgu8lGfEs0LHnOEYJbm9eUVNOF+RFskH7mPlbj4kXXKvZf7QAZMI6oidBKKOXYppR/Fm0x6Y58kLsUCi5dU3Y+IeEUNlFQAC1LDD4amhak8wofy5u2rXu8/ntFsNfx+QqyYenYhkR7d8s9Uuf0pUJTZ1sYMcwvSJxFeOTVcqwHLMQE5H8JDUGzOdGoVcCHEvMLCBAlpJCbdaz7KStDDxAbu7974uMK1CaS1FXhWlNLnXtNhpllhPymdQaEezXRt7akIUFUaVmdywXu9tAZsH67zuGCVO9YzS8uVzO+CNkvSzdk1gV4opM/doNtDte0IGYdgLJmpdIEYf7Ep1bP2sWwiWS2PSS3TZq/yiWZlSJ/chUMzjCoXFo4KVGeR5IRGVKsG3hV79PYVM7Sp2KKp3WLmI282AAdLw0E2D0bDQNnhTWiHdQnymG/2ZprIK1pgRVMszacwYPjVafhw12Kqj5oiw0AI9Hohn3szeDy+E1t2g5YuWJB9JvokmkaVd0RRxrFAf20JsWFiRjDRIBplzjK+TdyQvKxc9AOxUCQoHeISWLf3Wep1xbSlM7gESH/eIDGxso+fZ7wmMA5iEfjcoYdSQu3My1XDoe7tLnuKu3/qmQMHYrnAj2hnSeDTSPKJtbXpzUqFlM3AnNjiJW5FzkbLkx/ZeQGw6UTv5irtwaLaPpE6yzCKv7wdt4g82zXJBf5xR90GaInvAT4OwDAj9a0eZxaH2p6SKefeizKrgCgqX70HLITQGDTgpog2deoHBAhvspnlLybklRCZj14rrS5M+55r8ZSW5e7snY1sj6yJDgy0SIea7BccvjVNv3Cc+SicTUgeOXlSryN7rNcNCWH0u4Cc+HLBhASy+yrXadAfzsczDlo1sKmmNBc9yam2W67XJBQbbjSrXoSkeMEG/JnDvf0lyxZZ6aR8aO3o0HJRHJWksgHtV1qy3/hkUFs5pPuMzgH0Qfb4ogJwOiczeqV0cildh6zrvbvngWp+kkiWoWlSzUCjTYad5Sochy2CyGO7NiL4VqDN/KfBsoGOcWmMw7rbWUYmy9iWVA+zxJWQ05YvGt3LhfESsQgyUg9VIdwdZGrkpRPEKrwMqK3uE2jhyyzwg7MfmNU9tqSzpryC/zb2fxJIOo9ZBNCMatfMgXO596pHWYQtWZjensWVcQnraSqO2RKbK2MjfYC1IuBLapZ/YNq7dN1fMsNSQyQAs1CoSb8wauBVoEpP7SSj0+zY/Uw0OgKFyEHZ4lak4J7XjDH1rMJOwuhDXjfGRP7457kGVPS3g4rq27BcLMA/E+g3yHD5SYre8O7yf9bC96i3TBFOm5cwWLlRr5XndM0vL4DoAscaswx7r4VpknuMLVRxoUKiv+KQ8KnT1cVc8I0R37bRYD6Lckaaynn3tElq7NnZyJ5XKQHXlG1HAoG9KPUmG6q1GlDX2bakW/rBzpqMKmZY317T0RfLiuLUR/0VtFWEGKEBqw158TR/aR8sOX6D5eccyowMJ8wXlEeLX0J7l7rznQn8bWW4MW/4AhQxjDsAHi+2yIGFyX2YXcdxLe8nP41lsz1D3Xoyxgpyq7ugsTh+8Oz/gsAfOJTTnws6r6/cFmW+QNugJfl/iszunqXkpkU0EutZwc/s1uIlZZOLUGhjVLeSJUVTrJ9c46ypkNbEviXMuCHOXpSN0++R/16fDhF4gfb2WaNsvN+3hmB0tNZdQhEjrfyyBIF4jpxLVepsr4tfntLm+NngkrXd9GZXSX5EagEfJjK8uoAnOHR/9rgM6KGJnRsa1mrP3fjEXHPqT4kfj400FUN59ykM5c2eSFmN+dAk0tPQIwlXCPvOd2btH61K1fzTmj3INk5hsfTfbC3AHf7O7I6JmIqtECL9r2RglkMj5gVxHgxr/Yw+cFly3/h2uOaQ7NJToyW8BucQhs+RPvYhRwzjLHf9IDFW29jTUXeQmsLNW8UqCDR0L3mY/BzJFlbv3HnCWQccbzFnpmXxnEh5CdaoyXF3WOYB2Z+4/qBe9splVd499UbbRv5VwJktVUsTdQm5pd0LSVgWEeXj3PxlMeJDhj1+UKh8oYdpcPf6LwZRv0i9hQ474j+9qfx8DfSbA2zKX3kbp0lwa1hfl/PKyRWg/LGEm5dNfRvYb87+yLi5CV3Tmb170nsulQRIjuCXWnir4wsXh59EZYv7xoPZaLUdHOKsXjTIuyFRbpw/tbyeRgRXQ7iNRdHRkFm2CPXcq4x5X30M01YxdGPlX9LmTGIEjbbeu9qQuN4hAtkdXrpi49KQo+8Yj2GRwGKLHya7uT7kAYsLQFti/BVOkwhzLt2ns8qm0ZFB8Bc1A4R32TxtULa6HromdIGp2VdFru+YRDbQ5RGBUXeleAK8vR9xKQi2od+FveIAW4szGls2KIdqx2AFR74Ham4IBGgf4YJZm4W2YqnbAsZa3aTL4a+Z9DsLGFbXSP/xTmYIOFdwSRfibKsO3YD9YtF1ZxvTjQHIZNobOR2hS0nu7lEoF/OAuDqq3dptF6TSULf+b4XtmiX9rCfjqigRdnlyLAwe5FLgJ/7u8r4OujzZiJPeaI9PbRAGMBNx/7UUMvy3kAScbOk533LYQlpHT0qlbEEZiKwzx/6W+0WkpX7/eEj+EgXtMHmQZceVxr8icxJrGxyc2km1LewvWTiz3BypCtx1qP6Pvxz9eNyMdV0VCBh6I+ZSz2Z6FKKmomIqvss1fLXj8twG1nap6PqaDmudMbvjVZOEOn84nw9P8814+SrA9XhIZwOzeu9fDz2ifzvotybJ4lTsJTA3pVMXk+gcgeyiVHdKT1yLMadO4PdxIqB1kXWB6p+SgYtq4BuLo/nzzOm2Sga4BfAs/MH+4zjLp8yiiE1Iqal8SbQNtXzcWxCy3ZASR+htVEBwoMlt9Na2QoWZ4QyVkBst8qRbmvSe/SOMnXmU7gZVP+E4tK0xX8TmtAMdVIOtCZKq8qfw6ytDhipROOoUx8stWPsJvUwzq8gBKbQoRci1+V3vzhjeah65oPiM6xftUrMLiZk2GB0FWRDMt7XLsu8cd0jQHM5JPcluQilSSIBIEIi4gmdFu6Uty94FOuPkwdc2yRitmTAYTh9Z12B2J1yYs101fLKvLNyNst9c+dpYJLHrUA+cWGkut/+O6Trj0ZX0DNNMbSxhWSe2fGhRonaJpi0ObUlADWqEuMUgMaLFwSevcEWcuS4fj8TwAjCF/JvKFCgfgv75zt+VDtjDEy9M6jfkWdIf8/kbpNGA+krvZPUVuuTwgSssisORnJnBTh99eSPG/BYEDnDHj0rfBC77aq1X+/qEuPoMeQCQldL5V6Xmv8DTyklDAPhmsWl+w1sWXLGNR+X0+WDgKFywJ1X6sjEn5NVt+GmW6cwM3XcDQ/xIg8t/JduK5hFIECjZA9D28syA+6gBmauTOqJra1DzDXQ4G9wVm6uK6a26jk5e8t+Xgy+BpJO0ONnHn/heiz8moLtETLRm3TfDiW2h5oqHMl/okrAgO+zbhjXkIpieWQ7oec2n031qCi9uOMWpOJmSHslW4N7qxeSaLlKnQd6BzBveUmJxN6fHbUd/GdR0m1FCqAeBsXJ9FYIIlasTN0gbMf193DMISWlxE8OkAwc1vdEPyP3LnAlJmf9Sssd7xOdXY7kDkfA+ISp6IuqDmGQlHR9lqrHt3KWRhQY/tvew4GhyzLavmwQ7JxK8lDEijqciX67KVepdVsDmlD782m3RUIh6WLtdiQyPvRORvA3yN0h/NbeA5sNtTODt0r7iKms6qRwYD0ezvW/myoNY7IntXP24I/gLUFJ6wkV0hHVoczTPsCsmiZQgKEhfWZC7o1lzIbSRU4A8q+O2bYTvSpUPtTcX6c2mPGjSg81vuahJyV6cKGmMHJ4iIv+9iMI/qK3dfXOa5mqrIYiWY1f7UdVmh0hbJ4mCYFgJ5cyO34pnfzg6KE82JGFIA9wi/v+2m1BZPLx8N7YUUC/PyZd6bWfUOUydcagL0zfaBgYI+TC7XC0gm/M8T5lhEgG+5LIcVmmjiwKVLI0UAFiVh1NJIgc1ibF4WpZF7AzCmrMLsq8HVNe9gkU7opXbcMbyNIrOatR4q79tatrcJTBijDuC53lPNfY4T5tGMgy6SVtvn5DzE1lcOf0ykYzH4E2Y+4yNzcAIMaLqJlkFPvgmQZL6nNEcLs7wE7gcnWLUqZP/0w1xa45VbKRw8nCuX1c1GKlD2vJiwdZMz0kPrduI87F0nvyTfbixmo14kut4O4V8kGL2Z3hZX81EDRWlLEwPGuvMScwPPEJ3sHuQhp0MIygXz2aEAOOeiHzw1QnDg5O4aNffcrH3jHxP1kRNIpalO99HSuZK0V4wl0wxdllrL/HBmcJVFgAdzmzq7/fUBfK3e/YbfGdcCSEXpeZM2UbTAUqN6A4pZwmMMi/mIZ5pv9n+9FwyossLh3hCwwJjn+sBit6uwX8KvXfdd1C5G1vtOglypQOwWTjc6MZ5YKkXcWMXrBt5r9JEGcQxyBWcLVEu9TdNCmhr4gFH8WxBmE6T4bF+ipq+dv9ncU+6kOFh/sSlUYXzT0orb6QXBZ6CNViyPtRqmrSpV5lFp5ui7g4Cf0/vK2m15T861cRQckFqN0NzIgYVSijuZShy+HAGMciMj3SrhZ1Rkb8dXw74wra+caTwvrBw4HFm3r7S2uoxCvqzcYzMIU/rTbOqYCI1Uf9FRNE+Oc/yLqsarikdm5Bt3m1SUTyn1q1pMqcwqXT9vMZlVR/xbT3XW30T9aYZ0I8wuTbC0Bc11BXD5nPjD4YLT8Tm7b2ioxGNmoy+sC6w0UOTn2p+5N0i3qvr2LbxsQlSdq9G2YncDKBuTxt1MXIMjLvYEGcfTginp08Y4DDOWs7BANOKLpPvjlAI57Rr7w7Q6zJr6E/wXb94y8PRwjwW3Qo0Mp10+1QTvXHTfpybZ8Wq2/5ngoDJYk/yuxrU4xhn7xLUMIulbLgWxX1BWVTvw1RSFHsCE4r5RPE/nJ8T0KZg3g9cqLs0ohJe9NPdzyOseWTeRXAkaBagxFkrz8pZ9bjcmjZM1rhg8zbHjvxo74+PJSLCpojEon7us2LFe2OXj2BeQS7FU39550ESAqa+MD6ha/bvJ6iDTEX5votsWmIVMmyaT6PM5DrGs3k90jahenCeLLZRD0ZFJ122g5BP/QXXnS6NsZqLM9BO3Fsr2FdBIimG2s5xrQCajUXx0D6EKe4XmC8Cz7WuwcHq+rf+93dSvAagOjkLGB2vBSHwG5IXio/QRWY8mBn0EwMPJgTgZ2ky+vQvTCYbH9j11eedkwGHU7oLElCiMxXERRquKCaFn/RO9Gy051tJTCiSsAFIWH15t1TqhNJ6SIIshsTleh71ZcuWZBhcUYUdIhUxCi/786WmkLvGmOF3BjCB9nWgq4F8N2WHObjTvJqwsUJoXBg7+mTPOzu+zpd9QaUCbcQdgau1xqUSdoOSzWj87SSXG+pHkvw4CRSnqR55QCLvJPHBRPYNl29DKmJWImGg8F4dUV48Y5fUFLRpLYQ4UE5jW2VaI32DmHuQ+OgAE9PAYbCcltFU6MKS+WfJ7GHP5iwrx2/aOYYp5X2nzWU/Cjmjr8FYbdMjs+7Nl3+qZ8vjnrYrfj9cVz2EXNvYSkCSlRszjGVr+MHluRYWpqwpv49LiFd88r8u9gj6qBAgMoe1quYu19ZNoEj6WdDQBQrNwxMmsg3Nyk9jItxybgccdR0+q10iFV7+u8Z+Hv2wKbPTmlSr+0o6m4H3kzvz23Lyk0FsA0SwnEmasgIuw5oKHWo/5gCGqUCclec8hHEldP8WuDJN/7goNbY4K59aJaFAkMgpQPeQKha6Ils9bQJTDdQYN2o1b6YglM2eVXNm2S82qPL5nluMYo44dJrNnXeZoXDAFy4TF/p/YXM3h39xF1F+ct2PQ9PjvIVM+M6D+4lHuSevv+W7zZdSEyo5NNl4ieS54HFs+e5my6oLZhoBfjWE93FREkrnK4agrgTxiLHIJ1dqJZf9rOjLKBXpUNNkLg08+4Wuy8/xSgpbbgUUrd5kMvz5pjj5XAis7hGHTA8At286ZWElZFLK9Ji9yxcOCrL2p86BRBL5BO6A5dTYfvpmJ8hc2MtjgKV0V3rVoMt5rIlxwvsXVATxVe3WQi23lIWV7xbreaJet7fupZowUOm5yv88niHP5qtob9/RsT/ZYVGGULJteUv95CRub4xe7vd+RyUMdhX5j0CqRjdvoEHrn28FXPJiV0oUc0BkXv9KD08nFKOw+G7e+JtuHuUUa1Ii9Rdd7iT45CzYdplxlRsVYRvwzuhrukp2tFko+2IZVAieLl04zzvGdXiShaXxHBPTkZPlkOVeit0Hxs7dpLTmY2Beh4luL3ae/Iq9ZA4oAdGpBDH2BZpDkqDpsfPCJTN+b3qRZGTMuL2uRawxfkdeA2YsldEnn746bqRRXXF5oZ+Y/oOox/tyV3WlrK87xRaL24gFoaFkMUQs4+IUQs5ICzK92FSSrx47A9KCnsJawb0zUA3WFiiONC4Hvv4XttHAFCLGOMIdAFdB00jla0dUnB3vzoxk5ra0hanyvhU7cq5isBwVfQs9ROo6no7za/kBxA8aDg1r+sYaHoaSJaRQZ0bsPb13gR4LsZ3Se2WxpksFZkLJj7C8ph+kh59/idacmfDFbtpLFVkOy+dwhzVHzvDDCKGryJukaQRVBgutjixgIN3eypgHCdtHKoqQxiPLIhUhXeUyM8ObgvxrDiYMaOINi+rMmuT7P/w9Fc70oMavbA2eXf/cOsfzFFyWFCtHMbHqR69UDals+T1PSdZVh9Xv0RpaxJxu3+2efVqujK5uLgDSLdKB+JnUrrUvo78ZiKNp5V3bEjj8HW23t+KTlSHtWWvY+ioiDJAvSE2pOJQ9JOSsAHOakGTQL/G+5j2coQcPEnprzFbuHcqW5m/MZWzCA7FrfDB6yvmanGuD4Ec4nSHJ15nRBBwujyYv51w7+44PAf28vIHPF4p8tPyM+ti0Sy105BYfALXT52kF5RtaQlbP2FvUq8/PI5F66QO5p6ONpyXzWOWSARNn0eXniRKgMzj4W7igSTPAEqhHjxPlXM/B0AnTDlUV+IZ30zIY1C9hkjKucre2fMQxOO9DCWzYawZlGNYL74ui1HSEX2940Th72UT74eLhyVDz9yNp+5eJLfz/8es55CMBY8fj5VqtEc9ZAtaeZt6DEXdqHQbbyVNTyVUNhoWy+W7BZDJQgyXrsyNhpcZvWlOaEhKs5Pzwth85u156Vxva3u1km102OvtDtHvg9xR34J9mBuEuMDAnpCh2FV4K3FtZLySv0fAdumBTe5Zmc1vcdumcni0KB+DL8qxkFyve3tIF1ChqZe54GPsa5RDBwY7dPfEmEzNTcbgZSeVkN/X3o6lkChfSb/1Fc08wMVLzbownUMcG2vYTSx0Vb5noEmoe9cFOJ3Ak6nZ3g4gAAJYNY/ib3XYCuwq4+KVDYwp5tgrvwI+mDl5nGrHLX6bO6e7qphux0x5c2T0/3Zrv5XR9E41EARyq1EL80CqVtDe7i1Yk/v6c/o9YD91Q3NO4Ou+t2MFwh56iPVNF5Wp8dqgdWEO7FkBUF9VxQ4k22WK2V2zYElhUh3SxkuN37AgcWvrBQja0hReR/3+Mm0ulk2tg7JjpCPYqOcOs1iaaX7rZWzCRGycWuvIgDbT20sncZrEm+h73TnIgt0txhhxHj76sc1Dp0GeOA8074wAC3DU+Grx+oAsufsoH/lMfi4iVZtXtHGXcbin5hFoCOBBCj2x1Y3QjBTpC7yaZHip29wCv4Ezgi6aATqmK7L0sA8ttYo3Um/mJapUnE1v04xZWP8Xau7NNoUeI8gnJd9UrkkO0sHCtu7bP+4X9PxucpPlWYzGdASrjGyZYtB63m887S4B3ar653kwSt1b+wc4ht6UBLdnhk+F8uKm2mZVOoae8xnSHHB6HSEBpGe2bENbSfWoF7iG/hKc8P4fwj1Pv2SZ+4y9D7XsUVUoZP1Edm7i1n4hPlTli30nFMDuOnhhVeYfWoMXMwE3HY8VBtwHhSA+LmoMbBDsgw8Z0SfKweGW5pW6l3oxgOcY+J/B0+m3GxwTqa/Pny7KDPE6wElPCscOo0Gz2Md9dAYxZPHCniJYfgMF7e06nuJq2FcmsleTh/YmN+N9eyEjxVC5cqqC7pNOla59+gRW8dTe5spxJdqRLf9h4r1bFfM79pZOj9PqD+il/ZsObeb0uN9gCGX7FxzT8ArsZncB9TcgwqRowvrsBR8l2XEdp6rYF2RsMZV1c+Tt0nHSODqUf81sXFxP+cd+aZn16u+/omf2mkbLjiTsf5z3xmOKtu4xprc2mgNtZW7OK7+oIY6Hj6cFm3bULlvTA4LLp6mwm67jd+N9czgntbptZxE86lgHFiGxuK47EAYI50yRzwyDjI9u2EtMBYPkvoU4wYxG4S0bLZZ6wGgwCNYDkYCiI4EhL0iqWfUGarAU1wUWdDGxwM7IrVACxmpqQpnoV04QrGfFzB1CCSV3l/PyQ9YGelXrrG6eqcHzT0MzKzd4k3YbPgJj7mBgjgtwPldVcbM5n7BF0zmtFI/jcmygsZWDkTaDtxbZAI2Qsg6nwc+3Gb/2tOGUmYCFIKS03XLKeGb2PoDZev5yO1mjG9g0CcvWOKycxsIdK7GY4Sv9y6t3cMwn5Qyue5Lx6vmeVJ/YJJLviIWdYcoDLodJtb8KfKvbd3DDTFfygwTRsQ+RMRZvQvGZhxNckqk17LqBzgqCLuuZ6lW4rAkz8YdwLBBSD87OHi9UjYpVRiNi31eF0DrOLX1AF1Ria2WA7a8s8V9fbK7sGFvnaqy5nQE6TPRpIcoem0jXeSrvGA1XmRZe87zxI+eTBx8bWnrJveoDALxa+ILND+AS0G9JaToVJGSwUa/rGiWSEZ5NOjs7fFefLhUEcFmPBhgmbMkVuEFOdTSn8eGA1Fit9TSgn+QKH+r6PXZg56sYdBk39q5NmDbPjXdMSloo0sy4JLkIIYT4EEdVkcVVTtDklPTxnBbHSw+7cUWZnQkR+8hmgUbyOC20Wk8H/aFGNnPpSE41cOOcdz7eAyUanMNhxf1u6bMtsAKjVifl0eYlb82ZggRBpV8BPaf6DwwxdfYfhjMP5nznvqnuOU+mLm6kdUoajYqnfCbng+eYkpucFcf1O/oIbjuKYb6X05hyHNy/GtpoSQ2kC+4tY+MNbj202nEmQu9RSlV2VxV6ZHmtNo0SExkFsBi3orMHvhcC8apxTVa5KIlzB7vNiYrsf3Udjv+MCo47oTG9/idU+yMdbybdhFPKxvQ4sEQgiXfnUeCn4kO5VNVN/al+fPnD7kybvIGJVa0lvKeq5l1KOnCeQ49dEEhKdIvp65DZ4eOLJzCsJyAoQfYdXBQLOMT55N4zG95qxtbToyDefy2TnGtagCV3tNSyTv3oENmIiWndMjGplarU6K7rpG8TK2D4Vb9jbirkyvEb//0UjSB3m8P/dx/hwDqmD0l1aonFBvfzrYjt9qd3LJL+MuXyXOo4HBRdOpj4lp2Z2e9S+ioGKchci+ltbAxnx14tY/wH/LXYwoUrHlCYa0X7Ygvjal4hYbBBkwPSBP1s4r6wFaCGqJDRGWvaWmmRQxhMhoTRvHPoofHbUcb+gMiKOT72wzCgtfOcug3QMiOnfHiw5gb8Go1uE+idyUdBCWRy7hQf9xC38Rljz5BjSMjjQv/SsEDkxjptyW+vCj1wCj85AoLVJ9ltd0JSuTUs8HOf32rHX8X+JToBziMHJyimizMYilMbulRK2Vf5bCbmfYau9JQ/YzRs4nhfswnrmD+snBD0Y0acaevqK/kXldSnh8whZRRsTYfOpRYMyyXzo5z/IqKnGkTjtpnasJNkKw1Gzd7Lx++zFHHIF5qL/40D6i5lGmXNsOpF6rOnZZgfgPoPZaIm6Qaos/9IePp8qUVOyTPhjlq6mhQ4zJNJbtvjRaCRf5XMP2CfZMqHqa5ja+WessurR+IZCXgBoAtvE0BRb5FjR/iwbFVDwZRjsAMJvfKrGz271EInVkpJM6z7jcJ8C6V1K2g2VM5RL8jN3c2TT8lZWErPC1maKBzfEptuOAqgTyPPkIWjiX8UJZUiCnX4W7NOmzlpr/x+ayp/nHR7NjjgPlzbpYA1nEruD/LMc69jyhaoxjn88NaN+mviDjoZf5tbYyUpNret/eTaNHBSvacJC0cQvG157+ZBrsGoaCfZZaOuwOgwe+llHj1U7daexIjWDI8n2brO82xrn2W85R8gw/AxwiiQv0FsuNuuaKiSql1Nd1WlAyRrhDQireeZchq1RYb7bZqhNtnVFMLekjVmXyvBkC7A/YVgjv+pLLO6o4M/MBs2vgVYi/yNYfMLHiSVpTME0mQCCyO/CT3DUjhrFHSCwyOLadx497Vldg7rpBqsJDB3ZCR709bjmDQqKmXIO3NQ0T3ZyB6QTrtT5kMJyxtrrpSMuIONJARIn3F8kt+r5q9UR0Ue6qiNuATEgT+lfcy0tFBXsPflVWEo59xW6DxTqRCgg5AEdFlw6Idzlz/sIVN0EGY7rJVB9xRsKfxpOPUUrfVvjZ+RTB64J5EJaQ0ftesUbf5KbRp63AWFW5ozRgFjEYjDNYhUx/+AnwE+6/68fxVp3U7dOU4Yp5stJv34K2hkdRGSvTvc4owcg8udOJRs1el2XaFphcYZbdJrxg3XBQS4cX2tHQjQQ8NN+KesitGXMGzS1/fLaYS9gsA87dv8k69mOURBNxCVzNIoGaC4nJtHSxBctx7uoYa96/fyyoQAotWCM9P4oAol+E9TbfWkQnt437A1SrqudtAbGsDykkH8/TLnRTdGzdfz7ybCZw0NZxJ2j54Od7goJ/yBydoMVlVkCo0oDJdp8f8nNpTc54UZ3AReBTfwQaMtqp5SrBl1FhjXTHEp9P2TTQ3rBci4wEFQB308rLhuFHNsK25OMPK4IBVy8ROJ1X1Do/bSh6PwHW+O8pq5ZQgRAfsdxgmmtbZ3HL/zr6W/7dweZb/UGY4/DSQpkSA0Ku88moyWq459i0zuJXkUdo6PaxFpSSF5OK6qVvPu0b55cXgRHbU/ifbCZaihI3Hj3dthbJzDzmEPOcJ1E3Nweoiu+2wPrfD4KovNq4bEFfokLet33CvfzoJWvuRaCt+vLJdk4o9mLiybaEYm5ypxopWi+EyynwVgvdFzxu6AWPZDxsr6hpRTozcPLzopKQ9CBQA+n8MUKMSx9E3ihGfjFZWiTHMuwseYQ7b1dXhSm+Fz4B/t0wmjNDz66wDNi1T3J746Qn7HGTy0pPUoZrQ10KInEuN7D+UJ2GysbGV5Smjt21/Vqxs2iMWTK8marorgA/mpREDF/xGQN1Hw2+elv4z8ywg8PrFb3veKk0zihz2xXoAEJ0HzKzdA4fwToVwM9VeTKpdtwFwQ3Nj8pYO6Jwg3RUWrk0xtdjiJs4XPTh+gZF2fyw43LNAZp9L8p29ZdDkeecXSF701CXxcxOHd0LXaWNqV+qLRtV+oADpttnaeRX8+AAMgLHRCsso5Lcu041uCUkapF5pd5e8aXnObkjR6hn0jAahDplWKOCDhlT//9pP7kh7LPF9xCNNfSzCsrY4C8fSu1NqLsXhDgD71DqjMDKJdkYYZHS9AknV2hxMZVAYiR3NRJZLD7wb6iOUlk/ztEfI/xHHXgLlvTB2CT7Aqvx1kzFKrR1VOHP7z3jGLBz+GtRNl6kaR6+sUEcK7iArWayNPySNtxat7fs4jD253lxfiPege2FUFa+vYNG8oMgrK70pl8fATDDesYrzMA91KWELPDith5VCQyi5B5cjfwvFUKvopv6ilxNXavK7Kf4+ODgJEgn8dnirNN/x5KSolDhrhOya85urm3swNZcP6Um7ssfE3GZyNLD1a1dQ4x8YR/f8zhVW74YiRpMSABiAVfp+kazy8+MWPNSLkaZhXnbaAPvpSH9U4Y9CaJ683e++s4zL3hIiaHoctWgjV9jZEsnJaS0UKiKRMrS0w8wGt0JLh3RakgIs3wSHPU20hlSw3Hbk0ypMRnZjgeM5yzdS440F+nKLEdc9DcqJdc84rGaKwWbrMSC/w/UuBPAoQHOgApVFAaNbrbkxw3D7d0bWcb6FxQVgkZPPD8IlPdcTrX5Kaaow3Fv6K440fph5tMOgyllIi/w7pU3VfVYgN0IUb4rwARTYOtybG2TdvFONDD2gwGqIJ3Aio/NL4+nZPmeqUZZy2Zsn5hvM91Iip4RCrp0DFqQnRPewumbL/o7opaecHvYZE9kDGgEi7WTKKCoalCYjjRq+68O2y+Ie4PbKbmldMgh/xHG2RRWWZV2BomruNYI/HV57CTQ25fTeKP4QTYQbwxKqttcouQsocfn7uEA7x/nCMwgg3DIw65Ylu+5VoJwHzJI/9PUWW9hSqg6D+pfefoj3XwIl5Dkhxgx2v5eVwt3xGCl+JFF85wL6prEIUIsvHYKOSe1qDnqW6Hfqgq3A91cy/87ytOChoFsbExtrYRao0a4OVAeQSEV2+GjA6fVjPF2fGoLl7QA8KzRod73vBmHXOGV/+i9lm/3dYxCB24eYPNa7X/8APR3iXz3N0kGnDVg77GlcrNab71llMMzASKKp+wEjrawDWUUu6Cmp/h4iEiNNOnnoSHZoFsVA1XsB6UwB0nYxwmv2+Wmqsp1LwNHImknAmudjhsL3wYKpBPDuZ5tJE3LgsVWjb41KXic9ibvxBokKGae7+RHImFugmmNcNY6CTRwrP5toDsp3CbU9yEixYPyHi+jfjoj/uqE4CtFH6ZIYFp9EkY+t23LS14fARARObz7QEHQk5ilPbPN/QsHe0L8J43kRxMvkYcyniC5OtY9qDYZLVvb187l4YGHmgoamxK8ua2pV9Rx3X5eNijcQGUYZQrWZLxIOj1PQYT2/QeFz09MaRRlTonUzGlAvabDUxKPeEs/BmzEcjPNVUeBWfjFDI/jZlSNoj61+Hr90wKvwc6Bm/IJJW9wh/b8kkKy5JTuSxvelBsWDJbTpUCC+qC+YUB24x9xl7bKNTg9McUW08QumpkNcPZ9isdBxY5tu66JwWqnnNvyHg1D9ok/tRGy64dIpMx98Obddk41zSfgN/AdqERtT+eSAEI+9Yf8uIGQS8uTdC3AY6S9RPWcQTnhJAEdpgJDg37jVlezyGORXSS98yIqUip1d/qZ/9XWHXD0Pu2VV7QA/d9gYm7Gz9p9zERB41OqZJykhO+sFG3FwImXrf3u2vPal+zYjc7LLMq2GC3+rUzxQSuGKHAik9LRcv/aTgsmDReAPNOIWAKpYrxDQ+raMfZdxIddyTXLWdztiqLU7XI6+AaSHD3sKTHjj8/ujSpmpVlZPH3kpf5vh8aHRHhWj8N1e/si+erEyvCjLw7HmEysGR1dap6ySYW0Lkf85Vfe8doFB6vuC9/pExlNpOZzHjcmkhdEBueFXfiXkOZtw76V2TyhLZFYYZqqa7TZShmQ/n5jIo46Mo1ZD3wMYjXVlktR0fWvcqMkdB6GuaCYwyotIrFZViYaSgHF02tol0w+QMZpR2ozuLhzcenVCLO+vHIrVVm34yoir60AR086AKiupUjRGzeCcqR1N4t0cZofZfZgqM005UlH9Zgzh2Dl8/DDsywc3b1JshzICtuujmH4bEKDkOwNWmMTc2OJa6RlKlvOSPHOppC7E5V96pygM4bZXHhEP1CPf3kQ0vKFhrtF929L1B1tz0EmlTRQrudhi+Ts8pbA0mRZmzr7aKismUs50xr8gCWARBlmNLt1pGtSIdfnPUTw75/Vk3Y0EB+k/78nnKYAI0oeSBtCWEKSTk3ejoie4QqAy+IV74kkcgBxlYwzUDAdM1HsMdM+yLMvG8Ven5OWD5E3gGEs/aSk9kkC+qwCLCmlW/fMHxVSCkTnygWcmrsMiMxA94ldsnQ6IXKWJqfAT+3vuTjE4sZTzAGP+wrJH37khSjLr4gb/krvvb6HZ29T9KZGsnTDTecnk9qWHUWqNaDlvbBuvhALGekPHeysml3s9EsEqMEhtqro79Neldi0GkYWBdyACFaCYVUb7VMWIALAau42oZVnFQ0NNthFg8j5QfJrTEWGwEYBWymvzJBpW2ww0sINcTt98ZNpw5l2GpWVQLzSPl5D3hJwTYsOBYdK6c+6us3xD+pw3279BvSpC77CrmaLSFWCVGc6tjyl2m4YXSVjBZWOqBkGpyhv/1Wxcby4k8uoAWxtcWlGC4LDS1fveGHUA/OF8Ixv42G1x3gwpKHdlQuj2I4K/o997cVE+QOJOerkwpQWQ+g4j+8eR3BRoomxYYGjpkd/ne4ZbW6DSPaqV31znFSjH3FeugCSREGhko1FZQ+i+xxF6GamfU9lCzZVcSVBWdXkOk5Lux8w8vBoqinaqb7PGFsNSXWJVPA1yhyG5xLpQPLkvMzc64KV4a1nMggKFcTVlWvqcVhp15TyTg3ct+EusA9gp/QPTVDFJgjgXBJTBDdVYKvtJhxiD2YPsHU7wFWo+NpDX9HMJihWn8L/1mWDIJT4j9PIZPFysj4dQuwNw/BVXOmqToGvrFZvwej8kt3h89om4JZtalOdV8Teke2mmcGryHm6UaHWaIqkqyTcIyDwYHtmnrcKzWw2vSIN3HwTbdDMlNOMrgKaBlMY2iPByiz49gR7bsS8C93bbl2uqVJAOXkIh+M1vWpd7V4/r1I0I6MwKfhEcTDid++IC0Q9i7B1lKBS5nnv2PdzKYYUmRJYJ5ayxVH8luQ7R8fduEDOFJ6bch4OfyfApUVcD5wgkUuvEG6NWKO1cU3IGJ1H7rrcW9P1vmFtmFiGMXRm8W3a3gwaC1hMF++uCXHeVaWZ6hHwhukADaD9arcL+yEtkYhfRzHWqL9YWRECFmWGJQwocS5F+ujD7YAUoT5ui6ZZeWsMeMz78qfvCwBCIqMAp5pBRz4rEX8HwpQq3Z/lUvZDSGZGV7A+mDz9uiEwjjzvjsSpbJoSqUBm8xGew6U4DVQzEeeGiC7PYWlhRe5IAHcABWRUfAujInmLYxfBs0sJpBj9Mb5LKedkfPa5rNM5HbPzWjDCrUUJv46uGmSlD2g0vyZdi4h6ysykEsNi3D6sztkDF2AN65tiqiLEQ3YM5BZH41TubWPakXx/ZwYwZ0hiabKkKYuegrZ3tPMpNFKjwZT2v4tIxOQVZnrf69XcOJ+dnFdjf/1Cvid9XcKHq/nrzuKKCJG4OttCjdIT5UQpvHuMYBsDEPbk+4sAD2ZG4iB+TjdruJQgfOWqW4XTyfKYw2G6GKRiS89oaj4B7HqF4QsvqSXP+0tIMDl1+fF1JWLhrxEhgbqM0iQanbqYoaLC7H0iuc/M4O5M3Mv+hHPnetKFKZMf156kwprEByXD7bwI5hGtIZNifnWoIDtzZtBv/y2aUDSxdc7O0vMtG8vyuaiRWiOTG9Tj4ZBAYOLyqtXN+LqXvc12dbMi8gyPN+6QVVNKsiD3WZBpnzdbwU6zRh+4Un6e3KMgo/QPrqq1dt6T9Rom8Sa59A0vVuLU3MtYYU8KzmHdlj59IN58EIPNXehSDUN7Qh32s/T7vi8KZ5e5VgV3cTFrhfP8VKrs5MAK2c/Ym8iQgU2qX/VPGtEBJKQAEjbTH9Oa8MTvKgwD2kTOJQ8JHXN7tXYkG8c7s1hAr9oRLDMZBc8xFIyV+wDi1KzCRXpOB190TcRXqqJ7Q+/tSUjIUkOQyi0uPa1KEfBs92Yixahh3BK3VTqG7tGPIQei3BtzJ2574FT2g+xa6SeKxlEonTCHgen7E7aP0T8rZoOAWwAMT7+vf2/KJ204pE9JqpY+lzl/CJCelSdVbvJiORorRDZHd3K0HGZXUXWsSjfuLw1AAzZp8kqeiFBvlNkJDyuT3cTyvjU1xaRV33R+xvdkAoKj1/Z4FY1nGsVM8Ys/pOSbOCJoVSwWHt5apQPkR3L6H9AlwG+G/bEayI04Vdxm/RDoE+RprGQH2KXxo9GoiaCiirkFQTbz3kpFu1yyGzoRAf2wECLGrvPbvxkGkIXg639NDlk3GZVukfz6g/KQBqQ9AAaP6lZ/WyqDF0I6HBp5ZP5gr7VEUW8Wd2+xvBvWxrkLrXojvIi6TPwnlY7mZlz92v1lEyW+sNg0FJG06Ju0P8tS4JQceULmf7yVADaTdEjM4OQkqfq0OfCA75mwI70m8BxESLr5GbjIYcyyjJTU327qzQfCXePjCU+ZkjvEgzulOyai2nrMrDRbMFh7QzMjrGVYCjjV0smSip+7jhaHDNkIPh994fq+I6aMAjKiKXTprvqyUX79zGfl7GYSaZ1tPhYKwnHkeQ4OdEBjWv6+0lXFJxZe+TMPxCkAdpeg0KsRavQ2rdPyk5t2E/R6wgaM8IEUqtXIK0up3J/YnietJcQULsWwZ6rWjOcHu08OxwVgI491Eiid0rL71gUPljoHsp//Ip5cTtVQr7dFptk/nUviY1RrzA02mu49HJ+2KoRW8xVoBEHh+UkCv6AcRyVHGJZ97CJlY5/OUt3je6yVh5m6YtPpcIHV17H1kTvtaL1oqjFlE9PsCE5L3uS7SJaIDPhqsi2+w+3RbWUMLI4ad1r5yIfEPqAJ4F6SOQiRekDsTFuYw3U0y1XhiptPFZW8CtFJr9QrBjwyDawrwUBtTVAWV51vAw8gyUFCC30WX/IGTdYPdhT0Th9zisM9VbTBc/MIZpy41iAeb6aE/8BQ2sKFTqa6ZBbInswSbHDVNZyfQQieVNwyJ6lM8R12TXJV+HKWnbqh+nYBH3FcIPvgL+lvoChmO/ViiITgW0knvJcTY+Ka4oNOyeQMISrnUzXFHLrQ7gxpzrLRydKWzppSEUXkyC+9tPfp1JsSdlFrrYXV7dooxeBz1OxgETon3kYMYgcW2CxmrG/VSSxSkBES6mCrwY0Lc0BH1xbDbo67bWCuG24n7tGj132O8hqWmp6969/5P4OiehULWpaOiEEPQVc0YYJDnDQylcsDMB6jFwN0C4xPfTReqUAV8TAztla0xjJrFpzGsrM2E6bOmFRwarnbxn4dH/uyna6hPtGfBH9JQbJ6q1mYSQMsf4C22cTwMXLswK0+tEY00tNMEJy6p6OtfphC1iv56oK8wAErN6W2w+YKAziPflZHrOcxxSlG3dgk4pcUWkfDiOVcmU9Q80J3EtmSKgJEe5f+n9K5C1YOn+NHL6sPHjhJwmMV1FTSU2sUH06xmIi5m6U00lpvAk3deSg51SPSslnXxNLpDfrUcsn6UUDx5ToiFFIJrrVVefiGEjemHqJsV3WbpgJeDfBOAeOQ9XdlydJnarX/QvQy9I7uU/iM6sl6yCqf5JRwF/RsM3eHGT/B8uLrFRYsp6GQYo2v4ERYOs3EeQCrZBtoTUjF93E79itGbxwtAayG592csF2+OrL/hbNYTpvvWd/37CLJzNYDKgmlb3zRKKLLS7kqQ3Da81G+OiPMybnQUUMJx1kdtoS6Df+5P8N2Y5+v/7dounF6kzY1L1G58NIwa+hq6tcn0BXaKhJmSsexBkfnTuVLFqYSUXQrMyxG+gcIrW6+TiRV4nozrrGQ+ecp9c2e5aJJenGhScDmKYMuCby/mGe1QgPZH7DzlbuZu/ksOli+CDxv55Flc0qIfI/aJSbq/bFMWs2hJoboBT5C7jHP00SBFsABKKUryQTSd3QN8AHdJc4auuj7WAW5yWzclB1h0+Mf31MG4RcsF8s1BiMyunZkTrvRby3Cp9TFOFwulagUyO2JTm+r8H55aeiJ9DcBmE4RDGBkxQMu9LlKVbNFP8uAz26HJfUi3Q8va/07VXvXupQjnrjrHzs9ZjfPkzOUNfPQfnx/fEFQcYeM2wNAZJWhNnjTl/KpNLsqh1sPg9eALSmMrkDIiRMgHgePwrYF5IIKlTJtXTzvZ1UuB6rSho06te9guAAurwu9aMCTwnPv/pPqULrxXqKWFAaK6mvkT+ljTN4Gjw0GXqiKnrCnmWFRyJOEMp1cTMl+mLIqjGQPUxpgrCbNSizhktsdV/8qt9aplaGlZewqNav9/3GwKp/yPxG70nj8DOPRT41cW923K8w6gMqKkhZAY4V4sZf9lulByQS4FaOVGKGZZ9ZyztLbFPr9iFR6u4dh6Fht0bhjmQExpgbpXU1Xea1+V0U17XAQTmGuxRpN60V1TYUKn6xhTjo8rjFw9xe85JmAYJ41IqI94p5m4x2GGQvSEDwsHstCPc/d51torbGZi3SGZ/QoyXH9CtVE6sQyS2ds3aTFUuI1hi3Kn1rZS18Mc8542s0VSpFeOb1wkKrQCYG1hOkzu1EevUVZOfKGwyAI7uaE/lW+IDK83KeIIYlhaOLS+PXJLbUKffxftNqyBr4AvTa+87SWvYNUPLOaoKZXdkoKH498V2MAqfuVG69F8+JYLfCo20nXFeV+uWvUvQ2KgifniqyTlVIzFZ37VGaGMvtS6flrG53uP20/MhKwHJrbeP51hoXUx8CmiqyJBps4yr/DD7nrMqe5aTazPqTzsQkGuuDMkKHkgNs17tjQPvdfdJJ0/Ys3dSMVkmNhLNXJuzy4+QxMttO/3QDCCiVh1tUPj92HBp5/FkzThssw9v7s1Mx9xc1d6iYVLTVlU12DrB/NpVejvcLUPIq1hVJAO1yHkBDUQcIS/Yp9wZbxYubBylokNLyUGDttiU5vLg23xFPuxRCsz0mCx1i85390jrXN3LL0FVOSEC8xgn9YLTJltJGZozX35d72kqyspfKjemaRGJGATZb3NLyaoxgYtvu6OCCueUqm9pAbWVLn4MDi1YM/snXFDto7TaZhuMw2yz4/ImSCdrKSd0WP69bI3OnFxnagHlKB4SFg62dvU0o1VTFl/BoZz9k3KVjtWf4bMtXdp5TbptQUtAsP+r+Oi+G9vzJ+TLdascEWsijDK8IkgvUZlRwsqFNuso069h3WQy3jq7DiYgKiEk7qTDxOF/UnXmQX32pyYW+6fOX3qmIN73cXGPADss9Cry2Nq2zCvjaEfiLRuCfQqqbzV0T5jvqOfbTHkD8EZJ8vUvsyi+HMl0KVM0CtMOsXDYN82bX5/1Ha8xgby3wDWrH7K56k8jJy/SVIYP9z1d5dXt4DdYbN+wE2MXVx/CEA5uWx8S36Oi338hf6iB1TxJNDycDFVBvqBeYW5IrFTfdb1uakLq1pTFkALXP1hOW76YYREF9W8qW5uYcq4v8cl3OF/PpI4XN83LzyMfJfWKrAJbInXZnV72Ccy9LIFMq5Hacz/ZBIPvN2GB12rSvtUL+0kf1r6q5x58U+BSuCArfhgpcewPFRRapa6ZlG9ojoS+Av60Of6tCxZCOEgVm7S3r3+syxhaenVqby98oVy2jl/vFC7S1/wy4LQ/BJi49xbBOqKfpp/SVlRwSS4rEnfkbr0oRE4IXJRJt0ueUvY16kLTPcE7uUCjWA6+5fvc9ruNxcxpOXw4/GOPRSfnc7ZhFcw9La6SMbX+VpY66nXz21UtUWJWFVbDPdOrlVQkb3uuad34woD8OtKYKTps5PP4LB1wEQKGZWnv52gsm6g5Piy9jy8tAyGP62Dfy3/3e5sg9A6c2fXth9VxnbN9vemVP6htTopytPiUJR4poyz32hP3jESb9b9RnpUwpNaCLwB+86MOA8PoyDDsWJ1+yWj/8uzCqJiURm2Y6X1df4qG5RfW4MI0YsZSAD4GTCcosT/0roGFj7oim0SGQpcNAJrgddKnSnJrg6r/95m3v2Iv6dTU9xoIDf1/Nc297SsfX6V5UdPcpSk0e19Swa6a05al63ifz77DJWCz9+zBKUfFbcPd0thfMtcMdSltWnbE9xHSlpPX71+WMHBaKPUSfPSUMa4jHnWZdiSY00oIg5QM9MA1UeQ9qxMVXm0yqao4EtbnZySdWiztJwnMkrPVVwJz+cVQwWqIGQ2VUpMmAbyv34yO3XT5uOw+9AwRudn4dgpjFvvLsHELhAaWuQCNfA6S1ld1IBx2VFfPe2QrAYZzUIMa0RCYBtx7Vu5gLL8aLLBclFQD6mwhTlvdLzA+u3AP2HdCpRjTeV5u8W5PYw/E18LYggqkxYxVjkgWQHQS/Q+6oplkzshJ0vBzkCIDrrStnHEyfBWIdtiDynmMFlU07uRxr0UUS4KpD1gW4HlopKsdhEwLkmKgCtYOYLKuijz+KxPARIhrlCLYWw9/wpIGv1oROQAVcEjmSi5S2jFX1k50294MxbgGPwJyO4k5hrpQBVmmDL6y5z7dcBu0YDlJw9+C266rCh8SUYBAAQDQoMRkJybFw3vDO4Nf/9fDu3oPoygr5hUG5Hx8k8ZHx8vWa73QU+FqB0gZQZE8LCRcsxBBkqXdxKDkBB/xsPFEQhGoNhrwQM2ROyTKYqN0cEWRbap/OLSclIpDkusL/nSGXBlVVVomAKmKCAfoFEsVxrBs3iaZlv/wi6tR5CBws1IIsbGjIJdNO2UrZyF5r1csN6lcHgE37wTbRYpg70MqW7DkHXp68wRHvj4AIEnICbejQXidQczGPzD4V2x4z1I8khL8YLN05PDqIyNqjUpbzayHscXJrbq9HksfhlEHo7HflrlTRX8jYTjWbwP83m3BkxOJBWeUtwQoeYXzOvxm1lLK26asLpbIWkWBRFcR7141s4MD6Hbx06OSOZo7IP26EMCtKOj7qNQy+/AiP8Ud177KgRPjGt223mse+F7Nrf7nC/U2aEauj0mRG2uYxyFLZ6Cib732qaOZY+KgmJ8OndVC5XkYDsAlQx0EDwP9x7qptWyV5vBJlqRCxDwoNuiolexPJW/39Zy78CUWkIuBQ5JPy6NUfnUpHdV1v1HTuhviYEohq4bqDe6ENN+6cqe1m5FkBkRW+yVOSzHozXQUSraWJg4mRcX+DUpc794iBw5vZbekfwAsZgT9agovJ2D4nlJ8v3iRvdlVF0soJ+ApzZR1CmukpQY79bxwlwIR5sqgatbXKZr3/X74QhhAAI7hkSXB4+iBf7VOqqyAjecxmSxngbOfjbahax1XfgLjPb6vOqFrMR2H+OTRPx/5pMSUvVron2crZrFREujr9l4t6RhMC2qkLYKw+x8Ai3MqGMqaq3vicEhOu5k0jOjdNlq+sGXsTIgIOioEqc7g3CDH2BmJLa8RMwbSbfwT5IQa6UsWD8EubM2ExAY/z8cMgy4HwMSbPfPkPYrUbZihvpF0rbGP1zFfyBfUj/ee/r7mFnhwpmAwzb92Y8rVSRcbMu8+E405sKBo2dpwEGaK0AqKeFUHRBNVJnoTHuOPuN13uwLXJuLmoErnL71RsCDPIZs2PnQAuWn7VWpNUb0FIvAyjkXpCNmIO71BsQMbYEhytm4tt28+gZ5cP84XcxbJ83VMafvRthTCsMWim8vmDUEsFw2VIAgEoioBgouhyNo8vWgS0jwK5o1qHB8z+J3R5vUEPaN3P8cWQzeO3vKr35LNy5GQrHuc7Cwn6HGecZhNpLc0L6lfB2oVVZBArN7EMTKf5PhDdq3GhurhRrtuSBarOe1oJCUZ5aZU46jQkHVkkA7XppjPUadlqFcfw6g1ULKjoKXoICgxH58hTiRc8rPMsUlr+rU+AMpF52KnDciQYkLPt/ICPcPzfilSenFT+T0wtuSRCti3cAwvM8gdJRrPxlqirFYnbMAFW/zAFqMWv8ijphPFjObIJjxnsB83u1LwT6KSCWDtxobsc5rHP+++uUa763rD+lZJU1gkGy0H4D6YWR3b8n8xT2pqHZmxUerHjYeAzatcCoD8ZLBQk4DkNYZB0L+9EBA5PlYKJFYtmt/Dgt69Z9kPJlVpacRbaKETrxVwejZW7HW9EoC++zQ2/Ogz7u3JRJ0hUJopBh4hy8dS1A2sst2BixwnBdlTTkbfkMz2Z4hk9B8iICa2fzKqz7V9pgQXlQ/T09tfOL0dl30o4v44xLNGKJFul4fYO893FSybsXghWvH7eWGXFv+Mx7hIn2nW1lJX1S+cxLRrbJcPD3eB8dTpY9SrfSkUskFXk7Kv3vcfmLdYefF5vsuawmdHoYrLZovOGvustlfQ3hQKZdqJgUgDAsKBfSlz4SDXDugzcAo0IdRvmCQbM/EH/A2654/y0pHT5Rq8ye/+LjXDhh4eUkpkikzMEDSXxQbNupnFk8nV/JuhxfmBPUF4f5b1IiMNYeo2OuR+VWZyhZjhipEUSpPEyuWWeNNKHBM1gcQmWhYmUoU2RwhgWBZwqcvRfKwPlzqXjMgG2aqIlN5QfkAO0DHwmFEZRzFFQzhM+HWmKqnIbm2CATjUn3uw1H60Kehs+F4oWSVERDlWSg+GFc5zzdmszZhrRcyI49IMv3PyEKp1hINZKwgylVWfOWCwtDinMCl/lACjHRKdo8o9QadpvVLR9PwbSshZaWtQYqpl+4wT6/TgOZeIqdj6w/xr2bs9vC2gTU5QM0ndpOqSQz9Q2Fcfny7y2gnWjizYE+xpYWi0MqmSxbVffkO8KdiGeZTFg0qYrLkqOysxZJrdoniPF57WfjI4brKFiVe9xc2D1bwgnnEcbGs8rsgGD3A+4JOrsxvkfSfCuvTIpwWVTdlEWJw9Ckyx2TlLlokV2NpW80zX5gdt0wviP5Utqh0F1d5tk8edor+BfT0vQpZxXB35RJDEhixNVNl2Y2QG1MWP2zetpzUgiiCVCjiPF8WUgChBzbd6Dr2D/LWK5yDBt2ggiJFjfX6LGeiGy9zQqTkm+8xL0pNPz5ttq9hymPBuSoW4RNGgO/GlVmF/31Pr712bhopXixMi9oVg6X3+lwMSLmET1gaa94/mi3XNcKCBEhxBolafsFs/r+r3t1RmjFKwYrJbuddlbNFWFEJL6Xg+jDpM8pvYSg/iZlvSed5MQDqd6byPonIJZLDn+DUohXChNO1kP9R3iyAXwY6T0utub8iSDUkp+YtFGTZ1I4/Dgav/T4M9RCBhDcUFdy3S/Tz7baIDzbg54t/UIE08XvS6h5j6UShB59JjZpXEvaAK493cCHy6mob2NNDEfg4Lg5qsccwz3fafNBm41DLypY7snYUmRjX7N0adTKMTVkoLw4gCaRBeIv4K6HzzzdZ590IyqOABLjsAPLkczBuYLvAO/HveKzO9owx5fpgFDAzpw/9+eC7zUtZN1br+QAIUripc3agviPrSZoTXlAGtJ6mmr36BwHqNnM9cvOpxMUfpBVhBBgKOmFrJPC3ZGFceFDO/uiJom7cjE9K1vcjx8J5ay016uFyzTtx212dUj/Fs03Dk/ZJ309N9n0FQkYx50Qd2nl9MlqN2L40T4NzVU0ghRqgQawbD6EC5IiIPyBlwXOw+qEfbon5S91I15aYqPc5Ydu4kVqI+awcjHTbLZOiOBQ9SCqCPZGpkQ6qfB6vZZ7ODTK0ik54pI45DIH6HlqKM0MC5K3pyX7dCB11fqmDNHux7JCiDEpSTptjniXsMhheQ8nnuSNsDfqaqvY+RtAfJMXNipjHqVzCx/YZNZFhJuXlFj4QBx8LbdE+UpFX7LZ1qTgiti2+Nus+UKNwZ1folmS9ZtQWiIl3gPOLq5oU+cvecWs7vL+1HomEaTKdnjoJMJdl+O4+XJ5oGsdtEJIxH/UeNBc93DE1vDuGA22QmJHWHNzwL7odYKhebIlXqipaLKYN12cJTEgNveHXK0pX0QBs1In+X5+c1vnCFPyD/pH00/GflU1shMm9RbZBCEfpLWeKQxMrnl9VlZ8qmchpHxLRfGtc3j8e0SJV/IxKwfI6lfsccViGmgO0gZPJroe8ma9Lp2ZZkbdgioE4h8BJ+x0TI1F6JzzCBqjXF/Oth4eGa3Tb0uJSfY4UBF8SItZB8lvndXdRLtRDhZwj3DVRSmhwMQdXUreW/NpiotrR6tWlMY7TWG72T6ihxpiUlKWXSfwKU/wOEKUSVzcvhHXbD6u0kRyAoezDXpO1SHzQwjJEyOi5rE4Xl5XmgwB75uoLPxYBtnO/Qxs+ztJvxwdrFaqVCUe9b1EH133OYhFK0a4ztrgGAs1WDZoVyhh66IY66SyeH41A9pLpOgRy+OM2/Ym39z2YK4wmxrfJ+g3g7RiPxXsoRxf1UnxazaIOkKYFu39PfluhwLHaXRZEukz4uZHipFVLjHFjXu73RrCns1+9pRmQkkIpybfli7FY4gpVXd1pTHAlgdRCXlZQpzlMyhOJHXfu3cO2dbe+XcfFwpiDJYgJ+HKpVlCJs4AdzBxEBblCPGHl+1IuSS41x9CJoCLs+osDjYs577TnODpqlUduTfpjlGNfDI7zooaiiEbL/AK6315QKHf5SjALfUt/qtCbLBi8DvKJmeV16QSjcOjdyM1kkyGNYQANgLm+p/QSQe1k4L70ifN35CN+IxAO4wyayykPdJxscWwrwjLQwtjv8fUzkFgYSfX0jzq92H5njSMqT41heu/K+3YNGrZ6Nak1Uwb+DYigbyU9HZOgOEYu1FJ4AL7DT3Dd8hTgf7PInWkG5oQbXzADuZtowP05Kb1VWwDr/His/fs6A6s3mcYMFpfvnazM22qtS2rL9f55Xh2Jm6CW6C/9SydFM22mxmSeJrqCu+sq9Q1MXwpqe9L68Fcsfv/UWsUpf92yQ8Iy9+hHyJE3ctp0ePcKZKLG7aqtT0XKw0AZ1uIIMss3XvalZe7618nNHECpUrGGC8aKIyH7QbDWaX4igsauJVstIG0kbPPgxR6xL1sG6ToCFC9WMn+EL3kKASFpqY9EPCu7E2rXZOBppF29wi/KuL/2JReBKtKwj7zt8HrC/orp4V27yaxdwsqwYSkyfY9OMgAgiMH4/le44/jXjmSeKNhk8rfXlpE88UQYpUnPTQSwv/zwvuVoGYeWXcMOKBpLebR8lDzqHgkVaJSN4/6Xk7dsIroyHLW+QJTVs9w3NAioMwy8kflX8F3uHlqh7NbtVuOWCgkjGysemTtPXCMdtIimeZ3ufMDRywek2kx8w2MuutgIicAb/eWl2EfGN0cSwDZFlX/spJj1I5GDXjYjAvOHfUhieq67aYGpc1GqDmuWXM0TSPvf9FEPxjdf7zXkHfRtw5F2S9Y0pnF9au1ghhD350iTW0xzVf51tbD+Yms60UBt0O61VPtN4CWsxE67HG+FNC8A6FimrF/ZclfH4UQe5h53U+Lp2CcHgeoI8t0xlHGJW1w7gtwdBG3v6G5YQmfX0dDfbrpvvU0JWG8+np1/Iv3HUVlhQCFME4O9BGpP4hm8J8qCJ8cDYpeofxAhMBfP4AOTX9Uzt37s5/bZ2hhS3+oDTgCC4BCXutWubfrstXx01p1xLyocQzz1esH0OtEDgSefW/fRRY7nxtdjaMN96/I1wTzgbjJJPEok6/9lu1JIkZzksntMme1p+PktORtOjmYygIYJbwYfwCKYHUJUBl0zH37eLUwYW9QSqkk6bWrd9oiQ1QIXGHK0GLBjY3kfPuWzVsNLzbgcWGFHqtGVuU/zg0zhBzd//QNW4N2O1tBIeQT6aUF4G96y9BxpYJ//f3FtMspuOklJ6g8Xw/kxM/alDuhyuFTg2Qcyb1sVW2Bm2friWiimy7BFq54k3bRWJT7O+g+UJWpNga4nW0ZBgguAcAtpc7VXDlEiSd9qd7JiFDtYJTCk1K+udtwUIZT1sAN3hfOVDQZ31c2NjY9t9QhSiyZst6KpPgmIt6YR4ut8xsvY1FsVkbr89moDayI+NQ9bL29w5HTMCI5kYXjgC3Tv3p1yJNENNugTU+v3e5u1jTxtvoud9W/bluUoFcykYUyM6AFHID/Zrz7kdWa03X7b2WhjG8XFYDttHhY+k7bKaDFlJHaIXtryr386rnD0GlmC/Xd3V0BWd36lx5VLox4p8CwaIIhImlHk9l5YHYSygpi3abJNJHV+daCHYyfStoa9Z4IRS/vW9mYu3nLaBcQlN7cdgqOFZDdRytdt9g2Usc2inTF/6GTPA9aOzIssRsFy+ug1ygAkJ76DaYrQIEQZBknMh9XDFlE5DnQD8chWJaA2yS7aDrpRA0DaMAR/agJbrgfCffAbCUcRooVRm8Iye5gcghUUfuR9/DDFy0um5mFNazvG4XjnJN6mcMNmR2ofz35IhZGJ0TbSyJiqLK/qqjp5iokOveZRTvYRKrigCd7PrmoTpx6Kv7Lic20OwEbny0+ynnXboVn96f4pINzTxjh8W50P+Do2fEwV6SN8Zqt6L2BstJhE5f2nAk2fhJRo5RjhmdKpO47qU1nPNBLC2OVSemFWUNMqu6N4/HmHc0vcZhEYSi/0wuoFhfdTz6KYD22mlcIiFzKb1Ippvp/lSNrnTrxw0nQiktLcYk3aBmfewIqkiS0tBK3uP0TOHjbm/oOoUoLBGyTUuvkiE9rRHnB4Fl43QPq/fFK0xkt/hP3P/TsmpI0RBrsdCnNXecIYpmFm8vNYUubzWf2iv6FCW62XO9IkHtkEH6gJcMvF6s6GQ6JRead8pJfsqFRhtzS4gPl2orc8IS/xKuVrGBK7qzI64YdOQkE6N+LiitBMwYOQkQEGRGJyM14f8g+Err83oSuRIwFpeAHbNqBvZuUHms6eWp57OC6zIbWQAk3TpurC1Yz7jfbt8VHP1LHanqBsKu0DhprJfZS3JuEXnnL4RmaTPIDyL8SJU8zd1XDHhoS8o/1HJbnx93VjjcKJV1s6OB5qpNH+o7PdfBQwKu+155J5wNk+mJUO19zvjA0X0T+9s3BzSCJ75EYQPpnb0tdZUZKUxsQwASMiY5tt6CJoISPZ8bKFI75x9Xpqjxm7VaKxu26xd0jprWuBW6gmkGRlyM96cb+5FcAdlgOUMcjeFP1rjYsSCvdnd+lg7lmDFeKtRmbDKVB0HyoOnguYf77lkjzFcpYfJv0EI35/vwOoX7ayTCLc+jYQuZghRkgyQx/NOz+3zL4FGZFSc7AUfIBDtqkT/bNudiyE7OYQ3gR/grYCZbi2NwF5W13z8DlDpGMgBeMXc/8MUYkXpTanCWoFCLAOFOVNpNvC/n6yF7pWnMTxUjyytd/a6s2ZdPbC51uifpjQHY4eYsXvAoc5or8y60otkd6Ne9nMqAY/xtqtD8IQIUnC5+gGIrtzusEvdsFmb807R+m3aspc9ljuGCBflVMxGIwmfOsQNwQcAX2wCEUFiBQBaEXzC2SMbVUlrnp8AIok9lqmVTZt6gpx2Y/JGkIFs+mYOJRz60zcerzuNvwaxE5ehoTxhn2zLiiUMVY7yOefgwhVJycaghcvC/+LI5Q3oSHiyt8avMsVPQkpXbAkS14Ls4cdcLLMfvc2T35CecrwaMpT8L2i/fr4v25s8hzwMfYdtAtDO2ZysR7P4OsOhGK1dcZz3GP+kSkuW3QZSyi8+CYAjTdogUGl5DySat8JJo22MRqe2D79KZecqevOi/3uKnOQpSoVzvz42xaGzj9Ibls5l5PCUjY3rdn1a+dMMGyvUyVVhdcpTeUQYh5Ir+hNbkoJPAXBmX0Shq4ZdvmvOMh5xBK572W043283ap1d7dzo/s+CSqxkTmWk0LaOjbgSwDGCpx/OMzfYucTv7PPM6SUAF2LCEwn2hTnDd7NkL1niTLQdJ1uGezRPvmLvcmRwgfFND3XvE3I7XfTVvIyWQHisdQbc0xg4NeYBCODXIt69tw3hu414MD4bqllu4/7BipYOrdwsJarGMzV9iAtr8sa11DqlTUXlQsy6cVSd6wzpbk7JJnJvn2zzvbrN9wAqQ+C5HmfGnuFCTUnZMqpUF7vYdvKBSPfRDVnsa4T3Nie7Xdl7H4Uqwm3ZJ+xE86J/0ZtaECwzhrqStLXvbvMCkWOizH9i4q3ywBWMCaaJxj998oRx4PKQ8fYOjT6S+8EjOxLrnGwmhZcdMT0jYP5fq370TcEFWlVo4jMgh/7RL3A76W25DbsggqTE2in6bgw4jhmQTydFDW+V8bOlwdR9sdNT9EBMq8U/GVpgpoDOiFezB1wmDply5+H449x7q1N/CN39XeukTnkSCmFQ6O8hWm4YeN/LY6jfOD3DuymxscnTgMeHytXZQu+nN5dxuVYRbWx7lPTeOylbNvnjB3p0Yx6slal8H5oiVxRNwQRT4cVSeAv9maMiebKG85SKDTNjV+zFNYhjOmJoBn8K0tScC+IxXIP3TZF6c+zWdLCvvsDUb5Kc7MKAOhNc+RnU3l3Dh88RrDwIc3j5xgZ87tZhWYsxeppnHVlJRzvv9tDhavjbn+h/fIofcMFx+qgCr0vTolpnd2lOpGTCOl0iWy9X/QYOhoLL+I/dNjeGBKRDNFMGDQsM7mg3CqtP4RW/HtCx/ZmISNuk8RaRZ6DZlu3CdP/ZAG6SLSB3V/JElveITp6QXJT9oxzIc2OvRH4ovpkm/vTwlfyL4fIFJPTnIbfskVBP9XLx11NWu6zHqeX3KUcAXsvMHVoUQz1lODP0Cnfetqc9B/8OeLoymxnYmq/3Y5dddkKc7C+aWi9Wk9JKFC7lse2cEAbrpQ8D0SRZV2eiqavjCGsvzDdvkmtVVhSDG12dLuTCa+AUNcTTE7A2bYY7e7ym4PkdxIlqR/zzeFmz/TmtORO+XC5E579tu5ST8PQIaqZZlcrYdU/88u+xnVjrunO6i0sfADRGh+m8EX7bRIywzeWDeYEK1zYhUDlqDohmwrJMM1wrin7SjGlGeGLPpDfPywr7Nm6uITuZ6tHpSWr+TVRHC1fKH3E3DU4aEQEiSts5F2Eg96gdxN7Mc1H/pUDAH5dvuIa7FRSIIVWOuNF972Hv/RbXKRKo9BdcM2FkMvmooh3LX6njSX0mcxSqhhT5G/HYAZ+2wGUMTDE7nx0rZGITcI/gBgzEevr6G5DbKna54LEboHs+KsX0JSmqptSrxjWvJ4LdGwGhLiS04KpZaC/fgTE9s+mvkBIpxhX98FONLfXgcEml7qytaY7dMUHVL2g30hamwUwHcE/TaOOaHY9FAKjq5ypCxiahjjYwu1DlJ7bpv3rVvIM8/PIQLZX9RgafnT/IBFPyrJZX8jbOvrdpgrcmPAv4CevekWw7lrXIIA5pQlchT+QCg3B9Ihmd6JMC1HnLLUAo8+XrIxobrBauZbzJd13g74ms9i5TOAyjyzhEOSDFoQw08VFOmHEYgV8fXxO4ZZ1eJ3Kg3xz9xsG4OBBoHgivnW5QwwiPVZ9d9Pvo8DmUuULOnx4PGlg9dX+P4FMd4DdhOyjz7e2yV7HfX4rWWJgf+P4QGlr0+h3bNKoClCPK4+WuHyrpNhWvs4WMVIboMPi8h+mxUuEltbBgUrHnYrEA+LxIa8sHhUdY3UjwVOzGm6GYU5KKzH1gSUFXlyqCX4FiENm0DFuxXrFAG5ouCOQ3pFxGhb2trplx9ZF13tPlGNGo1fKS7A6EUynbGQeJfRYfcEMR+3TXa1ETe9WkUGSkfIIvAlSaQOAAzZI1+x2u1XkvfeWSNYI+tw4XyXOonqDakw5Vr6/ho4CYPIyFF8vVnNzr67jpjk2m6MEwPgUr3144mLJNTszUXHdHBJcOSuYuYm5lgwRq4NeMjqO/WsB2wVjuYdXUT2K23yUe898kPMpCu1AlhzKo7+Hc4ia2XCJW+Y+uYyFGSZwAh4tVxYJrncg3hkFlzvZkhsXrXT2EyXdIXZGJ/eetFkuuucDewVeB+5JShJGmMKIWFaNKI9S0yWecKG69NBqjj9ehd9zkmUPHhRWtj7VPn7Os718yaDwXWdyUVQdgtCzc0SYUiWrxVJZ9B44SWJ91tLynNILgl3CLkB61XeiRAxS8RqJXSwvvwr/XzWCL04WMyt+UwHhbQkfRUkb3cers6t5JWV+8c85ILs2qUyeO8Ff8RsdcbAZsy2Vjxhk+C4ekylMNQAUk8Y0/jHMKQW3kxwoPUDGUlabjkbV7t6R6KQbGb9WV1cJhi4zkdXPFBIwZ6X6/bjySJ3iczzHeYD+ZvvWa012Ced9kXpqG+d29wUECbHM0p5mWescsD6yqx9mUufq4SW+ecjisrPWkN0I0DN0BUNJ/9AZiSW6NqWZ254EDOoyiK4sFM5rUVmE6RXbOHeXufQc6jR9EqkVl+TINgLFN9Jld4TIpeMt05fGGxAOyFZRhaBj0trp4FszauR1k3/jo/lnY7oDn/SH7YL+YTS7fjUjTRNY6CI5O5xP9LCY2yu3EiCj/b6VyTtpe291jZw+1B+rYzYGkfm/gjBs/84pmdqgZohRxVB0Mys9Cv5b6SiBpd5gJAM1+NfwuJ61OuosUrb6GPrppMvrxG1P4IZ1Fm12fjVp3LphFbF5R0v38mmXqf928wK3wxkCEwAWEBx2sqafMQ8ZPWqt3KbuS4p9A2xoOhh0gU7RZTe6Mm1qW4VzOwM1RUKCAs3Ro+IVXccOAnAWVCbo+/WHbFSGFnWq9214oK+M1tuV5tBhSEuUrslVDQrqVHlP/Xn24a4UZn7jNoETS+AYrT4gVCc9cZvPlIF6UvuvK2QLl02InvD5Kt5GWO6oS2Er3s4Qth+naIrXjMoc+pBDpunHOg6QLIp6p+QWAquu8VF3Y/Hl4OfyZi8CfFlSwo64jPBOYq0rCQqRbBVPih9/CYfyKo63x4X8WuXtavKekedPYLoAt5jRVHim6/XSptMoDP0/HG2KXfPqLKg5fmpOuleC/Pcz3REl2PIQFl6X25PkTvCU71FTGh5bEhNSDG8bXMTW47Z4v5gmlEC+Gx2dJRD+l7od3tSWHpIdKPNAIgy1lyD3HpLRvta0ErYxF3e+8npeh2jnRWs7NRVp9VTUJS2qyY2DFnA7oBp6E/z/gOmoAE7ONmKk+BOqFj2/v3I8UBbM1UAEY6TFInxHF0YLgSj+qXBxRLQ3XLbT8BJd/GG0fWV2Z5MKvlhoFnxuv9Xc9CirCRVwPGZTup8d8XTHbOxBNyFvsBemgMeJMJE58ilyue0FRLdx5eqSWiAtnZUDwCMjBsa3h12ZwnjeRFfVNb0FNIza04VzUPsZb2s+3cQXJsNtCGlw1ZzNJMhKuwm1s/mTjgehazItxeVITXxN+6D0ZqzY8FWWjb7vhoMGOhTHfMg/cPIruT0OvDrqOHN/bMvl/bV1lk5SRDutWSX8Zr/zn37IYR+HZcpkFg9bynmKbKlOjcTzSLIJST7FeXgvUm7aBV5JQNnc423VAHOCuNu3YpLhxgM/B6LeidmEaU0XUiDoXJ7mpYvh7s/tmrd8LqCP7BJ7COwB80+h4T/HnucDMX3Sz6NOfFBnTJWvZuWXUbMh/0/ALRu69t4Us8Np9rdPTYZZ7yNowDdHT7eAvdQmPdbFIH9u2O/85uHAn1tvw/URnAdLGeJrec/jfjj8v0wm4b9ugNn76kWSVAOJ/pB1f811/jrIyD/5bfSl14BJQ6lSeM50mMmBblHDFtgCjjFIm5r2T3AM8nlAN0fyhNQnfoYi8LxUGhNeitW2651XnVUbvRGRXpdbdVohYNcuMXDXhw5LAu5XKGQj2xj2/hXPvAqU9rSlZRYOOwdwewzsV8FB2i5Gm5TlvoWJDy25Jf6y466Ysnsqnc5OoLQ026vY51832IiTj86nxMAzpZ2jslLufzj4vHycGissSiobShPuD+y/RlfpmAWjSCTgxzAriZCCZW0yt4ECt6BCntOqlMtD1e5u7E1pL+o60WfnGlv5Xle0d4G03y7WTWyx7JItXabq7S2QdfznTrnmgKeoOm8YivKx5qaY6pV/wJbOXP1yDyRZv2RdrHhxxRWuWZw16VpxCjn5pPRuBHepUEwwOo55LbgDV84KkgnTcrlfA3trz5ap3+ezcQ85/i8nEXpgBjBj7wNafF6m2fQDGqThoxGUhgZuLl1AtYFevjxlcjJ82CsfEC9vlAQKG2wWIP8pQIww5VnbPlhfNpgEsAOI+OZygpU/tgDVnH7DWUT4tdvqhYTggg8VRgmbmHYxMNOJspbr780B8njV1/75eMH7tAY64kbPxD6E/ydk57bUoqNDCJQHMY7xqkcmYrEzjBaps+Ksna7vQerv0xAo6I8n4D8HjRSYE5qrwto9kzFuaoeyTGwUkwViSIL9LDL40pv5miVuF1MFqLe7WCtjB7sGQMWpcS3fhSQtPxRUShYHs+6Ayc+W0VGhefk1Cicce7fclD41IVye2gpaSCVjbcROErl5nu7HB2WbVRkH5VfkstFlmQvFLJMQTXm6ykL63NPL00pLHTZ4O51f76p5JBTrvQUioj0MmQFn40fH0lap8qjFlfXNtHd7OC4178dwU/GmX2lqO5T9MScDWDToXJdNqnouH1oF9ZR7NdveG7bOBNwAu3m7TACBKUcfrQNI6aLOGvNPsMLD6WjoGSFA1xRmSoiyru4ScG0JpkB+V4WUWkTS0lXFF1U6DnLQgJ7xdShv/BphpCsMvIoy6elWdXLiF88gRB99BqVWCAk6Ga5eMLYmViKXYWpBl6oY3ExvEQJF6S0CVRhiG4H/SpLPsiw4ujLIU+sgnBnWqyE0UZOXYibVlLmZVUC1tQDwMZQnDx9wUwnrn4mUKTPv+EdcJV2mG7R1e8ftlQeJOt+yf+PugofezYaR4sARpVse4lOZeRDN3ER77DBnn0B9BogXwF4aAGcY9fmrM1smjYqVXAK4RCIvIulS4em50YN3HTNAG3NmIzfCU7LYWErqK8yjQzZ10CxL+3aUY1zvbDoc+N7AlJQLtSCEJDKKQy8G3ZCRw8YzgU9CybUQ7vlUU10gJH/Y/Gt5tZQrD4fpOLEUKZPQey9nyhfJ+GV4gqbnMEYdwOxStBANAhI0dJ4h4HcqdzhLK7xVVq3QIykQoRhQDHjAdMDekXaBOefWGDY5giOPlL6kP3CbtIApsV8wj4HWWsZ/k14ZtFJcBQcYnELcPGZ/vFUYS2x1wOtXHF1XWzSKUw+dVmJpDmiaLfAeJLKXT7G4JMTIZsn7BBe2rvMg9gNZLeVMEHpA/EWJp0uBc1fhie/vI2aQgx17odyAGVZOu13El6g08QTbGYx6prWf2ry3vwNDHsE0UoCeUJA2yhn0rN0yoN/JMm+f36SY0qgWqytr11F+cuuF3SfV81tGo8mi4DrjjhVSkVCitPDfGIqdouW0gV6WSzbzCUpJX+3LEO8tZ+JySXO4HCMAeGN5RItYKrtgKUihSEHxvQyzZkof0g4uOkZaEFUo4I/N99zP5GieRRravenkcWs8LjMn9pSNMLu9H0KmCZSO9d9OxaIh3ITz1xewcUSsjC9Q3Qu6OnnkHbbfgctAOuvDb9u6ULUYiACiRGVIiTpktDj57TrDPBP0ok9jGkX/VfdPF/bZihKc+RZsV4qjrJSAZy2Yz86Z0W8X245e5kZ7nriCoriqr2XgIoqqA22v3ovxYnelCt4867FD2Vz8vKdQux+2weW62MPI8KPzc6lQ5AKLw54SaWM+yvoZPgPN3g5NeePXZBFApa8xXwdzeRphy0E62YKTPWEDpabjneh4XW3k7PiVhqYKg7TdMPnJ2KX+tuYTiVIPDCHYpR3wpfKW870bDvbXRQ4YIjVPD7yTcme6EAghm95PL9Mwip3r5QGeGO7l/4MmjDmY7HqiE+lv5zUDim7Sb0NmMhP5SqyTFWpMdgL6hVLMwVU4sjbg0tHIttaHb3cfdZdAPlTbMweQAd2KGda7y/AHU67/G6eGvj8qJdo/PK9XVAH7BkIczs8EQ7NIb/OkPEU2XK5HA7gPvIgf549OohSfSDISVjH6XHkUe6hcx7+TbaBKkTZaaoYsTVZjexUlYXPd3jP6QwGa8XDJHeaU6zLLyXfDry6qJVZ2kY2Xjzs7qVuurklZymzKHNonkVfW12IekWqNnGcePaYSpmlQ74A+eLtL7oSK4aPpOISRet8hCO3EJWv1EZBK559TCJWWsk33xHClChZQ01auuCfRc6NKlPsYS+ggHmVC1CqpGdbIMqmwzrxmOfkCPrTvPTlZnuI7AecZcm1t8AX7+zI55Hd4QyWa3/32SsSGjVjiLyp+c4fMVVwlwFzKoYHsRHvpMgFGqIbmRrPtFp9ornwH8G0foQTJ/h9HDYO1tSffj53DDqXqmt+s7InwTIL+TVBWr5TqBJjfngr1I9Gp1jJzEbnk+B7zowZ5KVOevDd9PdqP9/egdNgFausjvZ8u2IEkGfgNPD1mFssdQ0eX6J97voHeNnQRYTK9jM+mbAClR//tKGbn4OHVI+ZDjvmATxDOPYG82qxKPxnzOpB6h25MNmGRSnLiWchWdj5KULdji7tkg9Gdy4yeShlZxkcUspnjJvpzU4z4RXopUanxJ5mR5jZvYpkO/qJhKIm7RtiqjAZu2HYelqLzTWVfhV67+qKsG7S0yhVSNZ7/TO8qO2hl8B7/6Fo3aSTfISYO8+VRIGAJiziRNJouUnhEVLnBhv7srnzK0okjPInX29C+5dRagpnPfTwHKaU8PtgzvO2lgtFFfvo3svhuwjfRBQyrCBaQWqd/hMzxzXnEBUM6d2YTLW6Ops+EPruZN5LQfSOd7LbefvVxD4BOJfqmFZ/ZPZiQNPlGIoI4FAt80TsXPcRj/4NjUhuAA1zKOLAD60QBM6bOQMCKZfScCRqMBb921PWkYZdeqSTJk72vHcGFfSjkJ3PtrbOECtmTQ5798CdyxEv2xD5erWlXDQjrm604WmBGxxbwRTIF3wym66cQjvZzQhT9J7zkhs0/kOJ2hz/TjQzkam0PQmnfnTPWSxqVq+FMB38DkHM1RRWZ7lZYGO0rQuFSlMeBdeedYNeLtveal0KRS7t0hFmnz/DsJMhNLcqSGtCvQsLcSGZB436VkPp7OcWWN53I1WPuaeegcDGXJ5GN8/h77wbe0PECBdCqOb0Sli6KAnOtP2C8BIqHrCsoMi0Be1qp0r/zRbNUBFm2NCln/fve/HqlveFVx3/p8KaZMkQdz3bE3Z/gPu1cZUOz1FqZwwPUKJ2SktLCU94gGHbe0ho2B1aoxuTjO7OAf9+4zCyr9sRx73BHzwbNR2FAzYHn2WYsmKyQi/unHgIXFUKKYY/NgfFTz7/mJWg9Z0n/5rQLpOwfdYssPUp3pe+RFB3QN9jlPvNhGxNhjE7eRqnFOrVj2eCFkwlPpSmBQ+buEqNrBIwIC4MNxH7ymVewEVDYb28JmsXKPAk2ndJkMJi0G6b40q8ABoOZVEPN8ms63ICEKoPO3gMQS87pKxUS0pvpWqzjQIO+M0WFd55ptXQkmaV5/EZTyXbIs1+VGSH5OzoIUT21imAaAMMh7/7EDFIc5CEveIUVs/XtFQERHWUn3NJU6KLd5Z5winAeE2obVJBJ61MHN497XZkusW7OTYMvObn+QWVhWQGz+oVSUErUPUd1Uc03BipCoWkmRUzMJl568hsM8ABMvmUbybeRM9ECVd5gB10y6xN0rSJZQXL7oh6IO+WybXdZod/tYtjCHJyiy3A+595ZWxQrr6qvvj2hIxpN0VYBXuhmiPrUr+Ers5GcdQpqk0+39fH40x81mDTh/EAcTzHX3WWe0jzfBigqvBoZrJdqyCdDSLrYu+PXUTcSm/NIUAcD0yp3XAFLNBgYPSkC1Ttdh5freaBvXRXiidydkIq9TodgC43ELQn6WRf8ld6XZk9a9NJwAkYDVGTTMJsJPRS8c5Oa21vtJmAiU6kQcbZ2yhcDLEtyEBeCnunCDzkg7psvOF9tGofasdbz7e6VRNfvQW2aJNnwei3jH4EZ8qdopLzVCE65t0XT5um6+Sld3A7mO8sgGk8xszaVYQPIom1R1aTzbanXXMjkRAZPDsNRLiOtKpiG4z1seiF91F97DNnbWH2SxQ33iHVWMVPc+3+ek5lkx3Mv1eJPiFj88zbjW41NHIevm+6sORA1CgoDzJPThV1aXNcGnmZoYQva9LxD667Jerw3WMvNpU7EdLnH8H6CwM8lRuLVeisXeKTe14GH6goztP/x70u2xykrge6/aOuu8CJGp5g+OISRsQCuPkRRyb0yAn/tB35s7KN3NEBou260AeW7Bajivpc0afBWqPWoc+E1UmZhg8urWGwofhec8NoHx8L1z1boPTee8baQ5jJdPy6UaqD0ht0k4J1sEyH1nl0Z9d0tuRCl2BRPhXh7Lj5xlylLTE4CrTTgu8xCXzNZvBFfma08MZ4cTafjnrfeVyOX7EKQySgqnWC/4Epg6xrDt2tK7TVyEBuJgmiFJnzc5s6i6bL4WMnND3hGKQ+9z0bBO0C2xoKHa56pQVq7UMpXrkHvOjcnDyP9W/DMLJ9xiLU0ByPr/w10xLnaO0LaWbFMtAkGpebRHuAChxD1RK1IOyeAGBuZFVg+eX4z4/6ISgWlR/L/rQalGNdekoCxR3LS6XB5NWI7vsVP49yieoJNOkinqYq+4h8qd3rVisdFF66L0bpf3rjIj12GNPqjezvUditfirPLcKQtrgaRjlmA+jhdJTMqr+noQs8DDXi4hXpz4Cxiyx9bQ7uMKqVeqHlQxM2BF0Kn4PDOd7v+4pF+JoW9yjD1SBzMwtnZnQ0RpCPbgSDSaI8ucSUJpzdDphOmUk101FFqGN2AWJ1O89PuGaaiu0G5JMr7wEFin5BZ5V0KTm9fU8Uief2NyUl4brhuJINW24pyQGMT6zsL7bmylUyCB9gRvGnK8Jt5M6G5+zxIxjLZPP1Yr6AbGfq+TFyK1L2E2Lp2K+MHwwtN1I07i4G3cdhr7PjPwwy7pzdDH0S4JOgN5BjnwnuRV5KBRo/fsMCI3QeYCHU4IxCG+cVOIsxCsTIy8EmTeZqAOrLYocnHBhVVno8cqbaWpUicQA5CqhLWNMu4QjPThCoM6JpYYLSesQtZE89JF+4EChCqYiS5xlNZFeySev7LREzLMHYNv3QRKVc91Jq3xxLl/zHPUhyE1xg8cVpJR9OpWw+so+SNExuap0fuxgd12xrryORlmV7zTNiaA6O6E/mN0OOI9NO4HP7qKLQXlpc4APwDNWdoR0tKF7LceTBUYd+hi/sDfi5qh56pUYbS0If2dJQpDx8hEOZIgRovtECHgLxzsr96QVjVr+MPG/eDjcQWnOXVhsjpyEtdj2+ZP/ST8IxJGAEyJ7Im0SlrFfh8Rq7h8muCt31P7EMhZ81xsVV/bBfZSD5Ylxm023hy+ZEk2mb+ZCs/mn9dsQHjYVHBJnR1RHUsLNH81VmJOAc2LNEL8AJJiuC947RPbizAC2KZ/JDot38Nq6hsNX6w7azsxnAMiwlHWSSfCrDSVAGkk3Ty8lKbEzK+E4GcJN9dzBY1fE4A/L46J5PhUbC6O+kDUl/P95/gDugQwevHQs+Qw/sPY+pCxrSNXJ2Z/LJTwc1UYvIyZZY6HgrPEa54eSK5O4ye3U9g/kGqwefK1hO2sGADuMBDnsMJEH0fzmKq61AHWcik8b8iO185sLoBatAfRcvrKi+dUspSJX/MEjQP2A7Y741gyOGKl9BKH7JL65mEVWYkO+26bJBe4MqamlUH3jqVV8IT+jApTBS5FEcKr5oZ2/YZfAJssTtUERJPmsGS3tGXew+R88jdzpcNy04PADJw9Lza2p82OQC87VZ4bSCxNt7pt6IcIkchlJrIT3/x7xSIaQxDcJFDuOvotXZ8oO9f94EoBe3An5JJ1fO1kxhilO7tWpkD0R4i5VO4WvBeQBKZ4c099BMvhsDANI/bBfwAJKfdWg7ViqTRWlxuJcMTri7azSKGfXKQdGHF6PAv89x4qslTJ6hDHd0Z6IaJFSCNF/5BUC+4CHEuLJeEAXVZLhR8nsgJDVODS/beC7gWyWGNoHcIkNfSjG5X0sH09R+RhF/dkBZNDQ5ZfBzykKdICfCs13py8szd2gJy4JE4ummY7+o+5vqbXpEsun5zYMJMMbvVLQngycExFo6S1okMfBKTWxYZUyDnQQOTr+3IxpCDRT6MkWfiRlM8R+zxegW2nElWm7lZSTjp/D7ehqNE3W/aMX4NJYT22NA/h8xgrmLVNVgwzrW8kZJQ86y73iVEWKZ4S0GwlpVTYSTiERnYUjaYsqoAWZ7QSNfIBal//ow174bwgikDRKbsijBxFmPN6/UeMr9A9TL6yzSZO7oCf1z1e+/qYySnIOUAaHZm2QQ2U00nSwRc5kxU+CL+JxamCEk5kLFoI6EbREqu49KKCcd9Uojc187J77lbjLsx9dRB0Ze2ve3lnCSe41WY1m48EXaDFQV+3IoUUJdTbS/r9L9lpxpM2D/2mxRzWH46S9gqjWAWG8otEfX73ahOBLXd5Ii41bPbAt3YmQY9u+wlbXuokrQw4L4XnGeTrl4PU5ltj6xlhTsCiFK90QAh9p9xdXM4a59ecTh0F4OXw5la9XHpCOnZbKV+VLnOo848H1ZeW6gFXmATNQlu6a1P+wFKA13SQr4DZfxo5LlEsAAtjmO/xmV1Dr16b2LLcXb5i3VZiiKzNXkL4+IlLW8zz6iOHIEzmtToY2yrjCubmwle0Z10iywahk0r9IRkmP5FYKwN+OyKj6oUMGoEM6NC33bo/pH9m0HnfjMyG3vnAyXmLVyCaExMuS5uSFB4+qDl50QslYhzg1ThSWYwxDdD/2co/qriFndMkoHqkyIO9nqjjBZxlj6cdbdvrZisvU7Ua0/E+7jldoGLIcSDi3s6QYgJcoXO8Sjg4r+4MhIqW5bKeKiFgNPED9ywzt40XrYYIFKAfw6vpVIluJfRkAxgi/CD2uCAEDYFGgXoEbIz/gCASGalFtdmRNznZ9AFDFJYIzlnpo2Jbv7GAwIGciCeWHc4OK419Ev7v/uCWJCOQtxtKHm4Xmb9p0tykTg/wy+tKsfx1M7ZAM8dNMMOkDPAkeNoPILILhkkpnsQg7H/j6Y5WLYn7Zl40M4sdkZkadfVTkmeew3hUNZ3yGlXcPOx8hmDk3fwkvvH/suDc98tfcEaL52DPk9EdL/01p/q858E+zT4fgrZF4lES7C2w0mhh0Cn57HoxycUBy0eyKAfbJOrqjefN+c5nidhkZQaljf7ShdlRBvDZ0Z2trDzOJeXdSHvcF0ztGgM6PF098QXa6ELpZNt/Ob7ILaBCqANIhyMJ8qvW+jnP1/DTKu833WpaoozAb8EPXBJFzIXv7mmqfj1TgzXEtd96gTpk6g5dMoPEML2MTnDUmPrW/Rro4FHBhZeTPCgz3ecM37FH7h0p6TuYPJkUwajwgDbEvzM10iVowYJS59TOivTxpzts2EOaObj08VirMWJM0H2Q5k8KRnkMN2m32yIN+hbUqMpw+MMnolR81ruhThrQBgq01Ih6heT1QMYiJGOuXVCELy2ubpeEabWVFHOBd4IQsC2HaIVaLStPmuhw4F5t/nO6ZMBUiTtkmua5ZjVWS173N5Wzbm1sG51q0cIqMRkg3lFVflgYNofpbhBQ+D3cxh8iX6RllfCuWtrQDJU6TLtdBHvJoN60hWNROnJM5/5q3pKzOYR9LJsEVFpdGTa6cx2/w7vS1u2GATz6zRnPR2itTmUBXOkbi9tzFsNiWSI5zXN+6LFTFfSzzxozXJzB8aI6TbvNs8NtgS5A3Rh6nZod/KJvvLRpLrYBs2BjvgCRHOGaJhrIZxNiZ/d8ct5tzqv0FiFYdUQQ7eX7ybIgWGnimNgjKThW12jVI92Sbmb8G+7VSUgRfbso8H/f0IA7LimGwqmXp86Drxx8i+jbRdcpE4Z1pRDz1/nzIBZcUkmuUtJOfh+yhWffwDZy409cURY/mhujdTtXt33xEoqGGb1iExNXyRoot8DIRv9+TaGEkZh0Gfzb7dlr55MpemBheFG5y+nNbC4PjLvh2agGETWa1++kYYGp6OUrgH01RRptlzeOKyE5gV5gFMVENLoFGaHKswdsbyMSThHHvc2J/X1+p2GtiQD7ELHsMPeR8RVhAw1dN8clOSEUJpFyCwhh8q6rzO0f+KG8HqkK5qirZGsf1myL9D8ebZ3YmgGCcW4YchhrDPRiMbb8cAJj7LgzQCILbnMmbY4rQVyrIWtFi+EihsP4TE6eyMwRBnpoRNc2Ww4/e3l4jRzvjO3fZugvNPIFEruVR1bsMkRnfd2VIAVM7y0HT5ByAEcT5SyCQgnHs2dFvtAuDB47UP2yH/0Q8ux0/50wB3u+IdhzA6MW78aMMee/pvLQEd90xw3LHWUnvIiU+J4G3g2eAWr6FA/k0G3An9WZ44yJk7TC2JlRQjdj54/7k867vBmEskf8CdlzEhGfmzER5BGnEEvli8Xiwi3NVZg4/aMLEU1pzwd8IU9zIIlQUFzeMrGc+ROlgfsaWifCKWLMIi+UlkbVT+dD5X2Ksq17KX440SwX/80rs9qC3gouP2GPjnSZu1AbbS0/szfTDOGxx9JCj9yeHsG+GZTCT9nFbJt7DmY7YGz7y49ByR7/foTsPro7I+n0i3bD8qNC0YCWrJvoksAk9i/WXEk1eZwig0WWPENdCDAiRPvJbbzcjRl6uQ6zlK/rnoEtOSIaQvviuaodx7ky3BnqcN7W5A2WT8X9lmDGbcnkEVEsVScNWsVYYDrsLbhY/Wei8HvwIIw2SYT4YMqLf1tLuSD/RSzZBoUKy3J9XV8V2TcTOCBd5jvdScTJI5dJy1leXjq3EGpi9I2o5IUZBJ0ZgeXAgj4acgE8QxxV22Ib9F5wradAF4ckYKOdReu4sTKQc/4yTWdfBUI/knfLhubp55D8J/g2cIIA1xLosyRnv2aC9/qhrOvlTIj9H4ZdyzpCITyjjX+iDUTkDxvvA517HZTURUyU7JIHP5OEV2v72qQjiiu0G2mn60HydNXx2U7KAI3gaV25+sG7iL2FYXshzkUNeINAY/ooy4Ul6Zry9nADSTszBFDWBgy57h0trMVhV93xX9WUBruRotKvZJuO3V037lpzmED+iUJIGN/AzlmoNJ5b/v/+aIrI99tKWy6eOYLewLskjOX4IwmgUrCW2MWJhowmAnmDtxAjQx3vMXVz3leoYbLvttA9/JzJzoVX2ql+goar+suDLSM5ThBNf/poADh8sqjtVGoevWJQXmO7AKr6+8zsT3g8zfnL07/q1aq08AQZvZsE+CnmDLgajknSsXTDMqO3NwdWpnlJlz6KM0JM+GYol8+DMqlOuYbhOWsMQwp4E1yAdJacMohqSvKOVyBBuQDsdpPn3kzacN+SjUflgrV9UoUZ7vqxmMOvJg32SksgyggVpabtLuofREktII5iHwUw/QzAv4xRCcS9YL4Td4Nj4ILBHrws/Mv5Hus0Bdzi7ZppiebRzLRIIklNtQ6VmDIJ69bwpIPtWHMilunPFXbXioaWUAKqunvLlJ5JK+KV9Q6DUoFsrRld7zZtTxM4JWiFtEpaCpjZ455bmkHFjPgB1nGfgLQnKtMwZqk8IUxR3Dzc5B0JW5eD/H22V6QX+AYCH8G2IxK4Y3zcEzjtHHfYmXKA7IpTo9RWzG+gtA9DzluUE8iAo6gKrSVfa2b12mzgAfrSq8XKDtq2WCVd0ClzZ4QM4toc5fE9IOkyCmGX/eAyHnhXHg8km5OgiwkJfEZFS/Sctr1FNJgyyjijBXo5E1wYqkm//Ce8jTNiwwcCGoHmOWlk6jqvGCL+/Uesd3VhfuQf09ssuzTo7Mmg2aIS/BJaontGTY2HRm2ScZ66qGwjAA3zCekWVfmSy1MW+aSDVRj+kfOg+sF9mPNApvb3lHmTDdJOb3B8zKpCc5xXfhq145gczfVeSAiNaWK7Q6vfC74QOLB4At7sBA6l9TX8iXQnjzzMcPOg9DBddfKyJlJ9x/4xS9iw3TynlfspZlStw2Tm22Enf9Grv5g4EW7gzuw0DWqhZO6TokAz7sWQhRczLW8DFAw6+CNY96s8s56QaXIqpViXtLGzcABRV71/tbOOlDWJcKngw+xspLrwoe3YSJwZpyKujiWOEEgnZ+DaPZsn30J8bGWGgRNOwGC3VHZnpCJ1kLycRvQwXp3pzcRTCkTlDGAZtMsAHKzFXFtRxRruybYcRfu8IPpQekAhxIaL1b6Tu/DOYtELWqLI0uVq6HDTzTT+zSX9h1CsCq8EFAtf6+/hOSejbHyl7/BXUjL7yYm5l1ShWBOVCmBwJUxr1YvKO3vBh3K/Uak7ZDG/+ljsZFmv2+HJmAOfS7/Cs0MtDqM276Oc0eEX6WnuGi3BAyx+y44yIRI9Ldy/kCoPDZesACk7uRg8hOoB1RR/K7X+jIbA3U5qUvIMqK/hA/zOGzA+8Odd8eKgQL2fsLmea30h2nuyQ+9Xj2lih1ARhkehh1yl2Od9kx5HSCfGBLdhYNhTuudPBJ69iEL1uHBam6S3w6pyk8nHWOxMS8muAjPDCGuT9zfbOuA2zK06wou2/feJzKmstZS8TabYmn1BdBZR4ccu48TAAC1rfOURf1xbu8ni6+FGw+cts9gTLflSWXH/akQs/PlmqMoQkyVIR1IOBRGUu2loA8mJ0x5UR0HTcbRkI1m0ls6b+HAiqoqJ/03KBtN6TzHDZfK9hbv4GnTVtc/HjlOGkwAKjAJIgtuVLj+etIuwS7PptaXDCMsHAHJ1b+QGvnF2aapHjxJ4Kef/UuV7n7eK5FauR6R1kkNro05VP77vQIMfbFKxY5Wf0VgZgekmUom02HGShosbNUVyypaBZEEGRlKiDow+8afGTcXp6iNXrZ1+jeSoT8rdhbSezwdJzYMlPhPh10VS4l+3JUcpipqXJvYp7/FEHJfzFpFM3Y6lSLCZ9YnGAGTJtzeSdMBhtVKAuaPvFXaIQH5GaCYsTfEFkZA9aIF0ex8ZMJTyQ9HGWPJdEVLDYISYOUBk9LgPYDMAEJYiszpSE/dGhgyyW7dkb0TjqEE7e/u/IVGCNgMY2RpdT7MXlpjU+w4v8pOUOlTpKJgEqYojmbf/MGJJO1pJ44uHZ3WxuBNmHzo/F1zNKGa3OdKmh0ny7jM8B2noSjalyH6mipPzMp/KYt/qBt2Nh5ds5Vj22aB2F9gL6aqwyhuQIpPE3jjDRofuBb312BPgFA8yv7mnIb+tXcbS0e1o/UJeehSvd9kUz/pdeURjDjEcs2m7RVAZCkG2giLmqCYyakgv9nL/MKq362s85R2j6jjTP8bH7I/mc/cMrs0x5trH7sIZqxt5Tb65D605vhmy3JkaAb+utvFUl0dnUjHysv+Ji3MM4UPGlLw/yqI+/IgfGcvv9h/7jT6cUEGnpNgF2xywMCgR51jWQAYjpLOlSWyaSQmvrG0YyozLnSpyLCCR9WGuCwpCLrp30HgV0dBWg8K2jHXzcBCjroz7X2cVFm8ifv8PXnVEQNIyv4iM7t2/+2fKy9s6NCbuzF0wSsRdYrV6fQxwT9ydOpB3KW591Rn7tbpWycYzJJQEWiPxAbDOYryyujQjTAlTbXHHzQk9+4qZGxUxh34V/DV/mz6yqIoKlFzeLJlB8qqkYSoXxINq3//GrKAjXT483CkUFqJ7+o+6yDm10YxnYEW7ZSNsL0t+IUr7lYm6ocdW6GAnjro3dyY9R2ZgGCzG9WAgES9Zjkv+ZUVK3SqaeR1p8dLHVzz4jj0Lo4XYVnNDd2E62bNmQ3Tq5FaxYtrY0e8/G4AnVTQ5AJtW5NQGZHxfCVW1pbW5TnjhqPUSlMK0hyiRLB2wVfOaag1mw6Je5/hST6cFLdohsv5Fdp5Jqpy9iRNplrZAK6JuhDjC0dM9iNfdEdqfpCon818bE1PPTFCb97CeivuHPOnZYXsWjayJ0jv+HdHdo4i/aUUmAEaE2EBY7ahSkSr7SgdhcGkwUSx60KOpGkGVhlZrD/aZ5jmzXybwjJ8OUtCZbSP0UePKd4Ky7vfxRGd+xt2DSpACiQWlZldbXPCjqyF0XxI7vE9l6JzGmFictO64sUY0WgD3dG7mTm2L0oAKto0ZZ8RYozcFeeJKfw9vW4GAheyiZH7Y9k3t5g1inNSwNEGy3uYnhRnzPNouwGDJD9Opk48Rb43NM87EPxz8zCRUXnBB/r6okCB69f/ZI/eEzW5wlIj0mFN157tSdJnPOjfg9nGn/cKFpVQpsWxm3w/5NCM+pC6Qskwy1eBFYswdAvkwteM8pCyvUagDee03BpaRFQJWlE5gxOuCUy/7CryloC2MwHiIGMsm3dqIUts5HE1H/5/XHQjHr2gkhteg+Kx9SYK4aWYJDQYXjS9rLBT64SXGvgyII7PWwpCokLcoaHuFAj919obpZwxZOe8CDkyvRbtnn9esHJMU6K6TdDDhlXgNilQSf/0am3is7a0AFaJVIHJjp/xgt6ebFEFKz5jqIFLOZ3GgS318cBSuu32Bg3E5TeOkNa2L9C2oFfsQwSfKDDmSEOFeBM0BubZN/OY1wZBogRH9qBGADN5FgH6RYT/0KYOJraDRYegg0Oyo6VpUAYHelUFjUg6fcnpImeGkuapfGc4d9GCQ2fGbGTkPExMFNmi/JCLARcMxurIlVo4EALGBwxQ9ziUjMqLjCqpMHRIFFltWhmmbEbY0n+2lsl9ZALw2kgKdhZejmoHpiARPBHdylKPlXfbjNknHeN52TeuUVRQCBi4rYImynS1erV+t9KyWkTZ5nR+pkes6j4azSs/NTO+b36LYlkrQEetEeAHENLRa4RZISHvllVej9OAjmp1dWfU+Apv2IcKqNaohNFZNRaHSnt0J4ef4Bd7rwbXaOtTXGikr13znuU6Ual9YIWOK/+yJlW2bFZfkG1y+n/Tzom6BZJ48f/X9R9/l5eGqwnveUprTzdF0/e9SS1Xd+ZNNM0sQqrbcSpgyIWV2vVTQ+WC7ewVLaYh3kjUryUPL4F1gfGVcR1powTAMZ5Jhkes9ncyiNEnlP1FVk11T3KEZOOCCWFUIhHmvJlfdxkgnymQ77bvK+bgzkg+bXQe8exX6w6lOtt2TEfY0QGGj3pTOriPtVVYkmgxnthjbF3S57e66yYeU2mP6SayvVCl9KCh128s8Nm1Sdy6shpfXrMHFB2q19tx0bijJSjCZkJiwN4oFwS8WtwaXkj2d44lYl0f/s8AA6wKE89gw6FU8NGB3qLXqu3JwtMPZibz9J6gYwZVI7dkFS0WqLv2onxvYcL8LL4ON8ss3kC9JadsF+e1ZFvYS0NtlTyI2f/0kGCZ2FJmIyvtWmTwWYRmZVTG+TVgcJqLloTE0RB/ar+ChokpyfrZiab0Dwojb716Wdo43gT+EPkb4fgoylHSpzbJLHpJgEZuj5n6kjhUV9Hm87YzF1Gs4jVzE50DztE2kOemGbWCNGkBYlUY4P54lywFGQ9m7K9Qcg0I+nfr4nxRCeSKu5l+w1o6DTKilom73ISC9ahSuLxjm0KbjwXPg56+jsEVabjBWySuu0X6HI+NfQxWT9XfyMWTCU2IrcnGs7sNchRthIHONETf2E5sUb9kLXLf+BkHNM7gMx6Olorc6v7uNEkzg51w5pstf5L7gEDFiB5r6SMUKkMMH/rdu27+ED3pGLpjspOKfvOdYTxlDUBxb++4LVBX42d61xr+bBi/jNYrLZDUu5Z6FWOTnDtDKsfmQZpI3L+gMLipvGPs9KJ69zYhWzrf5W6HJ3t5kH8Maq22zNo5nzSisypgq4+TiE+u/nQdmf+KQfxtvq5noPDyOpsjxbOQ13f4nGQMGhBI1OUhiehjg66REX96cuSmLugAAcSogG9WkrQD6Fkj++G7P1ldpZNACEdqgyE4Qc6kMj7bdzlRrbFhHPpbO77hWoR2ll82aeDXISK9XqqvGBlC/HoEXcSnWUAo0dx+d/DUQ9ycXPS5PVjqV9bh4ozy9zB226puwJGpzkyp3B22acmAx6s018roZv+WgiwvchIUTdGDJLC6F+xlvhKhJlalNG3vrCqzWLUN2ZKKe5CnuvWfTExcVtdF7C29g5BW34KDgS61DAy3cGji6m3jcCSK4xdsNU0aXP4pfdcvmjxZNAZIiLAko8wlrIrGfmFkwwV0z5SlP82eP20Qx6jCodj7H0L+gHl+ZajN6E9kifO5JyyitzI1p0U8nGqQY+zmRttYdCUa0FSw2bdfj2x6E4yE5RyeQf3lG4FnRc52k59sW9SCVo+p6UseE0XUMi9o20szbb6E/J0Kk8eGaC9LygfNbXSkvEuV8HyPZD5xgr8Br3A96irngzP8rU9lRYjj5DrR7fvg56vuOWY4xNdIumXfQ3ObXR6beXqeSZDdO2I7XACPrVF85QU5KZqon6v0sn6qAOciP0Oz2ayj64PQrYJJryGbPZaP/y1GQ6LCfJR8u79XNenfFsgzsZKZKEMJkucQ4ECRibAROMiPlKkflpS5lchE6Sw/2IWjVuNTEjpGSV/s/Scvhkboif1OxcmJn4DdUrRKlxG2MG6B1GgYpO6JG1i6PM2v+z3xd71noSMZ/OF9fT8CzXuHxpOl44uqpQR0k2rIroagtejlpH2nfRWyK2ZLTlKi4++b0jU7f0aqjxIozZz+sRms2uR9ppLFnGbcL7tFY25/BgTU5mK/rFaxHtNgSWomSLKqPe0fhoJtwSGRbbVYgc3F8zGl4+pIXu9OBMs5/GsuUjmvnl5NY6nF19HTRHo4zjxr/nw0ps1xddJhw9ilWdmGYtyv3tk05cuMLe/OU1FNXoSzAvU6qHgbPziLDfgFNX6DBJzwyMHoC9O7EZ+WjBZ971djpnddTCp79pcqWlDZbVVEKLIofd4aWQzZbHkIxE3UEUPdzkfqQn4Oaqx0MLmZplbl1fZ4hvDF4oMp9lg9Ct64mMC9Emt/4aaNv3o2pI48Uv7T9kTDDSwNptL/Yqng0lmzl6NfjHB7OlX55rYzlZaVoo7K1It2ZsL8cWCJdoQutFh8ItLRApoRSOwZxPQZDBrc4jgs73gjhJOy+jFbX1SbhByK9oAYjKAbJellfoFAlsppd3hsiFoRAi+yplsPkDJdh76on7MFmaFuDw0XylZ5hw5HLdv7hkxwRt4vYtlUE8A0YrqlO+xkVrBtnYMuKe9dtvPuv0PeEVlxJEf67qFZeuJWus+6Dd8ZF7K4KIMmZixK3j+oDca1Wrud5sbu336Ko73MG1wOQF/xSVbch5udlwZLpsxqNhAPYX81f16N2ZuGlFC6oL3QlLeiOZ/P4PYAOU7A6HyzEM0MCHHHESxefuxQhZ2j3BXx4cGIVAZfguvfGRQBO+sU3R1lAxtRdMzvyq1/8Ud6TgxCEDfc780BXyBMxkna2gK7rqAtWsErjICOXFEKOHxpFvfJlfaSB2Id8Eikhn+2wwB6cGhttLUrkSIYj0NloPRiUNZexPIN4CXEPurU10NstUsZ/H1LbNyasSFUiVv8u5k+MaVf4TEhtZ4yKi3qgDvx3dURYJ8BlVE9A9kdYKQFpU0etBNdFhv9+DAKDdjf4Al6FT/HGoA1BvkAHWAU1J4gAXmmCxA2uIAQwfRPPmePrgwRvd/TMGNu4OwHkyzRQEFyBale179IMhm4O4oXVc8pcowaJg/ii6SdmybIIvXLWN8BIG13ydzu7uZVWGAlF4Lxtn38wmDeRoVTLe0mTVTRYkIXNZa5HLJ14h6YTM3j4oHMurSeNTShdb+Or3A3kGz0/MoTScklwmCLM/lYGoNwLZVwZCOF2+Ocfn0MA5GruFvzQGmY0k3MnwjBadgP/+RwyGrqcu8HFP7+tjdTsaJegNC1DFTK/FsP0PCRCZ1JutnwxyQQeWKfFD6AEYuvLE2374zsiOVMAq8d7Fv+zxzACMhbHqIMU4I36G96W4ONLA6qMsqAI50dbyS6BkWoTdTysLiHHsUooLWoaXVC4hZ6wyXSOB+E/awxclxxw0fQE3eRNc1/lHy3+TFlNBjF2dYUWSPldZCz+FZJZvzsGzoFoxfjabO18Yu2xU+wSvIjpoTd7ilsEcMq6Eiu+I/D8cActY098QcsSkVn/mB+ocEXosia65/11hP74ZltvpNJilTSijHZFdlh9nsoIeK4a56y7LdK52n22VjcC1PRsG5vXgw1yi4To2lQSp02mtjWqfS+2X18BTU5honQoYSMg1y3fZUd4lVNAQEIiHOTW5XSdF6NSQ8fn5aGN1xBQL+xxm0LtMGaiVuNruOAS+PsVGqHay6APPazPccI19HbDVX9nsrGZgR6GzXL8yGw1TUVexckOHX8w2D6OkUDZeB82qW1IkkMFIHNJtdxc0k30vEOS8pIglUuqKJywXo9HJ1TfUrbzcC2aeI6KKr2vyP9Kk0pt+BCAitoZiYD6kvFLkFeDvu90LejrvX7q1sy5J/DB3fsvHwXoWZ90pacpPVBKDb4BpCtR6hxGHsfU4fQDPZvW4Qu66teX7mLafU8S68XtWWPwNL0eZ8gEM75JT5/Jfl3nj8nQNkJ3tDe4Q/pR3YT6x2secrdAeN6YRgwQjkj2DpuMuM1prdD28V7mU2YtbPzz3k8SiCZx7OmizPXMJPtfoG60ZZSn+Ew/AjHhMc8vdMPres5UN7FDEYhhkSDIzBivYr0SG30ABzHVEXyCu6C+ugyFmA70xkPSQPsu6O1vI7dfJJurG3ol6nhLqnPcN2elBt2WiiRr+DlM2GFXD6zlB8+OX1PDjAbjbH7O18eSCJks2cGn1ZhoWgbT4mEEjie6446BLja7KoUDor6G58CECCA6EmWUSmeubrCVC7c3DiVVg+mv2BZOR7MSlRtT4KeQwkSspbCvSvrLzOkjYwvg29fGEpyKeOvFfxs6wpnB0hygqVGlUg3yTlstECN3i1xyx9Q+hRbUlYW/QgslavHcXZfJqFYDV5mmbzOPwS9EyPB5DNpRx6qwBNvUPm6w0jOn+w2NItZg2aInZ7DjIngQ6XBE2JaZdLEtLOteOawdkxbiSy9UZSotW31k4eCKlfe1vItmNol+s2cEOrO9tZ/eZfIK6WP9RvOE7GMhcCl5GwDmzdC3SsNf0at/GkHZtPa2LDOiu0sYpkbyLZP+J5Dml4wAw8fZz/Y8SzJVF4owHVz9/HsMzQQJ31KtDrP0YMo+SZTzjMhcjrmOaJfGNSGdXSs/yYD5QUHqBG0K5rLcjOiNgiCBVO9soIHN1/Q7fclBImg2FrORK8ExLZAIpm05XYVnfTZn87FZXCxjY+RRVR2BXDGI/4+A7FHoAuPFditvVHNwPPmMI6aCPcTraime7Ot3/8n4o0bITbN59QnUX5FzyRlK1fuZuILTxJiCRNzUkWlMDhTmpw5p+abEBpCiKvxcOQxmLR7e/3CaycqlJj+/gvxwbWpJUeoqAEeqmDIHa6MxZnVKRVGJOvEfHymYV9kXvfycJtBeALP0ss+1n1ppcw9anXBewbzEMoYLP1cSENSLLKDBAcDNhTHwIeqsK/qJwPccvVn/tR69B96RF9MSY5CQ5kYJeg0bMdxpuz0gCeVAcgQerBKK9p33+LDbJnb0YnIPIepdbJVbicgca4k3s28pGELmcvWcns8tsPwCiZI20vt9zn5D/Z9nsjF+IX/HW2qHSyj6Ik/Ow/a58xZQaOG0MIO/K/gr+9f2/AUFoD4w9uUf88t6C5MaGwJopCsUlScNVVk7hbvbBZffYYvSnJk6NDt3PzeZ7fHyU45QOsZ457VjPaIuKLIzY0L6y+qRXfg3jgEeY3ZZv9KTTKA/fmM8gPgiFcinnGrhmSJBmTBvyUFBhFq+z8n3jhkf7YZwjSBG0zc6rHW3bj5E8JeFokf7Psmbwu4wEDGFdxUEFMvckoGYABo0rlaZTntAIvcASDymwqBR9RDcmYzm0IzIg7qHxkS6w/kg+3K1ZSfcNR4n4nXOucIuGFiAX5c3Toirpv96QmlcraL4NoIOuW1J0ufxW8Ale6xYLi1JXqr9y0n8nlUJ1apRVBnzHdr1uuuzWkY6ux6dAUbmi5kDP92OnYtva5v+K2oNrpaNw0XZIzaSCh7mqyLY+fie+lDtz3I4nzY6V3jQO9WMos014p04dwDSfpE5HRVxAOBbU7+B/YCsj9GZnduJvyi7farpnCZ3pogTe4njVZd9x2iYO4OCCXU8dhQmv7jfSn57YhXulsNGCDHOPZ91lbpQviiz1QJ1dn3Ham+V5X4yk5LHU3/JLkci/X3grwDctdijEFXPMz6+aGJuCoAc6Mc7PSE6oTKKA/92N0HzDAj4vRes3aYZeMVCOIKCXJXKRPVuJqGnPRYA0juQJ93e93wsJnrpvuMK3DT5GBywcpGhaSULh1ACBCtPsdMiKRL4LYzA0Oax/jW2A+ZwLdMo71sjJTLCswPcXJ3u7CECqVvi5wDHXGTL1rhWd9DOxggcQtxUuAb4hJ5y9hWe3Z/fR15wujh9K6k+wZQi8KnBnGpWl5Xgs7O7GKjFkg7ytJiHTE0/ACg6rrRtatq93HnXClififU3UrrOAknaxwnzoOmKgWBITa7rEUM3X6AEcsAGiv5JfanjQo11DEp7VN29s/q6RxQcSbEfRnOBALwHuJmW37ncyK51IxmlqaW3nZUL1tGIYqpckrdeAPSqR3JdhUTGI45a5OgfyWkVTIjLJTyaofGTNDI0Hh0KeuOfLj6bT5+WlTfw6a5ZBDXXPvCdqPEqwLGdhnmL49u6/f6gC/MI0qVSdiYPPnqNO0MJUteKvcTcOVvSwG02jI8rSKF4LnIbBlhzd0L3xYlr/lv+c2qsB3ZngJBFYOCFW9iTaUsPAe5QmEt5VZDzdln7bvIw52ZVpSRLcRAZE4KF3O0LfW/8kOgdUIBPfX7ECiElUqcZi3QX5afl73N3doA1pNnlcQYz4KODXzS3fo/K1J1bLPfnvmfvrmOp3i5M3BQeAQzf404znYH3CFUUzuU8jHVq9yCiJWFGM3uIMJbsKw1nDlN1UaUbsYCZb7C9Sj8NTG6J29C0sYUcouzKr2dseC27Ap+D7Sl8KWam9gUfd/fvUuS5Pn6pUivHZLtv5ly62P+Z0/XV7XlOZvnB89FF3tsaUo4PO+lTC4reCW517ImahBdydIXln022nCW2sVHHKi/v2kFFl8UgDbp6tC5y4OkghgxY/Itv963kK7PXXIm4NOuhuU64YOBtZGlCn1RMTKKTC3du/qB5ldARO7WFxG/Rees1gC25NahiD6niN6TcU8XavTpAZyYkp1EIPABlID9ksyVlfEaXTmYkY3JsI/QkafY1+Iy+ZntakZMauwGy8RGgr9fSjPr+MNdvWpJVwZACkMEPeGS2RxZhLkjZ3NCXKLfh9cU1vU3FxVZPZvko/njKxkN+KHJYhl17fYioBMVbdJLM2yxSRgdreQ9U12RU8VqAeBozMQpJ53RobpzkXPTh2AlqO1Qo17/YH0wS4XiGXcMXu9wH1Uc0UT9UM8nQJFFPmfG7MD0QBr6IBQY8H9bS1eR4W3sd8TqUDD560EI2023u8bEToJZ2SpKzrm6dQSrPv4HKBJ+S5d4BOZIulx5W4AI6eYU6/GmEKXqOcXup3aUdPq9XG2Cy4fMEIvCkqvr9bNpT2+xL/c/zOp8QcXI3c1oCPQZF6WYVLuPbhAmDV5ELDOxnUXRR/V3cHiMVW2h4xijyOo8VYl3EBsOLFogvqYhj3ysaO7UKmwm/H76yuVPttvlnBTsCTaxS50mhRU4RL0LGUT6OGn06Ive2I3BPW/sCa8gxa8Aii7N2Ym3MzmR03TgdLn8IA9NjDjuxWnAhmnK4gaNSlDA5SJMEDBbpN2qvJrLBE9QxhFglMux9w7gvzCAwFBX47YG975X3AJoTMZznAAk+D9ZUBY+1IQ14XFf37Dxz9HN+EmJRG7hCLO3L8rY+yURR2nDRKEt4IecDlACQPkbN/z418oJpZSQVPaPqIZW/RgOt/ry1SmLEZKdYQVV5lT6grLyKW1OrQla+XCiWlb9UM3U0wucyulAgMOWpc2grAEIrG4a6OM6wTJEQrmbo0ruFXfiKY/NhBwoi/jwHC5gnbqzLqbvDKjgWR5yTlHNygtz1yMw6n817oYCzgM05PfI31tXJOFQYB38QmsR9Y4uuAEOZobKLuMnvUDVwFpAjGtLtarUZ7jFJ/WeXOy/joryA79mW0mwbFXFYOo80sqlQCF9QLXsG9ljxVeTQFIGtgYZ4uuaWBj/zGV1QnSbdlyDQxX5C15aOtaLONVUZ8ZBmZm7BpHfzHfXMZPHXJ/uTisTOgacy1/WmvJPYsoJ4vSjGo91qkDYdOV3ZA42RkvvXSBWyMUbgagBlzLr+flwd243MrTGC7v4AtWfSPuSseiaKQsvyasXiLJA/SkpRCJPdEyhVDL1xxSQuvVlZiB4zk3CEAq+sCteyeV5e4F2MW4GnfW9s8KXKBPqEuYOX5cr//w54FrLCu0fuqkKu+DFgFqtb+x8XrMcyyvim7m5KqFNtZVHK2W+uXDQE6Rmks9O9vhcn8jNvqrM7V0H7lVqN+mNmHfpfR9EeW/POfRP4RhN9MUi+2X5KuiOuX0dZcrzfX7AX1eSdWun8ELgpcR0H2/aiVsRECC1CCqcSsfz64KrKAoQmGyY5z3d9wPkAbOPCMW45/S5EeKM7xxhnmRfuV1/lg7laaQh/sgX1fwdu55Y5n/aaiMxQoQkseeDd3wjn0tMk9vPN4CmAwUF4yj7PAo3pGLEA1QRcVG1uYRwXOoxpwJN67x6lIDDw3Q1cFVb3hFSWS0+YAmYQT60ncL7cvaXDO8/bQM3iukjQ+hAxmdjcRhgDYnckNdMt0YpOMTgOZ1w8HOJ3x5fwAHfR7X+mG8PQldlpf87HxUW4HMFFjxDc+oI7Rw3FBG0yp5AWjkd9z54SxT0NOXaVq/YgGkpH/VdBSFFbWuulontc2mtLwKwNeRVA38oOzqZEfLDrXTTBWkjm0tYaJIRP5jnM06s3onRyTP1jopJLxLA34+gefQ+sG0I7i4O4EkdD9vFUF/4Fb11ELWBaOqgEIt5Xi1bj9ijjfAnycevVkBjvMopVg0XdtYTeMj027joSCC/wMSFNTRTeTyPYJueNwf2OaQ35SHLq5QSjBQBsG3fInDQ3qfxNM6wTy+0oi3+E9M/JXsOzF3IU/hN4eA4F+a4JbMDLkwHuChkOMMtsblPS1OMKjKnOhCcwnYpwQAqbtdnKa/Pnd76ZOrRUrphlnRjYglJDbfY4KzrkDTk4L6TfjFq+vEP6zyi+WpizXuZXIo5Wc/dwADM8BlkBBdboD63zJx4BYullfgukNK9IoUI8QHpMLlEBxIXH0Dx0GjpkbhNyF59aDvPeSs9HR1yniApmBOcPlqPcp10c9ZILrJOclxr0RqhssUmEMv5eg2/ipopyaRD2AjV2OJzRw2rjg0DEQ4I4MtvC8T9Fj9ZMcbU2Xqb8ITtrAqUFveqxDRBhp0WBSpsm2mUOC0zmRbSgnqP4FV6ULM9mQ04BMAp7kMxOSy5F2xAAdkqLq+N5pQwgfkw1GmIlLFYz78SUp7uC4sR5IjV+R9ossZtBD0BFhZAADbKUQ6I5UMduRpueb8HfEr6Q+0DC0Vbh2XmQ2GzBi7BvaV93ABQtI0VUePpdooq1Ncfq64LD8AUr8y+zT6AmwnDFValtaKUvqlm6pXccslsTwSJEHibVj6NXR7LnKPqkHGYaNhTxvCkGUCRiyNDlz2OjWAdivjscJFCB6xGUvT9wmhg98DstBp+e+klq0sk7hznjacQVM0/+BFT/frapvpF0zhfMaiVQNgSiVIM6mBckq/JBLTbdPHcx6x3Ju0fme0o1Ohq9cN2Sx+Xsv7Mxt3H1sS/uhYkGs63UFKqExCrPAdoJigL2+781XH9DJxGmmGMkNjCAblPLoldVeyrgo4O0iuc1ckizNeaLoMkKVlQn7c3DjyXbFoBXxdYBWItHMpyJl+Asa0uRPGwiumdzMCnPOdvC1JrxG+Tf/3sw3yowcM9lawGLuR+7oPCMaZLo7LQKUFWr2sgIXmXRn8q0cA7zuVV1iC21/vY5Jzh1jcWljIDk4SphyL61Of0ElwQURLfTCBt35pcWL/0PD0EO3t02gGnarQVldy1z6Cp7563gRpS5veTtcDKR4765dH26EaIsnt3dfigXNmAjcyyPGwUcuHjg6mv93tFxPG4Q2rG/Ol/lyHaEAckYiU72Nyrm/GqefJMoOUJAMnlLyKOuryf51s5DWkX2Cpya5sbyu1E/wrr0kB9ZFwDAccPJLGzhzI4pPDVyRY03ITW+/GpFIneHy5nIPj+JgKtLOnR9KQPB5XvLJ0CTEP+Cye7LoOjet5fcWZjdR33rRK449JhYvtzl5LkdVXBNILue5in9xmtKcHRomdKzpFdnYDCkSy2UaxEGFMg9cepocUi4c7jm1sos4bKw06SWHoylMDr+15JsakEi0siqHIPsQ5NMA9JBz/5xJFfmF79cvYgb664yp7abzwPfqrI5+TgK6RKD4LPjHcGAVTSPuaPa9ozg1LojYZE4UbJ8D9um3f2d/t55rPuZxVfDeqEEEBfxqBrk8expd24R/kf7115P8JnYhpDKIdzcs1dLviTZ7TKZ1pAb7XC6j378CkLUNtZEKas1RfxgRubHaaPzkTTLcfsvO4seFQI1D+xzjnt4fXzVI15XvTr7atVLGvztC/Fgx8uv/kQhY47I2WOf3R5TzCqW6XsyBFaeJhZWeVuEuuXa1Y1qOId8rjYTUVFtTxPROWjwOqEShGSg9LbnoaEN4Zhn1W3N4SoDRSife6LXrI4TSVqMsTZRTsYhskNEiUQ2IS53Jh/cujxL2KLqVWD+HcLVzaid9xaXTB7sVQllONMwLDjTNW1fxm58tgu3JAo2i1DjE4yn5/2NUY7+SHTDiqK1aeTyViGkbYuEjOikqJ1JCz5PDwoiCMa3tbbaN5Aq/MXgs33PwrbXTvlJl6lHkXuJG1Mv8KXR3harn59Ya0jQpO1jtI7l7XpDWP4zGzzIOAcnjjlk8+kKPLZM408mLjRMcoEhGxSZi3fM7Ze96pCFseb6f4SfUJNIb1DHP5qD24JVLyt5io5fwhjCLWqet7t2xHNRxadHyMisByIrO0fIK4wVqdu4Z9NjX6Dje2J7rSnmLDgqfqjUTMJJiS/elWXZTCuODrkzsvVh2yrMOfBqtWATFAvWAw5E7xvfxqb1MKpl/pcR/c0J1V02L1nkLRQeulU/T2D+lG+w7lOXhYeHzq7alRkMp6Sf5xnE0ZVEU5AsTIwqy+mx3NJdsSa8FncbKE+TRnPklVBjNc4l0Np+D9XH2FgM703jH4meZ+0P+v1deaBajdxIfb46eBUw5ZuTk23oyY8L1mi2lOH9oPK0tjW+Wo5fzWPP/LUFJrR/HvYHczCq7ESfLArEDKh35or7BWOmI/lvmAPMwYRwTpRFrR0aZuLGaAqeymScgjBYIml/ajTHsdKaG7AC0QSmSMhOcS0W0f/uRZ7QrgW1Kndhko0x5G0ItZXlhLsmQmjoQqAD72ZubETVDDX3xlpYNSCs709hQP7yBbCbAzevimHnXRCy9TGiHxS+xnYHG1rUdhyZ1+uLev5gvHFNoluLlQ5D/RIDfNt3BcEy98v2uCVrt/1M0PjrjTZbQFiy2Rb4ic0mDV0ogtauhYwOaepHXeS2ipyHnu49AExYF7e6gMcO0EIGB8rXP9cxrCBpsKttUrNc4wS/vs8c4Gf0l4QjVauu3tZR4rqY7LQlsPpizXVBcII0vsjR3lrY27WzAjimKfzPAOBov9XcTvSk2IslsfzQn1D35Snrzi2Gfiu5loKMYSXiRQluZg0m4WrOkU5kIw8eGvGoQilKlGEwHpDVHncEzj7y7D28LTlJ+x9iL4drbxWJaEpZ5gGs7ZwBdLf2w+DpZKtvVYmHtdPrfzadXFWMifZd7241eHh6vHCv5ijBLlsij9lj9YLZABgYKJ666LCDQSUxU8BwGE6XopbAr+x+I68yX8ABxcjwG2ZuqNtRVHrs+PKK34pPR+/eXVv9opHLX5X8tbqJgGe/b4eklPrC082bpzwhtl8odSSc3xpAtzNhINrNhHyAbvdGuf+FPS//4YHEPaBT/Tl+H5ytDnm4vWPbX9Bsn33gb/jgnXVvW3mqJdlp/Hgm1gwi427BFoAAbxGv9Tcrl3G2FLb1NyuXcatStXsz/vvNJihXdpKhMuZl8yX7PNteiCmuZ748gSmC8FttzNETS2cTpfjhefjpzbUkfFFDcBG1VyDVI+5DKnPXHO8UyLOVt0H2kojQuGSpo+HBhFgIkHyz8qABegHQgFy8C1/LBv4LEv64kgvskoA0BNbTXqVIIs45z75WMhlfLlN4vjKvolk76QgpmFdunUOfqzUJTuiX/S/0AvZgEEByl/fd4WJ5UJBTDA2sKjrL4XsEY7Q9AGpB4JoFkXBiRA2BPHiSCbAr+R8pGSrhQGJJgGNS2HkQisDTtFxAjaHU0W85KHhXIQuYrHEvgANqeOUTkxsj+euWwse76sYxLUjlARt9UASSgEJ9zHUzAZbrtPao1NX/udLa6zKOJVfxNxWAa9GesPjfn/tG2/Me4H+BthPFLPoDqXaAX0USYtO0nGmDgytMJb0dVMN3a06EqX5XhNyjyd66nwDVpxl8IuIlRSArCvhNBgI7tDZEI1eqo3G8xd6tmG6rihjC0xwfInWCop7gDgbkzcTisyMS/krvMfL3dsb7LnYwWFWIDVf+HEeYlUbhj04hOodsKObC8BSW7EmbZwZOEJ32v4EWDmt2FgcxtbpkrdKeMzcxcOYqdyj+i2gEztpI3Gdv6uIaU0CZbgABzgcxwVg8lcmiqz5IMrEHgCRoEl4CE4hDpOl3+x9PEDAGRo/5yxyGnv9Shx30Te8kl6zuAE7wOXMaG0AlwOEFyBcUlRyL4m0NPiQcxc2Gz4kbKY1wbtXIMEKTlh8YFzZwV5YnNodlxIbo4f1+uIdzNx6bEjxrQRgAMfm5H26VxnD4YZg544xONIQBqHdkoUHKVa0wSIW91dSqTg1hYUKFUdeE5oaoNem9c043DLyz9d4y8LjdG7QFpqhiojG6OC6AiFh9zZ/EyjPzYujiL+wf8bWBe267huINlm0GZXTVDSU/ub60mNRt0uZV/4xfwJcIGSMkXAAbuBjEa8DP0iiMDY2NhFACfqEPiMKAz9QY+425IGbg0RapJOUK7dn2oKDHQp59N50cZ93aTUWjAJhTiuNNfvjqD3ZDt6cOhe7Ar6n2e7BfCzcOspMsuba3jxx0XDTRrMy9xF0uxwG7p2J1KpuM41WO6vjVY7KPL0PB/3wDGvu/fuHn+EzciRJ/Q8W1VBkz4f6B7gwIBTW2vL3BjDbwHmebMoSUMnZds3bEVDLstgE84rWt7E8zW38QqalCkXzNSAHO6gw9zt9bQDNPyIH3MHmMcAPRNvCwMGK15afG/pWq7Gqm9qOK3lYxldRh/Ssa2fCn/wRWODScEXDYAwHh8LPT+WB8do+GhR6RMzzzjKAH1wYkvgCIjrjZPrSocVJv62T/47fvMyjQKvXTJIesDPsFkxpK3jn3Bn0Kxr6hDaj+XtRrOQN4pgYTKGJ2a7DpyZ01/wek0lSS+itzi5WJAXLJqoLyCBXRUAAAABFWElGugAAAEV4aWYAAElJKgAIAAAABgASAQMAAQAAAAEAAAAaAQUAAQAAAFYAAAAbAQUAAQAAAF4AAAAoAQMAAQAAAAIAAAATAgMAAQAAAAEAAABphwQAAQAAAGYAAAAAAAAASAAAAAEAAABIAAAAAQAAAAYAAJAHAAQAAAAwMjEwAZEHAAQAAAABAgMAAKAHAAQAAAAwMTAwAaADAAEAAAD//wAAAqAEAAEAAACmAgAAA6AEAAEAAADEAQAAAAAAAA=="}},"time_used":122,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":61,"receive":61,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T06:59:50.850Z","timestamp":1785135590850,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html; charset=UTF-8\r\nx-powered-by: PHP/7.4.33\r\nset-cookie: CameFrom=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; secure\nPHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6; path=/; domain=goldenprofitstock.com; HttpOnly; secure\r\nexpires: Thu, 19 Nov 1981 08:52:00 GMT\r\ncache-control: no-store, no-cache, must-revalidate\r\npragma: no-cache\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 08677e8318fb1727324a219af9259310-srv-edge3\r\nx-hcdn-cache-status: DYNAMIC\r\nx-hcdn-upstream-rt: 0.361\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Popper","description":"Popper is a positioning engine, its purpose is to calculate the position of an element to make it possible to position it near a given reference element.","website":"https://popper.js.org","common_platform_enumeration":"","icon":"Popper.svg","categories":["Miscellaneous"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"FancyBox","description":"FancyBox is a tool for displaying images, html content and multi-media in a Mac-style 'lightbox' that floats overtop of web page.","website":"https://fancyapps.com/fancybox","common_platform_enumeration":"","icon":"FancyBox.svg","categories":["JavaScript libraries"]},{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"Mixitup","description":"A CSS3 and jQuery Filter \u0026 Sort Plugin.","website":"https://www.kunkalabs.com/mixitup/","common_platform_enumeration":"","icon":"kunkalabs.svg","categories":["JavaScript libraries"]},{"name":"PHP:7.4.33","description":"PHP is a general-purpose scripting language used for web development.","website":"https://php.net","common_platform_enumeration":"cpe:2.3:a:php:php:*:*:*:*:*:*:*:*","icon":"PHP.svg","categories":["Programming languages"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"jQuery","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"WOW","description":"Reveal CSS animation as you scroll down a page.","website":"https://www.delac.io/WOW","common_platform_enumeration":"","icon":"","categories":["JavaScript frameworks","Web frameworks","JavaScript graphics"]},{"name":"Bootstrap","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]}],"data":{"size":73279,"size_decoded":16392,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (355)","md5":"37292d40f6e45ffc01ae658031542738","sha1":"f286897d2fb6f12d9be1d8539400418b9dbbba4e","sha256":"74c3e50e0ae7425adcce9402dde37b62710e7fa2d70d23d1efed291a503e5739","sha512":"c2eb2c014424237cf500b93e6f0352a2a7df240096de6d639bf59a1f95f5fe6d1e6acfba0d19f5eeb004c6dde062e25d8b5929bbc51777585a1b6808081260c0","ssdeep":"768:vD+/oPVw5ijNvFNijOS8CZrbpNCwaxhgMkmp9c:y/aVw5ijNvFGhZrbpNCwaxhgMkY9c","tlshash":"4763512185ac193f112342d17674772a66afac77ca1f86a4b6ff02205fc7d85fc23198","first_seen":"2026-07-27T05:44:01.804989Z","last_seen":"2026-07-27T11:04:25.20576Z","times_seen":4,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8IS0tIEFkZGVkIGJ5IEhUVHJhY2sgLS0+PG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7Y2hhcnNldD1VVEYtOCIgLz48IS0tIC9BZGRlZCBieSBIVFRyYWNrIC0tPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDtjaGFyc2V0PVVURi04IiAvPjwhLS0gL0FkZGVkIGJ5IEhUVHJhY2sgLS0+CjxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sO2NoYXJzZXQ9VVRGLTgiIC8+PCEtLSAvQWRkZWQgYnkgSFRUcmFjayAtLT4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IldlJ3JlIGEgZGlzdGluY3RpdmUgd2VhbHRoIGFuZCBpbnZlc3RtZW50IG1hbmFnZW1lbnQgZmlybSBhY3RpdmVseSBidWlsZGluZyBlbmR1cmluZyB2YWx1ZSBmb3Igb3VyIGNsaWVudHMiPgo8dGl0bGU+Z29sZGVucHJvZml0c3RvY2suY29tIEhvbWU8L3RpdGxlPgoKPCEtLXNjcmlwdCBzcmM9Imh0dHBzOi8vdW5wa2cuY29tL3RhaWx3aW5kY3NzLWppdC1jZG4iPjwvc2NyaXB0LS0+CjxzdHlsZT4KICAgIAoKKiwgOjpiZWZvcmUsIDo6YWZ0ZXIgewogIC0tdHctdHJhbnNsYXRlLXg6IDA7CiAgLS10dy10cmFuc2xhdGUteTogMDsKICAtLXR3LXJvdGF0ZTogMDsKICAtLXR3LXNrZXcteDogMDsKICAtLXR3LXNrZXcteTogMDsKICAtLXR3LXNjYWxlLXg6IDE7CiAgLS10dy1zY2FsZS15OiAxOwogIC0tdHctdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXR3LXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS10dy10cmFuc2xhdGUteSkpIHJvdGF0ZSh2YXIoLS10dy1yb3RhdGUpKSBza2V3WCh2YXIoLS10dy1za2V3LXgpKSBza2V3WSh2YXIoLS10dy1za2V3LXkpKSBzY2FsZVgodmFyKC0tdHctc2NhbGUteCkpIHNjYWxlWSh2YXIoLS10dy1zY2FsZS15KSk7CiAgLS10dy1ib3JkZXItb3BhY2l0eTogMTsKICBib3JkZXItY29sb3I6IHJnYmEoMjI5LCAyMzEsIDIzNSwgdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKTsKICAtLXR3LXNoYWRvdzogMCAwICMwMDAwOwogIC0tdHctcmluZy1pbnNldDogdmFyKC0tdHctZW1wdHksLyohKi8gLyohKi8pOwogIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDsKICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiAjZmZmOwogIC0tdHctcmluZy1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNSk7CiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6IDAgMCAjMDAwMDsKICAtLXR3LXJpbmctc2hhZG93OiAwIDAgIzAwMDA7CiAgLS10dy1ibHVyOiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1icmlnaHRuZXNzOiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1jb250cmFzdDogdmFyKC0tdHctZW1wdHksLyohKi8gLyohKi8pOwogIC0tdHctZ3JheXNjYWxlOiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1odWUtcm90YXRlOiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1pbnZlcnQ6IHZhcigtLXR3LWVtcHR5LC8qISovIC8qISovKTsKICAtLXR3LXNhdHVyYXRlOiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1zZXBpYTogdmFyKC0tdHctZW1wdHksLyohKi8gLyohKi8pOwogIC0tdHctZHJvcC1zaGFkb3c6IHZhcigtLXR3LWVtcHR5LC8qISovIC8qISovKTsKICAtLXR3LWZpbHRlcjogdmFyKC0tdHctYmx1cikgdmFyKC0tdHctYnJpZ2h0bmVzcykgdmFyKC0tdHctY29udHJhc3QpIHZhcigtLXR3LWdyYXlzY2FsZSkgdmFyKC0tdHctaHVlLXJvdGF0ZSkgdmFyKC0tdHctaW52ZXJ0KSB2YXIoLS10dy1zYXR1cmF0ZSkgdmFyKC0tdHctc2VwaWEpIHZhcigtLXR3LWRyb3Atc2hhZG93KTsKICAtLXR3LWJhY2tkcm9wLWJsdXI6IHZhcigtLXR3LWVtcHR5LC8qISovIC8qISovKTsKICAtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3M6IHZhcigtLXR3LWVtcHR5LC8qISovIC8qISovKTsKICAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0OiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1iYWNrZHJvcC1ncmF5c2NhbGU6IHZhcigtLXR3LWVtcHR5LC8qISovIC8qISovKTsKICAtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGU6IHZhcigtLXR3LWVtcHR5LC8qISovIC8qISovKTsKICAtLXR3LWJhY2tkcm9wLWludmVydDogdmFyKC0tdHctZW1wdHksLyohKi8gLyohKi8pOwogIC0tdHctYmFja2Ryb3Atb3BhY2l0eTogdmFyKC0tdHctZW1wdHksLyohKi8gLyohKi8pOwogIC0tdHctYmFja2Ryb3Atc2F0dXJhdGU6IHZhcigtLXR3LWVtcHR5LC8qISovIC8qISovKTsKICAtLXR3LWJhY2tkcm9wLXNlcGlhOiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1iYWNrZHJvcC1maWx0ZXI6IHZhcigtLXR3LWJhY2tkcm9wLWJsdXIpIHZhcigtLXR3LWJhY2tkcm9wLWJyaWdodG5lc3MpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0KSB2YXIoLS10dy1iYWNrZHJvcC1ncmF5c2NhbGUpIHZhcigtLXR3LWJhY2tkcm9wLWh1ZS1yb3RhdGUpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCkgdmFyKC0tdHctYmFja2Ryb3Atb3BhY2l0eSkgdmFyKC0tdHctYmFja2Ryb3Atc2F0dXJhdGUpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhKTsKfQoKW3R5cGU9J3RleHQnXSxbdHlwZT0nZW1haWwnXSxbdHlwZT0ndXJsJ10sW3R5cGU9J3Bhc3N3b3JkJ10sW3R5cGU9J251bWJlciddLFt0eXBlPSdkYXRlJ10sW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sW3R5cGU9J21vbnRoJ10sW3R5cGU9J3NlYXJjaCddLFt0eXBlPSd0ZWwnXSxbdHlwZT0ndGltZSddLFt0eXBlPSd3ZWVrJ10sW211bHRpcGxlXSx0ZXh0YXJlYSxzZWxlY3QgewogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICM2YjcyODA7CiAgYm9yZGVyLXdpZHRoOiAxcHg7CiAgYm9yZGVyLXJhZGl1czogMHB4OwogIHBhZGRpbmctdG9wOiAwLjVyZW07CiAgcGFkZGluZy1yaWdodDogMC43NXJlbTsKICBwYWRkaW5nLWJvdHRvbTogMC41cmVtOwogIHBhZGRpbmctbGVmdDogMC43NXJlbTsKICBmb250LXNpemU6IDFyZW07CiAgbGluZS1oZWlnaHQ6IDEuNXJlbTsKfQoKW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW211bHRpcGxlXTpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsIHNlbGVjdDpmb2N1cyB7CiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgLS10dy1yaW5nLWluc2V0OiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMHB4OwogIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7CiAgLS10dy1yaW5nLWNvbG9yOiAjMjU2M2ViOwogIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOwogIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMXB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTsKICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTsKICBib3JkZXItY29sb3I6ICMyNTYzZWI7Cn0KCmlucHV0OjpwbGFjZWhvbGRlcix0ZXh0YXJlYTo6cGxhY2Vob2xkZXIgewogIGNvbG9yOiAjNmI3MjgwOwogIG9wYWNpdHk6IDE7Cn0KCjo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHsKICBwYWRkaW5nOiAwOwp9Cgo6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7CiAgbWluLWhlaWdodDogMS41ZW07Cn0KCnNlbGVjdCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nbm9uZScgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggc3Ryb2tlPSclMjM2YjcyODAnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScxLjUnIGQ9J002IDhsNCA0IDQtNCcvJTNlJTNjL3N2ZyUzZSIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNXJlbSBjZW50ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXNpemU6IDEuNWVtIDEuNWVtOwogIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsKICBjb2xvci1hZGp1c3Q6IGV4YWN0Owp9CgpbbXVsdGlwbGVdIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBpbml0aWFsOwogIGJhY2tncm91bmQtcG9zaXRpb246IGluaXRpYWw7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IHVuc2V0OwogIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDsKICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtOwogIGNvbG9yLWFkanVzdDogdW5zZXQ7Cn0KClt0eXBlPSdjaGVja2JveCddLFt0eXBlPSdyYWRpbyddIHsKICBhcHBlYXJhbmNlOiBub25lOwogIHBhZGRpbmc6IDA7CiAgY29sb3ItYWRqdXN0OiBleGFjdDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICBiYWNrZ3JvdW5kLW9yaWdpbjogYm9yZGVyLWJveDsKICB1c2VyLXNlbGVjdDogbm9uZTsKICBmbGV4LXNocmluazogMDsKICBoZWlnaHQ6IDFyZW07CiAgd2lkdGg6IDFyZW07CiAgY29sb3I6ICMyNTYzZWI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICM2YjcyODA7CiAgYm9yZGVyLXdpZHRoOiAxcHg7Cn0KClt0eXBlPSdjaGVja2JveCddIHsKICBib3JkZXItcmFkaXVzOiAwcHg7Cn0KClt0eXBlPSdyYWRpbyddIHsKICBib3JkZXItcmFkaXVzOiAxMDAlOwp9CgpbdHlwZT0nY2hlY2tib3gnXTpmb2N1cyxbdHlwZT0ncmFkaW8nXTpmb2N1cyB7CiAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgLS10dy1yaW5nLWluc2V0OiB2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7CiAgLS10dy1yaW5nLW9mZnNldC13aWR0aDogMnB4OwogIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7CiAgLS10dy1yaW5nLWNvbG9yOiAjMjU2M2ViOwogIC0tdHctcmluZy1vZmZzZXQtc2hhZG93OiB2YXIoLS10dy1yaW5nLWluc2V0KSAwIDAgMCB2YXIoLS10dy1yaW5nLW9mZnNldC13aWR0aCkgdmFyKC0tdHctcmluZy1vZmZzZXQtY29sb3IpOwogIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQpIDAgMCAwIGNhbGMoMnB4ICsgdmFyKC0tdHctcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS10dy1yaW5nLWNvbG9yKTsKICBib3gtc2hhZG93OiB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdywgMCAwICMwMDAwKTsKfQoKW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCxbdHlwZT0ncmFkaW8nXTpjaGVja2VkIHsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjsKICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKfQoKW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nd2hpdGUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIGQ9J00xMi4yMDcgNC43OTNhMSAxIDAgMDEwIDEuNDE0bC01IDVhMSAxIDAgMDEtMS40MTQgMGwtMi0yYTEgMSAwIDAxMS40MTQtMS40MTRMNi41IDkuMDg2bDQuMjkzLTQuMjkzYTEgMSAwIDAxMS40MTQgMHonLyUzZSUzYy9zdmclM2UiKTsKfQoKW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAxNiAxNicgZmlsbD0nd2hpdGUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NjaXJjbGUgY3g9JzgnIGN5PSc4JyByPSczJy8lM2UlM2Mvc3ZnJTNlIik7Cn0KClt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6aG92ZXIsW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDpmb2N1cyxbdHlwZT0ncmFkaW8nXTpjaGVja2VkOmhvdmVyLFt0eXBlPSdyYWRpbyddOmNoZWNrZWQ6Zm9jdXMgewogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yOwp9CgpbdHlwZT0nY2hlY2tib3gnXTppbmRldGVybWluYXRlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBzdHJva2U9J3doaXRlJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgOGg4Jy8lM2UlM2Mvc3ZnJTNlIik7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7CiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOwogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7Cn0KClt0eXBlPSdjaGVja2JveCddOmluZGV0ZXJtaW5hdGU6aG92ZXIsW3R5cGU9J2NoZWNrYm94J106aW5kZXRlcm1pbmF0ZTpmb2N1cyB7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7Cn0KClt0eXBlPSdmaWxlJ10gewogIGJhY2tncm91bmQ6IHVuc2V0OwogIGJvcmRlci1jb2xvcjogaW5oZXJpdDsKICBib3JkZXItd2lkdGg6IDA7CiAgYm9yZGVyLXJhZGl1czogMDsKICBwYWRkaW5nOiAwOwogIGZvbnQtc2l6ZTogdW5zZXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7Cn0KClt0eXBlPSdmaWxlJ106Zm9jdXMgewogIG91dGxpbmU6IDFweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjsKfQogICAgICAuY29udGFpbmVyIHsKICB3aWR0aDogMTAwJTsKfQogICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHsKCiAgLmNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDY0MHB4OwogIH0KfQogICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKCiAgLmNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDc2OHB4OwogIH0KfQogICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7CgogIC5jb250YWluZXIgewogICAgbWF4LXdpZHRoOiAxMDI0cHg7CiAgfQp9CiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHsKCiAgLmNvbnRhaW5lciB7CiAgICBtYXgtd2lkdGg6IDEyODBweDsKICB9Cn0KICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MzZweCkgewoKICAuY29udGFpbmVyIHsKICAgIG1heC13aWR0aDogMTUzNnB4OwogIH0KfQogICAgICAKICAgICAgLnZpc2libGUgewogIHZpc2liaWxpdHk6IHZpc2libGU7Cn0KICAgICAgCiAgICAgIC5yZWxhdGl2ZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CiAgICAgIAogICAgICAuYmxvY2sgewogIGRpc3BsYXk6IGJsb2NrOwp9CiAgICAgIAogICAgICAuaW5saW5lIHsKICBkaXNwbGF5OiBpbmxpbmU7Cn0KICAgICAgCiAgICAgIC5mbGV4IHsKICBkaXNwbGF5OiBmbGV4Owp9CiAgICAgIAogICAgICAudGFibGUgewogIGRpc3BsYXk6IHRhYmxlOwp9CiAgICAgIAogICAgICAuZ3JpZCB7CiAgZGlzcGxheTogZ3JpZDsKfQogICAgICAKICAgICAgLmhpZGRlbiB7CiAgZGlzcGxheTogbm9uZTsKfQogICAgICAKICAgICAgLmgtMTQgewogIGhlaWdodDogMy41cmVtOwp9CiAgICAgIAogICAgICAudy0xNCB7CiAgd2lkdGg6IDMuNXJlbTsKfQogICAgICAKICAgICAgLmZsZXgtc2hyaW5rIHsKICBmbGV4LXNocmluazogMTsKfQogICAgICAKICAgICAgLmJvcmRlci1jb2xsYXBzZSB7CiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKfQogICAgICAKICAgICAgLnJlc2l6ZSB7CiAgcmVzaXplOiBib3RoOwp9CiAgICAgIAogICAgICAuZ3JpZC1jb2xzLTEgewogIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIG1pbm1heCgwLCAxZnIpKTsKfQogICAgICAKICAgICAgLmZsZXgtY29sIHsKICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwp9CiAgICAgIAogICAgICAuaXRlbXMtY2VudGVyIHsKICBhbGlnbi1pdGVtczogY2VudGVyOwp9CiAgICAgIAogICAgICAuanVzdGlmeS1jZW50ZXIgewogIGp1c3RpZnktY29udGVudDogY2VudGVyOwp9CiAgICAgIAogICAgICAuanVzdGlmeS1iZXR3ZWVuIHsKICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Cn0KICAgICAgCiAgICAgIC5nYXAtMTAgewogIGdhcDogMi41cmVtOwp9CiAgICAgIAogICAgICAuc3BhY2UteS01ID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKSB7CiAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7CiAgbWFyZ2luLXRvcDogY2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpOwogIG1hcmdpbi1ib3R0b206IGNhbGMoMS4yNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpOwp9CiAgICAgIAogICAgICAucm91bmRlZC1tZCB7CiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07Cn0KICAgICAgCiAgICAgIC5ib3JkZXIgewogIGJvcmRlci13aWR0aDogMXB4Owp9CiAgICAgIAogICAgICAuYmctZ3JheS04MDAgewogIC0tdHctYmctb3BhY2l0eTogMTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMxLCA0MSwgNTUsIHZhcigtLXR3LWJnLW9wYWNpdHkpKTsKfQogICAgICAKICAgICAgLnAtOCB7CiAgcGFkZGluZzogMnJlbTsKfQogICAgICAKICAgICAgLnRleHQtMnhsIHsKICBmb250LXNpemU6IDEuNXJlbTsKICBsaW5lLWhlaWdodDogMnJlbTsKfQogICAgICAKICAgICAgLnRleHQtYmFzZSB7CiAgZm9udC1zaXplOiAxcmVtOwogIGxpbmUtaGVpZ2h0OiAxLjVyZW07Cn0KICAgICAgCiAgICAgIC50ZXh0LTR4bCB7CiAgZm9udC1zaXplOiAyLjI1cmVtOwogIGxpbmUtaGVpZ2h0OiAyLjVyZW07Cn0KICAgICAgCiAgICAgIC50ZXh0LWxnIHsKICBmb250LXNpemU6IDEuMTI1cmVtOwogIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOwp9CiAgICAgIAogICAgICAuZm9udC1ib2xkIHsKICBmb250LXdlaWdodDogNzAwOwp9CiAgICAgIAogICAgICAuZm9udC1zZW1pYm9sZCB7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQogICAgICAKICAgICAgLmZvbnQtbWVkaXVtIHsKICBmb250LXdlaWdodDogNTAwOwp9CiAgICAgIAogICAgICAudGV4dC15ZWxsb3ctNDAwIHsKICAtLXR3LXRleHQtb3BhY2l0eTogMTsKICBjb2xvcjogcmdiYSgyNTEsIDE5MSwgMzYsIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpOwp9CiAgICAgIAogICAgICAudGV4dC13aGl0ZSB7CiAgLS10dy10ZXh0LW9wYWNpdHk6IDE7CiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgdmFyKC0tdHctdGV4dC1vcGFjaXR5KSk7Cn0KICAgICAgCiAgICAgIC50ZXh0LWdyYXktMzAwIHsKICAtLXR3LXRleHQtb3BhY2l0eTogMTsKICBjb2xvcjogcmdiYSgyMDksIDIxMywgMjE5LCB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKTsKfQogICAgICAKICAgICAgLnVuZGVybGluZSB7CiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Cn0KICAgICAgCiAgICAgIC5zaGFkb3ctbWQgewogIC0tdHctc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgYm94LXNoYWRvdzogdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93LCAwIDAgIzAwMDApLCB2YXIoLS10dy1yaW5nLXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctc2hhZG93KTsKfQogICAgICAKICAgICAgLnRyYW5zaXRpb24gewogIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvciwgY29sb3IsIGZpbGwsIHN0cm9rZSwgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCBmaWx0ZXIsIGJhY2tkcm9wLWZpbHRlcjsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsKfQogICAgICAKICAgICAgLmRlbGF5LTc1IHsKICB0cmFuc2l0aW9uLWRlbGF5OiA3NW1zOwp9CiAgICAgIAogICAgICAuZHVyYXRpb24tNTAwIHsKICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtczsKfQogICAgICAKICAgICAgLmVhc2UtaW4tb3V0IHsKICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKfQogICAgICAKICAgICAgLmhvdmVyXDotdHJhbnNsYXRlLXktNDpob3ZlciB7CiAgLS10dy10cmFuc2xhdGUteTogLTFyZW07CiAgdHJhbnNmb3JtOiB2YXIoLS10dy10cmFuc2Zvcm0pOwp9CiAgICAgIAogICAgICAuaG92ZXJcOnRleHQtd2hpdGU6aG92ZXIgewogIC0tdHctdGV4dC1vcGFjaXR5OiAxOwogIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpOwp9CiAgICAgIAogICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7CgogIC5sZ1w6Z3JpZC1jb2xzLTMgewogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOwogIH0KfQo8L3N0eWxlPgogICAgCjwhLS0gU3R5bGVzaGVldHMgLS0+CjxsaW5rIGhyZWY9ImNvZGVzL2Zyb250L2Nzcy9ib290c3RyYXAuY3NzIiByZWw9InN0eWxlc2hlZXQiPgo8bGluayBocmVmPSJjb2Rlcy9mcm9udC9jc3Mvc3R5bGUuY3NzIiByZWw9InN0eWxlc2hlZXQiPgo8bGluayBocmVmPSJjb2Rlcy9mcm9udC9jc3MvcmVzcG9uc2l2ZS5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cgo8IS0tIENvbG9yIFN3aXRjaGVyIE1vY2t1cCAtLT4KPGxpbmsgaHJlZj0iY29kZXMvZnJvbnQvY3NzL2NvbG9yLXN3aXRjaGVyLWRlc2lnbi5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cgo8bGluayByZWw9InNob3J0Y3V0IGljb24iIGhyZWY9ImxvZ28ucG5nIiB0eXBlPSJpbWFnZS94LWljb24iPgo8bGluayByZWw9Imljb24iIGhyZWY9ImxvZ28ucG5nIiB0eXBlPSJpbWFnZS94LWljb24iPgoKPCEtLSBSZXNwb25zaXZlIC0tPgo8bWV0YSBodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiIGNvbnRlbnQ9IklFPWVkZ2UiPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEuMCwgbWF4aW11bS1zY2FsZT0xLjAsIHVzZXItc2NhbGFibGU9MCI+CiAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgIC8qPCFbQ0RBVEFbKi8KICAgIGZ1bmN0aW9uIGluaXRpYWxpemVHb29nbGVUcmFuc2xhdGVFbGVtZW50KCkgewogICAgCW5ldyBnb29nbGUudHJhbnNsYXRlLlRyYW5zbGF0ZUVsZW1lbnQoewogICAgCQlwYWdlTGFuZ3VhZ2U6ICJlbiIsCiAgICAJCWxheW91dDogZ29vZ2xlLnRyYW5zbGF0ZS5UcmFuc2xhdGVFbGVtZW50LklubGluZUxheW91dC5TSU1QTEUsCiAgICAJCWluY2x1ZGVkTGFuZ3VhZ2VzOiAiemgtQ04semgtVFcsaHIsY3MsZGEsbmwsZW4sdGwsZmksZnIsa2EsZGUsZWwsaXMsaWcsaWQsaXQsa28sbm8sZmEscGwscHQscm8scnUsZXMsdHIsdWsiCiAgICAJfSwgImdvb2dsZV90cmFuc2xhdGVfZWxlbWVudCIpOwogICAgfQogICAgLypdXT4qLwogICAgPC9zY3JpcHQ+CiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJ0cmFuc2xhdGUuZ29vZ2xlLmNvbS90cmFuc2xhdGVfYS9lbGVtZW50ZDVhMy5qcz9jYj1pbml0aWFsaXplR29vZ2xlVHJhbnNsYXRlRWxlbWVudCI+PC9zY3JpcHQ+Cgo8L2hlYWQ+CgoKPGJvZHk+CiAgICAKCiAgICAKPGRpdiBpZD0ieXRXaWRnZXQiPjwvZGl2PjxzY3JpcHQgc3JjPSJ0cmFuc2xhdGUueWFuZGV4Lm5ldC93ZWJzaXRlLXdpZGdldC92MS93aWRnZXQ1ZDFmLmpzP3dpZGdldElkPXl0V2lkZ2V0JmFtcDtwYWdlTGFuZz1lbiZhbXA7d2lkZ2V0VGhlbWU9ZGFyayZhbXA7YXV0b01vZGU9dHJ1ZSIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCgo8ZGl2IGNsYXNzPSJwYWdlLXdyYXBwZXIiPgoKICAgIDwhLS0gUHJlbG9hZGVyIC0tPgoKCiAgICA8IS0tIEhlYWRlciBTdHlsZSBUaHJlZS0tPgogICAgPGhlYWRlciBjbGFzcz0ibWFpbi1oZWFkZXIgaGVhZGVyLXN0eWxlLXRocmVlIj4KCiAgICAgICAgPCEtLUhlYWRlciBUb3AtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdG9wLXRocmVlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0by1jb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPgoKICAgICAgICAgICAgICAgICAgICA8IS0tIFRvcCBMZWZ0IC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvcC1sZWZ0IGNsZWFyZml4Ij4KCQkJCQkJPGRpdiBjbGFzcz0idGV4dCI+V2VsY29tZSB0byBnb2xkZW5wcm9maXRzdG9jazwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLUhlYWRlciBMb3dlci0tPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1sb3dlciI+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvLWNvbnRhaW5lciI+CgkJCQk8ZGl2IGNsYXNzPSJpbm5lci1jb250YWluZXIgY2xlYXJmaXgiPgoJCQkJCTwhLS0gTG9nbyBCb3ggLS0+CgkJCQkJPGRpdiBjbGFzcz0icHVsbC1sZWZ0IGxvZ28tYm94Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nbyI+PGEgaHJlZj0iLyI+PGltZyBzcmM9ImxvZ28ucG5nIiBhbHQ9IiIgdGl0bGU9IiIgd2lkdGg9IjE1MFBYIj48L2E+PC9kaXY+PGRpdiBpZD0ieXRXaWRnZXQiPjwvZGl2PjxzY3JpcHQgc3JjPSJ0cmFuc2xhdGUueWFuZGV4Lm5ldC93ZWJzaXRlLXdpZGdldC92MS93aWRnZXQ4MGQ2Lmh0bWwiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJPGRpdiBjbGFzcz0ibmF2LW91dGVyIGNsZWFyZml4Ij4KCQkJCQkJPCEtLSBNb2JpbGUgTmF2aWdhdGlvbiBUb2dnbGVyIC0tPgoJCQkJCQk8ZGl2IGNsYXNzPSJtb2JpbGUtbmF2LXRvZ2dsZXIiPjxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLW1lbnUtMiI+PC9zcGFuPjwvZGl2PgoJCQkJCQk8IS0tIE1haW4gTWVudSAtLT4KCQkJCQkJPG5hdiBjbGFzcz0ibWFpbi1tZW51IHNob3cgbmF2YmFyLWV4cGFuZC1tZCI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJuYXZiYXItaGVhZGVyIj4KCQkJCQkJCQk8YnV0dG9uIGNsYXNzPSJuYXZiYXItdG9nZ2xlciIgdHlwZT0iYnV0dG9uIiBkYXRhLXRvZ2dsZT0iY29sbGFwc2UiIGRhdGEtdGFyZ2V0PSIjbmF2YmFyU3VwcG9ydGVkQ29udGVudCIgYXJpYS1jb250cm9scz0ibmF2YmFyU3VwcG9ydGVkQ29udGVudCIgYXJpYS1leHBhbmRlZD0iZmFsc2UiIGFyaWEtbGFiZWw9IlRvZ2dsZSBuYXZpZ2F0aW9uIj4KCQkJCQkJCQkJPHNwYW4gY2xhc3M9Imljb24tYmFyIj48L3NwYW4+CgkJCQkJCQkJCTxzcGFuIGNsYXNzPSJpY29uLWJhciI+PC9zcGFuPgoJCQkJCQkJCQk8c3BhbiBjbGFzcz0iaWNvbi1iYXIiPjwvc3Bhbj4KCQkJCQkJCQk8L2J1dHRvbj4KCQkJCQkJCTwvZGl2PgoKCQkJCQkJCTxkaXYgY2xhc3M9Im5hdmJhci1jb2xsYXBzZSBjb2xsYXBzZSBjbGVhcmZpeCIgaWQ9Im5hdmJhclN1cHBvcnRlZENvbnRlbnQiPgoJCQkJCQkJCTx1bCBjbGFzcz0ibmF2aWdhdGlvbiBjbGVhcmZpeCI+CgkJCQkJCQkJCTxsaSA+PGEgaHJlZj0iLyI+SG9tZTwvYT48L2xpPgoJCQkJCQkJCQk8bGk+PGEgaHJlZj0iP2E9Y3VzdCZwYWdlPWZpcm0iPkZpcm08L2E+PC9saT4KCQkJCQkJCQkJPGxpIGNsYXNzPSJkcm9wZG93biI+PGEgaHJlZj0iIyI+T3VyIFNlcnZpY2VzPC9hPgoJCQkJCQkJCQkJPHVsPgoJCQkJCQkJCQkJCgkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9Y3J5cHRvX3RyYWRpbmciPkNyeXB0byBUcmFkaW5nPC9hPjwvbGk+CgkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9cmVhbF9lc3RhdGUiPlJlYWwgRXN0YXRlPC9hPjwvbGk+CgkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9b2lsX2FuZF9nYXMiPk9pbCBhbmQgR2FzPC9hPjwvbGk+CgkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9bG9hbiI+TG9hbjwvYT48L2xpPgoJCQkJCQkJCQkJPC91bD4KCQkJCQkJCQkJPC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgkJCQkJCQkJCTxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5Db250YWN0PC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSI/YT1sb2dpbiI+SW52ZXN0b3IgTG9naW48L2E+PC9saT4KCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ij9hPXNpZ251cCI+UmVnaXN0ZXI8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgIAkJCQkJCQkJIDwvdWw+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9uYXY+CgkJCQkJCTwhLS0gTWFpbiBNZW51IEVuZC0tPgoKCQkJCQkJPCEtLSBPcHRpb25zIEJveCAtLT4KCQkJCQkJPGRpdiBjbGFzcz0ib3B0aW9ucy1ib3ggY2xlYXJmaXgiPgoKCQkJCQkJCTwhLS0gR3JpZCBCb3ggLS0+CgkJCQkJCQk8ZGl2IGNsYXNzPSJncmlkLWJveCBuYXZTaWRlYmFyLWJ1dHRvbiI+CgkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9Imljb24gZmxhdGljb24tbWVudS0yIj48L2E+CgkJCQkJCQk8L2Rpdj4KCgkJCQkJCQk8IS0tU2VhcmNoIEJveC0tPgoJCQkJCQkJPGRpdiBjbGFzcz0ic2VhcmNoLWJveC1vdXRlciI+CgoJCQkJCQkJPC9kaXY+CgoJCQkJCQkJPGRpdiBjbGFzcz0iYnRuLWJveCI+CgkJCQkJCQkJPGEgaHJlZj0iP2E9c2lnbnVwIiBjbGFzcz0idGhlbWUtYnRuIGJ0bi1zdHlsZS1uaW5lIj48c3BhbiBjbGFzcz0idHh0Ij5TdGFydDwvc3Bhbj48L2E+CgkJCQkJCQk8L2Rpdj4KCgkJCQkJCTwvZGl2PgoKCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPCEtLSBFbmQgSGVhZGVyIExvd2VyIC0tPgoKICAgICAgICA8IS0tIE1vYmlsZSBNZW51ICAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2JpbGUtbWVudSIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzBhM2U0YTtjb2xvcjojZmZmOyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtYmFja2Ryb3AiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbG9zZS1idG4iPjxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLW11bHRpcGx5Ij48L3NwYW4+PC9kaXY+CgogICAgICAgICAgICA8bmF2IGNsYXNzPSJtZW51LWJveCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtbG9nbyI+PGEgaHJlZj0iLyI+PGltZyBzcmM9ImxvZ28ucG5nIiBhbHQ9IiIgdGl0bGU9IiI+PC9hPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVudS1vdXRlciI+CgkJCQkJPCEtLUhlcmUgTWVudSBXaWxsIENvbWUgQXV0b21hdGljYWxseSBWaWEgSmF2YXNjcmlwdCAvIFNhbWUgTWVudSBhcyBpbiBIZWFkZXItLT4KCQkJCTwvZGl2PgogICAgICAgICAgICA8L25hdj4KICAgICAgICA8L2Rpdj48IS0tIEVuZCBNb2JpbGUgTWVudSAtLT4KCiAgICA8L2hlYWRlcj4KICAgIDwhLS0gRW5kIE1haW4gSGVhZGVyIC0tPgogICA8c2VjdGlvbiBjbGFzcz0ibWFpbi1zbGlkZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybChjb2Rlcy9mcm9udC9pbWFnZXMvYmFja2dyb3VuZC9wYXR0ZXJuLTAucG5nKSI+CiAgICAJCiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi1zbGlkZXItY2Fyb3VzZWwgb3dsLWNhcm91c2VsIG93bC10aGVtZSI+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbGlkZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKGNvZGVzL2Zyb250L2ltYWdlcy91c2UxMS5qcGcpIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KCQkJCQkKCQkJCQk8IS0tIENvbnRlbnQgYm94ZWQgLS0+CgkJCQkJPGRpdiBjbGFzcz0iY29udGVudC1ib3hlZCI+CgkJCQkJCTxkaXYgY2xhc3M9InRpdGxlIj5XZWxjb21lIHRvIGdvbGRlbnByb2ZpdHN0b2NrPC9kaXY+CgkJCQkJCTxoMT5XZSBEZWxpdmVyIDxicj5RdWFsaXR5IFJlc3VsdHM8L2gxPgoJCQkJCQk8ZGl2IGNsYXNzPSJsaW5rLWJveCBjbGVhcmZpeCI+CgkJCQkJCQkKCQkJCQkJCTxhIGhyZWY9Ij9hPXNpZ251cCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLXRocmVlIj48c3BhbiBjbGFzcz0idHh0Ij5TaWduIHVwPC9zcGFuPjwvYT4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbGlkZSIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6dXJsKGNvZGVzL2Zyb250L2ltYWdlcy91c2UxMi5qcGcpIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KCQkJCQk8IS0tIENvbnRlbnQgYm94ZWQgLS0+CgkJCQkJPGRpdiBjbGFzcz0iY29udGVudC1ib3hlZCI+CgkJCQkJCTxkaXYgY2xhc3M9InRpdGxlIj5XZSBoaXJlIHRoZSBiZXN0IHRyYWRlcnM8L2Rpdj4KCQkJCQkJPGgxPlRvIG1hbmFnZSB5b3VyIGludmVzdG1lbnRzIDxicj48L2gxPgoJCQkJCQk8ZGl2IGNsYXNzPSJsaW5rLWJveCBjbGVhcmZpeCI+CgkJCQkJCQkKCQkJCQkJCTxhIGhyZWY9Ii8iIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLXRocmVlIj48c3BhbiBjbGFzcz0idHh0Ij5Mb2dpbjwvc3Bhbj48L2E+CgkJCQkJCTwvZGl2PgoJCQkJCTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgoJCQkKCQkJPGRpdiBjbGFzcz0ic2xpZGUiIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybChjb2Rlcy9mcm9udC9pbWFnZXMvdXNlMTMuanBnKSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvLWNvbnRhaW5lciI+CgkJCQkJPCEtLSBDb250ZW50IGJveGVkIC0tPgoJCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQtYm94ZWQiPgoJCQkJCQk8ZGl2IGNsYXNzPSJ0aXRsZSI+SW52ZXN0IHdpdGggYSBmaXJtIHlvdSBjYW4gdHJ1c3Q8L2Rpdj4KCQkJCQkJPGgxPjI0LzcgTW9uaXRvcmluZyA8YnI+IG9mIHlvdXIgaW52ZXN0bWVudCBpcyBhc3N1cmVkLjwvaDE+CgkJCQkJCTxkaXYgY2xhc3M9ImxpbmstYm94IGNsZWFyZml4Ij4KCQkJCQkJCQoJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtdGhyZWUiPjxzcGFuIGNsYXNzPSJ0eHQiPkFib3V0IFVzPC9zcGFuPjwvYT4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgkJCiAgICA8L3NlY3Rpb24+CiAgCjxzZWN0aW9uIGNsYXNzPSJzZXJ2aWNlcy1zZWN0aW9uIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGNvZGVzL2Zyb250L2ltYWdlcy9iYWNrZ3JvdW5kL3BhdHRlcm4tMC5wbmcpIj4KPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lciI+CgkJCSAgPGRpdiBjbGFzcz0idHJhZGluZ3ZpZXctd2lkZ2V0LWNvbnRhaW5lcl9fd2lkZ2V0Ij48L2Rpdj4KCQkJICA8ZGl2IGNsYXNzPSJ0cmFkaW5ndmlldy13aWRnZXQtY29weXJpZ2h0Ij48YSBocmVmPSJodHRwczovL3d3dy50cmFkaW5ndmlldy5jb20vIiByZWw9Im5vb3BlbmVyIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gY2xhc3M9ImJsdWUtdGV4dCI+PC9zcGFuPjwvYT4gPC9kaXY+CgkJCSAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iczMudHJhZGluZ3ZpZXcuY29tL2V4dGVybmFsLWVtYmVkZGluZy9lbWJlZC13aWRnZXQtdGlja2VyLXRhcGUuanMiIGFzeW5jPgoJCQkgIHsKCQkJICAic3ltYm9scyI6IFsKCQkJCXsKCQkJCSAgInByb05hbWUiOiAiRk9SRVhDT006U1BYVVNEIiwKCQkJCSAgInRpdGxlIjogIlMmUCA1MDAiCgkJCQl9LAoJCQkJewoJCQkJICAicHJvTmFtZSI6ICJGT1JFWENPTTpOU1hVU0QiLAoJCQkJICAidGl0bGUiOiAiTmFzZGFxIDEwMCIKCQkJCX0sCgkJCQl7CgkJCQkgICJwcm9OYW1lIjogIkZYX0lEQzpFVVJVU0QiLAoJCQkJICAidGl0bGUiOiAiRVVSL1VTRCIKCQkJCX0sCgkJCQl7CgkJCQkgICJwcm9OYW1lIjogIkJJVFNUQU1QOkJUQ1VTRCIsCgkJCQkgICJ0aXRsZSI6ICJCVEMvVVNEIgoJCQkJfSwKCQkJCXsKCQkJCSAgInByb05hbWUiOiAiQklUU1RBTVA6RVRIVVNEIiwKCQkJCSAgInRpdGxlIjogIkVUSC9VU0QiCgkJCQl9CgkJCSAgXSwKCQkJICAiY29sb3JUaGVtZSI6ICJkYXJrIiwKCQkJICAiaXNUcmFuc3BhcmVudCI6IGZhbHNlLAoJCQkgICJkaXNwbGF5TW9kZSI6ICJhZGFwdGl2ZSIsCgkJCSAgImxvY2FsZSI6ICJlbiIKCQkJfQoJCQkgIDwvc2NyaXB0PgoJCQk8L2Rpdj4KCQk8ZGl2IGNsYXNzPSJwYXRlcm4tbGF5ZXIiPjwvZGl2PgoJCTxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KCQkJPGRpdiBjbGFzcz0iaW5uZXItY29udGFpbmVyIj4KCQkJCQoJCQkJPGRpdiBjbGFzcz0idGhyZWUtaXRlbS1jYXJvdXNlbCBvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIj4KCQkJCQkKCQkJCQk8IS0tIFNlcnZpY2UgQmxvY2sgLS0+CgkJCQkJPGRpdiBjbGFzcz0ic2VydmljZS1ibG9jayI+CgkJCQkJCTxkaXYgY2xhc3M9ImlubmVyLWJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzBhM2U0YTtjb2xvcjojZmZmOyI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb250ZW50LWJveCI+CgkJCQkJCQkJPGRpdiBjbGFzcz0iaWNvbi1ib3giPgoJCQkJCQkJCQk8c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1waWUtY2hhcnQtMyI+PC9zcGFuPgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJCTxoNT48YSBocmVmPSIjIiBzdHlsZT0iY29sb3I6I2ZmZjsiPjI0LzcgU3VwcG9ydDwvYT48L2g1PgoJCQkJCQkJCTxkaXYgY2xhc3M9InRleHQiIHN0eWxlPSJjb2xvcjojZmZmOyI+T3VyIGN1c3RvbWVyIHNlcnZpY2UgdW5pdCBpcyBhbHdheXMgYXZhaWxhYmxlIDI0LzcgdG8gYXR0ZW5kIHRvIHlvdXIgbmVlZHMvcXVlcnJpZXMuPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImJpZy1pY29uIGZsYXRpY29uLXBpZS1jaGFydC0zIj48L2Rpdj4KCQkJCQkJCTxhIGhyZWY9IiMiIGNsYXNzPSJhcnJvdy1ib3giPjxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWFycm93LXBvaW50aW5nLXRvLXJpZ2h0Ij48L3NwYW4+PC9hPgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQkKCQkJCQk8IS0tIFNlcnZpY2UgQmxvY2sgLS0+CgkJCQkJPGRpdiBjbGFzcz0ic2VydmljZS1ibG9jayI+CgkJCQkJCTxkaXYgY2xhc3M9ImlubmVyLWJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IzBhM2U0YTtjb2xvcjojZmZmOyI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb250ZW50LWJveCI+CgkJCQkJCQkJPGRpdiBjbGFzcz0iaWNvbi1ib3giPgoJCQkJCQkJCQk8c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1zZWFyY2gtZW5naW5lIj48L3NwYW4+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPGg1PjxhIGhyZWY9IiMiIHN0eWxlPSJjb2xvcjojZmZmOyI+Tk8gSElEREVOIEZFRVM8L2E+PC9oNT4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0IiBzdHlsZT0iY29sb3I6I2ZmZjsiPk91ciBzeXN0ZW0gaXMgZGVzaWduZWQgd2l0aG91dCBoaWRkZW4gY2hhcmdlcy4gWW91IHdpbGwgcmVjZWl2ZSB5b3VyIHByb21pc2VkIFJPSSBhdCB0aGUgZW5kIG9mIHlvdXIgaW52ZXN0bWVudC48L2Rpdj4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iYmlnLWljb24gZmxhdGljb24tc2VhcmNoLWVuZ2luZSI+PC9kaXY+CgkJCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0iYXJyb3ctYm94Ij48c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1hcnJvdy1wb2ludGluZy10by1yaWdodCI+PC9zcGFuPjwvYT4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJCgkJCQkJPCEtLSBTZXJ2aWNlIEJsb2NrIC0tPgoJCQkJCTxkaXYgY2xhc3M9InNlcnZpY2UtYmxvY2siPgoJCQkJCQk8ZGl2IGNsYXNzPSJpbm5lci1ib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiMwYTNlNGE7Y29sb3I6I2ZmZjsiPgoJCQkJCQkJPGRpdiBjbGFzcz0iY29udGVudC1ib3giPgoJCQkJCQkJCTxkaXYgY2xhc3M9Imljb24tYm94Ij4KCQkJCQkJCQkJPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tZ3Jvd3RoIj48L3NwYW4+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPGg1PjxhIGhyZWY9IiMiIHN0eWxlPSJjb2xvcjojZmZmOyI+SU5TVEFOVCBJTlZFU1RNRU5UPC9hPjwvaDU+CgkJCQkJCQkJPGRpdiBjbGFzcz0idGV4dCIgc3R5bGU9ImNvbG9yOiNmZmY7Ij5DcmVhdGUgYW4gYWNjb3VudCB3aXRoIG91ciBwbGF0Zm9ybSwgbWFrZSBhIGRlcG9zaXQgYW5kIHN0YXJ0IGludmVzdGluZyBpbW1lZGlhdGVseS48L2Rpdj4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0iYmlnLWljb24gZmxhdGljb24tZ3Jvd3RoIj48L2Rpdj4KCQkJCQkJCTxhIGhyZWY9IiMiIGNsYXNzPSJhcnJvdy1ib3giPjxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWFycm93LXBvaW50aW5nLXRvLXJpZ2h0Ij48L3NwYW4+PC9hPgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCgkJCTwvZGl2PgoJCTwvZGl2PgoJPC9zZWN0aW9uPgoJPCEtLWlmcmFtZSB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8wRmtHT19QRWpUMCIgdGl0bGU9IllvdVR1YmUgdmlkZW8gcGxheWVyIiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZS0tPgogPCEtLSBXZSBBcmUgU2VjdGlvbiAtLT4KIDxzZWN0aW9uIGNsYXNzPSJ3ZS1hcmUtc2VjdGlvbiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChjb2Rlcy9mcm9udC9pbWFnZXMvYmFja2dyb3VuZC9wYXR0ZXJuLTAucG5nKSI+CiAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICA8ZGl2IGNsYXNzPSJyb3ciPgoJCQogICAgICAgPCEtLSBUaXRsZSBDb2x1bW4gLS0+CiAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZS1jb2x1bW4gY29sLWxnLTUgY29sLW1kLTEyIGNvbC1zbS0xMiI+CiAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWNvbHVtbiI+CiAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjLXRpdGxlIHN0eWxlLXRocmVlIj4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj48aDM+V2hvIFdlIEFyZTwvaDM+PC9kaXY+CiAgICAgICAgICAgICA8aDI+V29ya2luZyB0b2dldGhlciB0byBkZWxpdmVyIGdyb3d0aCB0byB5b3VyIGludmVzdG1lbnRzLjwvaDI+CiAgICAgICAgICAgICAKICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgPC9kaXY+CiAgICAgICA8L2Rpdj4KCiAgICAgICA8IS0tIENvbnRlbnQgQ29sdW1uIC0tPgogICAgICAgPGRpdiBjbGFzcz0iY29udGVudC1jb2x1bW4gY29sLWxnLTcgY29sLW1kLTEyIGNvbC1zbS0xMiI+CiAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWNvbHVtbiI+CiAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXJmaXgiPgogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwdWxsLWxlZnQiPgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPldlIGJyaW5nIHRoZSByaWdodCBwZW9wbGUgdG9nZXRoZXIgdG8gY2hhbGxlbmdlIGVzdGFibGlzaGVkIHRoaW5raW5nIGFuZCBkcml2ZSB0cmFuc2Zvcm1hdGlvbi4gV2Ugd29yayB3aXRoIG91ciBjbGllbnRzIHRvIGJ1aWxkIHRoZSBjYXBhYmlsaXRpZXMgdGhhdCBlbmFibGUgb3JnYW5pemF0aW9ucyB0byBhY2hpZXZlIHN1c3RhaW5hYmxlIGFkdmFudGFnZS48L2Rpdj4KICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InB1bGwtcmlnaHQiPgogICAgICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtbmluZSI+PHNwYW4gY2xhc3M9InR4dCI+U0lHTiBVUDwvc3Bhbj48L2E+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgIDwvZGl2PgogICAgICAgPC9kaXY+CgogICAgIDwvZGl2PgogICA8L2Rpdj4KIDwvc2VjdGlvbj4KIDwhLS0gRW5kIFdlIEFyZSBTZWN0aW9uIC0tPgogPHZpZGVvIHdpZHRoPSIxMDAlIiBjb250cm9scz4KICA8c291cmNlIHNyYz0iZ29sZGVucHJvZml0c3RvY2subXA0IiB0eXBlPSJ2aWRlby9tcDQiPgogIDxzb3VyY2Ugc3JjPSJtb3ZfYmJiLm9nZyIgdHlwZT0idmlkZW8vb2dnIj4KICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MIHZpZGVvLgo8L3ZpZGVvPgogPCEtLVBsYW5zIFNlY3Rpb24tLT4KIAogPHNlY3Rpb24gY2xhc3M9ImZlYXR1cmVkLXNlY3Rpb24tdHdvIj4KICAgPGRpdiBjbGFzcz0iYXV0by1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InNlYy10aXRsZSBjZW50ZXJlZCBzdHlsZS10aHJlZSI+CiAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPk91ciBQbGFuczwvZGl2PgogICAgICAgICAgIDxoMj5XZSBvZmZlciB0aGUgZm9sbG93aW5nIGludmVzdG1lbnQgcGxhbnM8L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQgZ3JpZC1jb2xzLTEgbGc6Z3JpZC1jb2xzLTMgZ2FwLTEwIj4KICAgICAgICAgICA8IS0tUGxhbi0tPgogICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wganVzdGlmeS1jZW50ZXIgaXRlbXMtY2VudGVyIHNwYWNlLXktNiI+CiAgICAgICAgICAgICAgIDxoMSBjbGFzcz0idGV4dC1sZyB0ZXh0LWJsdWUtNDAwIGZvbnQtYm9sZCI+QkFTSUMgUExBTjwvaDE+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgc3BhY2UteS0zIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MyUgRGFpbHkgZm9yIDUgZGF5czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5NaW5pbXVtIERlcG9zaXQ6ICQxMDA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TWF4aW11bSBEZXBvc2l0OiAkNCw5OTk8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Q2FwaXRhbCB3aWxsIHJldHVybiBiYWNrPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjI0Lzcgc3VwcG9ydDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5MaWZlIHRpbWUgaW52ZXN0bWVudDogTm88L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+UmVmZXJyYWwgY29tbW1pc2lvbiAtIDEwJTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgPGEgaHJlZj0iP2E9bG9naW4iIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLW5pbmUiPjxzcGFuIGNsYXNzPSJ0eHQiPkdFVCBTVEFSVEVEPC9zcGFuPjwvYT4KICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8IS0tUGxhbi0tPgogICAgICAgICAgIDwhLS1QbGFuLS0+CiAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBqdXN0aWZ5LWNlbnRlciBpdGVtcy1jZW50ZXIgc3BhY2UteS02Ij4KICAgICAgICAgICAgICAgPGgxIGNsYXNzPSJ0ZXh0LWxnIHRleHQtYmx1ZS00MDAgZm9udC1ib2xkIj5BRFZBTkNFRCBQTEFOPC9oMT4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBzcGFjZS15LTMgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj40JSBEYWlseSBmb3IgNSBkYXlzPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1pbmltdW0gRGVwb3NpdDogJDUsMDAwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1heGltdW0gRGVwb3NpdDogJDksOTk5PC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNhcGl0YWwgd2lsbCByZXR1cm4gYmFjazwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4yNC83IHN1cHBvcnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkxpZmUgdGltZSBpbnZlc3RtZW50OiBObzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5SZWZlcnJhbCBjb21tbWlzaW9uIC0gMTAlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICA8YSBocmVmPSI/YT1sb2dpbiIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtbmluZSI+PHNwYW4gY2xhc3M9InR4dCI+R0VUIFNUQVJURUQ8L3NwYW4+PC9hPgogICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwhLS1QbGFuLS0+CiAgICAgICAgICAgPCEtLVBsYW4tLT4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBzcGFjZS15LTYiPgogICAgICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtbGcgdGV4dC1ibHVlLTQwMCBmb250LWJvbGQiPlBSRU1JVU4gUExBTjwvaDE+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggZmxleC1jb2wgc3BhY2UteS0zIHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MTAlIERhaWx5IGZvciA1IGRheXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TWluaW11bSBEZXBvc2l0OiAkMTAsMDAwPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk1heGltdW0gRGVwb3NpdDogJDE5LDk5OTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5DYXBpdGFsIHdpbGwgcmV0dXJuIGJhY2s8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+MjQvNyBzdXBwb3J0PC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkxpZmUgdGltZSBpbnZlc3RtZW50OiBZZXM8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5SZWZlcnJhbCBjb21tbWlzaW9uIC0gMTAlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICA8YSBocmVmPSI/YT1sb2dpbiIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtbmluZSI+PHNwYW4gY2xhc3M9InR4dCI+R0VUIFNUQVJURUQ8L3NwYW4+PC9hPgogICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwhLS1QbGFuLS0+CiAgICAgICAgICAgPCEtLVBsYW4tLT4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBzcGFjZS15LTYiPgogICAgICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtbGcgdGV4dC1ibHVlLTQwMCBmb250LWJvbGQiPk1JTklORyBQTEFOPC9oMT4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBzcGFjZS15LTMgdGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4zMCUgRGFpbHkgZm9yIDMgZGF5czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5NaW5pbXVtIERlcG9zaXQ6ICQyMCwwMDA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TWF4aW11bSBEZXBvc2l0OiAkNDksOTk5PC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNhcGl0YWwgd2lsbCByZXR1cm4gYmFjazwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4yNC83IHN1cHBvcnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TGlmZSB0aW1lIGludmVzdG1lbnQ6IFllczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5SZWZlcnJhbCBjb21tbWlzaW9uIC0gMTAlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICA8YSBocmVmPSI/YT1sb2dpbiIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtbmluZSI+PHNwYW4gY2xhc3M9InR4dCI+R0VUIFNUQVJURUQ8L3NwYW4+PC9hPgogICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwhLS1QbGFuLS0+CiAgICAgICAgICAgPCEtLVBsYW4tLT4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBzcGFjZS15LTYiPgogICAgICAgICAgICAgICA8aDEgY2xhc3M9InRleHQtbGcgdGV4dC1ibHVlLTQwMCBmb250LWJvbGQiPk9GRklDSUFMIFBMQU48L2gxPgogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGZsZXgtY29sIHNwYWNlLXktMyB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjUwJSBhZnRlciAyNCBob3Vyczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5NaW5pbXVtIERlcG9zaXQ6ICQ1MCwwMDA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TWF4aW11bSBEZXBvc2l0OiAkVW5saW1pdGVkPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBzcGFjZS14LTIgdGV4dC1iYXNlIj4KICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgY2xhc3M9ImgtNSB3LTUiIHdpZHRoPSI0NCIgaGVpZ2h0PSI0NCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlPSIjMmMzZTUwIiBmaWxsPSJub25lIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIHN0cm9rZT0ibm9uZSIvPjxwYXRoIGQ9Im05IDExIDMgMyA4LTgiLz48cGF0aCBkPSJNMjAgMTJ2NmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoOSIvPjwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNhcGl0YWwgd2lsbCByZXR1cm4gYmFjazwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4yNC83IHN1cHBvcnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIHNwYWNlLXgtMiB0ZXh0LWJhc2UiPgogICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBjbGFzcz0iaC01IHctNSIgd2lkdGg9IjQ0IiBoZWlnaHQ9IjQ0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2U9IiMyYzNlNTAiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgc3Ryb2tlPSJub25lIi8+PHBhdGggZD0ibTkgMTEgMyAzIDgtOCIvPjxwYXRoIGQ9Ik0yMCAxMnY2YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmg5Ii8+PC9zdmc+CiAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+TGlmZSB0aW1lIGludmVzdG1lbnQ6IFllczwvc3Bhbj4KICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0yIHRleHQtYmFzZSI+CiAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJoLTUgdy01IiB3aWR0aD0iNDQiIGhlaWdodD0iNDQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZT0iIzJjM2U1MCIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJtOSAxMSAzIDMgOC04Ii8+PHBhdGggZD0iTTIwIDEydjZhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDkiLz48L3N2Zz4KICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5SZWZlcnJhbCBjb21tbWlzaW9uIC0gMjUlPC9zcGFuPgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICA8YSBocmVmPSI/YT1sb2dpbiIgY2xhc3M9InRoZW1lLWJ0biBidG4tc3R5bGUtbmluZSI+PHNwYW4gY2xhc3M9InR4dCI+R0VUIFNUQVJURUQ8L3NwYW4+PC9hPgogICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwhLS1QbGFuLS0+CiAgICAgICA8L2Rpdj4KICAgIDwvZGl2Pgo8L3NlY3Rpb24+CiA8IS0tRW5kIFBsYW5zIFNlY3Rpb24tLT4KCiA8IS0tIEZlYXR1cmVkIFNlY3Rpb24gVHdvIC0tPgogPHNlY3Rpb24gY2xhc3M9ImZlYXR1cmVkLXNlY3Rpb24tdHdvIj4KICAgPGRpdiBjbGFzcz0icGF0ZXJuLWxheWVyIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGNvZGVzL2Zyb250L2ltYWdlcy9iYWNrZ3JvdW5kL3BhdHRlcm4tNy5wbmcpIj48L2Rpdj4KICAgPGRpdiBjbGFzcz0icGF0ZXJuLWxheWVyLXR3byIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChjb2Rlcy9mcm9udC9pbWFnZXMvYmFja2dyb3VuZC9wYXR0ZXJuLTgucG5nKSI+PC9kaXY+CiAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICA8ZGl2IGNsYXNzPSJyb3cgY2xlYXJmaXgiPgoKICAgICAgIDwhLS0gQmxvY2sgQ29sdW1uIC0tPgogICAgICAgPGRpdiBjbGFzcz0iYmxvY2tzLWNvbHVtbiBjb2wtbGctNiBjb2wtbWQtMTIgY29sLXNtLTEyIj4KICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItY29sdW1uIj4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY2xlYXJmaXgiPgoKICAgICAgICAgICAgIDwhLS0gRmVhdHVyZSBCbG9jayAtLT4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYmxvY2sgY29sLWxnLTYgY29sLW1kLTYgY29sLXNtLTEyIj4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94Ij4KICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWJveCI+CiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi10YXhhdGlvbiI+PC9zcGFuPgogICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgIDxoND5UYXhhdGlvbjwvaDQ+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+QXMgYSBnb3Zlcm5hbmNlIG9yaWVudGVkIGludmVzdG1lbnQgZmlybSwgd2UgaGVscCBmdW5kIHB1YmxpYyB3b3JrcyBhbmQgc2VydmljZXPvv71hbmQgdG8gYnVpbGQgYW5kIG1haW50YWluIHRoZSBpbmZyYXN0cnVjdHVyZXMgdXNlZCBpbiBvdXIgcmVzaWRlbnQgY291bnRyeSB0aHJvdWdoIG91ciBwcm9tcHQgdGF4IGZpbGluZ3MuIDwvZGl2PgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXktYm94IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoY29kZXMvZnJvbnQvaW1hZ2VzL3Jlc291cmNlL2ZlYXR1cmUtMS5qcGcpIj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXktaW5uZXIiPgogICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXR3byI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi10d28taW5uZXIgZmxhdGljb24tdGF4YXRpb24iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICA8aDU+PGEgaHJlZj0iP2E9c2lnbnVwIj5UYXhhdGlvbjwvYT48L2g1PgogICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgPCEtLSBGZWF0dXJlIEJsb2NrIC0tPgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ibG9jayBjb2wtbGctNiBjb2wtbWQtNiBjb2wtc20tMTIiPgogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWluZGV4Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPGg0PlRyYWRlcyAmIFN0b2NrPC9oND4KICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5PdXIgdHJhZGVycyBlbmdhZ2UgaW4gbWFya2V0IHRyYWRlcyBjb25kdWN0aW5nIGV4dGVuc2l2ZSByZXNlYXJjaCBhbmQgb2JzZXJ2YXRpb24gb2YgaG93IGZpbmFuY2lhbCBtYXJrZXRzIHBlcmZvcm0gYXQgdGhhdCBjZXJ0YWluIHBvaW50IGluIHRpbWUgYmVmb3JlIGV4ZWN1dGlvbi4gPC9kaXY+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheS1ib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybChjb2Rlcy9mcm9udC9pbWFnZXMvcmVzb3VyY2UvZmVhdHVyZS0xLmpwZykiPgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheS1pbm5lciI+CiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tdHdvIj4KICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXR3by1pbm5lciBmbGF0aWNvbi1pbmRleCI+PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgIDxoNT48YSBocmVmPSI/YT1zaWdudXAiPlRyYWRlICYgU3RvY2s8L2E+PC9oNT4KICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICA8IS0tIEZlYXR1cmUgQmxvY2sgLS0+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWJsb2NrIGNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3giPgogICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tZWZmZWN0aXZlIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPGg0PkNvcnBvcmF0ZSBGaW5hbmNlPC9oND4KICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5XZSB3aWxsIGFjdGl2ZWx5IG1hbmFnZSB5b3VyIHBvcnRmb2xpbyB0byBlbnN1cmUgaXQgcmVtYWlucyBhcHByb3ByaWF0ZSBmb3IgdGhlIGV2ZXItY2hhbmdpbmcgY29uZGl0aW9ucyBpbiB0aGUgZ2xvYmFsIGVjb25vbXkgYW5kIGZpbmFuY2lhbCBtYXJrZXRzLjwvZGl2PgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXktYm94IiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTp1cmwoY29kZXMvZnJvbnQvaW1hZ2VzL3Jlc291cmNlL2ZlYXR1cmUtMS5qcGcpIj4KICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im92ZXJsYXktaW5uZXIiPgogICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXR3byI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi10d28taW5uZXIgZmxhdGljb24tZWZmZWN0aXZlIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgPGg1PjxhIGhyZWY9Ij9hPXNpZ251cCI+Q29ycG9yYXRlIEZpbmFuY2U8L2E+PC9oNT4KICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICA8IS0tIEZlYXR1cmUgQmxvY2sgLS0+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWJsb2NrIGNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS0xMiI+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3giPgogICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tcmV2ZW51ZSI+PC9zcGFuPgogICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgIDxoND5SaXNrIE1hbmFnbWVudDwvaDQ+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dCI+V2UgZW5zdXJlIHRoYXQgcmV0dXJucyBhcmUgc2F0aXNmYWN0b3J5IGFuZCBjb25zaXN0ZW50IHdpdGggdGhlIGxldmVscyBvZiByaXNrIGJlaW5nIHRha2VuIGFuZCBhbHNvIGhhdmUgcmVndWxhciBwZWVyIHJldmlld3MgZm9yIGludmVzdG1lbnQgc3VpdGFiaWxpdHkuPC9kaXY+CiAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheS1ib3giIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybChjb2Rlcy9mcm9udC9pbWFnZXMvcmVzb3VyY2UvZmVhdHVyZS0xLmpwZykiPgogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheS1pbm5lciI+CiAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tdHdvIj4KICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLXR3by1pbm5lciBmbGF0aWNvbi1yZXZlbnVlIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgPGg1PjxhIGhyZWY9InNlcnZpY2VzLXNpbmdsZS5odG1sIj5SaXNrIE1hbmFnbWVudDwvYT48L2g1PgogICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJyZWFkLW1vcmUiIGhyZWY9Ij9hPXNpZ251cCI+Sm9pbiBOb3c8L2E+CiAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgIDwvZGl2PgogICAgICAgICA8L2Rpdj4KICAgICAgIDwvZGl2PgoKICAgICAgIDwhLS0gQ29udGVudCBDb2x1bW4gLS0+CiAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWNvbHVtbiBjb2wtbGctNiBjb2wtbWQtMTIgY29sLXNtLTEyIj4KICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItY29sdW1uIj4KICAgICAgICAgICA8IS0tIFNlYyBUaXRsZSAtLT4KICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWMtdGl0bGUiPgogICAgICAgICAgICAgPGgyPkFuIGludmVzdG1lbnQgaW4ga25vd2xlZGdlIDxicj4gcGF5cyB0aGUgYmVzdCBpbnRlcmVzdC48L2gyPgogICAgICAgICAgICAgCiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPCEtLSBCbG9ja3MgT3V0ZXIgLS0+CiAgICAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2tzLW91dGVyIj4KCiAgICAgICAgICAgICA8IS0tIEZlYXR1cmUgQmxvY2sgVHdvIC0tPgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ibG9jay10d28iPgogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWluZGV4Ij48L3NwYW4+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPGg0PjxhIGhyZWY9Ij9hPXNpZ251cCI+RXRoaWNhbCBJbnZlc3RtZW50czwvYT48L2g0PgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPldlIGhhdmUgYSBkZWRpY2F0ZWQgdGVhbSBmb3IgY2xpZW50cyB3aG8gd2FudCAxMDAlIGV0aGljYWwgYW5kIHN1c3RhaW5hYmxlIGludmVzdG1lbnQgbWFuYWdlbWVudC48L2Rpdj4KICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICA8IS0tIEZlYXR1cmUgQmxvY2sgVHdvIC0tPgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ibG9jay10d28iPgogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94Ij4KICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLXBsYW5uaW5nLTEiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICA8aDQ+PGEgaHJlZj0iP2E9c2lnbnVwIj5Qcm9mZXNzaW9uYWwgRGF0YSBBbmFseXNpczwvYT48L2g0PgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPldlIGhhdmUgaW52ZXN0ZWQgaW4gb3VyIGFiaWxpdHkgdG8gbW9uaXRvciBob3cgeW91ciBpbnZlc3RtZW50cyBwZXJmb3JtLiBTb3BoaXN0aWNhdGVkLCBtYXJrZXQtbGVhZGluZyBzb2Z0d2FyZSBlbmFibGVzIHVzIGRvIHRoaXMuPC9kaXY+CiAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgPCEtLSBGZWF0dXJlIEJsb2NrIFR3byAtLT4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtYmxvY2stdHdvIj4KICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94Ij4KICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWJveCI+CiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1yZXZlbnVlIj48L3NwYW4+CiAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgPGg0PjxhIGhyZWY9Ij9hPXNpZ251cCI+QnVzaW5lc3MgU3RyYXRlZ3k8L2E+PC9oND4KICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0Ij5PdXIgZGl2ZXJzaWZpZWQgaW52ZXN0bWVudCBzdHJhdGVneSBjb21iaW5lcyBkaWZmZXJlbnQgYXNzZXRzIGFuZCBjYW4gYmUgb25lIG9mIHRoZSBiZXN0IHdheXMgdG8gcHJlc2VydmUgYW5kIGVuaGFuY2Ugd2VhbHRoIG92ZXIgdGhlIGxvbmcgdGVybS48L2Rpdj4KICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstYm94IGNsZWFyZml4Ij4KICAgICAgICAgICAgIDxhIGhyZWY9Ij9hPXNpZ251cCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJ0aGVtZS1idG4gYnRuLXN0eWxlLW5pbmUgc3R5bGUtdHdvIj48c3BhbiBjbGFzcz0idHh0Ij5SZWdpc3Rlcjwvc3Bhbj48L2E+CiAgICAgICAgICAgPC9kaXY+CgogICAgICAgICA8L2Rpdj4KICAgICAgIDwvZGl2PgoKICAgICA8L2Rpdj4KICAgPC9kaXY+CiA8L3NlY3Rpb24+CiA8IS0tIEVuZCBGZWF0dXJlZCBTZWN0aW9uIFR3byAtLT4KCjxzZWN0aW9uIGNsYXNzPSJjb3VudGVyLXNlY3Rpb24iIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoY29kZXMvZnJvbnQvaW1hZ2VzL2JhY2tncm91bmQvMS5qcGcpIj4KICAgIAk8ZGl2IGNsYXNzPSJhdXRvLWNvbnRhaW5lciI+CgkJCQoJCQk8IS0tIEZhY3QgQ291bnRlciAtLT4KCQkJPGRpdiBjbGFzcz0iZmFjdC1jb3VudGVyIj4KCQkJCTxkaXYgY2xhc3M9InJvdyBjbGVhcmZpeCI+CgkJCQkKCQkJCQk8IS0tQ29sdW1uLS0+CgkJCQkJPGRpdiBjbGFzcz0iY29sdW1uIGNvdW50ZXItY29sdW1uIGNvbC1sZy02IGNvbC1tZC02IGNvbC1zbS0xMiI+CgkJCQkJCTxkaXYgY2xhc3M9ImlubmVyIHdvdyBmYWRlSW5MZWZ0IiBkYXRhLXdvdy1kZWxheT0iMG1zIiBkYXRhLXdvdy1kdXJhdGlvbj0iMTUwMG1zIj4KCQkJCQkJCTxkaXYgY2xhc3M9ImNvdW50LW91dGVyIGNvdW50LWJveCI+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImNvdW50LXRleHQiIGRhdGEtc3BlZWQ9IjMwMDBtcyIgZGF0YS1zdG9wPSI1MjEwIj4wPC9zcGFuPisKCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb3VudGVyLXRpdGxlIj5NZW1iZXJzPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQoJCQkJCTwhLS1Db2x1bW4tLT4KCQkJCQk8ZGl2IGNsYXNzPSJjb2x1bW4gY291bnRlci1jb2x1bW4gY29sLWxnLTYgY29sLW1kLTYgY29sLXNtLTEyIj4KCQkJCQkJPGRpdiBjbGFzcz0iaW5uZXIgd293IGZhZGVJbkxlZnQiIGRhdGEtd293LWRlbGF5PSIwbXMiIGRhdGEtd293LWR1cmF0aW9uPSIxNTAwbXMiPgoJCQkJCQkJPGRpdiBjbGFzcz0iY291bnQtb3V0ZXIgY291bnQtYm94Ij4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iY291bnQtdGV4dCIgZGF0YS1zcGVlZD0iMjAwMCIgZGF0YS1zdG9wPSIyMTUiPjA8L3NwYW4+KwoJCQkJCQkJCTxkaXYgY2xhc3M9ImNvdW50ZXItdGl0bGUiPkNsaWVudO+/vXMgRmVlZGJhY2s8L2Rpdj4KCQkJCQkJCTwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCgkJCQkJPCEtLUNvbHVtbi0tPgoJCQkJCTwhLS08ZGl2IGNsYXNzPSJjb2x1bW4gY291bnRlci1jb2x1bW4gY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTEyIj4KCQkJCQkJPGRpdiBjbGFzcz0iaW5uZXIgd293IGZhZGVJbkxlZnQiIGRhdGEtd293LWRlbGF5PSI2MDBtcyIgZGF0YS13b3ctZHVyYXRpb249IjE1MDBtcyI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb3VudC1vdXRlciBjb3VudC1ib3giPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJjb3VudC10ZXh0IiBkYXRhLXNwZWVkPSI3ODAwMCIgZGF0YS1zdG9wPSIxNSI+MDwvc3Bhbj4rCgkJCQkJCQkJPGRpdiBjbGFzcz0iY291bnRlci10aXRsZSI+RGVwb3NpdHM8L2Rpdj4KCQkJCQkJCTwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCgkJCQkJPCEtLUNvbHVtbi0tPgoJCQkJCTwhLS08ZGl2IGNsYXNzPSJjb2x1bW4gY291bnRlci1jb2x1bW4gY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTEyIj4KCQkJCQkJPGRpdiBjbGFzcz0iaW5uZXIgd293IGZhZGVJbkxlZnQiIGRhdGEtd293LWRlbGF5PSI5MDBtcyIgZGF0YS13b3ctZHVyYXRpb249IjE1MDBtcyI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb3VudC1vdXRlciBjb3VudC1ib3giPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJjb3VudC10ZXh0IiBkYXRhLXNwZWVkPSIxNDA1MDAiIGRhdGEtc3RvcD0iMzEwIj4wPC9zcGFuPisKCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb3VudGVyLXRpdGxlIj5XaXRoZHJhd2FsPC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQkJLS0+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJCQoJCTwvZGl2PgoJPC9zZWN0aW9uPgoKIDwhLS0gUHJvY2VzcyBTZWN0aW9uIC0tPgogPHNlY3Rpb24gY2xhc3M9InByb2Nlc3Mtc2VjdGlvbiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChjb2Rlcy9mcm9udC9pbWFnZXMvYmFja2dyb3VuZC9wYXR0ZXJuLTAucG5nKSI+CiAgIDxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KICAgICA8ZGl2IGNsYXNzPSJzZWMtdGl0bGUgY2VudGVyZWQgc3R5bGUtdGhyZWUiPgogICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkhvdyBXRSBXb3JrPC9kaXY+CiAgICAgICA8aDI+VGhyZWUgU2ltcGxlIFN0ZXBzIDxicj4gV29ya2luZyBQcm9jZXNzPC9oMj4KICAgICAgIAogICAgIDwvZGl2PgogICAgIDxkaXYgY2xhc3M9ImlubmVyLWNvbnRhaW5lciI+CiAgICAgICA8ZGl2IGNsYXNzPSJyb3cgY2xlYXJmaXgiPgoKICAgICAgICAgPCEtLSBQcm9jZXNzIEJsb2NrIC0tPgogICAgICAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLWJsb2NrIGNvbC1sZy00IGNvbC1tZC02IGNvbC1zbS0xMiI+CiAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94IHdvdyBmYWRlSW5MZWZ0IiBkYXRhLXdvdy1kZWxheT0iMG1zIiBkYXRhLXdvdy1kdXJhdGlvbj0iMTUwMG1zIj4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2Nlc3MtbnVtYmVyIj4wMTwvZGl2PgogICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICAgICAgIDxoMz5SZXNlYXJjaDwvaDM+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPkZpbmQgU291cmNlcywgZXZhbHVhdGUgU291cmNlcywgZXN0YWJsaXNoIGEgcG90ZW50aWFsIG1hcmtldC48L2Rpdj4KICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwvZGl2PgogICAgICAgICA8L2Rpdj4KCiAgICAgICAgIDwhLS0gUHJvY2VzcyBCbG9jayAtLT4KICAgICAgICAgPGRpdiBjbGFzcz0icHJvY2Vzcy1ibG9jayBjb2wtbGctNCBjb2wtbWQtNiBjb2wtc20tMTIiPgogICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCB3b3cgZmFkZUluVXAiIGRhdGEtd293LWRlbGF5PSIwbXMiIGRhdGEtd293LWR1cmF0aW9uPSIxNTAwbXMiPgogICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvY2Vzcy1udW1iZXIiPjAyPC9kaXY+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICAgICAgICAgPGgzPlRhcmdldGluZzwvaDM+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPkJyZWFraW5nIGEgbWFya2V0IGludG8gc2VnbWVudHMgYW5kIG91dGxpbmUgdGFyZ2V0IGdvYWxzLjwvZGl2PgogICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgPC9kaXY+CiAgICAgICAgIDwvZGl2PgoKICAgICAgICAgPCEtLSBQcm9jZXNzIEJsb2NrIC0tPgogICAgICAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLWJsb2NrIGNvbC1sZy00IGNvbC1tZC02IGNvbC1zbS0xMiI+CiAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94IHdvdyBmYWRlSW5SaWdodCIgZGF0YS13b3ctZGVsYXk9IjBtcyIgZGF0YS13b3ctZHVyYXRpb249IjE1MDBtcyI+CiAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9jZXNzLW51bWJlciI+MDM8L2Rpdj4KICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgICAgICAgICA8aDM+UmVzdWx0czwvaDM+CiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQiPkFjdGl2YXRlIG1hcmtldCBlbnRyaWVzIHdpdGggcHJlLWV2YWx1YXRlZCByZXN1bHRzIGFuZCBleGl0IHBvaW50cy48L2Rpdj4KICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgIDwvZGl2PgogICAgICAgICA8L2Rpdj4KCiAgICAgICA8L2Rpdj4KCiAgICAgPC9kaXY+CiAgIDwvZGl2PgogPC9zZWN0aW9uPgogPHNlY3Rpb24gY2xhc3M9InByb2plY3RzLXNlY3Rpb24iPgoJCTxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KCQkJPGRpdiBjbGFzcz0ic2VjLXRpdGxlIGxpZ2h0IGNsZWFyZml4Ij4KCQkJCTxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CgkJCQkJCgkJCQkJPGgyPk91ciBTZXJ2aWNlczwvaDI+CgkJCQk8L2Rpdj4KCQkJCQoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9ImZvdXItaXRlbS1jYXJvdXNlbCBvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIj4KCQkJCQoJCQkJPCEtLSBQcm9qZWN0IEJsb2NrIFR3byAtLT4KCQkJCTxkaXYgY2xhc3M9InByb2plY3QtYmxvY2stdHdvIj4KCQkJCQk8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgoJCQkJCQk8ZGl2IGNsYXNzPSJpbWFnZSI+CgkJCQkJCQk8YSBocmVmPSIvP2E9Y3VzdCZwYWdlPWNyeXB0b190cmFkaW5nIj48aW1nIHNyYz0iY29kZXMvY3NzL2Rvd25sb2FkJTIwKDUpLmpwZyIgYWx0PSIiIC8+PC9hPgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibG93ZXItY29udGVudCI+CgkJCQkJCQk8YSBocmVmPSIvP2E9Y3VzdCZwYWdlPWNyeXB0b190cmFkaW5nIiBjbGFzcz0iYXJyb3ctYm94Ij48c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1sb25nLWFycm93LXBvaW50aW5nLXRvLXRoZS1yaWdodCI+PC9zcGFuPjwvYT4KCQkJCQkJCTxoND48YSBocmVmPSIvP2E9Y3VzdCZwYWdlPWNyeXB0b190cmFkaW5nIj5DcnlwdG9jdXJyZW5jeSBUcmFkaW5nPC9hPjwvaDQ+CgkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0Ij5DcnlwdG9jdXJyZW5jeSBUcmFkaW5nIGlzIHRoZSBGb3JleCAoRm9yZWlnbiBFeGNoYW5nZSkgb2YgY3J5cHRvY3VycmVuY2llcy4gVGhpcyBtZWFucywgeW91IGFyZSBhYmxlIHRvIHRyYWRlIGRpZmZlcmVudCBiaXRjb2luIGFuZCBhbHRjb2luIG5vcm1hbGx5Li4uIAoJCQkJCQkJPGEgaHJlZj0iLz9hPWN1c3QmcGFnZT1jcnlwdG9fdHJhZGluZyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxnIGJ0bi1pbmZvIj5SZWFkIG1vcmU8L2J1dHRvbj48L2E+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCQoJCQkJPCEtLSBQcm9qZWN0IEJsb2NrIFR3byAtLT4KCQkJCTxkaXYgY2xhc3M9InByb2plY3QtYmxvY2stdHdvIj4KCQkJCQk8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgoJCQkJCQk8ZGl2IGNsYXNzPSJpbWFnZSI+CgkJCQkJCQk8YSBocmVmPSIvP2E9Y3VzdCZwYWdlPXJlYWxfZXN0YXRlIj48aW1nIHNyYz0iY29kZXMvY3NzL3JlYWwlMjBlc3RhdGUlMjAoMSkuanBnIiBhbHQ9IiIgLz48L2E+CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsb3dlci1jb250ZW50Ij4KCQkJCQkJCTxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9cmVhbF9lc3RhdGUiIGNsYXNzPSJhcnJvdy1ib3giPjxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWxvbmctYXJyb3ctcG9pbnRpbmctdG8tdGhlLXJpZ2h0Ij48L3NwYW4+PC9hPgoJCQkJCQkJPGg0PjxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9cmVhbF9lc3RhdGUiPlJlYWwgRXN0YXRlPC9hPjwvaDQ+CgkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0Ij5nb2xkZW5wcm9maXRzdG9jayBvZmZlcnMgaW52ZXN0bWVudCBvcHRpb25zIGluIG1vc3QgbWFqb3IgY2l0aWVzIGZvciBtdWx0aS1mYW1pbHksIG9mZmljZSwgcmV0YWlsIGFuZCBob3NwaXRhbGl0eSBwcm9wZXJ0aWVzLiBUaGUgcGxhdGZvcm0gZ2l2ZXMgaW52ZXN0b3JzLi4uCgkJCQkJCQk8YSBocmVmPSIvP2E9Y3VzdCZwYWdlPXJlYWxfZXN0YXRlIj48YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ0biBidG4tbGcgYnRuLWluZm8iPlJlYWQgbW9yZTwvYnV0dG9uPjwvYT4KCQkJCQkJCTwvZGl2PgoJCQkJCQk8L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoJCQkJCgkJCQk8IS0tIFByb2plY3QgQmxvY2sgVHdvIC0tPgoJCQkJPGRpdiBjbGFzcz0icHJvamVjdC1ibG9jay10d28iPgoJCQkJCTxkaXYgY2xhc3M9ImlubmVyLWJveCI+CgkJCQkJCTxkaXYgY2xhc3M9ImltYWdlIj4KCQkJCQkJCTxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9b2lsX2FuZF9nYXMiPjxpbWcgc3JjPSJjb2Rlcy9jc3Mvb2lsJTIwYW5kJTIwZ2FzJTIwKDEpLmpwZyIgYWx0PSIiIC8+PC9hPgoJCQkJCQk8L2Rpdj4KCQkJCQkJPGRpdiBjbGFzcz0ibG93ZXItY29udGVudCI+CgkJCQkJCQk8YSBocmVmPSIvP2E9Y3VzdCZwYWdlPW9pbF9hbmRfZ2FzIiBjbGFzcz0iYXJyb3ctYm94Ij48c3BhbiBjbGFzcz0iaWNvbiBmbGF0aWNvbi1sb25nLWFycm93LXBvaW50aW5nLXRvLXRoZS1yaWdodCI+PC9zcGFuPjwvYT4KCQkJCQkJCTxoND48YSBocmVmPSIvP2E9Y3VzdCZwYWdlPW9pbF9hbmRfZ2FzIj5PaWwgYW5kIEdhczwvYT48L2g0PgoJCQkJCQkJPGRpdiBjbGFzcz0idGV4dCI+SW52ZXN0b3JzIGxvb2tpbmcgZm9yIHBvcnRmb2xpbyBkaXZlcnNpZmljYXRpb24gdGhyb3VnaCBzZWN0b3Itc3BlY2lmaWMgZnVuZHMgY2FuIGZpbmQgbXVsdGlwbGUgb3Bwb3J0dW5pdGllcyB3aXRoaW4gdGhlIGVuZXJneSBpbmR1c3RyeSDvv70gYW5kIG1vcmUgc3BlY2lmaWNhbGx5LC4uLgoJCQkJCQkJPGEgaHJlZj0iLz9hPWN1c3QmcGFnZT1vaWxfYW5kX2dhcyI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxnIGJ0bi1pbmZvIj5SZWFkIG1vcmU8L2J1dHRvbj48L2E+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJCTxkaXYgY2xhc3M9InByb2plY3QtYmxvY2stdHdvIj4KCQkJCQk8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgoJCQkJCQk8ZGl2IGNsYXNzPSJpbWFnZSI+CgkJCQkJCQk8YSBocmVmPSIvP2E9Y3VzdCZwYWdlPW9pbF9hbmRfZ2FzIj48aW1nIHNyYz0iY29kZXMvZnJvbnQvaW1hZ2VzL2xvYW4uanBnIiBhbHQ9IiIgLz48L2E+CgkJCQkJCTwvZGl2PgoJCQkJCQk8ZGl2IGNsYXNzPSJsb3dlci1jb250ZW50Ij4KCQkJCQkJCTxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9bG9hbiIgY2xhc3M9ImFycm93LWJveCI+PHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tbG9uZy1hcnJvdy1wb2ludGluZy10by10aGUtcmlnaHQiPjwvc3Bhbj48L2E+CgkJCQkJCQk8aDQ+PGEgaHJlZj0iLz9hPWN1c3QmcGFnZT1vaWxfYW5kX2dhcyI+TG9hbjwvYT48L2g0PgoJCQkJCQkJPGRpdiBjbGFzcz0idGV4dCI+R2V0dGluZyBhIGxvYW4gZG9lc27vv710IGhhdmUgdG8gYmUgaW50aW1pZGF0aW5nLCB3aXRoIHRoZSByaWdodCBsZW5kZXIgaXQgY2FuIGJlIGEgc2ltcGxlIHByb2Nlc3MuIFlvdSBvbmx5IG5lZWQgYSBsZW5kZXIgY29tbWl0dGVkIHRvIHRha2luZyB0aGUgbXlzdGVyeSBvdXQgb2YgdGhlIG1vcnRnYWdlIGxvYW4gcHJvY2VzcyEuLi4KCQkJCQkJCTxhIGhyZWY9Ii8/YT1jdXN0JnBhZ2U9bG9hbiI+PGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJidG4gYnRuLWxnIGJ0bi1pbmZvIj5SZWFkIG1vcmU8L2J1dHRvbj48L2E+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvc2VjdGlvbj4KCiA8c2VjdGlvbiBjbGFzcz0idGVzdGltb25pYWwtc2VjdGlvbiI+CgkJPGRpdiBjbGFzcz0icGF0ZXJuLWxheWVyIiBzdHlsZT0iYmFja2dyb3VuZC1pbWFnZTogdXJsKGNvZGVzL2Zyb250L2ltYWdlcy9iYWNrZ3JvdW5kL3BhdHRlcm4tMy5wbmcpIj48L2Rpdj4KCQk8ZGl2IGNsYXNzPSJhdXRvLWNvbnRhaW5lciI+CgkJCTwhLS0gU2VjIFRpdGxlIC0tPgoJCQk8ZGl2IGNsYXNzPSJzZWMtdGl0bGUgbGlnaHQgY2VudGVyZWQiPgoJCQkJPGgyPldoYXQgQ2xpZW50cyBTYXkgQWJvdXQgZ29sZGVucHJvZml0c3RvY2s8L2gyPgoJCQkJPGRpdiBjbGFzcz0idGV4dCI+RmluZCByZXZpZXdzIHdyaXR0ZW4gYnkgY3VzdG9tZXIgZm9yIGN1c3RvbWVyIHRvIGhlbHAgeW91IGNob29zZSA8YnI+IHRoZSBiZXN0IHNlcnZpY2UgZm9yIHlvdSwgZmlyc3QgaGFuZCBleHBlcmllbmNlLjwvZGl2PgoJCQk8L2Rpdj4KCQkJCgkJCTxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLW91dGVyIj4KCQkJCQoJCQkJPCEtLSBQcm9kdWN0IFRodW1icyBDYXJvdXNlbCAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsaWVudC10aHVtYi1vdXRlciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpZW50LXRodW1icy1jYXJvdXNlbCBvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIj4KCQkJCQkKICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWItaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZmlndXJlIGNsYXNzPSJ0aHVtYi1ib3giPjxpbWcgc3JjPSJjb2Rlcy9mcm9udC9pbWFnZXMvZmlyc3QuanBnIiBhbHQ9IiI+PC9maWd1cmU+CgkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItaW5mbyI+CgkJCQkJCQkJPGRpdiBjbGFzcz0iYXV0aG9yLW5hbWUiPkNST1dOQSBCQVRUSU9OPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0iZGVzaWduYXRpb24iPlNjb3RsYW5kPC9kaXY+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1iLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzcz0idGh1bWItYm94Ij48aW1nIHNyYz0iY29kZXMvZnJvbnQvaW1hZ2VzL3NlY19tYW4ucG5nIiBhbHQ9IiI+PC9maWd1cmU+CgkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItaW5mbyI+CgkJCQkJCQkJPGRpdiBjbGFzcz0iYXV0aG9yLW5hbWUiPkpPSE4gRURNVU5EPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0iZGVzaWduYXRpb24iPlVuaXRlZCBLaW5nZG9tPC9kaXY+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1iLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzcz0idGh1bWItYm94Ij48aW1nIHNyYz0iY29kZXMvZnJvbnQvaW1hZ2VzL3RoaXJkX21hbi5qcGciIGFsdD0iIj48L2ZpZ3VyZT4KCQkJCQkJCTxkaXYgY2xhc3M9ImF1dGhvci1pbmZvIj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItbmFtZSI+Sk9TSCBTVEFETEVSPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0iZGVzaWduYXRpb24iPk5FVyBZT1JLPC9kaXY+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3M9InRodW1iLWJveCI+PGltZyBzcmM9ImNvZGVzL2Zyb250L2ltYWdlcy9hbm90aGVyLmpwZyIgYWx0PSIiPjwvZmlndXJlPgoJCQkJCQkJPGRpdiBjbGFzcz0iYXV0aG9yLWluZm8iPgoJCQkJCQkJCTxkaXYgY2xhc3M9ImF1dGhvci1uYW1lIj5KQU1FUyBIQU5TT048L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkZXNpZ25hdGlvbiI+R2VybWFueTwvZGl2PgoJCQkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3M9InRodW1iLWJveCI+PGltZyBzcmM9ImNvZGVzL2ltZy9hZnJpY2EuanBnIiBhbHQ9IiI+PC9maWd1cmU+CgkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItaW5mbyI+CgkJCQkJCQkJPGRpdiBjbGFzcz0iYXV0aG9yLW5hbWUiPklSQUdFTkEgSVNBUk88L2Rpdj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJkZXNpZ25hdGlvbiI+UmV3YW5kYTwvZGl2PgoJCQkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYi1pdGVtIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3M9InRodW1iLWJveCI+PGltZyBzcmM9ImNvZGVzL2Zyb250L2ltYWdlcy9hdXRob3ItNi5qcGciIGFsdD0iIj48L2ZpZ3VyZT4KCQkJCQkJCTxkaXYgY2xhc3M9ImF1dGhvci1pbmZvIj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJhdXRob3ItbmFtZSI+QURSSUFOIENMQVJLPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0iZGVzaWduYXRpb24iPlBhcmlzPC9kaXY+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkKICAgICAgICAgICAgCTwhLS0gQ2xpZW50IFRlc3RpbW9uaWFsIENhcm91c2VsIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2xpZW50LXRlc3RpbW9uaWFsLWNhcm91c2VsIG93bC1jYXJvdXNlbCBvd2wtdGhlbWUiPgogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgPCEtLVRlc3RpbW9uaWFsIEJsb2NrIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94Ij4KCQkJCQkJCTxkaXYgY2xhc3M9InRleHQiPllvdSBrbm93IGdvb2Qgb3Bwb3J0dW5pdHkgd2hlbiB5b3Ugc2VlIG9uZSwgZ29sZGVucHJvZml0c3RvY2ssIHRoZSBiZXN0IGludmVzdG1lbnQgcGxhdGZvcm0gaSBoYXZlIGludm9sdmVkIHdpdGguIDxicj4gIDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0icXVvdGUtb3V0ZXIiPgoJCQkJCQkJCTxkaXYgY2xhc3M9InF1b3RlLWljb24gZmxhdGljb24tcXVvdGUtMyI+PC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9InJhdGluZyI+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIDwhLS1UZXN0aW1vbmlhbCBCbG9jayAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0Ij5JIGdyZWF0bHkgYXBwcmVjaWF0ZSB3b3JraW5nIHdpdGggdGhlIHByb2Zlc3Npb25hbCBhbmQgZGVkaWNhdGVkIDxicj4gdGVhbXMgYXQgZ29sZGVucHJvZml0c3RvY2suIEkgZmVlbCB0aGF0IHRoZXkgc3Ryb25nbHkgcmVjb2duaXplIHRoZSBvcHBvcnR1bml0aWVzIHRvIHBhcnRuZXIgdG9nZXRoZXIgZm9yIDxicj4gbXV0dWFsbHkgc3VjY2Vzc2Z1bCBidXNpbmVzcy4gPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJxdW90ZS1vdXRlciI+CgkJCQkJCQkJPGRpdiBjbGFzcz0icXVvdGUtaWNvbiBmbGF0aWNvbi1xdW90ZS0zIj48L2Rpdj4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0icmF0aW5nIj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCgkJCQkJPCEtLVRlc3RpbW9uaWFsIEJsb2NrIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94Ij4KCQkJCQkJCTxkaXYgY2xhc3M9InRleHQiPlJlY29tbWVuZGVkIGludmVzdG1lbnQgY29tcGFueSBmb3IgeW91IHdobyBhcmUgYWx3YXlzIGxvb2tpbmcgZm9yIGdvb2QgaW52ZXN0bWVudCB3aXRoIGdvb2Qgd2Vla2x5IHJldHVybnMsIHN3aWZ0IHdpdGhkcmF3YWwsIGFuZCBleGNlbGxlbnQgc3VwcG9ydC48L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9InF1b3RlLW91dGVyIj4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJxdW90ZS1pY29uIGZsYXRpY29uLXF1b3RlLTMiPjwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJyYXRpbmciPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICA8IS0tVGVzdGltb25pYWwgQmxvY2sgLS0+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtYmxvY2siPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbm5lci1ib3giPgoJCQkJCQkJPGRpdiBjbGFzcz0idGV4dCI+SSBncmVhdGx5IGFwcHJlY2lhdGUgd29ya2luZyB3aXRoIHRoZSBwcm9mZXNzaW9uYWwgYW5kIGRlZGljYXRlZCA8YnI+IHRlYW1zIGF0IGdvbGRlbnByb2ZpdHN0b2NrLiBJIGZlZWwgdGhhdCB0aGV5IHN0cm9uZ2x5IHJlY29nbml6ZSB0aGUgb3Bwb3J0dW5pdGllcyB0byBwYXJ0bmVyIHRvZ2V0aGVyIGZvciA8YnI+IG11dHVhbGx5IHN1Y2Nlc3NmdWwgYnVzaW5lc3MuIDwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0icXVvdGUtb3V0ZXIiPgoJCQkJCQkJCTxkaXYgY2xhc3M9InF1b3RlLWljb24gZmxhdGljb24tcXVvdGUtMyI+PC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9InJhdGluZyI+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgoJCQkJCQoJCQkJCTwhLS1UZXN0aW1vbmlhbCBCbG9jayAtLT4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1ibG9jayI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyLWJveCI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJ0ZXh0Ij5JIGdvdCByZWZlcnJlZCBieSBhIGZyaWVuZCBhbmQgSSBjYW7vv710IHN0b3AgdG8gYXBwcmVjaWF0ZSBteSBmcmllbmQuPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJxdW90ZS1vdXRlciI+CgkJCQkJCQkJPGRpdiBjbGFzcz0icXVvdGUtaWNvbiBmbGF0aWNvbi1xdW90ZS0zIj48L2Rpdj4KCQkJCQkJCTwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0icmF0aW5nIj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQk8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkJCgkJCQkJPCEtLVRlc3RpbW9uaWFsIEJsb2NrIC0tPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWJsb2NrIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5uZXItYm94Ij4KCQkJCQkJCTxkaXYgY2xhc3M9InRleHQiPkkga25vdyBub3RoaW5nIGFib3V0IHRyYWRpbmcsIGJ1dCBnb2xkZW5wcm9maXRzdG9jayBoYXMgbWFkZSBpdCBwb3NzaWJsZSBmb3IgbWUgdG8gYWNjb21wbGlzaCBzdWNoIHRhc2tzIHdpdGhvdXQgbXkgZGlyZWN0IGludm9sdmVtZW50IHdpdGggZXhjZWxsZW50IHdlZWtseSByZXR1cm5zLiBJIHdpbGwgZW5jb3VyYWdlIGFsbCB0byBnaXZlIGdvbGRlbnByb2ZpdHN0b2NrIGEgdHJ5LjwvZGl2PgoJCQkJCQkJPGRpdiBjbGFzcz0icXVvdGUtb3V0ZXIiPgoJCQkJCQkJCTxkaXYgY2xhc3M9InF1b3RlLWljb24gZmxhdGljb24tcXVvdGUtMyI+PC9kaXY+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9InJhdGluZyI+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJCTxzcGFuIGNsYXNzPSJmYSBmYS1zdGFyIj48L3NwYW4+CgkJCQkJCQkJPHNwYW4gY2xhc3M9ImZhIGZhLXN0YXIiPjwvc3Bhbj4KCQkJCQkJCQk8c3BhbiBjbGFzcz0iZmEgZmEtc3RhciI+PC9zcGFuPgoJCQkJCQkJPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPC9kaXY+CgkJCQkKICAgICAgICAgICAgPC9kaXY+CgkJCQoJCTwvZGl2PgoJPC9zZWN0aW9uPgoJPHNlY3Rpb24gY2xhc3M9ImNvdW50ZXItc2VjdGlvbiIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChjb2Rlcy9mcm9udC9pbWFnZXMvYmFja2dyb3VuZC8xLmpwZykiPgogICAgCTxkaXYgY2xhc3M9ImF1dG8tY29udGFpbmVyIj4KCQkJPGRpdiBjbGFzcz0ic2VjLXRpdGxlIGxpZ2h0IGNsZWFyZml4Ij4KCQkJCTxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CgkJCQkJCgkJCQkJPGgyPk9VUiBQQVJUTkVSUzwvaDI+CgkJCQk8L2Rpdj4KCQkJCQoJCQk8L2Rpdj4KCQkJPCEtLSBGYWN0IENvdW50ZXIgLS0+CgkJCTxkaXYgY2xhc3M9ImZhY3QtY291bnRlciI+CgkJCQk8ZGl2IGNsYXNzPSJyb3cgY2xlYXJmaXgiPgoJCQkJCgkJCQkJPCEtLUNvbHVtbi0tPgoJCQkJCTxkaXYgY2xhc3M9ImNvbHVtbiBjb3VudGVyLWNvbHVtbiBjb2wtbGctMyBjb2wtbWQtNiBjb2wtc20tMTIiPgoJCQkJCQk8aW1nIHNyYz0iY29kZXMvdXBsb2Fkcy9nZWNpby5wbmciIGNsYXNzPSJpbWctcmVzcG9uc2l2ZSIgYWx0PSIiIHdpZHRoPSIyMDBweCI+CgkJCQkJPC9kaXY+CgkJCQoJCQkJCTwhLS1Db2x1bW4tLT4KCQkJCQk8ZGl2IGNsYXNzPSJjb2x1bW4gY291bnRlci1jb2x1bW4gY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTEyIj4KCQkJCQkJPGltZyBzcmM9ImNvZGVzL3VwbG9hZHMvYmluYW5jZS5wbmciIGNsYXNzPSJpbWctcmVzcG9uc2l2ZSIgYWx0PSIiIHdpZHRoPSIyMDBweCI+CgkJCQkJPC9kaXY+CgkJCQoJCQkJCTwhLS1Db2x1bW4tLT4KCQkJCQk8ZGl2IGNsYXNzPSJjb2x1bW4gY291bnRlci1jb2x1bW4gY29sLWxnLTMgY29sLW1kLTYgY29sLXNtLTEyIj4KCQkJCQkJPGltZyBzcmM9ImNvZGVzL3VwbG9hZHMvQ3J5cHRvLmNvbS1sb2dvLnBuZyIgY2xhc3M9ImltZy1yZXNwb25zaXZlIiBhbHQ9IiIgd2lkdGg9IjIwMHB4Ij4KCQkJCQk8L2Rpdj4KCQkJCgkJCQkJPCEtLUNvbHVtbi0tPgoJCQkJCTxkaXYgY2xhc3M9ImNvbHVtbiBjb3VudGVyLWNvbHVtbiBjb2wtbGctMyBjb2wtbWQtNiBjb2wtc20tMTIiPgoJCQkJCQkKCQkJCQk8L2Rpdj4KCQkJCQkKCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQkJCgkJPC9kaXY+Cgk8L3NlY3Rpb24+CgkgPHNlY3Rpb24gY2xhc3M9InRlc3RpbW9uaWFsLXNlY3Rpb24iPgoJCTxkaXYgY2xhc3M9InBhdGVybi1sYXllciIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChjb2Rlcy9mcm9udC9pbWFnZXMvYmFja2dyb3VuZC9wYXR0ZXJuLTMucG5nKSI+PC9kaXY+CgkJPGRpdiBjbGFzcz0iYXV0by1jb250YWluZXIiPgoJCQk8IS0tIFNlYyBUaXRsZSAtLT4KCQkJPGRpdiBjbGFzcz0ic2VjLXRpdGxlIGxpZ2h0IGNlbnRlcmVkIj4KCQkJCTxoMj5MYXRlc3QgTmV3czwvaDI+CgkJCQk8L2Rpdj4KCQkJCgkJCTxzY3JpcHQgc3JjPSJodHRwczovL2NvaW50ZWxlZ3JhcGguY29tL25ld3Mtd2lkZ2V0IiBkYXRhLWN0LXdpZGdldC1saW1pdD0iNSIgZGF0YS1jdC13aWRnZXQtdGhlbWU9ImRhcmsiIGRhdGEtY3Qtd2lkZ2V0LXNpemU9ImJpZyIgZGF0YS1jdC13aWRnZXQtcHJpY2VpbmRleD0idHJ1ZSIgZGF0YS1jdC13aWRnZXQtaW1hZ2VzPSJ0cnVlIiBkYXRhLWN0LXdpZGdldC1jdXJyZW5jeT0iVVNEIiBkYXRhLWN0LXdpZGdldC1sYW5ndWFnZT0iZW4iPjwvc2NyaXB0PgoJCQk8L2Rpdj4KCTwvc2VjdGlvbj4KCQogPGZvb3RlciBjbGFzcz0iZm9vdGVyLXN0eWxlLXR3byIgc3R5bGU9ImJhY2tncm91bmQtaW1hZ2U6IHVybChjb2Rlcy9mcm9udC9pbWFnZXMvYmFja2dyb3VuZC8xMC5qcGcpIj4KICAgIAk8ZGl2IGNsYXNzPSJhdXRvLWNvbnRhaW5lciI+CiAgICAgICAgCTwhLS0gV2lkZ2V0cyBTZWN0aW9uIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXRzLXNlY3Rpb24iPgoJCQkJPGRpdiBjbGFzcz0idXBwZXItYm94Ij4KCQkJCQkKCQkJCTwvZGl2PgoKCQkJCTxkaXYgY2xhc3M9Imxvd2VyLWJveCI+CgkJCQkJPGRpdiBjbGFzcz0icm93IGNsZWFyZml4Ij4KCgkJCQkJCTwhLS0gRm9vdGVyIENvbHVtbiAtLT4KCQkJCQkJPGRpdiBjbGFzcz0iZm9vdGVyLWNvbHVtbiI+CgkJCQkJCQk8ZGl2IGNsYXNzPSJmb290ZXItd2lkZ2V0Ij4KCQkJCQkJCQk8ZGl2IGNsYXNzPSJmb290ZXItdGl0bGUiPgoJCQkJCQkJCQk8aDQ+Q29udGFjdCBJbmZvPC9oND4KCQkJCQkJCQk8L2Rpdj4KCQkJCQkJCQk8dWwgY2xhc3M9ImluZm8tbGlzdCI+CgkJCQkJCQkJICAgCgkJCQkJCQkJCTxsaT4KCQkJCQkJCQkJCTxzcGFuIGNsYXNzPSJpY29uIGZsYXRpY29uLWVtYWlsLTQiPjwvc3Bhbj4KCQkJCQkJCQkJCTxzdHJvbmc+RW1haWw8L3N0cm9uZz4KCQkJCQkJCQkJCWFkbWluQGdvbGRlbnByb2ZpdHN0b2NrLmNvbQoJCQkJCQkJCQk8L2xpPgoJCQkJCQkJCQkKCQkJCQkJCQkJPGxpPgoJCQkJCQkJCQkJPHNwYW4gY2xhc3M9Imljb24gZmxhdGljb24tbWFwcy1hbmQtZmxhZ3MiPjwvc3Bhbj4KCQkJCQkJCQkJCTxzdHJvbmc+QWRkcmVzczwvc3Ryb25nPgoJCQkJCQkJCQkJMTIgU291dGggQnJpZGdlLCBTdWl0ZSAxLCBFZGluYnVyZ2gsPGJyPiBTY290bGFuZCwgRUgxIDFERC4KCQkJCQkJCQkJPC9saT4KCQkJCQkJCQk8L3VsPgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoKCQkJCQkJPCEtLSBGb290ZXIgQ29sdW1uIC0tPgoJCQkJCQk8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KCQkJCQkJCTxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXQiPgoJCQkJCQkJCTxkaXYgY2xhc3M9ImxvZ28iPgoJCQkJCQkJCQk8YSBocmVmPSIjIj48aW1nIHNyYz0ibG9nby5wbmciIGFsdD0iIiB3aWR0aD0iMTAwcHgiLz48L2E+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0ibG9nby10ZXh0Ij5XZSdyZSBhIGRpc3RpbmN0aXZlIHdlYWx0aCBhbmQgaW52ZXN0bWVudCBtYW5hZ2VtZW50IGZpcm0gYWN0aXZlbHkgYnVpbGRpbmcgZW5kdXJpbmcgdmFsdWUgZm9yIG91ciBjbGllbnRzLjwvZGl2PgoJCQkJCQkJCTwhLS0gU29jaWFsIEljb24gVHdvIC0tPgoJCQkJCQkJCQoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoKCQkJCQkJPCEtLSBGb290ZXIgQ29sdW1uIC0tPgoJCQkJCQk8ZGl2IGNsYXNzPSJmb290ZXItY29sdW1uIj4KCQkJCQkJCTxkaXYgY2xhc3M9ImZvb3Rlci13aWRnZXQiPgoJCQkJCQkJCTxkaXYgY2xhc3M9ImZvb3Rlci10aXRsZSI+CgkJCQkJCQkJCTxoND5RdWljayBMaW5rczwvaDQ+CgkJCQkJCQkJPC9kaXY+CgkJCQkJCQkJPGRpdiBjbGFzcz0icm93IGNsZWFyZml4Ij4KCgkJCQkJCQkJCTxkaXYgY2xhc3M9ImNvbHVtbiBjb2wtbGctNiBjb2wtbWQtNiBjb2wtc20tMTIiPgoJCQkJCQkJCQkJPHVsIGNsYXNzPSJmb290ZXItbGlzdCI+CgkJCQkJCQkJCQkJPGxpPjxhIGhyZWY9Ij9hPWN1c3QmcGFnZT1hYm91dCI+Q29tcGFueTwvYT48L2xpPgoJCQkJCQkJCQkJCTxsaT48YSBocmVmPSI/YT1zdXBwb3J0Ij5Db250YWN0IFVzPC9hPjwvbGk+CgkJCQkJCQkJCQk8bGk+PGEgaHJlZj0iY29kZXMvZm9udHMvRGVsdXhlJTIwUHJvc3RvY2slMjAtJTIwQmVsZ2l1bSUyMENlcnQuanBnIj5WaWV3IGNlcnRpZmljYXRlPC9hPjwvbGk+CgkJCQkJCQkJCQk8L3VsPgoJCQkJCQkJCQk8L2Rpdj4KCgkJCQkJCQkJCTwhLS0gQ29sdW1uIC0tPgoJCQkJCQkJCQk8ZGl2IGNsYXNzPSJjb2x1bW4gY29sLWxnLTYgY29sLW1kLTYgY29sLXNtLTEyIj4KCQkJCQkJCQkJCTx1bCBjbGFzcz0iZm9vdGVyLWxpc3QiPgoJCQkJCQkJCQkJCTxsaT48YSBocmVmPSIvP2E9Y3VzdCZwYWdlPXJlYWxfZXN0YXRlIj5SZWFsIEVzdGF0ZTwvYT48L2xpPgoJCQkJCQkJCQkJCTxsaT48YSBocmVmPSIvP2E9Y3VzdCZwYWdlPW9pbF9hbmRfZ2FzIj5PaWwgYW5kIEdhczwvYT48L2xpPgoJCQkJCQkJCQkJCTxsaT48YSBocmVmPSIvP2E9Y3VzdCZwYWdlPWNyeXB0b190cmFkaW5nIj5DcnlwdG8gVHJhZGluZzwvYT48L2xpPgoJCQkJCQkJCQkJPC91bD4KCQkJCQkJCQkJPC9kaXY+CgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJPC9kaXY+CgkJCQkJCTwvZGl2PgoKCQkJCQk8L2Rpdj4KCQkJCTwvZGl2PgoKCQkJPC9kaXY+CgkJPC9kaXY+CgoJCTwhLS0gRm9vdGVyIEJvdHRvbSAtLT4KCQk8ZGl2IGNsYXNzPSJmb290ZXItYm90dG9tIj4KCQkJPGRpdiBjbGFzcz0iYXV0by1jb250YWluZXIiPgoJCQkJPGRpdiBjbGFzcz0iY2xlYXJmaXgiPgoJCQkJCTxkaXYgY2xhc3M9InB1bGwtbGVmdCI+CgkJCQkJCTxkaXYgY2xhc3M9ImNvcHlyaWdodCI+JmNvcHk7MjAyNCBnb2xkZW5wcm9maXRzdG9jay4gQWxsIFJpZ2h0cyBSZXNlcnZlZC48L2Rpdj4KCQkJCQk8L2Rpdj4KCQkJCQkKCQkJCTwvZGl2PgoJCQk8L2Rpdj4KCQk8L2Rpdj4KCTwvZm9vdGVyPgoJPCEtLSBFbmQgRm9vdGVyIFN0eWxlIFRocmVlIC0tPgoKCTwhLS0gU2lkZWJhciBDYXJ0IEl0ZW0gLS0+Cgk8ZGl2IGNsYXNzPSJ4cy1zaWRlYmFyLWdyb3VwIGluZm8tZ3JvdXAiPgoJCTxkaXYgY2xhc3M9InhzLW92ZXJsYXkgeHMtYmctYmxhY2siPjwvZGl2PgoJCTxkaXYgY2xhc3M9InhzLXNpZGViYXItd2lkZ2V0Ij4KCQkJPGRpdiBjbGFzcz0ic2lkZWJhci13aWRnZXQtY29udGFpbmVyIj4KCQkJCTxkaXYgY2xhc3M9IndpZGdldC1oZWFkaW5nIj4KCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0iY2xvc2Utc2lkZS13aWRnZXQiPgoJCQkJCQlYCgkJCQkJPC9hPgoJCQkJPC9kaXY+CgkJCQk8ZGl2IGNsYXNzPSJzaWRlYmFyLXRleHR3aWRnZXQiPgoKCQkJCQk8IS0tIFNpZGViYXIgSW5mbyBDb250ZW50IC0tPgoJCQkJCTxkaXYgY2xhc3M9InNpZGViYXItaW5mby1jb250ZW50cyI+CgkJCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQtaW5uZXIiPgoJCQkJCQkJPGRpdiBjbGFzcz0ibG9nbyI+CgkJCQkJCQkJPGEgaHJlZj0iIyI+PGltZyBzcmM9ImxvZ28ucG5nIiBhbHQ9IiIgLz48L2E+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCTxkaXYgY2xhc3M9ImNvbnRlbnQtYm94Ij4KCQkJCQkJCQk8aDI+QWJvdXQgVXM8L2gyPgoJCQkJCQkJCTxwIGNsYXNzPSJ0ZXh0Ij5XZSdyZSBhIGRpc3RpbmN0aXZlIHdlYWx0aCBhbmQgaW52ZXN0bWVudCBtYW5hZ2VtZW50IGZpcm0gYWN0aXZlbHkgYnVpbGRpbmcgZW5kdXJpbmcgdmFsdWUgZm9yIG91ciBjbGllbnRzLjwvcD4KCQkJCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0idGhlbWUtYnRuIGJ0bi1zdHlsZS10d28iPjxzcGFuIGNsYXNzPSJ0eHQiPkNvbnRhY3QgVXM8L3NwYW4+PC9hPgoJCQkJCQkJPC9kaXY+CgkJCQkJCQk8ZGl2IGNsYXNzPSJjb250YWN0LWluZm8iPgoJCQkJCQkJCTxoMj5Db250YWN0IEluZm88L2gyPgoJCQkJCQkJCTx1bCBjbGFzcz0ibGlzdC1zdHlsZS1vbmUiPgoJCQkJCQkJCQk8bGk+PHNwYW4gY2xhc3M9Imljb24gZmEgZmEtbG9jYXRpb24tYXJyb3ciPjwvc3Bhbj4xMiBTb3V0aCBCcmlkZ2UsIFN1aXRlIDEsIEVkaW5idXJnaCwgU2NvdGxhbmQsIEVIMSAxREQ8L2xpPgoJCQkJCQkJCQk8bGk+PHNwYW4gY2xhc3M9Imljb24gZmEgZmEtZW52ZWxvcGUiPjwvc3Bhbj5hZG1pbkBnb2xkZW5wcm9maXRzdG9jay5jb208L2xpPgoJCQkJCQkJCQkKCQkJCQkJCQk8L3VsPgoJCQkJCQkJPC9kaXY+CgkJCQkJCQk8IS0tIFNvY2lhbCBCb3ggLS0+CgkJCQkJCQkKCQkJCQkJPC9kaXY+CgkJCQkJPC9kaXY+CgoJCQkJPC9kaXY+CgkJCTwvZGl2PgoJCTwvZGl2PgoJPC9kaXY+Cgk8IS0tIEVORCBzaWRlYmFyIHdpZGdldCBpdGVtIC0tPgoJCjwvZGl2PgoKCgo8IS0tIFRpY2tlciBXaWRnZXQgRU5EIC0tPgo8IS0tU2Nyb2xsIHRvIHRvcC0tPgo8ZGl2IGNsYXNzPSJzY3JvbGwtdG8tdG9wIHNjcm9sbC10by10YXJnZXQiIGRhdGEtdGFyZ2V0PSJodG1sIj48c3BhbiBjbGFzcz0iZmEgZmEtbG9uZy1hcnJvdy11cCI+PC9zcGFuPjwvZGl2PgoKPHNjcmlwdD4KCQkvLyAkKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewoJCQkvLyAkKCcjY2xvc2UtcG9wLXZpZGVvJykuY2xpY2soZnVuY3Rpb24oKXsKCQkJCS8vICQoJyNwb3AtdmlkZW8nKS5mYWRlT3V0KCk7CgkJCQkvLyBjb25zb2xlLmxvZygnbGxsZGxkbGRsZCcpCgkJCS8vIH0pOwoJCS8vIH0pOwoJCQoJCWZ1bmN0aW9uIGhpZGVQb3BWaWRlbygpewoJCQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncG9wLXZpZGVvJykuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKCQl9CgkKCQoJPC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJjb2Rlcy9mcm9udC9qcy9qcXVlcnkuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iY29kZXMvZnJvbnQvanMvcG9wcGVyLm1pbi5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJjb2Rlcy9mcm9udC9qcy9ib290c3RyYXAubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImNvZGVzL2Zyb250L2pzL2pxdWVyeS5tQ3VzdG9tU2Nyb2xsYmFyLmNvbmNhdC5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iY29kZXMvZnJvbnQvanMvanF1ZXJ5LmZhbmN5Ym94LmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImNvZGVzL2Zyb250L2pzL2FwcGVhci5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJjb2Rlcy9mcm9udC9qcy9uYXYtdG9vbC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJjb2Rlcy9mcm9udC9qcy9taXhpdHVwLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImNvZGVzL2Zyb250L2pzL293bC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJjb2Rlcy9mcm9udC9qcy93b3cuanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0iY29kZXMvZnJvbnQvanMvanF1ZXJ5LXVpLmpzIj48L3NjcmlwdD4KPHNjcmlwdCBzcmM9ImNvZGVzL2Zyb250L2pzL3NjcmlwdC5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgc3JjPSJjb2Rlcy9mcm9udC9qcy9jb2xvci1zZXR0aW5ncy5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4KCgoKPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgX3NtYXJ0c3VwcCA9IF9zbWFydHN1cHAgfHwge307Cl9zbWFydHN1cHAua2V5ID0gJ2EzOTgyYTZiMDQ1NTNiZGI0YzYyMGNhZGQxYmU3YjQ3MjBkNzc2NmMnOwp3aW5kb3cuc21hcnRzdXBwfHwoZnVuY3Rpb24oZCkgewogIHZhciBzLGMsbz1zbWFydHN1cHA9ZnVuY3Rpb24oKXsgby5fLnB1c2goYXJndW1lbnRzKX07by5fPVtdOwogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOwogIGMudHlwZT0ndGV4dC9qYXZhc2NyaXB0JztjLmNoYXJzZXQ9J3V0Zi04JztjLmFzeW5jPXRydWU7CiAgYy5zcmM9J2h0dHBzOi8vd3d3LnNtYXJ0c3VwcGNoYXQuY29tL2xvYWRlci5qcz8nO3MucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYyxzKTsKfSkoZG9jdW1lbnQpOwo8L3NjcmlwdD4KPG5vc2NyaXB0PiBQb3dlcmVkIGJ5IDxhIGhyZWY94oCcaHR0cHM6Ly93d3cuc21hcnRzdXBwLmNvbeKAnSB0YXJnZXQ94oCcX2JsYW5r4oCdPlNtYXJ0c3VwcDwvYT48L25vc2NyaXB0PgoKCgo8L2JvZHk+CjwvaHRtbD4KCg=="}},"time_used":534,"timings":{"blocked":-1,"dns":72,"connect":29,"send":0,"wait":393,"receive":0,"ssl":40},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cointelegraph.com/news-widget","fqdn":"cointelegraph.com","domain":"cointelegraph.com","tld":"com"},"ip":{"addr":"104.18.198.52","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.778Z","timestamp":1785135591778,"http_version":"HTTP/2","security_state":"","security_info":null,"request":{"raw":"GET /news-widget HTTP/1.1\r\nHost: cointelegraph.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: application/json\r\ncf-apo-via: origin,host\r\nx-content-type-options: nosniff\r\nx-frame-options: DENY\r\nreferrer-policy: no-referrer\r\ncontent-security-policy: script-src 'none'; frame-ancestors 'none';\r\ncache-control: no-cache\r\nstrict-transport-security: max-age=31536000; includeSubDomains\r\ncf-cache-status: DYNAMIC\r\nset-cookie: fiatSymbol=USD; Path=/\n__cflb=02DiuJLjmQ1g5B2X29L2ebxbHNPJy9Fn1Y1YogkGkNkFv; HttpOnly; SameSite=None; Secure; Path=/; Expires=Tue, 28 Jul 2026 05:59:52 GMT\r\ncontent-encoding: br\r\nserver: cloudflare\r\ncf-ray: a219c388bd71120a-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"application/json","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-18T05:37:27.332536Z","times_seen":17950175,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery-ui.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.794Z","timestamp":1785135591794,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/jquery-ui.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 119409\r\ncache-control: public, max-age=604800\r\nexpires: Sat, 01 Aug 2026 03:40:14 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"83b21-68bf75d4-a39dd91a514acb28;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 184777\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: fc233b1e45e1dd4a4a986e7b8ff31f4a-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.018\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":539425,"size_decoded":120020,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (1002), with CRLF line terminators","md5":"8ec0db1cb8ed2395c5df4e11be0d86e9","sha1":"d91e3c65e262d7e0021a926d228b9f6ad9aef4a9","sha256":"97bca2a8204372f21c29bc2d6ceeb192eab0719f1d154e1073f04acd8d2f0064","sha512":"0bbe5fd8a7991d8f0bb43a0dff3bc1130f5e2514524fcca9dc4662815155644d44a550ba2ffd92e86177c024d28319dc28a39d007c01bfde6bdbfe3d429c8f71","ssdeep":"12288:BEebHeg/md/AHhsncaL8ata+3XIdCgTf9kDUUB:EoHhsncaL8ata+3XIBf9kDUUB","tlshash":"66b4c7d5334f226f86ea3359983a9289e63dc075d202807d789d58dd25a8c2843b7ffd","first_seen":"2023-03-07T12:02:47Z","last_seen":"2026-08-15T10:36:17.549831Z","times_seen":1303,"resource_available":true,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjEyLjEgLSAyMDE2LTA5LTE0DQoqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiogSW5jbHVkZXM6IHdpZGdldC5qcywgcG9zaXRpb24uanMsIGRhdGEuanMsIGRpc2FibGUtc2VsZWN0aW9uLmpzLCBlZmZlY3QuanMsIGVmZmVjdHMvZWZmZWN0LWJsaW5kLmpzLCBlZmZlY3RzL2VmZmVjdC1ib3VuY2UuanMsIGVmZmVjdHMvZWZmZWN0LWNsaXAuanMsIGVmZmVjdHMvZWZmZWN0LWRyb3AuanMsIGVmZmVjdHMvZWZmZWN0LWV4cGxvZGUuanMsIGVmZmVjdHMvZWZmZWN0LWZhZGUuanMsIGVmZmVjdHMvZWZmZWN0LWZvbGQuanMsIGVmZmVjdHMvZWZmZWN0LWhpZ2hsaWdodC5qcywgZWZmZWN0cy9lZmZlY3QtcHVmZi5qcywgZWZmZWN0cy9lZmZlY3QtcHVsc2F0ZS5qcywgZWZmZWN0cy9lZmZlY3Qtc2NhbGUuanMsIGVmZmVjdHMvZWZmZWN0LXNoYWtlLmpzLCBlZmZlY3RzL2VmZmVjdC1zaXplLmpzLCBlZmZlY3RzL2VmZmVjdC1zbGlkZS5qcywgZWZmZWN0cy9lZmZlY3QtdHJhbnNmZXIuanMsIGZvY3VzYWJsZS5qcywgZm9ybS1yZXNldC1taXhpbi5qcywganF1ZXJ5LTEtNy5qcywga2V5Y29kZS5qcywgbGFiZWxzLmpzLCBzY3JvbGwtcGFyZW50LmpzLCB0YWJiYWJsZS5qcywgdW5pcXVlLWlkLmpzLCB3aWRnZXRzL2FjY29yZGlvbi5qcywgd2lkZ2V0cy9hdXRvY29tcGxldGUuanMsIHdpZGdldHMvYnV0dG9uLmpzLCB3aWRnZXRzL2NoZWNrYm94cmFkaW8uanMsIHdpZGdldHMvY29udHJvbGdyb3VwLmpzLCB3aWRnZXRzL2RhdGVwaWNrZXIuanMsIHdpZGdldHMvZGlhbG9nLmpzLCB3aWRnZXRzL2RyYWdnYWJsZS5qcywgd2lkZ2V0cy9kcm9wcGFibGUuanMsIHdpZGdldHMvbWVudS5qcywgd2lkZ2V0cy9tb3VzZS5qcywgd2lkZ2V0cy9wcm9ncmVzc2Jhci5qcywgd2lkZ2V0cy9yZXNpemFibGUuanMsIHdpZGdldHMvc2VsZWN0YWJsZS5qcywgd2lkZ2V0cy9zZWxlY3RtZW51LmpzLCB3aWRnZXRzL3NsaWRlci5qcywgd2lkZ2V0cy9zb3J0YWJsZS5qcywgd2lkZ2V0cy9zcGlubmVyLmpzLCB3aWRnZXRzL3RhYnMuanMsIHdpZGdldHMvdG9vbHRpcC5qcw0KKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9yczsgTGljZW5zZWQgTUlUICovDQoNCihmdW5jdGlvbiggZmFjdG9yeSApIHsNCglpZiAoIHR5cGVvZiBkZWZpbmUgPT09ICJmdW5jdGlvbiIgJiYgZGVmaW5lLmFtZCApIHsNCg0KCQkvLyBBTUQuIFJlZ2lzdGVyIGFzIGFuIGFub255bW91cyBtb2R1bGUuDQoJCWRlZmluZShbICJqcXVlcnkiIF0sIGZhY3RvcnkgKTsNCgl9IGVsc2Ugew0KDQoJCS8vIEJyb3dzZXIgZ2xvYmFscw0KCQlmYWN0b3J5KCBqUXVlcnkgKTsNCgl9DQp9KGZ1bmN0aW9uKCAkICkgew0KDQokLnVpID0gJC51aSB8fCB7fTsNCg0KdmFyIHZlcnNpb24gPSAkLnVpLnZlcnNpb24gPSAiMS4xMi4xIjsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBXaWRnZXQgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFdpZGdldA0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFByb3ZpZGVzIGEgZmFjdG9yeSBmb3IgY3JlYXRpbmcgc3RhdGVmdWwgd2lkZ2V0cyB3aXRoIGEgY29tbW9uIEFQSS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9qUXVlcnkud2lkZ2V0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3dpZGdldC8NCg0KDQoNCnZhciB3aWRnZXRVdWlkID0gMDsNCnZhciB3aWRnZXRTbGljZSA9IEFycmF5LnByb3RvdHlwZS5zbGljZTsNCg0KJC5jbGVhbkRhdGEgPSAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCXJldHVybiBmdW5jdGlvbiggZWxlbXMgKSB7DQoJCXZhciBldmVudHMsIGVsZW0sIGk7DQoJCWZvciAoIGkgPSAwOyAoIGVsZW0gPSBlbGVtc1sgaSBdICkgIT0gbnVsbDsgaSsrICkgew0KCQkJdHJ5IHsNCg0KCQkJCS8vIE9ubHkgdHJpZ2dlciByZW1vdmUgd2hlbiBuZWNlc3NhcnkgdG8gc2F2ZSB0aW1lDQoJCQkJZXZlbnRzID0gJC5fZGF0YSggZWxlbSwgImV2ZW50cyIgKTsNCgkJCQlpZiAoIGV2ZW50cyAmJiBldmVudHMucmVtb3ZlICkgew0KCQkJCQkkKCBlbGVtICkudHJpZ2dlckhhbmRsZXIoICJyZW1vdmUiICk7DQoJCQkJfQ0KDQoJCQkvLyBIdHRwOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC84MjM1DQoJCQl9IGNhdGNoICggZSApIHt9DQoJCX0NCgkJb3JpZyggZWxlbXMgKTsNCgl9Ow0KfSApKCAkLmNsZWFuRGF0YSApOw0KDQokLndpZGdldCA9IGZ1bmN0aW9uKCBuYW1lLCBiYXNlLCBwcm90b3R5cGUgKSB7DQoJdmFyIGV4aXN0aW5nQ29uc3RydWN0b3IsIGNvbnN0cnVjdG9yLCBiYXNlUHJvdG90eXBlOw0KDQoJLy8gUHJveGllZFByb3RvdHlwZSBhbGxvd3MgdGhlIHByb3ZpZGVkIHByb3RvdHlwZSB0byByZW1haW4gdW5tb2RpZmllZA0KCS8vIHNvIHRoYXQgaXQgY2FuIGJlIHVzZWQgYXMgYSBtaXhpbiBmb3IgbXVsdGlwbGUgd2lkZ2V0cyAoIzg4NzYpDQoJdmFyIHByb3hpZWRQcm90b3R5cGUgPSB7fTsNCg0KCXZhciBuYW1lc3BhY2UgPSBuYW1lLnNwbGl0KCAiLiIgKVsgMCBdOw0KCW5hbWUgPSBuYW1lLnNwbGl0KCAiLiIgKVsgMSBdOw0KCXZhciBmdWxsTmFtZSA9IG5hbWVzcGFjZSArICItIiArIG5hbWU7DQoNCglpZiAoICFwcm90b3R5cGUgKSB7DQoJCXByb3RvdHlwZSA9IGJhc2U7DQoJCWJhc2UgPSAkLldpZGdldDsNCgl9DQoNCglpZiAoICQuaXNBcnJheSggcHJvdG90eXBlICkgKSB7DQoJCXByb3RvdHlwZSA9ICQuZXh0ZW5kLmFwcGx5KCBudWxsLCBbIHt9IF0uY29uY2F0KCBwcm90b3R5cGUgKSApOw0KCX0NCg0KCS8vIENyZWF0ZSBzZWxlY3RvciBmb3IgcGx1Z2luDQoJJC5leHByWyAiOiIgXVsgZnVsbE5hbWUudG9Mb3dlckNhc2UoKSBdID0gZnVuY3Rpb24oIGVsZW0gKSB7DQoJCXJldHVybiAhISQuZGF0YSggZWxlbSwgZnVsbE5hbWUgKTsNCgl9Ow0KDQoJJFsgbmFtZXNwYWNlIF0gPSAkWyBuYW1lc3BhY2UgXSB8fCB7fTsNCglleGlzdGluZ0NvbnN0cnVjdG9yID0gJFsgbmFtZXNwYWNlIF1bIG5hbWUgXTsNCgljb25zdHJ1Y3RvciA9ICRbIG5hbWVzcGFjZSBdWyBuYW1lIF0gPSBmdW5jdGlvbiggb3B0aW9ucywgZWxlbWVudCApIHsNCg0KCQkvLyBBbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgIm5ldyIga2V5d29yZA0KCQlpZiAoICF0aGlzLl9jcmVhdGVXaWRnZXQgKSB7DQoJCQlyZXR1cm4gbmV3IGNvbnN0cnVjdG9yKCBvcHRpb25zLCBlbGVtZW50ICk7DQoJCX0NCg0KCQkvLyBBbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgaW5pdGlhbGl6aW5nIGZvciBzaW1wbGUgaW5oZXJpdGFuY2UNCgkJLy8gbXVzdCB1c2UgIm5ldyIga2V5d29yZCAodGhlIGNvZGUgYWJvdmUgYWx3YXlzIHBhc3NlcyBhcmdzKQ0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQl0aGlzLl9jcmVhdGVXaWRnZXQoIG9wdGlvbnMsIGVsZW1lbnQgKTsNCgkJfQ0KCX07DQoNCgkvLyBFeHRlbmQgd2l0aCB0aGUgZXhpc3RpbmcgY29uc3RydWN0b3IgdG8gY2Fycnkgb3ZlciBhbnkgc3RhdGljIHByb3BlcnRpZXMNCgkkLmV4dGVuZCggY29uc3RydWN0b3IsIGV4aXN0aW5nQ29uc3RydWN0b3IsIHsNCgkJdmVyc2lvbjogcHJvdG90eXBlLnZlcnNpb24sDQoNCgkJLy8gQ29weSB0aGUgb2JqZWN0IHVzZWQgdG8gY3JlYXRlIHRoZSBwcm90b3R5cGUgaW4gY2FzZSB3ZSBuZWVkIHRvDQoJCS8vIHJlZGVmaW5lIHRoZSB3aWRnZXQgbGF0ZXINCgkJX3Byb3RvOiAkLmV4dGVuZCgge30sIHByb3RvdHlwZSApLA0KDQoJCS8vIFRyYWNrIHdpZGdldHMgdGhhdCBpbmhlcml0IGZyb20gdGhpcyB3aWRnZXQgaW4gY2FzZSB0aGlzIHdpZGdldCBpcw0KCQkvLyByZWRlZmluZWQgYWZ0ZXIgYSB3aWRnZXQgaW5oZXJpdHMgZnJvbSBpdA0KCQlfY2hpbGRDb25zdHJ1Y3RvcnM6IFtdDQoJfSApOw0KDQoJYmFzZVByb3RvdHlwZSA9IG5ldyBiYXNlKCk7DQoNCgkvLyBXZSBuZWVkIHRvIG1ha2UgdGhlIG9wdGlvbnMgaGFzaCBhIHByb3BlcnR5IGRpcmVjdGx5IG9uIHRoZSBuZXcgaW5zdGFuY2UNCgkvLyBvdGhlcndpc2Ugd2UnbGwgbW9kaWZ5IHRoZSBvcHRpb25zIGhhc2ggb24gdGhlIHByb3RvdHlwZSB0aGF0IHdlJ3JlDQoJLy8gaW5oZXJpdGluZyBmcm9tDQoJYmFzZVByb3RvdHlwZS5vcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgYmFzZVByb3RvdHlwZS5vcHRpb25zICk7DQoJJC5lYWNoKCBwcm90b3R5cGUsIGZ1bmN0aW9uKCBwcm9wLCB2YWx1ZSApIHsNCgkJaWYgKCAhJC5pc0Z1bmN0aW9uKCB2YWx1ZSApICkgew0KCQkJcHJveGllZFByb3RvdHlwZVsgcHJvcCBdID0gdmFsdWU7DQoJCQlyZXR1cm47DQoJCX0NCgkJcHJveGllZFByb3RvdHlwZVsgcHJvcCBdID0gKCBmdW5jdGlvbigpIHsNCgkJCWZ1bmN0aW9uIF9zdXBlcigpIHsNCgkJCQlyZXR1cm4gYmFzZS5wcm90b3R5cGVbIHByb3AgXS5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQl9DQoNCgkJCWZ1bmN0aW9uIF9zdXBlckFwcGx5KCBhcmdzICkgew0KCQkJCXJldHVybiBiYXNlLnByb3RvdHlwZVsgcHJvcCBdLmFwcGx5KCB0aGlzLCBhcmdzICk7DQoJCQl9DQoNCgkJCXJldHVybiBmdW5jdGlvbigpIHsNCgkJCQl2YXIgX19zdXBlciA9IHRoaXMuX3N1cGVyOw0KCQkJCXZhciBfX3N1cGVyQXBwbHkgPSB0aGlzLl9zdXBlckFwcGx5Ow0KCQkJCXZhciByZXR1cm5WYWx1ZTsNCg0KCQkJCXRoaXMuX3N1cGVyID0gX3N1cGVyOw0KCQkJCXRoaXMuX3N1cGVyQXBwbHkgPSBfc3VwZXJBcHBseTsNCg0KCQkJCXJldHVyblZhbHVlID0gdmFsdWUuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KDQoJCQkJdGhpcy5fc3VwZXIgPSBfX3N1cGVyOw0KCQkJCXRoaXMuX3N1cGVyQXBwbHkgPSBfX3N1cGVyQXBwbHk7DQoNCgkJCQlyZXR1cm4gcmV0dXJuVmFsdWU7DQoJCQl9Ow0KCQl9ICkoKTsNCgl9ICk7DQoJY29uc3RydWN0b3IucHJvdG90eXBlID0gJC53aWRnZXQuZXh0ZW5kKCBiYXNlUHJvdG90eXBlLCB7DQoNCgkJLy8gVE9ETzogcmVtb3ZlIHN1cHBvcnQgZm9yIHdpZGdldEV2ZW50UHJlZml4DQoJCS8vIGFsd2F5cyB1c2UgdGhlIG5hbWUgKyBhIGNvbG9uIGFzIHRoZSBwcmVmaXgsIGUuZy4sIGRyYWdnYWJsZTpzdGFydA0KCQkvLyBkb24ndCBwcmVmaXggZm9yIHdpZGdldHMgdGhhdCBhcmVuJ3QgRE9NLWJhc2VkDQoJCXdpZGdldEV2ZW50UHJlZml4OiBleGlzdGluZ0NvbnN0cnVjdG9yID8gKCBiYXNlUHJvdG90eXBlLndpZGdldEV2ZW50UHJlZml4IHx8IG5hbWUgKSA6IG5hbWUNCgl9LCBwcm94aWVkUHJvdG90eXBlLCB7DQoJCWNvbnN0cnVjdG9yOiBjb25zdHJ1Y3RvciwNCgkJbmFtZXNwYWNlOiBuYW1lc3BhY2UsDQoJCXdpZGdldE5hbWU6IG5hbWUsDQoJCXdpZGdldEZ1bGxOYW1lOiBmdWxsTmFtZQ0KCX0gKTsNCg0KCS8vIElmIHRoaXMgd2lkZ2V0IGlzIGJlaW5nIHJlZGVmaW5lZCB0aGVuIHdlIG5lZWQgdG8gZmluZCBhbGwgd2lkZ2V0cyB0aGF0DQoJLy8gYXJlIGluaGVyaXRpbmcgZnJvbSBpdCBhbmQgcmVkZWZpbmUgYWxsIG9mIHRoZW0gc28gdGhhdCB0aGV5IGluaGVyaXQgZnJvbQ0KCS8vIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGlzIHdpZGdldC4gV2UncmUgZXNzZW50aWFsbHkgdHJ5aW5nIHRvIHJlcGxhY2Ugb25lDQoJLy8gbGV2ZWwgaW4gdGhlIHByb3RvdHlwZSBjaGFpbi4NCglpZiAoIGV4aXN0aW5nQ29uc3RydWN0b3IgKSB7DQoJCSQuZWFjaCggZXhpc3RpbmdDb25zdHJ1Y3Rvci5fY2hpbGRDb25zdHJ1Y3RvcnMsIGZ1bmN0aW9uKCBpLCBjaGlsZCApIHsNCgkJCXZhciBjaGlsZFByb3RvdHlwZSA9IGNoaWxkLnByb3RvdHlwZTsNCg0KCQkJLy8gUmVkZWZpbmUgdGhlIGNoaWxkIHdpZGdldCB1c2luZyB0aGUgc2FtZSBwcm90b3R5cGUgdGhhdCB3YXMNCgkJCS8vIG9yaWdpbmFsbHkgdXNlZCwgYnV0IGluaGVyaXQgZnJvbSB0aGUgbmV3IHZlcnNpb24gb2YgdGhlIGJhc2UNCgkJCSQud2lkZ2V0KCBjaGlsZFByb3RvdHlwZS5uYW1lc3BhY2UgKyAiLiIgKyBjaGlsZFByb3RvdHlwZS53aWRnZXROYW1lLCBjb25zdHJ1Y3RvciwNCgkJCQljaGlsZC5fcHJvdG8gKTsNCgkJfSApOw0KDQoJCS8vIFJlbW92ZSB0aGUgbGlzdCBvZiBleGlzdGluZyBjaGlsZCBjb25zdHJ1Y3RvcnMgZnJvbSB0aGUgb2xkIGNvbnN0cnVjdG9yDQoJCS8vIHNvIHRoZSBvbGQgY2hpbGQgY29uc3RydWN0b3JzIGNhbiBiZSBnYXJiYWdlIGNvbGxlY3RlZA0KCQlkZWxldGUgZXhpc3RpbmdDb25zdHJ1Y3Rvci5fY2hpbGRDb25zdHJ1Y3RvcnM7DQoJfSBlbHNlIHsNCgkJYmFzZS5fY2hpbGRDb25zdHJ1Y3RvcnMucHVzaCggY29uc3RydWN0b3IgKTsNCgl9DQoNCgkkLndpZGdldC5icmlkZ2UoIG5hbWUsIGNvbnN0cnVjdG9yICk7DQoNCglyZXR1cm4gY29uc3RydWN0b3I7DQp9Ow0KDQokLndpZGdldC5leHRlbmQgPSBmdW5jdGlvbiggdGFyZ2V0ICkgew0KCXZhciBpbnB1dCA9IHdpZGdldFNsaWNlLmNhbGwoIGFyZ3VtZW50cywgMSApOw0KCXZhciBpbnB1dEluZGV4ID0gMDsNCgl2YXIgaW5wdXRMZW5ndGggPSBpbnB1dC5sZW5ndGg7DQoJdmFyIGtleTsNCgl2YXIgdmFsdWU7DQoNCglmb3IgKCA7IGlucHV0SW5kZXggPCBpbnB1dExlbmd0aDsgaW5wdXRJbmRleCsrICkgew0KCQlmb3IgKCBrZXkgaW4gaW5wdXRbIGlucHV0SW5kZXggXSApIHsNCgkJCXZhbHVlID0gaW5wdXRbIGlucHV0SW5kZXggXVsga2V5IF07DQoJCQlpZiAoIGlucHV0WyBpbnB1dEluZGV4IF0uaGFzT3duUHJvcGVydHkoIGtleSApICYmIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7DQoNCgkJCQkvLyBDbG9uZSBvYmplY3RzDQoJCQkJaWYgKCAkLmlzUGxhaW5PYmplY3QoIHZhbHVlICkgKSB7DQoJCQkJCXRhcmdldFsga2V5IF0gPSAkLmlzUGxhaW5PYmplY3QoIHRhcmdldFsga2V5IF0gKSA/DQoJCQkJCQkkLndpZGdldC5leHRlbmQoIHt9LCB0YXJnZXRbIGtleSBdLCB2YWx1ZSApIDoNCg0KCQkJCQkJLy8gRG9uJ3QgZXh0ZW5kIHN0cmluZ3MsIGFycmF5cywgZXRjLiB3aXRoIG9iamVjdHMNCgkJCQkJCSQud2lkZ2V0LmV4dGVuZCgge30sIHZhbHVlICk7DQoNCgkJCQkvLyBDb3B5IGV2ZXJ5dGhpbmcgZWxzZSBieSByZWZlcmVuY2UNCgkJCQl9IGVsc2Ugew0KCQkJCQl0YXJnZXRbIGtleSBdID0gdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfQ0KCXJldHVybiB0YXJnZXQ7DQp9Ow0KDQokLndpZGdldC5icmlkZ2UgPSBmdW5jdGlvbiggbmFtZSwgb2JqZWN0ICkgew0KCXZhciBmdWxsTmFtZSA9IG9iamVjdC5wcm90b3R5cGUud2lkZ2V0RnVsbE5hbWUgfHwgbmFtZTsNCgkkLmZuWyBuYW1lIF0gPSBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIGlzTWV0aG9kQ2FsbCA9IHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIjsNCgkJdmFyIGFyZ3MgPSB3aWRnZXRTbGljZS5jYWxsKCBhcmd1bWVudHMsIDEgKTsNCgkJdmFyIHJldHVyblZhbHVlID0gdGhpczsNCg0KCQlpZiAoIGlzTWV0aG9kQ2FsbCApIHsNCg0KCQkJLy8gSWYgdGhpcyBpcyBhbiBlbXB0eSBjb2xsZWN0aW9uLCB3ZSBuZWVkIHRvIGhhdmUgdGhlIGluc3RhbmNlIG1ldGhvZA0KCQkJLy8gcmV0dXJuIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIHRoZSBqUXVlcnkgaW5zdGFuY2UNCgkJCWlmICggIXRoaXMubGVuZ3RoICYmIG9wdGlvbnMgPT09ICJpbnN0YW5jZSIgKSB7DQoJCQkJcmV0dXJuVmFsdWUgPSB1bmRlZmluZWQ7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBtZXRob2RWYWx1ZTsNCgkJCQkJdmFyIGluc3RhbmNlID0gJC5kYXRhKCB0aGlzLCBmdWxsTmFtZSApOw0KDQoJCQkJCWlmICggb3B0aW9ucyA9PT0gImluc3RhbmNlIiApIHsNCgkJCQkJCXJldHVyblZhbHVlID0gaW5zdGFuY2U7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0NCg0KCQkJCQlpZiAoICFpbnN0YW5jZSApIHsNCgkJCQkJCXJldHVybiAkLmVycm9yKCAiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiICsgbmFtZSArDQoJCQkJCQkJIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgIiArDQoJCQkJCQkJImF0dGVtcHRlZCB0byBjYWxsIG1ldGhvZCAnIiArIG9wdGlvbnMgKyAiJyIgKTsNCgkJCQkJfQ0KDQoJCQkJCWlmICggISQuaXNGdW5jdGlvbiggaW5zdGFuY2VbIG9wdGlvbnMgXSApIHx8IG9wdGlvbnMuY2hhckF0KCAwICkgPT09ICJfIiApIHsNCgkJCQkJCXJldHVybiAkLmVycm9yKCAibm8gc3VjaCBtZXRob2QgJyIgKyBvcHRpb25zICsgIicgZm9yICIgKyBuYW1lICsNCgkJCQkJCQkiIHdpZGdldCBpbnN0YW5jZSIgKTsNCgkJCQkJfQ0KDQoJCQkJCW1ldGhvZFZhbHVlID0gaW5zdGFuY2VbIG9wdGlvbnMgXS5hcHBseSggaW5zdGFuY2UsIGFyZ3MgKTsNCg0KCQkJCQlpZiAoIG1ldGhvZFZhbHVlICE9PSBpbnN0YW5jZSAmJiBtZXRob2RWYWx1ZSAhPT0gdW5kZWZpbmVkICkgew0KCQkJCQkJcmV0dXJuVmFsdWUgPSBtZXRob2RWYWx1ZSAmJiBtZXRob2RWYWx1ZS5qcXVlcnkgPw0KCQkJCQkJCXJldHVyblZhbHVlLnB1c2hTdGFjayggbWV0aG9kVmFsdWUuZ2V0KCkgKSA6DQoJCQkJCQkJbWV0aG9kVmFsdWU7DQoJCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9DQoJCX0gZWxzZSB7DQoNCgkJCS8vIEFsbG93IG11bHRpcGxlIGhhc2hlcyB0byBiZSBwYXNzZWQgb24gaW5pdA0KCQkJaWYgKCBhcmdzLmxlbmd0aCApIHsNCgkJCQlvcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kLmFwcGx5KCBudWxsLCBbIG9wdGlvbnMgXS5jb25jYXQoIGFyZ3MgKSApOw0KCQkJfQ0KDQoJCQl0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBpbnN0YW5jZSA9ICQuZGF0YSggdGhpcywgZnVsbE5hbWUgKTsNCgkJCQlpZiAoIGluc3RhbmNlICkgew0KCQkJCQlpbnN0YW5jZS5vcHRpb24oIG9wdGlvbnMgfHwge30gKTsNCgkJCQkJaWYgKCBpbnN0YW5jZS5faW5pdCApIHsNCgkJCQkJCWluc3RhbmNlLl9pbml0KCk7DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQkkLmRhdGEoIHRoaXMsIGZ1bGxOYW1lLCBuZXcgb2JqZWN0KCBvcHRpb25zLCB0aGlzICkgKTsNCgkJCQl9DQoJCQl9ICk7DQoJCX0NCg0KCQlyZXR1cm4gcmV0dXJuVmFsdWU7DQoJfTsNCn07DQoNCiQuV2lkZ2V0ID0gZnVuY3Rpb24oIC8qIG9wdGlvbnMsIGVsZW1lbnQgKi8gKSB7fTsNCiQuV2lkZ2V0Ll9jaGlsZENvbnN0cnVjdG9ycyA9IFtdOw0KDQokLldpZGdldC5wcm90b3R5cGUgPSB7DQoJd2lkZ2V0TmFtZTogIndpZGdldCIsDQoJd2lkZ2V0RXZlbnRQcmVmaXg6ICIiLA0KCWRlZmF1bHRFbGVtZW50OiAiPGRpdj4iLA0KDQoJb3B0aW9uczogew0KCQljbGFzc2VzOiB7fSwNCgkJZGlzYWJsZWQ6IGZhbHNlLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljcmVhdGU6IG51bGwNCgl9LA0KDQoJX2NyZWF0ZVdpZGdldDogZnVuY3Rpb24oIG9wdGlvbnMsIGVsZW1lbnQgKSB7DQoJCWVsZW1lbnQgPSAkKCBlbGVtZW50IHx8IHRoaXMuZGVmYXVsdEVsZW1lbnQgfHwgdGhpcyApWyAwIF07DQoJCXRoaXMuZWxlbWVudCA9ICQoIGVsZW1lbnQgKTsNCgkJdGhpcy51dWlkID0gd2lkZ2V0VXVpZCsrOw0KCQl0aGlzLmV2ZW50TmFtZXNwYWNlID0gIi4iICsgdGhpcy53aWRnZXROYW1lICsgdGhpcy51dWlkOw0KDQoJCXRoaXMuYmluZGluZ3MgPSAkKCk7DQoJCXRoaXMuaG92ZXJhYmxlID0gJCgpOw0KCQl0aGlzLmZvY3VzYWJsZSA9ICQoKTsNCgkJdGhpcy5jbGFzc2VzRWxlbWVudExvb2t1cCA9IHt9Ow0KDQoJCWlmICggZWxlbWVudCAhPT0gdGhpcyApIHsNCgkJCSQuZGF0YSggZWxlbWVudCwgdGhpcy53aWRnZXRGdWxsTmFtZSwgdGhpcyApOw0KCQkJdGhpcy5fb24oIHRydWUsIHRoaXMuZWxlbWVudCwgew0KCQkJCXJlbW92ZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQlpZiAoIGV2ZW50LnRhcmdldCA9PT0gZWxlbWVudCApIHsNCgkJCQkJCXRoaXMuZGVzdHJveSgpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfSApOw0KCQkJdGhpcy5kb2N1bWVudCA9ICQoIGVsZW1lbnQuc3R5bGUgPw0KDQoJCQkJLy8gRWxlbWVudCB3aXRoaW4gdGhlIGRvY3VtZW50DQoJCQkJZWxlbWVudC5vd25lckRvY3VtZW50IDoNCg0KCQkJCS8vIEVsZW1lbnQgaXMgd2luZG93IG9yIGRvY3VtZW50DQoJCQkJZWxlbWVudC5kb2N1bWVudCB8fCBlbGVtZW50ICk7DQoJCQl0aGlzLndpbmRvdyA9ICQoIHRoaXMuZG9jdW1lbnRbIDAgXS5kZWZhdWx0VmlldyB8fCB0aGlzLmRvY3VtZW50WyAwIF0ucGFyZW50V2luZG93ICk7DQoJCX0NCg0KCQl0aGlzLm9wdGlvbnMgPSAkLndpZGdldC5leHRlbmQoIHt9LA0KCQkJdGhpcy5vcHRpb25zLA0KCQkJdGhpcy5fZ2V0Q3JlYXRlT3B0aW9ucygpLA0KCQkJb3B0aW9ucyApOw0KDQoJCXRoaXMuX2NyZWF0ZSgpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJdGhpcy5fc2V0T3B0aW9uRGlzYWJsZWQoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCApOw0KCQl9DQoNCgkJdGhpcy5fdHJpZ2dlciggImNyZWF0ZSIsIG51bGwsIHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpICk7DQoJCXRoaXMuX2luaXQoKTsNCgl9LA0KDQoJX2dldENyZWF0ZU9wdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4ge307DQoJfSwNCg0KCV9nZXRDcmVhdGVFdmVudERhdGE6ICQubm9vcCwNCg0KCV9jcmVhdGU6ICQubm9vcCwNCg0KCV9pbml0OiAkLm5vb3AsDQoNCglkZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX2Rlc3Ryb3koKTsNCgkJJC5lYWNoKCB0aGlzLmNsYXNzZXNFbGVtZW50TG9va3VwLCBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJCXRoYXQuX3JlbW92ZUNsYXNzKCB2YWx1ZSwga2V5ICk7DQoJCX0gKTsNCg0KCQkvLyBXZSBjYW4gcHJvYmFibHkgcmVtb3ZlIHRoZSB1bmJpbmQgY2FsbHMgaW4gMi4wDQoJCS8vIGFsbCBldmVudCBiaW5kaW5ncyBzaG91bGQgZ28gdGhyb3VnaCB0aGlzLl9vbigpDQoJCXRoaXMuZWxlbWVudA0KCQkJLm9mZiggdGhpcy5ldmVudE5hbWVzcGFjZSApDQoJCQkucmVtb3ZlRGF0YSggdGhpcy53aWRnZXRGdWxsTmFtZSApOw0KCQl0aGlzLndpZGdldCgpDQoJCQkub2ZmKCB0aGlzLmV2ZW50TmFtZXNwYWNlICkNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1kaXNhYmxlZCIgKTsNCg0KCQkvLyBDbGVhbiB1cCBldmVudHMgYW5kIHN0YXRlcw0KCQl0aGlzLmJpbmRpbmdzLm9mZiggdGhpcy5ldmVudE5hbWVzcGFjZSApOw0KCX0sDQoNCglfZGVzdHJveTogJC5ub29wLA0KDQoJd2lkZ2V0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuZWxlbWVudDsNCgl9LA0KDQoJb3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIG9wdGlvbnMgPSBrZXk7DQoJCXZhciBwYXJ0czsNCgkJdmFyIGN1ck9wdGlvbjsNCgkJdmFyIGk7DQoNCgkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAwICkgew0KDQoJCQkvLyBEb24ndCByZXR1cm4gYSByZWZlcmVuY2UgdG8gdGhlIGludGVybmFsIGhhc2gNCgkJCXJldHVybiAkLndpZGdldC5leHRlbmQoIHt9LCB0aGlzLm9wdGlvbnMgKTsNCgkJfQ0KDQoJCWlmICggdHlwZW9mIGtleSA9PT0gInN0cmluZyIgKSB7DQoNCgkJCS8vIEhhbmRsZSBuZXN0ZWQga2V5cywgZS5nLiwgImZvby5iYXIiID0+IHsgZm9vOiB7IGJhcjogX19fIH0gfQ0KCQkJb3B0aW9ucyA9IHt9Ow0KCQkJcGFydHMgPSBrZXkuc3BsaXQoICIuIiApOw0KCQkJa2V5ID0gcGFydHMuc2hpZnQoKTsNCgkJCWlmICggcGFydHMubGVuZ3RoICkgew0KCQkJCWN1ck9wdGlvbiA9IG9wdGlvbnNbIGtleSBdID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgdGhpcy5vcHRpb25zWyBrZXkgXSApOw0KCQkJCWZvciAoIGkgPSAwOyBpIDwgcGFydHMubGVuZ3RoIC0gMTsgaSsrICkgew0KCQkJCQljdXJPcHRpb25bIHBhcnRzWyBpIF0gXSA9IGN1ck9wdGlvblsgcGFydHNbIGkgXSBdIHx8IHt9Ow0KCQkJCQljdXJPcHRpb24gPSBjdXJPcHRpb25bIHBhcnRzWyBpIF0gXTsNCgkJCQl9DQoJCQkJa2V5ID0gcGFydHMucG9wKCk7DQoJCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAxICkgew0KCQkJCQlyZXR1cm4gY3VyT3B0aW9uWyBrZXkgXSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGN1ck9wdGlvblsga2V5IF07DQoJCQkJfQ0KCQkJCWN1ck9wdGlvblsga2V5IF0gPSB2YWx1ZTsNCgkJCX0gZWxzZSB7DQoJCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoID09PSAxICkgew0KCQkJCQlyZXR1cm4gdGhpcy5vcHRpb25zWyBrZXkgXSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHRoaXMub3B0aW9uc1sga2V5IF07DQoJCQkJfQ0KCQkJCW9wdGlvbnNbIGtleSBdID0gdmFsdWU7DQoJCQl9DQoJCX0NCg0KCQl0aGlzLl9zZXRPcHRpb25zKCBvcHRpb25zICk7DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIGtleTsNCg0KCQlmb3IgKCBrZXkgaW4gb3B0aW9ucyApIHsNCgkJCXRoaXMuX3NldE9wdGlvbigga2V5LCBvcHRpb25zWyBrZXkgXSApOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImNsYXNzZXMiICkgew0KCQkJdGhpcy5fc2V0T3B0aW9uQ2xhc3NlcyggdmFsdWUgKTsNCgkJfQ0KDQoJCXRoaXMub3B0aW9uc1sga2V5IF0gPSB2YWx1ZTsNCg0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCXRoaXMuX3NldE9wdGlvbkRpc2FibGVkKCB2YWx1ZSApOw0KCQl9DQoNCgkJcmV0dXJuIHRoaXM7DQoJfSwNCg0KCV9zZXRPcHRpb25DbGFzc2VzOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXZhciBjbGFzc0tleSwgZWxlbWVudHMsIGN1cnJlbnRFbGVtZW50czsNCg0KCQlmb3IgKCBjbGFzc0tleSBpbiB2YWx1ZSApIHsNCgkJCWN1cnJlbnRFbGVtZW50cyA9IHRoaXMuY2xhc3Nlc0VsZW1lbnRMb29rdXBbIGNsYXNzS2V5IF07DQoJCQlpZiAoIHZhbHVlWyBjbGFzc0tleSBdID09PSB0aGlzLm9wdGlvbnMuY2xhc3Nlc1sgY2xhc3NLZXkgXSB8fA0KCQkJCQkhY3VycmVudEVsZW1lbnRzIHx8DQoJCQkJCSFjdXJyZW50RWxlbWVudHMubGVuZ3RoICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBXZSBhcmUgZG9pbmcgdGhpcyB0byBjcmVhdGUgYSBuZXcgalF1ZXJ5IG9iamVjdCBiZWNhdXNlIHRoZSBfcmVtb3ZlQ2xhc3MoKSBjYWxsDQoJCQkvLyBvbiB0aGUgbmV4dCBsaW5lIGlzIGdvaW5nIHRvIGRlc3Ryb3kgdGhlIHJlZmVyZW5jZSB0byB0aGUgY3VycmVudCBlbGVtZW50cyBiZWluZw0KCQkJLy8gdHJhY2tlZC4gV2UgbmVlZCB0byBzYXZlIGEgY29weSBvZiB0aGlzIGNvbGxlY3Rpb24gc28gdGhhdCB3ZSBjYW4gYWRkIHRoZSBuZXcgY2xhc3Nlcw0KCQkJLy8gYmVsb3cuDQoJCQllbGVtZW50cyA9ICQoIGN1cnJlbnRFbGVtZW50cy5nZXQoKSApOw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIGN1cnJlbnRFbGVtZW50cywgY2xhc3NLZXkgKTsNCg0KCQkJLy8gV2UgZG9uJ3QgdXNlIF9hZGRDbGFzcygpIGhlcmUsIGJlY2F1c2UgdGhhdCB1c2VzIHRoaXMub3B0aW9ucy5jbGFzc2VzDQoJCQkvLyBmb3IgZ2VuZXJhdGluZyB0aGUgc3RyaW5nIG9mIGNsYXNzZXMuIFdlIHdhbnQgdG8gdXNlIHRoZSB2YWx1ZSBwYXNzZWQgaW4gZnJvbQ0KCQkJLy8gX3NldE9wdGlvbigpLCB0aGlzIGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIGNsYXNzZXMgb3B0aW9uIHdoaWNoIHdhcyBwYXNzZWQgdG8NCgkJCS8vIF9zZXRPcHRpb24oKS4gV2UgcGFzcyB0aGlzIHZhbHVlIGRpcmVjdGx5IHRvIF9jbGFzc2VzKCkuDQoJCQllbGVtZW50cy5hZGRDbGFzcyggdGhpcy5fY2xhc3Nlcyggew0KCQkJCWVsZW1lbnQ6IGVsZW1lbnRzLA0KCQkJCWtleXM6IGNsYXNzS2V5LA0KCQkJCWNsYXNzZXM6IHZhbHVlLA0KCQkJCWFkZDogdHJ1ZQ0KCQkJfSApICk7DQoJCX0NCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXMuX3RvZ2dsZUNsYXNzKCB0aGlzLndpZGdldCgpLCB0aGlzLndpZGdldEZ1bGxOYW1lICsgIi1kaXNhYmxlZCIsIG51bGwsICEhdmFsdWUgKTsNCg0KCQkvLyBJZiB0aGUgd2lkZ2V0IGlzIGJlY29taW5nIGRpc2FibGVkLCB0aGVuIG5vdGhpbmcgaXMgaW50ZXJhY3RpdmUNCgkJaWYgKCB2YWx1ZSApIHsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCB0aGlzLmhvdmVyYWJsZSwgbnVsbCwgInVpLXN0YXRlLWhvdmVyIiApOw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuZm9jdXNhYmxlLCBudWxsLCAidWktc3RhdGUtZm9jdXMiICk7DQoJCX0NCgl9LA0KDQoJZW5hYmxlOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoIHsgZGlzYWJsZWQ6IGZhbHNlIH0gKTsNCgl9LA0KDQoJZGlzYWJsZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLl9zZXRPcHRpb25zKCB7IGRpc2FibGVkOiB0cnVlIH0gKTsNCgl9LA0KDQoJX2NsYXNzZXM6IGZ1bmN0aW9uKCBvcHRpb25zICkgew0KCQl2YXIgZnVsbCA9IFtdOw0KCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJb3B0aW9ucyA9ICQuZXh0ZW5kKCB7DQoJCQllbGVtZW50OiB0aGlzLmVsZW1lbnQsDQoJCQljbGFzc2VzOiB0aGlzLm9wdGlvbnMuY2xhc3NlcyB8fCB7fQ0KCQl9LCBvcHRpb25zICk7DQoNCgkJZnVuY3Rpb24gcHJvY2Vzc0NsYXNzU3RyaW5nKCBjbGFzc2VzLCBjaGVja09wdGlvbiApIHsNCgkJCXZhciBjdXJyZW50LCBpOw0KCQkJZm9yICggaSA9IDA7IGkgPCBjbGFzc2VzLmxlbmd0aDsgaSsrICkgew0KCQkJCWN1cnJlbnQgPSB0aGF0LmNsYXNzZXNFbGVtZW50TG9va3VwWyBjbGFzc2VzWyBpIF0gXSB8fCAkKCk7DQoJCQkJaWYgKCBvcHRpb25zLmFkZCApIHsNCgkJCQkJY3VycmVudCA9ICQoICQudW5pcXVlKCBjdXJyZW50LmdldCgpLmNvbmNhdCggb3B0aW9ucy5lbGVtZW50LmdldCgpICkgKSApOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWN1cnJlbnQgPSAkKCBjdXJyZW50Lm5vdCggb3B0aW9ucy5lbGVtZW50ICkuZ2V0KCkgKTsNCgkJCQl9DQoJCQkJdGhhdC5jbGFzc2VzRWxlbWVudExvb2t1cFsgY2xhc3Nlc1sgaSBdIF0gPSBjdXJyZW50Ow0KCQkJCWZ1bGwucHVzaCggY2xhc3Nlc1sgaSBdICk7DQoJCQkJaWYgKCBjaGVja09wdGlvbiAmJiBvcHRpb25zLmNsYXNzZXNbIGNsYXNzZXNbIGkgXSBdICkgew0KCQkJCQlmdWxsLnB1c2goIG9wdGlvbnMuY2xhc3Nlc1sgY2xhc3Nlc1sgaSBdIF0gKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQl0aGlzLl9vbiggb3B0aW9ucy5lbGVtZW50LCB7DQoJCQkicmVtb3ZlIjogIl91bnRyYWNrQ2xhc3Nlc0VsZW1lbnQiDQoJCX0gKTsNCg0KCQlpZiAoIG9wdGlvbnMua2V5cyApIHsNCgkJCXByb2Nlc3NDbGFzc1N0cmluZyggb3B0aW9ucy5rZXlzLm1hdGNoKCAvXFMrL2cgKSB8fCBbXSwgdHJ1ZSApOw0KCQl9DQoJCWlmICggb3B0aW9ucy5leHRyYSApIHsNCgkJCXByb2Nlc3NDbGFzc1N0cmluZyggb3B0aW9ucy5leHRyYS5tYXRjaCggL1xTKy9nICkgfHwgW10gKTsNCgkJfQ0KDQoJCXJldHVybiBmdWxsLmpvaW4oICIgIiApOw0KCX0sDQoNCglfdW50cmFja0NsYXNzZXNFbGVtZW50OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJJC5lYWNoKCB0aGF0LmNsYXNzZXNFbGVtZW50TG9va3VwLCBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJCWlmICggJC5pbkFycmF5KCBldmVudC50YXJnZXQsIHZhbHVlICkgIT09IC0xICkgew0KCQkJCXRoYXQuY2xhc3Nlc0VsZW1lbnRMb29rdXBbIGtleSBdID0gJCggdmFsdWUubm90KCBldmVudC50YXJnZXQgKS5nZXQoKSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9yZW1vdmVDbGFzczogZnVuY3Rpb24oIGVsZW1lbnQsIGtleXMsIGV4dHJhICkgew0KCQlyZXR1cm4gdGhpcy5fdG9nZ2xlQ2xhc3MoIGVsZW1lbnQsIGtleXMsIGV4dHJhLCBmYWxzZSApOw0KCX0sDQoNCglfYWRkQ2xhc3M6IGZ1bmN0aW9uKCBlbGVtZW50LCBrZXlzLCBleHRyYSApIHsNCgkJcmV0dXJuIHRoaXMuX3RvZ2dsZUNsYXNzKCBlbGVtZW50LCBrZXlzLCBleHRyYSwgdHJ1ZSApOw0KCX0sDQoNCglfdG9nZ2xlQ2xhc3M6IGZ1bmN0aW9uKCBlbGVtZW50LCBrZXlzLCBleHRyYSwgYWRkICkgew0KCQlhZGQgPSAoIHR5cGVvZiBhZGQgPT09ICJib29sZWFuIiApID8gYWRkIDogZXh0cmE7DQoJCXZhciBzaGlmdCA9ICggdHlwZW9mIGVsZW1lbnQgPT09ICJzdHJpbmciIHx8IGVsZW1lbnQgPT09IG51bGwgKSwNCgkJCW9wdGlvbnMgPSB7DQoJCQkJZXh0cmE6IHNoaWZ0ID8ga2V5cyA6IGV4dHJhLA0KCQkJCWtleXM6IHNoaWZ0ID8gZWxlbWVudCA6IGtleXMsDQoJCQkJZWxlbWVudDogc2hpZnQgPyB0aGlzLmVsZW1lbnQgOiBlbGVtZW50LA0KCQkJCWFkZDogYWRkDQoJCQl9Ow0KCQlvcHRpb25zLmVsZW1lbnQudG9nZ2xlQ2xhc3MoIHRoaXMuX2NsYXNzZXMoIG9wdGlvbnMgKSwgYWRkICk7DQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglfb246IGZ1bmN0aW9uKCBzdXBwcmVzc0Rpc2FibGVkQ2hlY2ssIGVsZW1lbnQsIGhhbmRsZXJzICkgew0KCQl2YXIgZGVsZWdhdGVFbGVtZW50Ow0KCQl2YXIgaW5zdGFuY2UgPSB0aGlzOw0KDQoJCS8vIE5vIHN1cHByZXNzRGlzYWJsZWRDaGVjayBmbGFnLCBzaHVmZmxlIGFyZ3VtZW50cw0KCQlpZiAoIHR5cGVvZiBzdXBwcmVzc0Rpc2FibGVkQ2hlY2sgIT09ICJib29sZWFuIiApIHsNCgkJCWhhbmRsZXJzID0gZWxlbWVudDsNCgkJCWVsZW1lbnQgPSBzdXBwcmVzc0Rpc2FibGVkQ2hlY2s7DQoJCQlzdXBwcmVzc0Rpc2FibGVkQ2hlY2sgPSBmYWxzZTsNCgkJfQ0KDQoJCS8vIE5vIGVsZW1lbnQgYXJndW1lbnQsIHNodWZmbGUgYW5kIHVzZSB0aGlzLmVsZW1lbnQNCgkJaWYgKCAhaGFuZGxlcnMgKSB7DQoJCQloYW5kbGVycyA9IGVsZW1lbnQ7DQoJCQllbGVtZW50ID0gdGhpcy5lbGVtZW50Ow0KCQkJZGVsZWdhdGVFbGVtZW50ID0gdGhpcy53aWRnZXQoKTsNCgkJfSBlbHNlIHsNCgkJCWVsZW1lbnQgPSBkZWxlZ2F0ZUVsZW1lbnQgPSAkKCBlbGVtZW50ICk7DQoJCQl0aGlzLmJpbmRpbmdzID0gdGhpcy5iaW5kaW5ncy5hZGQoIGVsZW1lbnQgKTsNCgkJfQ0KDQoJCSQuZWFjaCggaGFuZGxlcnMsIGZ1bmN0aW9uKCBldmVudCwgaGFuZGxlciApIHsNCgkJCWZ1bmN0aW9uIGhhbmRsZXJQcm94eSgpIHsNCg0KCQkJCS8vIEFsbG93IHdpZGdldHMgdG8gY3VzdG9taXplIHRoZSBkaXNhYmxlZCBoYW5kbGluZw0KCQkJCS8vIC0gZGlzYWJsZWQgYXMgYW4gYXJyYXkgaW5zdGVhZCBvZiBib29sZWFuDQoJCQkJLy8gLSBkaXNhYmxlZCBjbGFzcyBhcyBtZXRob2QgZm9yIGRpc2FibGluZyBpbmRpdmlkdWFsIHBhcnRzDQoJCQkJaWYgKCAhc3VwcHJlc3NEaXNhYmxlZENoZWNrICYmDQoJCQkJCQkoIGluc3RhbmNlLm9wdGlvbnMuZGlzYWJsZWQgPT09IHRydWUgfHwNCgkJCQkJCSQoIHRoaXMgKS5oYXNDbGFzcyggInVpLXN0YXRlLWRpc2FibGVkIiApICkgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJcmV0dXJuICggdHlwZW9mIGhhbmRsZXIgPT09ICJzdHJpbmciID8gaW5zdGFuY2VbIGhhbmRsZXIgXSA6IGhhbmRsZXIgKQ0KCQkJCQkuYXBwbHkoIGluc3RhbmNlLCBhcmd1bWVudHMgKTsNCgkJCX0NCg0KCQkJLy8gQ29weSB0aGUgZ3VpZCBzbyBkaXJlY3QgdW5iaW5kaW5nIHdvcmtzDQoJCQlpZiAoIHR5cGVvZiBoYW5kbGVyICE9PSAic3RyaW5nIiApIHsNCgkJCQloYW5kbGVyUHJveHkuZ3VpZCA9IGhhbmRsZXIuZ3VpZCA9DQoJCQkJCWhhbmRsZXIuZ3VpZCB8fCBoYW5kbGVyUHJveHkuZ3VpZCB8fCAkLmd1aWQrKzsNCgkJCX0NCg0KCQkJdmFyIG1hdGNoID0gZXZlbnQubWF0Y2goIC9eKFtcdzotXSopXHMqKC4qKSQvICk7DQoJCQl2YXIgZXZlbnROYW1lID0gbWF0Y2hbIDEgXSArIGluc3RhbmNlLmV2ZW50TmFtZXNwYWNlOw0KCQkJdmFyIHNlbGVjdG9yID0gbWF0Y2hbIDIgXTsNCg0KCQkJaWYgKCBzZWxlY3RvciApIHsNCgkJCQlkZWxlZ2F0ZUVsZW1lbnQub24oIGV2ZW50TmFtZSwgc2VsZWN0b3IsIGhhbmRsZXJQcm94eSApOw0KCQkJfSBlbHNlIHsNCgkJCQllbGVtZW50Lm9uKCBldmVudE5hbWUsIGhhbmRsZXJQcm94eSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9vZmY6IGZ1bmN0aW9uKCBlbGVtZW50LCBldmVudE5hbWUgKSB7DQoJCWV2ZW50TmFtZSA9ICggZXZlbnROYW1lIHx8ICIiICkuc3BsaXQoICIgIiApLmpvaW4oIHRoaXMuZXZlbnROYW1lc3BhY2UgKyAiICIgKSArDQoJCQl0aGlzLmV2ZW50TmFtZXNwYWNlOw0KCQllbGVtZW50Lm9mZiggZXZlbnROYW1lICkub2ZmKCBldmVudE5hbWUgKTsNCg0KCQkvLyBDbGVhciB0aGUgc3RhY2sgdG8gYXZvaWQgbWVtb3J5IGxlYWtzICgjMTAwNTYpDQoJCXRoaXMuYmluZGluZ3MgPSAkKCB0aGlzLmJpbmRpbmdzLm5vdCggZWxlbWVudCApLmdldCgpICk7DQoJCXRoaXMuZm9jdXNhYmxlID0gJCggdGhpcy5mb2N1c2FibGUubm90KCBlbGVtZW50ICkuZ2V0KCkgKTsNCgkJdGhpcy5ob3ZlcmFibGUgPSAkKCB0aGlzLmhvdmVyYWJsZS5ub3QoIGVsZW1lbnQgKS5nZXQoKSApOw0KCX0sDQoNCglfZGVsYXk6IGZ1bmN0aW9uKCBoYW5kbGVyLCBkZWxheSApIHsNCgkJZnVuY3Rpb24gaGFuZGxlclByb3h5KCkgew0KCQkJcmV0dXJuICggdHlwZW9mIGhhbmRsZXIgPT09ICJzdHJpbmciID8gaW5zdGFuY2VbIGhhbmRsZXIgXSA6IGhhbmRsZXIgKQ0KCQkJCS5hcHBseSggaW5zdGFuY2UsIGFyZ3VtZW50cyApOw0KCQl9DQoJCXZhciBpbnN0YW5jZSA9IHRoaXM7DQoJCXJldHVybiBzZXRUaW1lb3V0KCBoYW5kbGVyUHJveHksIGRlbGF5IHx8IDAgKTsNCgl9LA0KDQoJX2hvdmVyYWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXRoaXMuaG92ZXJhYmxlID0gdGhpcy5ob3ZlcmFibGUuYWRkKCBlbGVtZW50ICk7DQoJCXRoaXMuX29uKCBlbGVtZW50LCB7DQoJCQltb3VzZWVudGVyOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwgbnVsbCwgInVpLXN0YXRlLWhvdmVyIiApOw0KCQkJfSwNCgkJCW1vdXNlbGVhdmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggJCggZXZlbnQuY3VycmVudFRhcmdldCApLCBudWxsLCAidWktc3RhdGUtaG92ZXIiICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX2ZvY3VzYWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXRoaXMuZm9jdXNhYmxlID0gdGhpcy5mb2N1c2FibGUuYWRkKCBlbGVtZW50ICk7DQoJCXRoaXMuX29uKCBlbGVtZW50LCB7DQoJCQlmb2N1c2luOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwgbnVsbCwgInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfSwNCgkJCWZvY3Vzb3V0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwgbnVsbCwgInVpLXN0YXRlLWZvY3VzIiApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV90cmlnZ2VyOiBmdW5jdGlvbiggdHlwZSwgZXZlbnQsIGRhdGEgKSB7DQoJCXZhciBwcm9wLCBvcmlnOw0KCQl2YXIgY2FsbGJhY2sgPSB0aGlzLm9wdGlvbnNbIHR5cGUgXTsNCg0KCQlkYXRhID0gZGF0YSB8fCB7fTsNCgkJZXZlbnQgPSAkLkV2ZW50KCBldmVudCApOw0KCQlldmVudC50eXBlID0gKCB0eXBlID09PSB0aGlzLndpZGdldEV2ZW50UHJlZml4ID8NCgkJCXR5cGUgOg0KCQkJdGhpcy53aWRnZXRFdmVudFByZWZpeCArIHR5cGUgKS50b0xvd2VyQ2FzZSgpOw0KDQoJCS8vIFRoZSBvcmlnaW5hbCBldmVudCBtYXkgY29tZSBmcm9tIGFueSBlbGVtZW50DQoJCS8vIHNvIHdlIG5lZWQgdG8gcmVzZXQgdGhlIHRhcmdldCBvbiB0aGUgbmV3IGV2ZW50DQoJCWV2ZW50LnRhcmdldCA9IHRoaXMuZWxlbWVudFsgMCBdOw0KDQoJCS8vIENvcHkgb3JpZ2luYWwgZXZlbnQgcHJvcGVydGllcyBvdmVyIHRvIHRoZSBuZXcgZXZlbnQNCgkJb3JpZyA9IGV2ZW50Lm9yaWdpbmFsRXZlbnQ7DQoJCWlmICggb3JpZyApIHsNCgkJCWZvciAoIHByb3AgaW4gb3JpZyApIHsNCgkJCQlpZiAoICEoIHByb3AgaW4gZXZlbnQgKSApIHsNCgkJCQkJZXZlbnRbIHByb3AgXSA9IG9yaWdbIHByb3AgXTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQl0aGlzLmVsZW1lbnQudHJpZ2dlciggZXZlbnQsIGRhdGEgKTsNCgkJcmV0dXJuICEoICQuaXNGdW5jdGlvbiggY2FsbGJhY2sgKSAmJg0KCQkJY2FsbGJhY2suYXBwbHkoIHRoaXMuZWxlbWVudFsgMCBdLCBbIGV2ZW50IF0uY29uY2F0KCBkYXRhICkgKSA9PT0gZmFsc2UgfHwNCgkJCWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICk7DQoJfQ0KfTsNCg0KJC5lYWNoKCB7IHNob3c6ICJmYWRlSW4iLCBoaWRlOiAiZmFkZU91dCIgfSwgZnVuY3Rpb24oIG1ldGhvZCwgZGVmYXVsdEVmZmVjdCApIHsNCgkkLldpZGdldC5wcm90b3R5cGVbICJfIiArIG1ldGhvZCBdID0gZnVuY3Rpb24oIGVsZW1lbnQsIG9wdGlvbnMsIGNhbGxiYWNrICkgew0KCQlpZiAoIHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiApIHsNCgkJCW9wdGlvbnMgPSB7IGVmZmVjdDogb3B0aW9ucyB9Ow0KCQl9DQoNCgkJdmFyIGhhc09wdGlvbnM7DQoJCXZhciBlZmZlY3ROYW1lID0gIW9wdGlvbnMgPw0KCQkJbWV0aG9kIDoNCgkJCW9wdGlvbnMgPT09IHRydWUgfHwgdHlwZW9mIG9wdGlvbnMgPT09ICJudW1iZXIiID8NCgkJCQlkZWZhdWx0RWZmZWN0IDoNCgkJCQlvcHRpb25zLmVmZmVjdCB8fCBkZWZhdWx0RWZmZWN0Ow0KDQoJCW9wdGlvbnMgPSBvcHRpb25zIHx8IHt9Ow0KCQlpZiAoIHR5cGVvZiBvcHRpb25zID09PSAibnVtYmVyIiApIHsNCgkJCW9wdGlvbnMgPSB7IGR1cmF0aW9uOiBvcHRpb25zIH07DQoJCX0NCg0KCQloYXNPcHRpb25zID0gISQuaXNFbXB0eU9iamVjdCggb3B0aW9ucyApOw0KCQlvcHRpb25zLmNvbXBsZXRlID0gY2FsbGJhY2s7DQoNCgkJaWYgKCBvcHRpb25zLmRlbGF5ICkgew0KCQkJZWxlbWVudC5kZWxheSggb3B0aW9ucy5kZWxheSApOw0KCQl9DQoNCgkJaWYgKCBoYXNPcHRpb25zICYmICQuZWZmZWN0cyAmJiAkLmVmZmVjdHMuZWZmZWN0WyBlZmZlY3ROYW1lIF0gKSB7DQoJCQllbGVtZW50WyBtZXRob2QgXSggb3B0aW9ucyApOw0KCQl9IGVsc2UgaWYgKCBlZmZlY3ROYW1lICE9PSBtZXRob2QgJiYgZWxlbWVudFsgZWZmZWN0TmFtZSBdICkgew0KCQkJZWxlbWVudFsgZWZmZWN0TmFtZSBdKCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZywgY2FsbGJhY2sgKTsNCgkJfSBlbHNlIHsNCgkJCWVsZW1lbnQucXVldWUoIGZ1bmN0aW9uKCBuZXh0ICkgew0KCQkJCSQoIHRoaXMgKVsgbWV0aG9kIF0oKTsNCgkJCQlpZiAoIGNhbGxiYWNrICkgew0KCQkJCQljYWxsYmFjay5jYWxsKCBlbGVtZW50WyAwIF0gKTsNCgkJCQl9DQoJCQkJbmV4dCgpOw0KCQkJfSApOw0KCQl9DQoJfTsNCn0gKTsNCg0KdmFyIHdpZGdldCA9ICQud2lkZ2V0Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFBvc2l0aW9uIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcG9zaXRpb24vDQogKi8NCg0KLy8+PmxhYmVsOiBQb3NpdGlvbg0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFBvc2l0aW9ucyBlbGVtZW50cyByZWxhdGl2ZSB0byBvdGhlciBlbGVtZW50cy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9wb3NpdGlvbi8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9wb3NpdGlvbi8NCg0KDQooIGZ1bmN0aW9uKCkgew0KdmFyIGNhY2hlZFNjcm9sbGJhcldpZHRoLA0KCW1heCA9IE1hdGgubWF4LA0KCWFicyA9IE1hdGguYWJzLA0KCXJob3Jpem9udGFsID0gL2xlZnR8Y2VudGVyfHJpZ2h0LywNCglydmVydGljYWwgPSAvdG9wfGNlbnRlcnxib3R0b20vLA0KCXJvZmZzZXQgPSAvW1wrXC1dXGQrKFwuW1xkXSspPyU/LywNCglycG9zaXRpb24gPSAvXlx3Ky8sDQoJcnBlcmNlbnQgPSAvJSQvLA0KCV9wb3NpdGlvbiA9ICQuZm4ucG9zaXRpb247DQoNCmZ1bmN0aW9uIGdldE9mZnNldHMoIG9mZnNldHMsIHdpZHRoLCBoZWlnaHQgKSB7DQoJcmV0dXJuIFsNCgkJcGFyc2VGbG9hdCggb2Zmc2V0c1sgMCBdICkgKiAoIHJwZXJjZW50LnRlc3QoIG9mZnNldHNbIDAgXSApID8gd2lkdGggLyAxMDAgOiAxICksDQoJCXBhcnNlRmxvYXQoIG9mZnNldHNbIDEgXSApICogKCBycGVyY2VudC50ZXN0KCBvZmZzZXRzWyAxIF0gKSA/IGhlaWdodCAvIDEwMCA6IDEgKQ0KCV07DQp9DQoNCmZ1bmN0aW9uIHBhcnNlQ3NzKCBlbGVtZW50LCBwcm9wZXJ0eSApIHsNCglyZXR1cm4gcGFyc2VJbnQoICQuY3NzKCBlbGVtZW50LCBwcm9wZXJ0eSApLCAxMCApIHx8IDA7DQp9DQoNCmZ1bmN0aW9uIGdldERpbWVuc2lvbnMoIGVsZW0gKSB7DQoJdmFyIHJhdyA9IGVsZW1bIDAgXTsNCglpZiAoIHJhdy5ub2RlVHlwZSA9PT0gOSApIHsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBlbGVtLndpZHRoKCksDQoJCQloZWlnaHQ6IGVsZW0uaGVpZ2h0KCksDQoJCQlvZmZzZXQ6IHsgdG9wOiAwLCBsZWZ0OiAwIH0NCgkJfTsNCgl9DQoJaWYgKCAkLmlzV2luZG93KCByYXcgKSApIHsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBlbGVtLndpZHRoKCksDQoJCQloZWlnaHQ6IGVsZW0uaGVpZ2h0KCksDQoJCQlvZmZzZXQ6IHsgdG9wOiBlbGVtLnNjcm9sbFRvcCgpLCBsZWZ0OiBlbGVtLnNjcm9sbExlZnQoKSB9DQoJCX07DQoJfQ0KCWlmICggcmF3LnByZXZlbnREZWZhdWx0ICkgew0KCQlyZXR1cm4gew0KCQkJd2lkdGg6IDAsDQoJCQloZWlnaHQ6IDAsDQoJCQlvZmZzZXQ6IHsgdG9wOiByYXcucGFnZVksIGxlZnQ6IHJhdy5wYWdlWCB9DQoJCX07DQoJfQ0KCXJldHVybiB7DQoJCXdpZHRoOiBlbGVtLm91dGVyV2lkdGgoKSwNCgkJaGVpZ2h0OiBlbGVtLm91dGVySGVpZ2h0KCksDQoJCW9mZnNldDogZWxlbS5vZmZzZXQoKQ0KCX07DQp9DQoNCiQucG9zaXRpb24gPSB7DQoJc2Nyb2xsYmFyV2lkdGg6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIGNhY2hlZFNjcm9sbGJhcldpZHRoICE9PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gY2FjaGVkU2Nyb2xsYmFyV2lkdGg7DQoJCX0NCgkJdmFyIHcxLCB3MiwNCgkJCWRpdiA9ICQoICI8ZGl2ICIgKw0KCQkJCSJzdHlsZT0nZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OmhpZGRlbjsnPiIgKw0KCQkJCSI8ZGl2IHN0eWxlPSdoZWlnaHQ6MTAwcHg7d2lkdGg6YXV0bzsnPjwvZGl2PjwvZGl2PiIgKSwNCgkJCWlubmVyRGl2ID0gZGl2LmNoaWxkcmVuKClbIDAgXTsNCg0KCQkkKCAiYm9keSIgKS5hcHBlbmQoIGRpdiApOw0KCQl3MSA9IGlubmVyRGl2Lm9mZnNldFdpZHRoOw0KCQlkaXYuY3NzKCAib3ZlcmZsb3ciLCAic2Nyb2xsIiApOw0KDQoJCXcyID0gaW5uZXJEaXYub2Zmc2V0V2lkdGg7DQoNCgkJaWYgKCB3MSA9PT0gdzIgKSB7DQoJCQl3MiA9IGRpdlsgMCBdLmNsaWVudFdpZHRoOw0KCQl9DQoNCgkJZGl2LnJlbW92ZSgpOw0KDQoJCXJldHVybiAoIGNhY2hlZFNjcm9sbGJhcldpZHRoID0gdzEgLSB3MiApOw0KCX0sDQoJZ2V0U2Nyb2xsSW5mbzogZnVuY3Rpb24oIHdpdGhpbiApIHsNCgkJdmFyIG92ZXJmbG93WCA9IHdpdGhpbi5pc1dpbmRvdyB8fCB3aXRoaW4uaXNEb2N1bWVudCA/ICIiIDoNCgkJCQl3aXRoaW4uZWxlbWVudC5jc3MoICJvdmVyZmxvdy14IiApLA0KCQkJb3ZlcmZsb3dZID0gd2l0aGluLmlzV2luZG93IHx8IHdpdGhpbi5pc0RvY3VtZW50ID8gIiIgOg0KCQkJCXdpdGhpbi5lbGVtZW50LmNzcyggIm92ZXJmbG93LXkiICksDQoJCQloYXNPdmVyZmxvd1ggPSBvdmVyZmxvd1ggPT09ICJzY3JvbGwiIHx8DQoJCQkJKCBvdmVyZmxvd1ggPT09ICJhdXRvIiAmJiB3aXRoaW4ud2lkdGggPCB3aXRoaW4uZWxlbWVudFsgMCBdLnNjcm9sbFdpZHRoICksDQoJCQloYXNPdmVyZmxvd1kgPSBvdmVyZmxvd1kgPT09ICJzY3JvbGwiIHx8DQoJCQkJKCBvdmVyZmxvd1kgPT09ICJhdXRvIiAmJiB3aXRoaW4uaGVpZ2h0IDwgd2l0aGluLmVsZW1lbnRbIDAgXS5zY3JvbGxIZWlnaHQgKTsNCgkJcmV0dXJuIHsNCgkJCXdpZHRoOiBoYXNPdmVyZmxvd1kgPyAkLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCkgOiAwLA0KCQkJaGVpZ2h0OiBoYXNPdmVyZmxvd1ggPyAkLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCkgOiAwDQoJCX07DQoJfSwNCglnZXRXaXRoaW5JbmZvOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJdmFyIHdpdGhpbkVsZW1lbnQgPSAkKCBlbGVtZW50IHx8IHdpbmRvdyApLA0KCQkJaXNXaW5kb3cgPSAkLmlzV2luZG93KCB3aXRoaW5FbGVtZW50WyAwIF0gKSwNCgkJCWlzRG9jdW1lbnQgPSAhIXdpdGhpbkVsZW1lbnRbIDAgXSAmJiB3aXRoaW5FbGVtZW50WyAwIF0ubm9kZVR5cGUgPT09IDksDQoJCQloYXNPZmZzZXQgPSAhaXNXaW5kb3cgJiYgIWlzRG9jdW1lbnQ7DQoJCXJldHVybiB7DQoJCQllbGVtZW50OiB3aXRoaW5FbGVtZW50LA0KCQkJaXNXaW5kb3c6IGlzV2luZG93LA0KCQkJaXNEb2N1bWVudDogaXNEb2N1bWVudCwNCgkJCW9mZnNldDogaGFzT2Zmc2V0ID8gJCggZWxlbWVudCApLm9mZnNldCgpIDogeyBsZWZ0OiAwLCB0b3A6IDAgfSwNCgkJCXNjcm9sbExlZnQ6IHdpdGhpbkVsZW1lbnQuc2Nyb2xsTGVmdCgpLA0KCQkJc2Nyb2xsVG9wOiB3aXRoaW5FbGVtZW50LnNjcm9sbFRvcCgpLA0KCQkJd2lkdGg6IHdpdGhpbkVsZW1lbnQub3V0ZXJXaWR0aCgpLA0KCQkJaGVpZ2h0OiB3aXRoaW5FbGVtZW50Lm91dGVySGVpZ2h0KCkNCgkJfTsNCgl9DQp9Ow0KDQokLmZuLnBvc2l0aW9uID0gZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoJaWYgKCAhb3B0aW9ucyB8fCAhb3B0aW9ucy5vZiApIHsNCgkJcmV0dXJuIF9wb3NpdGlvbi5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJfQ0KDQoJLy8gTWFrZSBhIGNvcHksIHdlIGRvbid0IHdhbnQgdG8gbW9kaWZ5IGFyZ3VtZW50cw0KCW9wdGlvbnMgPSAkLmV4dGVuZCgge30sIG9wdGlvbnMgKTsNCg0KCXZhciBhdE9mZnNldCwgdGFyZ2V0V2lkdGgsIHRhcmdldEhlaWdodCwgdGFyZ2V0T2Zmc2V0LCBiYXNlUG9zaXRpb24sIGRpbWVuc2lvbnMsDQoJCXRhcmdldCA9ICQoIG9wdGlvbnMub2YgKSwNCgkJd2l0aGluID0gJC5wb3NpdGlvbi5nZXRXaXRoaW5JbmZvKCBvcHRpb25zLndpdGhpbiApLA0KCQlzY3JvbGxJbmZvID0gJC5wb3NpdGlvbi5nZXRTY3JvbGxJbmZvKCB3aXRoaW4gKSwNCgkJY29sbGlzaW9uID0gKCBvcHRpb25zLmNvbGxpc2lvbiB8fCAiZmxpcCIgKS5zcGxpdCggIiAiICksDQoJCW9mZnNldHMgPSB7fTsNCg0KCWRpbWVuc2lvbnMgPSBnZXREaW1lbnNpb25zKCB0YXJnZXQgKTsNCglpZiAoIHRhcmdldFsgMCBdLnByZXZlbnREZWZhdWx0ICkgew0KDQoJCS8vIEZvcmNlIGxlZnQgdG9wIHRvIGFsbG93IGZsaXBwaW5nDQoJCW9wdGlvbnMuYXQgPSAibGVmdCB0b3AiOw0KCX0NCgl0YXJnZXRXaWR0aCA9IGRpbWVuc2lvbnMud2lkdGg7DQoJdGFyZ2V0SGVpZ2h0ID0gZGltZW5zaW9ucy5oZWlnaHQ7DQoJdGFyZ2V0T2Zmc2V0ID0gZGltZW5zaW9ucy5vZmZzZXQ7DQoNCgkvLyBDbG9uZSB0byByZXVzZSBvcmlnaW5hbCB0YXJnZXRPZmZzZXQgbGF0ZXINCgliYXNlUG9zaXRpb24gPSAkLmV4dGVuZCgge30sIHRhcmdldE9mZnNldCApOw0KDQoJLy8gRm9yY2UgbXkgYW5kIGF0IHRvIGhhdmUgdmFsaWQgaG9yaXpvbnRhbCBhbmQgdmVydGljYWwgcG9zaXRpb25zDQoJLy8gaWYgYSB2YWx1ZSBpcyBtaXNzaW5nIG9yIGludmFsaWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGNlbnRlcg0KCSQuZWFjaCggWyAibXkiLCAiYXQiIF0sIGZ1bmN0aW9uKCkgew0KCQl2YXIgcG9zID0gKCBvcHRpb25zWyB0aGlzIF0gfHwgIiIgKS5zcGxpdCggIiAiICksDQoJCQlob3Jpem9udGFsT2Zmc2V0LA0KCQkJdmVydGljYWxPZmZzZXQ7DQoNCgkJaWYgKCBwb3MubGVuZ3RoID09PSAxICkgew0KCQkJcG9zID0gcmhvcml6b250YWwudGVzdCggcG9zWyAwIF0gKSA/DQoJCQkJcG9zLmNvbmNhdCggWyAiY2VudGVyIiBdICkgOg0KCQkJCXJ2ZXJ0aWNhbC50ZXN0KCBwb3NbIDAgXSApID8NCgkJCQkJWyAiY2VudGVyIiBdLmNvbmNhdCggcG9zICkgOg0KCQkJCQlbICJjZW50ZXIiLCAiY2VudGVyIiBdOw0KCQl9DQoJCXBvc1sgMCBdID0gcmhvcml6b250YWwudGVzdCggcG9zWyAwIF0gKSA/IHBvc1sgMCBdIDogImNlbnRlciI7DQoJCXBvc1sgMSBdID0gcnZlcnRpY2FsLnRlc3QoIHBvc1sgMSBdICkgPyBwb3NbIDEgXSA6ICJjZW50ZXIiOw0KDQoJCS8vIENhbGN1bGF0ZSBvZmZzZXRzDQoJCWhvcml6b250YWxPZmZzZXQgPSByb2Zmc2V0LmV4ZWMoIHBvc1sgMCBdICk7DQoJCXZlcnRpY2FsT2Zmc2V0ID0gcm9mZnNldC5leGVjKCBwb3NbIDEgXSApOw0KCQlvZmZzZXRzWyB0aGlzIF0gPSBbDQoJCQlob3Jpem9udGFsT2Zmc2V0ID8gaG9yaXpvbnRhbE9mZnNldFsgMCBdIDogMCwNCgkJCXZlcnRpY2FsT2Zmc2V0ID8gdmVydGljYWxPZmZzZXRbIDAgXSA6IDANCgkJXTsNCg0KCQkvLyBSZWR1Y2UgdG8ganVzdCB0aGUgcG9zaXRpb25zIHdpdGhvdXQgdGhlIG9mZnNldHMNCgkJb3B0aW9uc1sgdGhpcyBdID0gWw0KCQkJcnBvc2l0aW9uLmV4ZWMoIHBvc1sgMCBdIClbIDAgXSwNCgkJCXJwb3NpdGlvbi5leGVjKCBwb3NbIDEgXSApWyAwIF0NCgkJXTsNCgl9ICk7DQoNCgkvLyBOb3JtYWxpemUgY29sbGlzaW9uIG9wdGlvbg0KCWlmICggY29sbGlzaW9uLmxlbmd0aCA9PT0gMSApIHsNCgkJY29sbGlzaW9uWyAxIF0gPSBjb2xsaXNpb25bIDAgXTsNCgl9DQoNCglpZiAoIG9wdGlvbnMuYXRbIDAgXSA9PT0gInJpZ2h0IiApIHsNCgkJYmFzZVBvc2l0aW9uLmxlZnQgKz0gdGFyZ2V0V2lkdGg7DQoJfSBlbHNlIGlmICggb3B0aW9ucy5hdFsgMCBdID09PSAiY2VudGVyIiApIHsNCgkJYmFzZVBvc2l0aW9uLmxlZnQgKz0gdGFyZ2V0V2lkdGggLyAyOw0KCX0NCg0KCWlmICggb3B0aW9ucy5hdFsgMSBdID09PSAiYm90dG9tIiApIHsNCgkJYmFzZVBvc2l0aW9uLnRvcCArPSB0YXJnZXRIZWlnaHQ7DQoJfSBlbHNlIGlmICggb3B0aW9ucy5hdFsgMSBdID09PSAiY2VudGVyIiApIHsNCgkJYmFzZVBvc2l0aW9uLnRvcCArPSB0YXJnZXRIZWlnaHQgLyAyOw0KCX0NCg0KCWF0T2Zmc2V0ID0gZ2V0T2Zmc2V0cyggb2Zmc2V0cy5hdCwgdGFyZ2V0V2lkdGgsIHRhcmdldEhlaWdodCApOw0KCWJhc2VQb3NpdGlvbi5sZWZ0ICs9IGF0T2Zmc2V0WyAwIF07DQoJYmFzZVBvc2l0aW9uLnRvcCArPSBhdE9mZnNldFsgMSBdOw0KDQoJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCXZhciBjb2xsaXNpb25Qb3NpdGlvbiwgdXNpbmcsDQoJCQllbGVtID0gJCggdGhpcyApLA0KCQkJZWxlbVdpZHRoID0gZWxlbS5vdXRlcldpZHRoKCksDQoJCQllbGVtSGVpZ2h0ID0gZWxlbS5vdXRlckhlaWdodCgpLA0KCQkJbWFyZ2luTGVmdCA9IHBhcnNlQ3NzKCB0aGlzLCAibWFyZ2luTGVmdCIgKSwNCgkJCW1hcmdpblRvcCA9IHBhcnNlQ3NzKCB0aGlzLCAibWFyZ2luVG9wIiApLA0KCQkJY29sbGlzaW9uV2lkdGggPSBlbGVtV2lkdGggKyBtYXJnaW5MZWZ0ICsgcGFyc2VDc3MoIHRoaXMsICJtYXJnaW5SaWdodCIgKSArDQoJCQkJc2Nyb2xsSW5mby53aWR0aCwNCgkJCWNvbGxpc2lvbkhlaWdodCA9IGVsZW1IZWlnaHQgKyBtYXJnaW5Ub3AgKyBwYXJzZUNzcyggdGhpcywgIm1hcmdpbkJvdHRvbSIgKSArDQoJCQkJc2Nyb2xsSW5mby5oZWlnaHQsDQoJCQlwb3NpdGlvbiA9ICQuZXh0ZW5kKCB7fSwgYmFzZVBvc2l0aW9uICksDQoJCQlteU9mZnNldCA9IGdldE9mZnNldHMoIG9mZnNldHMubXksIGVsZW0ub3V0ZXJXaWR0aCgpLCBlbGVtLm91dGVySGVpZ2h0KCkgKTsNCg0KCQlpZiAoIG9wdGlvbnMubXlbIDAgXSA9PT0gInJpZ2h0IiApIHsNCgkJCXBvc2l0aW9uLmxlZnQgLT0gZWxlbVdpZHRoOw0KCQl9IGVsc2UgaWYgKCBvcHRpb25zLm15WyAwIF0gPT09ICJjZW50ZXIiICkgew0KCQkJcG9zaXRpb24ubGVmdCAtPSBlbGVtV2lkdGggLyAyOw0KCQl9DQoNCgkJaWYgKCBvcHRpb25zLm15WyAxIF0gPT09ICJib3R0b20iICkgew0KCQkJcG9zaXRpb24udG9wIC09IGVsZW1IZWlnaHQ7DQoJCX0gZWxzZSBpZiAoIG9wdGlvbnMubXlbIDEgXSA9PT0gImNlbnRlciIgKSB7DQoJCQlwb3NpdGlvbi50b3AgLT0gZWxlbUhlaWdodCAvIDI7DQoJCX0NCg0KCQlwb3NpdGlvbi5sZWZ0ICs9IG15T2Zmc2V0WyAwIF07DQoJCXBvc2l0aW9uLnRvcCArPSBteU9mZnNldFsgMSBdOw0KDQoJCWNvbGxpc2lvblBvc2l0aW9uID0gew0KCQkJbWFyZ2luTGVmdDogbWFyZ2luTGVmdCwNCgkJCW1hcmdpblRvcDogbWFyZ2luVG9wDQoJCX07DQoNCgkJJC5lYWNoKCBbICJsZWZ0IiwgInRvcCIgXSwgZnVuY3Rpb24oIGksIGRpciApIHsNCgkJCWlmICggJC51aS5wb3NpdGlvblsgY29sbGlzaW9uWyBpIF0gXSApIHsNCgkJCQkkLnVpLnBvc2l0aW9uWyBjb2xsaXNpb25bIGkgXSBdWyBkaXIgXSggcG9zaXRpb24sIHsNCgkJCQkJdGFyZ2V0V2lkdGg6IHRhcmdldFdpZHRoLA0KCQkJCQl0YXJnZXRIZWlnaHQ6IHRhcmdldEhlaWdodCwNCgkJCQkJZWxlbVdpZHRoOiBlbGVtV2lkdGgsDQoJCQkJCWVsZW1IZWlnaHQ6IGVsZW1IZWlnaHQsDQoJCQkJCWNvbGxpc2lvblBvc2l0aW9uOiBjb2xsaXNpb25Qb3NpdGlvbiwNCgkJCQkJY29sbGlzaW9uV2lkdGg6IGNvbGxpc2lvbldpZHRoLA0KCQkJCQljb2xsaXNpb25IZWlnaHQ6IGNvbGxpc2lvbkhlaWdodCwNCgkJCQkJb2Zmc2V0OiBbIGF0T2Zmc2V0WyAwIF0gKyBteU9mZnNldFsgMCBdLCBhdE9mZnNldCBbIDEgXSArIG15T2Zmc2V0WyAxIF0gXSwNCgkJCQkJbXk6IG9wdGlvbnMubXksDQoJCQkJCWF0OiBvcHRpb25zLmF0LA0KCQkJCQl3aXRoaW46IHdpdGhpbiwNCgkJCQkJZWxlbTogZWxlbQ0KCQkJCX0gKTsNCgkJCX0NCgkJfSApOw0KDQoJCWlmICggb3B0aW9ucy51c2luZyApIHsNCg0KCQkJLy8gQWRkcyBmZWVkYmFjayBhcyBzZWNvbmQgYXJndW1lbnQgdG8gdXNpbmcgY2FsbGJhY2ssIGlmIHByZXNlbnQNCgkJCXVzaW5nID0gZnVuY3Rpb24oIHByb3BzICkgew0KCQkJCXZhciBsZWZ0ID0gdGFyZ2V0T2Zmc2V0LmxlZnQgLSBwb3NpdGlvbi5sZWZ0LA0KCQkJCQlyaWdodCA9IGxlZnQgKyB0YXJnZXRXaWR0aCAtIGVsZW1XaWR0aCwNCgkJCQkJdG9wID0gdGFyZ2V0T2Zmc2V0LnRvcCAtIHBvc2l0aW9uLnRvcCwNCgkJCQkJYm90dG9tID0gdG9wICsgdGFyZ2V0SGVpZ2h0IC0gZWxlbUhlaWdodCwNCgkJCQkJZmVlZGJhY2sgPSB7DQoJCQkJCQl0YXJnZXQ6IHsNCgkJCQkJCQllbGVtZW50OiB0YXJnZXQsDQoJCQkJCQkJbGVmdDogdGFyZ2V0T2Zmc2V0LmxlZnQsDQoJCQkJCQkJdG9wOiB0YXJnZXRPZmZzZXQudG9wLA0KCQkJCQkJCXdpZHRoOiB0YXJnZXRXaWR0aCwNCgkJCQkJCQloZWlnaHQ6IHRhcmdldEhlaWdodA0KCQkJCQkJfSwNCgkJCQkJCWVsZW1lbnQ6IHsNCgkJCQkJCQllbGVtZW50OiBlbGVtLA0KCQkJCQkJCWxlZnQ6IHBvc2l0aW9uLmxlZnQsDQoJCQkJCQkJdG9wOiBwb3NpdGlvbi50b3AsDQoJCQkJCQkJd2lkdGg6IGVsZW1XaWR0aCwNCgkJCQkJCQloZWlnaHQ6IGVsZW1IZWlnaHQNCgkJCQkJCX0sDQoJCQkJCQlob3Jpem9udGFsOiByaWdodCA8IDAgPyAibGVmdCIgOiBsZWZ0ID4gMCA/ICJyaWdodCIgOiAiY2VudGVyIiwNCgkJCQkJCXZlcnRpY2FsOiBib3R0b20gPCAwID8gInRvcCIgOiB0b3AgPiAwID8gImJvdHRvbSIgOiAibWlkZGxlIg0KCQkJCQl9Ow0KCQkJCWlmICggdGFyZ2V0V2lkdGggPCBlbGVtV2lkdGggJiYgYWJzKCBsZWZ0ICsgcmlnaHQgKSA8IHRhcmdldFdpZHRoICkgew0KCQkJCQlmZWVkYmFjay5ob3Jpem9udGFsID0gImNlbnRlciI7DQoJCQkJfQ0KCQkJCWlmICggdGFyZ2V0SGVpZ2h0IDwgZWxlbUhlaWdodCAmJiBhYnMoIHRvcCArIGJvdHRvbSApIDwgdGFyZ2V0SGVpZ2h0ICkgew0KCQkJCQlmZWVkYmFjay52ZXJ0aWNhbCA9ICJtaWRkbGUiOw0KCQkJCX0NCgkJCQlpZiAoIG1heCggYWJzKCBsZWZ0ICksIGFicyggcmlnaHQgKSApID4gbWF4KCBhYnMoIHRvcCApLCBhYnMoIGJvdHRvbSApICkgKSB7DQoJCQkJCWZlZWRiYWNrLmltcG9ydGFudCA9ICJob3Jpem9udGFsIjsNCgkJCQl9IGVsc2Ugew0KCQkJCQlmZWVkYmFjay5pbXBvcnRhbnQgPSAidmVydGljYWwiOw0KCQkJCX0NCgkJCQlvcHRpb25zLnVzaW5nLmNhbGwoIHRoaXMsIHByb3BzLCBmZWVkYmFjayApOw0KCQkJfTsNCgkJfQ0KDQoJCWVsZW0ub2Zmc2V0KCAkLmV4dGVuZCggcG9zaXRpb24sIHsgdXNpbmc6IHVzaW5nIH0gKSApOw0KCX0gKTsNCn07DQoNCiQudWkucG9zaXRpb24gPSB7DQoJZml0OiB7DQoJCWxlZnQ6IGZ1bmN0aW9uKCBwb3NpdGlvbiwgZGF0YSApIHsNCgkJCXZhciB3aXRoaW4gPSBkYXRhLndpdGhpbiwNCgkJCQl3aXRoaW5PZmZzZXQgPSB3aXRoaW4uaXNXaW5kb3cgPyB3aXRoaW4uc2Nyb2xsTGVmdCA6IHdpdGhpbi5vZmZzZXQubGVmdCwNCgkJCQlvdXRlcldpZHRoID0gd2l0aGluLndpZHRoLA0KCQkJCWNvbGxpc2lvblBvc0xlZnQgPSBwb3NpdGlvbi5sZWZ0IC0gZGF0YS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0LA0KCQkJCW92ZXJMZWZ0ID0gd2l0aGluT2Zmc2V0IC0gY29sbGlzaW9uUG9zTGVmdCwNCgkJCQlvdmVyUmlnaHQgPSBjb2xsaXNpb25Qb3NMZWZ0ICsgZGF0YS5jb2xsaXNpb25XaWR0aCAtIG91dGVyV2lkdGggLSB3aXRoaW5PZmZzZXQsDQoJCQkJbmV3T3ZlclJpZ2h0Ow0KDQoJCQkvLyBFbGVtZW50IGlzIHdpZGVyIHRoYW4gd2l0aGluDQoJCQlpZiAoIGRhdGEuY29sbGlzaW9uV2lkdGggPiBvdXRlcldpZHRoICkgew0KDQoJCQkJLy8gRWxlbWVudCBpcyBpbml0aWFsbHkgb3ZlciB0aGUgbGVmdCBzaWRlIG9mIHdpdGhpbg0KCQkJCWlmICggb3ZlckxlZnQgPiAwICYmIG92ZXJSaWdodCA8PSAwICkgew0KCQkJCQluZXdPdmVyUmlnaHQgPSBwb3NpdGlvbi5sZWZ0ICsgb3ZlckxlZnQgKyBkYXRhLmNvbGxpc2lvbldpZHRoIC0gb3V0ZXJXaWR0aCAtDQoJCQkJCQl3aXRoaW5PZmZzZXQ7DQoJCQkJCXBvc2l0aW9uLmxlZnQgKz0gb3ZlckxlZnQgLSBuZXdPdmVyUmlnaHQ7DQoNCgkJCQkvLyBFbGVtZW50IGlzIGluaXRpYWxseSBvdmVyIHJpZ2h0IHNpZGUgb2Ygd2l0aGluDQoJCQkJfSBlbHNlIGlmICggb3ZlclJpZ2h0ID4gMCAmJiBvdmVyTGVmdCA8PSAwICkgew0KCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0Ow0KDQoJCQkJLy8gRWxlbWVudCBpcyBpbml0aWFsbHkgb3ZlciBib3RoIGxlZnQgYW5kIHJpZ2h0IHNpZGVzIG9mIHdpdGhpbg0KCQkJCX0gZWxzZSB7DQoJCQkJCWlmICggb3ZlckxlZnQgPiBvdmVyUmlnaHQgKSB7DQoJCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0ICsgb3V0ZXJXaWR0aCAtIGRhdGEuY29sbGlzaW9uV2lkdGg7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlwb3NpdGlvbi5sZWZ0ID0gd2l0aGluT2Zmc2V0Ow0KCQkJCQl9DQoJCQkJfQ0KDQoJCQkvLyBUb28gZmFyIGxlZnQgLT4gYWxpZ24gd2l0aCBsZWZ0IGVkZ2UNCgkJCX0gZWxzZSBpZiAoIG92ZXJMZWZ0ID4gMCApIHsNCgkJCQlwb3NpdGlvbi5sZWZ0ICs9IG92ZXJMZWZ0Ow0KDQoJCQkvLyBUb28gZmFyIHJpZ2h0IC0+IGFsaWduIHdpdGggcmlnaHQgZWRnZQ0KCQkJfSBlbHNlIGlmICggb3ZlclJpZ2h0ID4gMCApIHsNCgkJCQlwb3NpdGlvbi5sZWZ0IC09IG92ZXJSaWdodDsNCg0KCQkJLy8gQWRqdXN0IGJhc2VkIG9uIHBvc2l0aW9uIGFuZCBtYXJnaW4NCgkJCX0gZWxzZSB7DQoJCQkJcG9zaXRpb24ubGVmdCA9IG1heCggcG9zaXRpb24ubGVmdCAtIGNvbGxpc2lvblBvc0xlZnQsIHBvc2l0aW9uLmxlZnQgKTsNCgkJCX0NCgkJfSwNCgkJdG9wOiBmdW5jdGlvbiggcG9zaXRpb24sIGRhdGEgKSB7DQoJCQl2YXIgd2l0aGluID0gZGF0YS53aXRoaW4sDQoJCQkJd2l0aGluT2Zmc2V0ID0gd2l0aGluLmlzV2luZG93ID8gd2l0aGluLnNjcm9sbFRvcCA6IHdpdGhpbi5vZmZzZXQudG9wLA0KCQkJCW91dGVySGVpZ2h0ID0gZGF0YS53aXRoaW4uaGVpZ2h0LA0KCQkJCWNvbGxpc2lvblBvc1RvcCA9IHBvc2l0aW9uLnRvcCAtIGRhdGEuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLA0KCQkJCW92ZXJUb3AgPSB3aXRoaW5PZmZzZXQgLSBjb2xsaXNpb25Qb3NUb3AsDQoJCQkJb3ZlckJvdHRvbSA9IGNvbGxpc2lvblBvc1RvcCArIGRhdGEuY29sbGlzaW9uSGVpZ2h0IC0gb3V0ZXJIZWlnaHQgLSB3aXRoaW5PZmZzZXQsDQoJCQkJbmV3T3ZlckJvdHRvbTsNCg0KCQkJLy8gRWxlbWVudCBpcyB0YWxsZXIgdGhhbiB3aXRoaW4NCgkJCWlmICggZGF0YS5jb2xsaXNpb25IZWlnaHQgPiBvdXRlckhlaWdodCApIHsNCg0KCQkJCS8vIEVsZW1lbnQgaXMgaW5pdGlhbGx5IG92ZXIgdGhlIHRvcCBvZiB3aXRoaW4NCgkJCQlpZiAoIG92ZXJUb3AgPiAwICYmIG92ZXJCb3R0b20gPD0gMCApIHsNCgkJCQkJbmV3T3ZlckJvdHRvbSA9IHBvc2l0aW9uLnRvcCArIG92ZXJUb3AgKyBkYXRhLmNvbGxpc2lvbkhlaWdodCAtIG91dGVySGVpZ2h0IC0NCgkJCQkJCXdpdGhpbk9mZnNldDsNCgkJCQkJcG9zaXRpb24udG9wICs9IG92ZXJUb3AgLSBuZXdPdmVyQm90dG9tOw0KDQoJCQkJLy8gRWxlbWVudCBpcyBpbml0aWFsbHkgb3ZlciBib3R0b20gb2Ygd2l0aGluDQoJCQkJfSBlbHNlIGlmICggb3ZlckJvdHRvbSA+IDAgJiYgb3ZlclRvcCA8PSAwICkgew0KCQkJCQlwb3NpdGlvbi50b3AgPSB3aXRoaW5PZmZzZXQ7DQoNCgkJCQkvLyBFbGVtZW50IGlzIGluaXRpYWxseSBvdmVyIGJvdGggdG9wIGFuZCBib3R0b20gb2Ygd2l0aGluDQoJCQkJfSBlbHNlIHsNCgkJCQkJaWYgKCBvdmVyVG9wID4gb3ZlckJvdHRvbSApIHsNCgkJCQkJCXBvc2l0aW9uLnRvcCA9IHdpdGhpbk9mZnNldCArIG91dGVySGVpZ2h0IC0gZGF0YS5jb2xsaXNpb25IZWlnaHQ7DQoJCQkJCX0gZWxzZSB7DQoJCQkJCQlwb3NpdGlvbi50b3AgPSB3aXRoaW5PZmZzZXQ7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCS8vIFRvbyBmYXIgdXAgLT4gYWxpZ24gd2l0aCB0b3ANCgkJCX0gZWxzZSBpZiAoIG92ZXJUb3AgPiAwICkgew0KCQkJCXBvc2l0aW9uLnRvcCArPSBvdmVyVG9wOw0KDQoJCQkvLyBUb28gZmFyIGRvd24gLT4gYWxpZ24gd2l0aCBib3R0b20gZWRnZQ0KCQkJfSBlbHNlIGlmICggb3ZlckJvdHRvbSA+IDAgKSB7DQoJCQkJcG9zaXRpb24udG9wIC09IG92ZXJCb3R0b207DQoNCgkJCS8vIEFkanVzdCBiYXNlZCBvbiBwb3NpdGlvbiBhbmQgbWFyZ2luDQoJCQl9IGVsc2Ugew0KCQkJCXBvc2l0aW9uLnRvcCA9IG1heCggcG9zaXRpb24udG9wIC0gY29sbGlzaW9uUG9zVG9wLCBwb3NpdGlvbi50b3AgKTsNCgkJCX0NCgkJfQ0KCX0sDQoJZmxpcDogew0KCQlsZWZ0OiBmdW5jdGlvbiggcG9zaXRpb24sIGRhdGEgKSB7DQoJCQl2YXIgd2l0aGluID0gZGF0YS53aXRoaW4sDQoJCQkJd2l0aGluT2Zmc2V0ID0gd2l0aGluLm9mZnNldC5sZWZ0ICsgd2l0aGluLnNjcm9sbExlZnQsDQoJCQkJb3V0ZXJXaWR0aCA9IHdpdGhpbi53aWR0aCwNCgkJCQlvZmZzZXRMZWZ0ID0gd2l0aGluLmlzV2luZG93ID8gd2l0aGluLnNjcm9sbExlZnQgOiB3aXRoaW4ub2Zmc2V0LmxlZnQsDQoJCQkJY29sbGlzaW9uUG9zTGVmdCA9IHBvc2l0aW9uLmxlZnQgLSBkYXRhLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpbkxlZnQsDQoJCQkJb3ZlckxlZnQgPSBjb2xsaXNpb25Qb3NMZWZ0IC0gb2Zmc2V0TGVmdCwNCgkJCQlvdmVyUmlnaHQgPSBjb2xsaXNpb25Qb3NMZWZ0ICsgZGF0YS5jb2xsaXNpb25XaWR0aCAtIG91dGVyV2lkdGggLSBvZmZzZXRMZWZ0LA0KCQkJCW15T2Zmc2V0ID0gZGF0YS5teVsgMCBdID09PSAibGVmdCIgPw0KCQkJCQktZGF0YS5lbGVtV2lkdGggOg0KCQkJCQlkYXRhLm15WyAwIF0gPT09ICJyaWdodCIgPw0KCQkJCQkJZGF0YS5lbGVtV2lkdGggOg0KCQkJCQkJMCwNCgkJCQlhdE9mZnNldCA9IGRhdGEuYXRbIDAgXSA9PT0gImxlZnQiID8NCgkJCQkJZGF0YS50YXJnZXRXaWR0aCA6DQoJCQkJCWRhdGEuYXRbIDAgXSA9PT0gInJpZ2h0IiA/DQoJCQkJCQktZGF0YS50YXJnZXRXaWR0aCA6DQoJCQkJCQkwLA0KCQkJCW9mZnNldCA9IC0yICogZGF0YS5vZmZzZXRbIDAgXSwNCgkJCQluZXdPdmVyUmlnaHQsDQoJCQkJbmV3T3ZlckxlZnQ7DQoNCgkJCWlmICggb3ZlckxlZnQgPCAwICkgew0KCQkJCW5ld092ZXJSaWdodCA9IHBvc2l0aW9uLmxlZnQgKyBteU9mZnNldCArIGF0T2Zmc2V0ICsgb2Zmc2V0ICsgZGF0YS5jb2xsaXNpb25XaWR0aCAtDQoJCQkJCW91dGVyV2lkdGggLSB3aXRoaW5PZmZzZXQ7DQoJCQkJaWYgKCBuZXdPdmVyUmlnaHQgPCAwIHx8IG5ld092ZXJSaWdodCA8IGFicyggb3ZlckxlZnQgKSApIHsNCgkJCQkJcG9zaXRpb24ubGVmdCArPSBteU9mZnNldCArIGF0T2Zmc2V0ICsgb2Zmc2V0Ow0KCQkJCX0NCgkJCX0gZWxzZSBpZiAoIG92ZXJSaWdodCA+IDAgKSB7DQoJCQkJbmV3T3ZlckxlZnQgPSBwb3NpdGlvbi5sZWZ0IC0gZGF0YS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0ICsgbXlPZmZzZXQgKw0KCQkJCQlhdE9mZnNldCArIG9mZnNldCAtIG9mZnNldExlZnQ7DQoJCQkJaWYgKCBuZXdPdmVyTGVmdCA+IDAgfHwgYWJzKCBuZXdPdmVyTGVmdCApIDwgb3ZlclJpZ2h0ICkgew0KCQkJCQlwb3NpdGlvbi5sZWZ0ICs9IG15T2Zmc2V0ICsgYXRPZmZzZXQgKyBvZmZzZXQ7DQoJCQkJfQ0KCQkJfQ0KCQl9LA0KCQl0b3A6IGZ1bmN0aW9uKCBwb3NpdGlvbiwgZGF0YSApIHsNCgkJCXZhciB3aXRoaW4gPSBkYXRhLndpdGhpbiwNCgkJCQl3aXRoaW5PZmZzZXQgPSB3aXRoaW4ub2Zmc2V0LnRvcCArIHdpdGhpbi5zY3JvbGxUb3AsDQoJCQkJb3V0ZXJIZWlnaHQgPSB3aXRoaW4uaGVpZ2h0LA0KCQkJCW9mZnNldFRvcCA9IHdpdGhpbi5pc1dpbmRvdyA/IHdpdGhpbi5zY3JvbGxUb3AgOiB3aXRoaW4ub2Zmc2V0LnRvcCwNCgkJCQljb2xsaXNpb25Qb3NUb3AgPSBwb3NpdGlvbi50b3AgLSBkYXRhLmNvbGxpc2lvblBvc2l0aW9uLm1hcmdpblRvcCwNCgkJCQlvdmVyVG9wID0gY29sbGlzaW9uUG9zVG9wIC0gb2Zmc2V0VG9wLA0KCQkJCW92ZXJCb3R0b20gPSBjb2xsaXNpb25Qb3NUb3AgKyBkYXRhLmNvbGxpc2lvbkhlaWdodCAtIG91dGVySGVpZ2h0IC0gb2Zmc2V0VG9wLA0KCQkJCXRvcCA9IGRhdGEubXlbIDEgXSA9PT0gInRvcCIsDQoJCQkJbXlPZmZzZXQgPSB0b3AgPw0KCQkJCQktZGF0YS5lbGVtSGVpZ2h0IDoNCgkJCQkJZGF0YS5teVsgMSBdID09PSAiYm90dG9tIiA/DQoJCQkJCQlkYXRhLmVsZW1IZWlnaHQgOg0KCQkJCQkJMCwNCgkJCQlhdE9mZnNldCA9IGRhdGEuYXRbIDEgXSA9PT0gInRvcCIgPw0KCQkJCQlkYXRhLnRhcmdldEhlaWdodCA6DQoJCQkJCWRhdGEuYXRbIDEgXSA9PT0gImJvdHRvbSIgPw0KCQkJCQkJLWRhdGEudGFyZ2V0SGVpZ2h0IDoNCgkJCQkJCTAsDQoJCQkJb2Zmc2V0ID0gLTIgKiBkYXRhLm9mZnNldFsgMSBdLA0KCQkJCW5ld092ZXJUb3AsDQoJCQkJbmV3T3ZlckJvdHRvbTsNCgkJCWlmICggb3ZlclRvcCA8IDAgKSB7DQoJCQkJbmV3T3ZlckJvdHRvbSA9IHBvc2l0aW9uLnRvcCArIG15T2Zmc2V0ICsgYXRPZmZzZXQgKyBvZmZzZXQgKyBkYXRhLmNvbGxpc2lvbkhlaWdodCAtDQoJCQkJCW91dGVySGVpZ2h0IC0gd2l0aGluT2Zmc2V0Ow0KCQkJCWlmICggbmV3T3ZlckJvdHRvbSA8IDAgfHwgbmV3T3ZlckJvdHRvbSA8IGFicyggb3ZlclRvcCApICkgew0KCQkJCQlwb3NpdGlvbi50b3AgKz0gbXlPZmZzZXQgKyBhdE9mZnNldCArIG9mZnNldDsNCgkJCQl9DQoJCQl9IGVsc2UgaWYgKCBvdmVyQm90dG9tID4gMCApIHsNCgkJCQluZXdPdmVyVG9wID0gcG9zaXRpb24udG9wIC0gZGF0YS5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3AgKyBteU9mZnNldCArIGF0T2Zmc2V0ICsNCgkJCQkJb2Zmc2V0IC0gb2Zmc2V0VG9wOw0KCQkJCWlmICggbmV3T3ZlclRvcCA+IDAgfHwgYWJzKCBuZXdPdmVyVG9wICkgPCBvdmVyQm90dG9tICkgew0KCQkJCQlwb3NpdGlvbi50b3AgKz0gbXlPZmZzZXQgKyBhdE9mZnNldCArIG9mZnNldDsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9LA0KCWZsaXBmaXQ6IHsNCgkJbGVmdDogZnVuY3Rpb24oKSB7DQoJCQkkLnVpLnBvc2l0aW9uLmZsaXAubGVmdC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkkLnVpLnBvc2l0aW9uLmZpdC5sZWZ0LmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfSwNCgkJdG9wOiBmdW5jdGlvbigpIHsNCgkJCSQudWkucG9zaXRpb24uZmxpcC50b3AuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJJC51aS5wb3NpdGlvbi5maXQudG9wLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfQ0KCX0NCn07DQoNCn0gKSgpOw0KDQp2YXIgcG9zaXRpb24gPSAkLnVpLnBvc2l0aW9uOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIDpkYXRhIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiA6ZGF0YSBTZWxlY3Rvcg0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFNlbGVjdHMgZWxlbWVudHMgd2hpY2ggaGF2ZSBkYXRhIHN0b3JlZCB1bmRlciB0aGUgc3BlY2lmaWVkIGtleS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9kYXRhLXNlbGVjdG9yLw0KDQoNCnZhciBkYXRhID0gJC5leHRlbmQoICQuZXhwclsgIjoiIF0sIHsNCglkYXRhOiAkLmV4cHIuY3JlYXRlUHNldWRvID8NCgkJJC5leHByLmNyZWF0ZVBzZXVkbyggZnVuY3Rpb24oIGRhdGFOYW1lICkgew0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJCXJldHVybiAhISQuZGF0YSggZWxlbSwgZGF0YU5hbWUgKTsNCgkJCX07DQoJCX0gKSA6DQoNCgkJLy8gU3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJZnVuY3Rpb24oIGVsZW0sIGksIG1hdGNoICkgew0KCQkJcmV0dXJuICEhJC5kYXRhKCBlbGVtLCBtYXRjaFsgMyBdICk7DQoJCX0NCn0gKTsNCg0KLyohDQogKiBqUXVlcnkgVUkgRGlzYWJsZSBTZWxlY3Rpb24gMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IGRpc2FibGVTZWxlY3Rpb24NCi8vPj5ncm91cDogQ29yZQ0KLy8+PmRlc2NyaXB0aW9uOiBEaXNhYmxlIHNlbGVjdGlvbiBvZiB0ZXh0IGNvbnRlbnQgd2l0aGluIHRoZSBzZXQgb2YgbWF0Y2hlZCBlbGVtZW50cy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9kaXNhYmxlU2VsZWN0aW9uLw0KDQovLyBUaGlzIGZpbGUgaXMgZGVwcmVjYXRlZA0KDQoNCnZhciBkaXNhYmxlU2VsZWN0aW9uID0gJC5mbi5leHRlbmQoIHsNCglkaXNhYmxlU2VsZWN0aW9uOiAoIGZ1bmN0aW9uKCkgew0KCQl2YXIgZXZlbnRUeXBlID0gIm9uc2VsZWN0c3RhcnQiIGluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoICJkaXYiICkgPw0KCQkJInNlbGVjdHN0YXJ0IiA6DQoJCQkibW91c2Vkb3duIjsNCg0KCQlyZXR1cm4gZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gdGhpcy5vbiggZXZlbnRUeXBlICsgIi51aS1kaXNhYmxlU2VsZWN0aW9uIiwgZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQl9ICk7DQoJCX07DQoJfSApKCksDQoNCgllbmFibGVTZWxlY3Rpb246IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5vZmYoICIudWktZGlzYWJsZVNlbGVjdGlvbiIgKTsNCgl9DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogRWZmZWN0cyBDb3JlDQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vIGpzY3M6ZGlzYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRlc2NyaXB0aW9uOiBFeHRlbmRzIHRoZSBpbnRlcm5hbCBqUXVlcnkgZWZmZWN0cy4gSW5jbHVkZXMgbW9ycGhpbmcgYW5kIGVhc2luZy4gUmVxdWlyZWQgYnkgYWxsIG90aGVyIGVmZmVjdHMuDQovLyBqc2NzOmVuYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2NhdGVnb3J5L2VmZmVjdHMtY29yZS8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZGF0YVNwYWNlID0gInVpLWVmZmVjdHMtIiwNCglkYXRhU3BhY2VTdHlsZSA9ICJ1aS1lZmZlY3RzLXN0eWxlIiwNCglkYXRhU3BhY2VBbmltYXRlZCA9ICJ1aS1lZmZlY3RzLWFuaW1hdGVkIiwNCg0KCS8vIENyZWF0ZSBhIGxvY2FsIGpRdWVyeSBiZWNhdXNlIGpRdWVyeSBDb2xvciByZWxpZXMgb24gaXQgYW5kIHRoZQ0KCS8vIGdsb2JhbCBtYXkgbm90IGV4aXN0IHdpdGggQU1EIGFuZCBhIGN1c3RvbSBidWlsZCAoIzEwMTk5KQ0KCWpRdWVyeSA9ICQ7DQoNCiQuZWZmZWN0cyA9IHsNCgllZmZlY3Q6IHt9DQp9Ow0KDQovKiENCiAqIGpRdWVyeSBDb2xvciBBbmltYXRpb25zIHYyLjEuMg0KICogaHR0cHM6Ly9naXRodWIuY29tL2pxdWVyeS9qcXVlcnktY29sb3INCiAqDQogKiBDb3B5cmlnaHQgMjAxNCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICogRGF0ZTogV2VkIEphbiAxNiAwODo0NzowOSAyMDEzIC0wNjAwDQogKi8NCiggZnVuY3Rpb24oIGpRdWVyeSwgdW5kZWZpbmVkICkgew0KDQoJdmFyIHN0ZXBIb29rcyA9ICJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQm90dG9tQ29sb3IgYm9yZGVyTGVmdENvbG9yIGJvcmRlclJpZ2h0Q29sb3IgIiArDQoJCSJib3JkZXJUb3BDb2xvciBjb2xvciBjb2x1bW5SdWxlQ29sb3Igb3V0bGluZUNvbG9yIHRleHREZWNvcmF0aW9uQ29sb3IgdGV4dEVtcGhhc2lzQ29sb3IiLA0KDQoJLy8gUGx1c2VxdWFscyB0ZXN0IGZvciArPSAxMDAgLT0gMTAwDQoJcnBsdXNlcXVhbHMgPSAvXihbXC0rXSk9XHMqKFxkK1wuP1xkKikvLA0KDQoJLy8gQSBzZXQgb2YgUkUncyB0aGF0IGNhbiBtYXRjaCBzdHJpbmdzIGFuZCBnZW5lcmF0ZSBjb2xvciB0dXBsZXMuDQoJc3RyaW5nUGFyc2VycyA9IFsgew0KCQkJcmU6IC9yZ2JhP1woXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKixccyooXGR7MSwzfSlccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sDQoJCQlwYXJzZTogZnVuY3Rpb24oIGV4ZWNSZXN1bHQgKSB7DQoJCQkJcmV0dXJuIFsNCgkJCQkJZXhlY1Jlc3VsdFsgMSBdLA0KCQkJCQlleGVjUmVzdWx0WyAyIF0sDQoJCQkJCWV4ZWNSZXN1bHRbIDMgXSwNCgkJCQkJZXhlY1Jlc3VsdFsgNCBdDQoJCQkJXTsNCgkJCX0NCgkJfSwgew0KCQkJcmU6IC9yZ2JhP1woXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sDQoJCQlwYXJzZTogZnVuY3Rpb24oIGV4ZWNSZXN1bHQgKSB7DQoJCQkJcmV0dXJuIFsNCgkJCQkJZXhlY1Jlc3VsdFsgMSBdICogMi41NSwNCgkJCQkJZXhlY1Jlc3VsdFsgMiBdICogMi41NSwNCgkJCQkJZXhlY1Jlc3VsdFsgMyBdICogMi41NSwNCgkJCQkJZXhlY1Jlc3VsdFsgNCBdDQoJCQkJXTsNCgkJCX0NCgkJfSwgew0KDQoJCQkvLyBUaGlzIHJlZ2V4IGlnbm9yZXMgQS1GIGJlY2F1c2UgaXQncyBjb21wYXJlZCBhZ2FpbnN0IGFuIGFscmVhZHkgbG93ZXJjYXNlZCBzdHJpbmcNCgkJCXJlOiAvIyhbYS1mMC05XXsyfSkoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KS8sDQoJCQlwYXJzZTogZnVuY3Rpb24oIGV4ZWNSZXN1bHQgKSB7DQoJCQkJcmV0dXJuIFsNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDEgXSwgMTYgKSwNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDIgXSwgMTYgKSwNCgkJCQkJcGFyc2VJbnQoIGV4ZWNSZXN1bHRbIDMgXSwgMTYgKQ0KCQkJCV07DQoJCQl9DQoJCX0sIHsNCg0KCQkJLy8gVGhpcyByZWdleCBpZ25vcmVzIEEtRiBiZWNhdXNlIGl0J3MgY29tcGFyZWQgYWdhaW5zdCBhbiBhbHJlYWR5IGxvd2VyY2FzZWQgc3RyaW5nDQoJCQlyZTogLyMoW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkvLA0KCQkJcGFyc2U6IGZ1bmN0aW9uKCBleGVjUmVzdWx0ICkgew0KCQkJCXJldHVybiBbDQoJCQkJCXBhcnNlSW50KCBleGVjUmVzdWx0WyAxIF0gKyBleGVjUmVzdWx0WyAxIF0sIDE2ICksDQoJCQkJCXBhcnNlSW50KCBleGVjUmVzdWx0WyAyIF0gKyBleGVjUmVzdWx0WyAyIF0sIDE2ICksDQoJCQkJCXBhcnNlSW50KCBleGVjUmVzdWx0WyAzIF0gKyBleGVjUmVzdWx0WyAzIF0sIDE2ICkNCgkJCQldOw0KCQkJfQ0KCQl9LCB7DQoJCQlyZTogL2hzbGE/XChccyooXGQrKD86XC5cZCspPylccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sDQoJCQlzcGFjZTogImhzbGEiLA0KCQkJcGFyc2U6IGZ1bmN0aW9uKCBleGVjUmVzdWx0ICkgew0KCQkJCXJldHVybiBbDQoJCQkJCWV4ZWNSZXN1bHRbIDEgXSwNCgkJCQkJZXhlY1Jlc3VsdFsgMiBdIC8gMTAwLA0KCQkJCQlleGVjUmVzdWx0WyAzIF0gLyAxMDAsDQoJCQkJCWV4ZWNSZXN1bHRbIDQgXQ0KCQkJCV07DQoJCQl9DQoJCX0gXSwNCg0KCS8vIEpRdWVyeS5Db2xvciggKQ0KCWNvbG9yID0galF1ZXJ5LkNvbG9yID0gZnVuY3Rpb24oIGNvbG9yLCBncmVlbiwgYmx1ZSwgYWxwaGEgKSB7DQoJCXJldHVybiBuZXcgalF1ZXJ5LkNvbG9yLmZuLnBhcnNlKCBjb2xvciwgZ3JlZW4sIGJsdWUsIGFscGhhICk7DQoJfSwNCglzcGFjZXMgPSB7DQoJCXJnYmE6IHsNCgkJCXByb3BzOiB7DQoJCQkJcmVkOiB7DQoJCQkJCWlkeDogMCwNCgkJCQkJdHlwZTogImJ5dGUiDQoJCQkJfSwNCgkJCQlncmVlbjogew0KCQkJCQlpZHg6IDEsDQoJCQkJCXR5cGU6ICJieXRlIg0KCQkJCX0sDQoJCQkJYmx1ZTogew0KCQkJCQlpZHg6IDIsDQoJCQkJCXR5cGU6ICJieXRlIg0KCQkJCX0NCgkJCX0NCgkJfSwNCg0KCQloc2xhOiB7DQoJCQlwcm9wczogew0KCQkJCWh1ZTogew0KCQkJCQlpZHg6IDAsDQoJCQkJCXR5cGU6ICJkZWdyZWVzIg0KCQkJCX0sDQoJCQkJc2F0dXJhdGlvbjogew0KCQkJCQlpZHg6IDEsDQoJCQkJCXR5cGU6ICJwZXJjZW50Ig0KCQkJCX0sDQoJCQkJbGlnaHRuZXNzOiB7DQoJCQkJCWlkeDogMiwNCgkJCQkJdHlwZTogInBlcmNlbnQiDQoJCQkJfQ0KCQkJfQ0KCQl9DQoJfSwNCglwcm9wVHlwZXMgPSB7DQoJCSJieXRlIjogew0KCQkJZmxvb3I6IHRydWUsDQoJCQltYXg6IDI1NQ0KCQl9LA0KCQkicGVyY2VudCI6IHsNCgkJCW1heDogMQ0KCQl9LA0KCQkiZGVncmVlcyI6IHsNCgkJCW1vZDogMzYwLA0KCQkJZmxvb3I6IHRydWUNCgkJfQ0KCX0sDQoJc3VwcG9ydCA9IGNvbG9yLnN1cHBvcnQgPSB7fSwNCg0KCS8vIEVsZW1lbnQgZm9yIHN1cHBvcnQgdGVzdHMNCglzdXBwb3J0RWxlbSA9IGpRdWVyeSggIjxwPiIgKVsgMCBdLA0KDQoJLy8gQ29sb3JzID0galF1ZXJ5LkNvbG9yLm5hbWVzDQoJY29sb3JzLA0KDQoJLy8gTG9jYWwgYWxpYXNlcyBvZiBmdW5jdGlvbnMgY2FsbGVkIG9mdGVuDQoJZWFjaCA9IGpRdWVyeS5lYWNoOw0KDQovLyBEZXRlcm1pbmUgcmdiYSBzdXBwb3J0IGltbWVkaWF0ZWx5DQpzdXBwb3J0RWxlbS5zdHlsZS5jc3NUZXh0ID0gImJhY2tncm91bmQtY29sb3I6cmdiYSgxLDEsMSwuNSkiOw0Kc3VwcG9ydC5yZ2JhID0gc3VwcG9ydEVsZW0uc3R5bGUuYmFja2dyb3VuZENvbG9yLmluZGV4T2YoICJyZ2JhIiApID4gLTE7DQoNCi8vIERlZmluZSBjYWNoZSBuYW1lIGFuZCBhbHBoYSBwcm9wZXJ0aWVzDQovLyBmb3IgcmdiYSBhbmQgaHNsYSBzcGFjZXMNCmVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJc3BhY2UuY2FjaGUgPSAiXyIgKyBzcGFjZU5hbWU7DQoJc3BhY2UucHJvcHMuYWxwaGEgPSB7DQoJCWlkeDogMywNCgkJdHlwZTogInBlcmNlbnQiLA0KCQlkZWY6IDENCgl9Ow0KfSApOw0KDQpmdW5jdGlvbiBjbGFtcCggdmFsdWUsIHByb3AsIGFsbG93RW1wdHkgKSB7DQoJdmFyIHR5cGUgPSBwcm9wVHlwZXNbIHByb3AudHlwZSBdIHx8IHt9Ow0KDQoJaWYgKCB2YWx1ZSA9PSBudWxsICkgew0KCQlyZXR1cm4gKCBhbGxvd0VtcHR5IHx8ICFwcm9wLmRlZiApID8gbnVsbCA6IHByb3AuZGVmOw0KCX0NCg0KCS8vIH5+IGlzIGFuIHNob3J0IHdheSBvZiBkb2luZyBmbG9vciBmb3IgcG9zaXRpdmUgbnVtYmVycw0KCXZhbHVlID0gdHlwZS5mbG9vciA/IH5+dmFsdWUgOiBwYXJzZUZsb2F0KCB2YWx1ZSApOw0KDQoJLy8gSUUgd2lsbCBwYXNzIGluIGVtcHR5IHN0cmluZ3MgYXMgdmFsdWUgZm9yIGFscGhhLA0KCS8vIHdoaWNoIHdpbGwgaGl0IHRoaXMgY2FzZQ0KCWlmICggaXNOYU4oIHZhbHVlICkgKSB7DQoJCXJldHVybiBwcm9wLmRlZjsNCgl9DQoNCglpZiAoIHR5cGUubW9kICkgew0KDQoJCS8vIFdlIGFkZCBtb2QgYmVmb3JlIG1vZGRpbmcgdG8gbWFrZSBzdXJlIHRoYXQgbmVnYXRpdmVzIHZhbHVlcw0KCQkvLyBnZXQgY29udmVydGVkIHByb3Blcmx5OiAtMTAgLT4gMzUwDQoJCXJldHVybiAoIHZhbHVlICsgdHlwZS5tb2QgKSAlIHR5cGUubW9kOw0KCX0NCg0KCS8vIEZvciBub3cgYWxsIHByb3BlcnR5IHR5cGVzIHdpdGhvdXQgbW9kIGhhdmUgbWluIGFuZCBtYXgNCglyZXR1cm4gMCA+IHZhbHVlID8gMCA6IHR5cGUubWF4IDwgdmFsdWUgPyB0eXBlLm1heCA6IHZhbHVlOw0KfQ0KDQpmdW5jdGlvbiBzdHJpbmdQYXJzZSggc3RyaW5nICkgew0KCXZhciBpbnN0ID0gY29sb3IoKSwNCgkJcmdiYSA9IGluc3QuX3JnYmEgPSBbXTsNCg0KCXN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpOw0KDQoJZWFjaCggc3RyaW5nUGFyc2VycywgZnVuY3Rpb24oIGksIHBhcnNlciApIHsNCgkJdmFyIHBhcnNlZCwNCgkJCW1hdGNoID0gcGFyc2VyLnJlLmV4ZWMoIHN0cmluZyApLA0KCQkJdmFsdWVzID0gbWF0Y2ggJiYgcGFyc2VyLnBhcnNlKCBtYXRjaCApLA0KCQkJc3BhY2VOYW1lID0gcGFyc2VyLnNwYWNlIHx8ICJyZ2JhIjsNCg0KCQlpZiAoIHZhbHVlcyApIHsNCgkJCXBhcnNlZCA9IGluc3RbIHNwYWNlTmFtZSBdKCB2YWx1ZXMgKTsNCg0KCQkJLy8gSWYgdGhpcyB3YXMgYW4gcmdiYSBwYXJzZSB0aGUgYXNzaWdubWVudCBtaWdodCBoYXBwZW4gdHdpY2UNCgkJCS8vIG9oIHdlbGwuLi4uDQoJCQlpbnN0WyBzcGFjZXNbIHNwYWNlTmFtZSBdLmNhY2hlIF0gPSBwYXJzZWRbIHNwYWNlc1sgc3BhY2VOYW1lIF0uY2FjaGUgXTsNCgkJCXJnYmEgPSBpbnN0Ll9yZ2JhID0gcGFyc2VkLl9yZ2JhOw0KDQoJCQkvLyBFeGl0IGVhY2goIHN0cmluZ1BhcnNlcnMgKSBoZXJlIGJlY2F1c2Ugd2UgbWF0Y2hlZA0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfSApOw0KDQoJLy8gRm91bmQgYSBzdHJpbmdQYXJzZXIgdGhhdCBoYW5kbGVkIGl0DQoJaWYgKCByZ2JhLmxlbmd0aCApIHsNCg0KCQkvLyBJZiB0aGlzIGNhbWUgZnJvbSBhIHBhcnNlZCBzdHJpbmcsIGZvcmNlICJ0cmFuc3BhcmVudCIgd2hlbiBhbHBoYSBpcyAwDQoJCS8vIGNocm9tZSwgKGFuZCBtYXliZSBvdGhlcnMpIHJldHVybiAidHJhbnNwYXJlbnQiIGFzIHJnYmEoMCwwLDAsMCkNCgkJaWYgKCByZ2JhLmpvaW4oKSA9PT0gIjAsMCwwLDAiICkgew0KCQkJalF1ZXJ5LmV4dGVuZCggcmdiYSwgY29sb3JzLnRyYW5zcGFyZW50ICk7DQoJCX0NCgkJcmV0dXJuIGluc3Q7DQoJfQ0KDQoJLy8gTmFtZWQgY29sb3JzDQoJcmV0dXJuIGNvbG9yc1sgc3RyaW5nIF07DQp9DQoNCmNvbG9yLmZuID0galF1ZXJ5LmV4dGVuZCggY29sb3IucHJvdG90eXBlLCB7DQoJcGFyc2U6IGZ1bmN0aW9uKCByZWQsIGdyZWVuLCBibHVlLCBhbHBoYSApIHsNCgkJaWYgKCByZWQgPT09IHVuZGVmaW5lZCApIHsNCgkJCXRoaXMuX3JnYmEgPSBbIG51bGwsIG51bGwsIG51bGwsIG51bGwgXTsNCgkJCXJldHVybiB0aGlzOw0KCQl9DQoJCWlmICggcmVkLmpxdWVyeSB8fCByZWQubm9kZVR5cGUgKSB7DQoJCQlyZWQgPSBqUXVlcnkoIHJlZCApLmNzcyggZ3JlZW4gKTsNCgkJCWdyZWVuID0gdW5kZWZpbmVkOw0KCQl9DQoNCgkJdmFyIGluc3QgPSB0aGlzLA0KCQkJdHlwZSA9IGpRdWVyeS50eXBlKCByZWQgKSwNCgkJCXJnYmEgPSB0aGlzLl9yZ2JhID0gW107DQoNCgkJLy8gTW9yZSB0aGFuIDEgYXJndW1lbnQgc3BlY2lmaWVkIC0gYXNzdW1lICggcmVkLCBncmVlbiwgYmx1ZSwgYWxwaGEgKQ0KCQlpZiAoIGdyZWVuICE9PSB1bmRlZmluZWQgKSB7DQoJCQlyZWQgPSBbIHJlZCwgZ3JlZW4sIGJsdWUsIGFscGhhIF07DQoJCQl0eXBlID0gImFycmF5IjsNCgkJfQ0KDQoJCWlmICggdHlwZSA9PT0gInN0cmluZyIgKSB7DQoJCQlyZXR1cm4gdGhpcy5wYXJzZSggc3RyaW5nUGFyc2UoIHJlZCApIHx8IGNvbG9ycy5fZGVmYXVsdCApOw0KCQl9DQoNCgkJaWYgKCB0eXBlID09PSAiYXJyYXkiICkgew0KCQkJZWFjaCggc3BhY2VzLnJnYmEucHJvcHMsIGZ1bmN0aW9uKCBrZXksIHByb3AgKSB7DQoJCQkJcmdiYVsgcHJvcC5pZHggXSA9IGNsYW1wKCByZWRbIHByb3AuaWR4IF0sIHByb3AgKTsNCgkJCX0gKTsNCgkJCXJldHVybiB0aGlzOw0KCQl9DQoNCgkJaWYgKCB0eXBlID09PSAib2JqZWN0IiApIHsNCgkJCWlmICggcmVkIGluc3RhbmNlb2YgY29sb3IgKSB7DQoJCQkJZWFjaCggc3BhY2VzLCBmdW5jdGlvbiggc3BhY2VOYW1lLCBzcGFjZSApIHsNCgkJCQkJaWYgKCByZWRbIHNwYWNlLmNhY2hlIF0gKSB7DQoJCQkJCQlpbnN0WyBzcGFjZS5jYWNoZSBdID0gcmVkWyBzcGFjZS5jYWNoZSBdLnNsaWNlKCk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9IGVsc2Ugew0KCQkJCWVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJCQkJCXZhciBjYWNoZSA9IHNwYWNlLmNhY2hlOw0KCQkJCQllYWNoKCBzcGFjZS5wcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCg0KCQkJCQkJLy8gSWYgdGhlIGNhY2hlIGRvZXNuJ3QgZXhpc3QsIGFuZCB3ZSBrbm93IGhvdyB0byBjb252ZXJ0DQoJCQkJCQlpZiAoICFpbnN0WyBjYWNoZSBdICYmIHNwYWNlLnRvICkgew0KDQoJCQkJCQkJLy8gSWYgdGhlIHZhbHVlIHdhcyBudWxsLCB3ZSBkb24ndCBuZWVkIHRvIGNvcHkgaXQNCgkJCQkJCQkvLyBpZiB0aGUga2V5IHdhcyBhbHBoYSwgd2UgZG9uJ3QgbmVlZCB0byBjb3B5IGl0IGVpdGhlcg0KCQkJCQkJCWlmICgga2V5ID09PSAiYWxwaGEiIHx8IHJlZFsga2V5IF0gPT0gbnVsbCApIHsNCgkJCQkJCQkJcmV0dXJuOw0KCQkJCQkJCX0NCgkJCQkJCQlpbnN0WyBjYWNoZSBdID0gc3BhY2UudG8oIGluc3QuX3JnYmEgKTsNCgkJCQkJCX0NCg0KCQkJCQkJLy8gVGhpcyBpcyB0aGUgb25seSBjYXNlIHdoZXJlIHdlIGFsbG93IG51bGxzIGZvciBBTEwgcHJvcGVydGllcy4NCgkJCQkJCS8vIGNhbGwgY2xhbXAgd2l0aCBhbHdheXNBbGxvd0VtcHR5DQoJCQkJCQlpbnN0WyBjYWNoZSBdWyBwcm9wLmlkeCBdID0gY2xhbXAoIHJlZFsga2V5IF0sIHByb3AsIHRydWUgKTsNCgkJCQkJfSApOw0KDQoJCQkJCS8vIEV2ZXJ5dGhpbmcgZGVmaW5lZCBidXQgYWxwaGE/DQoJCQkJCWlmICggaW5zdFsgY2FjaGUgXSAmJg0KCQkJCQkJCWpRdWVyeS5pbkFycmF5KCBudWxsLCBpbnN0WyBjYWNoZSBdLnNsaWNlKCAwLCAzICkgKSA8IDAgKSB7DQoNCgkJCQkJCS8vIFVzZSB0aGUgZGVmYXVsdCBvZiAxDQoJCQkJCQlpbnN0WyBjYWNoZSBdWyAzIF0gPSAxOw0KCQkJCQkJaWYgKCBzcGFjZS5mcm9tICkgew0KCQkJCQkJCWluc3QuX3JnYmEgPSBzcGFjZS5mcm9tKCBpbnN0WyBjYWNoZSBdICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KCX0sDQoJaXM6IGZ1bmN0aW9uKCBjb21wYXJlICkgew0KCQl2YXIgaXMgPSBjb2xvciggY29tcGFyZSApLA0KCQkJc2FtZSA9IHRydWUsDQoJCQlpbnN0ID0gdGhpczsNCg0KCQllYWNoKCBzcGFjZXMsIGZ1bmN0aW9uKCBfLCBzcGFjZSApIHsNCgkJCXZhciBsb2NhbENhY2hlLA0KCQkJCWlzQ2FjaGUgPSBpc1sgc3BhY2UuY2FjaGUgXTsNCgkJCWlmICggaXNDYWNoZSApIHsNCgkJCQlsb2NhbENhY2hlID0gaW5zdFsgc3BhY2UuY2FjaGUgXSB8fCBzcGFjZS50byAmJiBzcGFjZS50byggaW5zdC5fcmdiYSApIHx8IFtdOw0KCQkJCWVhY2goIHNwYWNlLnByb3BzLCBmdW5jdGlvbiggXywgcHJvcCApIHsNCgkJCQkJaWYgKCBpc0NhY2hlWyBwcm9wLmlkeCBdICE9IG51bGwgKSB7DQoJCQkJCQlzYW1lID0gKCBpc0NhY2hlWyBwcm9wLmlkeCBdID09PSBsb2NhbENhY2hlWyBwcm9wLmlkeCBdICk7DQoJCQkJCQlyZXR1cm4gc2FtZTsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJCX0NCgkJCXJldHVybiBzYW1lOw0KCQl9ICk7DQoJCXJldHVybiBzYW1lOw0KCX0sDQoJX3NwYWNlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHVzZWQgPSBbXSwNCgkJCWluc3QgPSB0aGlzOw0KCQllYWNoKCBzcGFjZXMsIGZ1bmN0aW9uKCBzcGFjZU5hbWUsIHNwYWNlICkgew0KCQkJaWYgKCBpbnN0WyBzcGFjZS5jYWNoZSBdICkgew0KCQkJCXVzZWQucHVzaCggc3BhY2VOYW1lICk7DQoJCQl9DQoJCX0gKTsNCgkJcmV0dXJuIHVzZWQucG9wKCk7DQoJfSwNCgl0cmFuc2l0aW9uOiBmdW5jdGlvbiggb3RoZXIsIGRpc3RhbmNlICkgew0KCQl2YXIgZW5kID0gY29sb3IoIG90aGVyICksDQoJCQlzcGFjZU5hbWUgPSBlbmQuX3NwYWNlKCksDQoJCQlzcGFjZSA9IHNwYWNlc1sgc3BhY2VOYW1lIF0sDQoJCQlzdGFydENvbG9yID0gdGhpcy5hbHBoYSgpID09PSAwID8gY29sb3IoICJ0cmFuc3BhcmVudCIgKSA6IHRoaXMsDQoJCQlzdGFydCA9IHN0YXJ0Q29sb3JbIHNwYWNlLmNhY2hlIF0gfHwgc3BhY2UudG8oIHN0YXJ0Q29sb3IuX3JnYmEgKSwNCgkJCXJlc3VsdCA9IHN0YXJ0LnNsaWNlKCk7DQoNCgkJZW5kID0gZW5kWyBzcGFjZS5jYWNoZSBdOw0KCQllYWNoKCBzcGFjZS5wcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCgkJCXZhciBpbmRleCA9IHByb3AuaWR4LA0KCQkJCXN0YXJ0VmFsdWUgPSBzdGFydFsgaW5kZXggXSwNCgkJCQllbmRWYWx1ZSA9IGVuZFsgaW5kZXggXSwNCgkJCQl0eXBlID0gcHJvcFR5cGVzWyBwcm9wLnR5cGUgXSB8fCB7fTsNCg0KCQkJLy8gSWYgbnVsbCwgZG9uJ3Qgb3ZlcnJpZGUgc3RhcnQgdmFsdWUNCgkJCWlmICggZW5kVmFsdWUgPT09IG51bGwgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBJZiBudWxsIC0gdXNlIGVuZA0KCQkJaWYgKCBzdGFydFZhbHVlID09PSBudWxsICkgew0KCQkJCXJlc3VsdFsgaW5kZXggXSA9IGVuZFZhbHVlOw0KCQkJfSBlbHNlIHsNCgkJCQlpZiAoIHR5cGUubW9kICkgew0KCQkJCQlpZiAoIGVuZFZhbHVlIC0gc3RhcnRWYWx1ZSA+IHR5cGUubW9kIC8gMiApIHsNCgkJCQkJCXN0YXJ0VmFsdWUgKz0gdHlwZS5tb2Q7DQoJCQkJCX0gZWxzZSBpZiAoIHN0YXJ0VmFsdWUgLSBlbmRWYWx1ZSA+IHR5cGUubW9kIC8gMiApIHsNCgkJCQkJCXN0YXJ0VmFsdWUgLT0gdHlwZS5tb2Q7DQoJCQkJCX0NCgkJCQl9DQoJCQkJcmVzdWx0WyBpbmRleCBdID0gY2xhbXAoICggZW5kVmFsdWUgLSBzdGFydFZhbHVlICkgKiBkaXN0YW5jZSArIHN0YXJ0VmFsdWUsIHByb3AgKTsNCgkJCX0NCgkJfSApOw0KCQlyZXR1cm4gdGhpc1sgc3BhY2VOYW1lIF0oIHJlc3VsdCApOw0KCX0sDQoJYmxlbmQ6IGZ1bmN0aW9uKCBvcGFxdWUgKSB7DQoNCgkJLy8gSWYgd2UgYXJlIGFscmVhZHkgb3BhcXVlIC0gcmV0dXJuIG91cnNlbGYNCgkJaWYgKCB0aGlzLl9yZ2JhWyAzIF0gPT09IDEgKSB7DQoJCQlyZXR1cm4gdGhpczsNCgkJfQ0KDQoJCXZhciByZ2IgPSB0aGlzLl9yZ2JhLnNsaWNlKCksDQoJCQlhID0gcmdiLnBvcCgpLA0KCQkJYmxlbmQgPSBjb2xvciggb3BhcXVlICkuX3JnYmE7DQoNCgkJcmV0dXJuIGNvbG9yKCBqUXVlcnkubWFwKCByZ2IsIGZ1bmN0aW9uKCB2LCBpICkgew0KCQkJcmV0dXJuICggMSAtIGEgKSAqIGJsZW5kWyBpIF0gKyBhICogdjsNCgkJfSApICk7DQoJfSwNCgl0b1JnYmFTdHJpbmc6IGZ1bmN0aW9uKCkgew0KCQl2YXIgcHJlZml4ID0gInJnYmEoIiwNCgkJCXJnYmEgPSBqUXVlcnkubWFwKCB0aGlzLl9yZ2JhLCBmdW5jdGlvbiggdiwgaSApIHsNCgkJCQlyZXR1cm4gdiA9PSBudWxsID8gKCBpID4gMiA/IDEgOiAwICkgOiB2Ow0KCQkJfSApOw0KDQoJCWlmICggcmdiYVsgMyBdID09PSAxICkgew0KCQkJcmdiYS5wb3AoKTsNCgkJCXByZWZpeCA9ICJyZ2IoIjsNCgkJfQ0KDQoJCXJldHVybiBwcmVmaXggKyByZ2JhLmpvaW4oKSArICIpIjsNCgl9LA0KCXRvSHNsYVN0cmluZzogZnVuY3Rpb24oKSB7DQoJCXZhciBwcmVmaXggPSAiaHNsYSgiLA0KCQkJaHNsYSA9IGpRdWVyeS5tYXAoIHRoaXMuaHNsYSgpLCBmdW5jdGlvbiggdiwgaSApIHsNCgkJCQlpZiAoIHYgPT0gbnVsbCApIHsNCgkJCQkJdiA9IGkgPiAyID8gMSA6IDA7DQoJCQkJfQ0KDQoJCQkJLy8gQ2F0Y2ggMSBhbmQgMg0KCQkJCWlmICggaSAmJiBpIDwgMyApIHsNCgkJCQkJdiA9IE1hdGgucm91bmQoIHYgKiAxMDAgKSArICIlIjsNCgkJCQl9DQoJCQkJcmV0dXJuIHY7DQoJCQl9ICk7DQoNCgkJaWYgKCBoc2xhWyAzIF0gPT09IDEgKSB7DQoJCQloc2xhLnBvcCgpOw0KCQkJcHJlZml4ID0gImhzbCgiOw0KCQl9DQoJCXJldHVybiBwcmVmaXggKyBoc2xhLmpvaW4oKSArICIpIjsNCgl9LA0KCXRvSGV4U3RyaW5nOiBmdW5jdGlvbiggaW5jbHVkZUFscGhhICkgew0KCQl2YXIgcmdiYSA9IHRoaXMuX3JnYmEuc2xpY2UoKSwNCgkJCWFscGhhID0gcmdiYS5wb3AoKTsNCg0KCQlpZiAoIGluY2x1ZGVBbHBoYSApIHsNCgkJCXJnYmEucHVzaCggfn4oIGFscGhhICogMjU1ICkgKTsNCgkJfQ0KDQoJCXJldHVybiAiIyIgKyBqUXVlcnkubWFwKCByZ2JhLCBmdW5jdGlvbiggdiApIHsNCg0KCQkJLy8gRGVmYXVsdCB0byAwIHdoZW4gbnVsbHMgZXhpc3QNCgkJCXYgPSAoIHYgfHwgMCApLnRvU3RyaW5nKCAxNiApOw0KCQkJcmV0dXJuIHYubGVuZ3RoID09PSAxID8gIjAiICsgdiA6IHY7DQoJCX0gKS5qb2luKCAiIiApOw0KCX0sDQoJdG9TdHJpbmc6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5fcmdiYVsgMyBdID09PSAwID8gInRyYW5zcGFyZW50IiA6IHRoaXMudG9SZ2JhU3RyaW5nKCk7DQoJfQ0KfSApOw0KY29sb3IuZm4ucGFyc2UucHJvdG90eXBlID0gY29sb3IuZm47DQoNCi8vIEhzbGEgY29udmVyc2lvbnMgYWRhcHRlZCBmcm9tOg0KLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9tYWFzaGFhY2svc291cmNlL2Jyb3dzZS9wYWNrYWdlcy9ncmFwaGljcy90cnVuay9zcmMvZ3JhcGhpY3MvY29sb3JzL0hVRTJSR0IuYXM/cj01MDIxDQoNCmZ1bmN0aW9uIGh1ZTJyZ2IoIHAsIHEsIGggKSB7DQoJaCA9ICggaCArIDEgKSAlIDE7DQoJaWYgKCBoICogNiA8IDEgKSB7DQoJCXJldHVybiBwICsgKCBxIC0gcCApICogaCAqIDY7DQoJfQ0KCWlmICggaCAqIDIgPCAxICkgew0KCQlyZXR1cm4gcTsNCgl9DQoJaWYgKCBoICogMyA8IDIgKSB7DQoJCXJldHVybiBwICsgKCBxIC0gcCApICogKCAoIDIgLyAzICkgLSBoICkgKiA2Ow0KCX0NCglyZXR1cm4gcDsNCn0NCg0Kc3BhY2VzLmhzbGEudG8gPSBmdW5jdGlvbiggcmdiYSApIHsNCglpZiAoIHJnYmFbIDAgXSA9PSBudWxsIHx8IHJnYmFbIDEgXSA9PSBudWxsIHx8IHJnYmFbIDIgXSA9PSBudWxsICkgew0KCQlyZXR1cm4gWyBudWxsLCBudWxsLCBudWxsLCByZ2JhWyAzIF0gXTsNCgl9DQoJdmFyIHIgPSByZ2JhWyAwIF0gLyAyNTUsDQoJCWcgPSByZ2JhWyAxIF0gLyAyNTUsDQoJCWIgPSByZ2JhWyAyIF0gLyAyNTUsDQoJCWEgPSByZ2JhWyAzIF0sDQoJCW1heCA9IE1hdGgubWF4KCByLCBnLCBiICksDQoJCW1pbiA9IE1hdGgubWluKCByLCBnLCBiICksDQoJCWRpZmYgPSBtYXggLSBtaW4sDQoJCWFkZCA9IG1heCArIG1pbiwNCgkJbCA9IGFkZCAqIDAuNSwNCgkJaCwgczsNCg0KCWlmICggbWluID09PSBtYXggKSB7DQoJCWggPSAwOw0KCX0gZWxzZSBpZiAoIHIgPT09IG1heCApIHsNCgkJaCA9ICggNjAgKiAoIGcgLSBiICkgLyBkaWZmICkgKyAzNjA7DQoJfSBlbHNlIGlmICggZyA9PT0gbWF4ICkgew0KCQloID0gKCA2MCAqICggYiAtIHIgKSAvIGRpZmYgKSArIDEyMDsNCgl9IGVsc2Ugew0KCQloID0gKCA2MCAqICggciAtIGcgKSAvIGRpZmYgKSArIDI0MDsNCgl9DQoNCgkvLyBDaHJvbWEgKGRpZmYpID09IDAgbWVhbnMgZ3JleXNjYWxlIHdoaWNoLCBieSBkZWZpbml0aW9uLCBzYXR1cmF0aW9uID0gMCUNCgkvLyBvdGhlcndpc2UsIHNhdHVyYXRpb24gaXMgYmFzZWQgb24gdGhlIHJhdGlvIG9mIGNocm9tYSAoZGlmZikgdG8gbGlnaHRuZXNzIChhZGQpDQoJaWYgKCBkaWZmID09PSAwICkgew0KCQlzID0gMDsNCgl9IGVsc2UgaWYgKCBsIDw9IDAuNSApIHsNCgkJcyA9IGRpZmYgLyBhZGQ7DQoJfSBlbHNlIHsNCgkJcyA9IGRpZmYgLyAoIDIgLSBhZGQgKTsNCgl9DQoJcmV0dXJuIFsgTWF0aC5yb3VuZCggaCApICUgMzYwLCBzLCBsLCBhID09IG51bGwgPyAxIDogYSBdOw0KfTsNCg0Kc3BhY2VzLmhzbGEuZnJvbSA9IGZ1bmN0aW9uKCBoc2xhICkgew0KCWlmICggaHNsYVsgMCBdID09IG51bGwgfHwgaHNsYVsgMSBdID09IG51bGwgfHwgaHNsYVsgMiBdID09IG51bGwgKSB7DQoJCXJldHVybiBbIG51bGwsIG51bGwsIG51bGwsIGhzbGFbIDMgXSBdOw0KCX0NCgl2YXIgaCA9IGhzbGFbIDAgXSAvIDM2MCwNCgkJcyA9IGhzbGFbIDEgXSwNCgkJbCA9IGhzbGFbIDIgXSwNCgkJYSA9IGhzbGFbIDMgXSwNCgkJcSA9IGwgPD0gMC41ID8gbCAqICggMSArIHMgKSA6IGwgKyBzIC0gbCAqIHMsDQoJCXAgPSAyICogbCAtIHE7DQoNCglyZXR1cm4gWw0KCQlNYXRoLnJvdW5kKCBodWUycmdiKCBwLCBxLCBoICsgKCAxIC8gMyApICkgKiAyNTUgKSwNCgkJTWF0aC5yb3VuZCggaHVlMnJnYiggcCwgcSwgaCApICogMjU1ICksDQoJCU1hdGgucm91bmQoIGh1ZTJyZ2IoIHAsIHEsIGggLSAoIDEgLyAzICkgKSAqIDI1NSApLA0KCQlhDQoJXTsNCn07DQoNCmVhY2goIHNwYWNlcywgZnVuY3Rpb24oIHNwYWNlTmFtZSwgc3BhY2UgKSB7DQoJdmFyIHByb3BzID0gc3BhY2UucHJvcHMsDQoJCWNhY2hlID0gc3BhY2UuY2FjaGUsDQoJCXRvID0gc3BhY2UudG8sDQoJCWZyb20gPSBzcGFjZS5mcm9tOw0KDQoJLy8gTWFrZXMgcmdiYSgpIGFuZCBoc2xhKCkNCgljb2xvci5mblsgc3BhY2VOYW1lIF0gPSBmdW5jdGlvbiggdmFsdWUgKSB7DQoNCgkJLy8gR2VuZXJhdGUgYSBjYWNoZSBmb3IgdGhpcyBzcGFjZSBpZiBpdCBkb2Vzbid0IGV4aXN0DQoJCWlmICggdG8gJiYgIXRoaXNbIGNhY2hlIF0gKSB7DQoJCQl0aGlzWyBjYWNoZSBdID0gdG8oIHRoaXMuX3JnYmEgKTsNCgkJfQ0KCQlpZiAoIHZhbHVlID09PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gdGhpc1sgY2FjaGUgXS5zbGljZSgpOw0KCQl9DQoNCgkJdmFyIHJldCwNCgkJCXR5cGUgPSBqUXVlcnkudHlwZSggdmFsdWUgKSwNCgkJCWFyciA9ICggdHlwZSA9PT0gImFycmF5IiB8fCB0eXBlID09PSAib2JqZWN0IiApID8gdmFsdWUgOiBhcmd1bWVudHMsDQoJCQlsb2NhbCA9IHRoaXNbIGNhY2hlIF0uc2xpY2UoKTsNCg0KCQllYWNoKCBwcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCgkJCXZhciB2YWwgPSBhcnJbIHR5cGUgPT09ICJvYmplY3QiID8ga2V5IDogcHJvcC5pZHggXTsNCgkJCWlmICggdmFsID09IG51bGwgKSB7DQoJCQkJdmFsID0gbG9jYWxbIHByb3AuaWR4IF07DQoJCQl9DQoJCQlsb2NhbFsgcHJvcC5pZHggXSA9IGNsYW1wKCB2YWwsIHByb3AgKTsNCgkJfSApOw0KDQoJCWlmICggZnJvbSApIHsNCgkJCXJldCA9IGNvbG9yKCBmcm9tKCBsb2NhbCApICk7DQoJCQlyZXRbIGNhY2hlIF0gPSBsb2NhbDsNCgkJCXJldHVybiByZXQ7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gY29sb3IoIGxvY2FsICk7DQoJCX0NCgl9Ow0KDQoJLy8gTWFrZXMgcmVkKCkgZ3JlZW4oKSBibHVlKCkgYWxwaGEoKSBodWUoKSBzYXR1cmF0aW9uKCkgbGlnaHRuZXNzKCkNCgllYWNoKCBwcm9wcywgZnVuY3Rpb24oIGtleSwgcHJvcCApIHsNCg0KCQkvLyBBbHBoYSBpcyBpbmNsdWRlZCBpbiBtb3JlIHRoYW4gb25lIHNwYWNlDQoJCWlmICggY29sb3IuZm5bIGtleSBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWNvbG9yLmZuWyBrZXkgXSA9IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCXZhciB2dHlwZSA9IGpRdWVyeS50eXBlKCB2YWx1ZSApLA0KCQkJCWZuID0gKCBrZXkgPT09ICJhbHBoYSIgPyAoIHRoaXMuX2hzbGEgPyAiaHNsYSIgOiAicmdiYSIgKSA6IHNwYWNlTmFtZSApLA0KCQkJCWxvY2FsID0gdGhpc1sgZm4gXSgpLA0KCQkJCWN1ciA9IGxvY2FsWyBwcm9wLmlkeCBdLA0KCQkJCW1hdGNoOw0KDQoJCQlpZiAoIHZ0eXBlID09PSAidW5kZWZpbmVkIiApIHsNCgkJCQlyZXR1cm4gY3VyOw0KCQkJfQ0KDQoJCQlpZiAoIHZ0eXBlID09PSAiZnVuY3Rpb24iICkgew0KCQkJCXZhbHVlID0gdmFsdWUuY2FsbCggdGhpcywgY3VyICk7DQoJCQkJdnR5cGUgPSBqUXVlcnkudHlwZSggdmFsdWUgKTsNCgkJCX0NCgkJCWlmICggdmFsdWUgPT0gbnVsbCAmJiBwcm9wLmVtcHR5ICkgew0KCQkJCXJldHVybiB0aGlzOw0KCQkJfQ0KCQkJaWYgKCB2dHlwZSA9PT0gInN0cmluZyIgKSB7DQoJCQkJbWF0Y2ggPSBycGx1c2VxdWFscy5leGVjKCB2YWx1ZSApOw0KCQkJCWlmICggbWF0Y2ggKSB7DQoJCQkJCXZhbHVlID0gY3VyICsgcGFyc2VGbG9hdCggbWF0Y2hbIDIgXSApICogKCBtYXRjaFsgMSBdID09PSAiKyIgPyAxIDogLTEgKTsNCgkJCQl9DQoJCQl9DQoJCQlsb2NhbFsgcHJvcC5pZHggXSA9IHZhbHVlOw0KCQkJcmV0dXJuIHRoaXNbIGZuIF0oIGxvY2FsICk7DQoJCX07DQoJfSApOw0KfSApOw0KDQovLyBBZGQgY3NzSG9vayBhbmQgLmZ4LnN0ZXAgZnVuY3Rpb24gZm9yIGVhY2ggbmFtZWQgaG9vay4NCi8vIGFjY2VwdCBhIHNwYWNlIHNlcGFyYXRlZCBzdHJpbmcgb2YgcHJvcGVydGllcw0KY29sb3IuaG9vayA9IGZ1bmN0aW9uKCBob29rICkgew0KCXZhciBob29rcyA9IGhvb2suc3BsaXQoICIgIiApOw0KCWVhY2goIGhvb2tzLCBmdW5jdGlvbiggaSwgaG9vayApIHsNCgkJalF1ZXJ5LmNzc0hvb2tzWyBob29rIF0gPSB7DQoJCQlzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHsNCgkJCQl2YXIgcGFyc2VkLCBjdXJFbGVtLA0KCQkJCQliYWNrZ3JvdW5kQ29sb3IgPSAiIjsNCg0KCQkJCWlmICggdmFsdWUgIT09ICJ0cmFuc3BhcmVudCIgJiYgKCBqUXVlcnkudHlwZSggdmFsdWUgKSAhPT0gInN0cmluZyIgfHwNCgkJCQkJCSggcGFyc2VkID0gc3RyaW5nUGFyc2UoIHZhbHVlICkgKSApICkgew0KCQkJCQl2YWx1ZSA9IGNvbG9yKCBwYXJzZWQgfHwgdmFsdWUgKTsNCgkJCQkJaWYgKCAhc3VwcG9ydC5yZ2JhICYmIHZhbHVlLl9yZ2JhWyAzIF0gIT09IDEgKSB7DQoJCQkJCQljdXJFbGVtID0gaG9vayA9PT0gImJhY2tncm91bmRDb2xvciIgPyBlbGVtLnBhcmVudE5vZGUgOiBlbGVtOw0KCQkJCQkJd2hpbGUgKA0KCQkJCQkJCSggYmFja2dyb3VuZENvbG9yID09PSAiIiB8fCBiYWNrZ3JvdW5kQ29sb3IgPT09ICJ0cmFuc3BhcmVudCIgKSAmJg0KCQkJCQkJCWN1ckVsZW0gJiYgY3VyRWxlbS5zdHlsZQ0KCQkJCQkJKSB7DQoJCQkJCQkJdHJ5IHsNCgkJCQkJCQkJYmFja2dyb3VuZENvbG9yID0galF1ZXJ5LmNzcyggY3VyRWxlbSwgImJhY2tncm91bmRDb2xvciIgKTsNCgkJCQkJCQkJY3VyRWxlbSA9IGN1ckVsZW0ucGFyZW50Tm9kZTsNCgkJCQkJCQl9IGNhdGNoICggZSApIHsNCgkJCQkJCQl9DQoJCQkJCQl9DQoNCgkJCQkJCXZhbHVlID0gdmFsdWUuYmxlbmQoIGJhY2tncm91bmRDb2xvciAmJiBiYWNrZ3JvdW5kQ29sb3IgIT09ICJ0cmFuc3BhcmVudCIgPw0KCQkJCQkJCWJhY2tncm91bmRDb2xvciA6DQoJCQkJCQkJIl9kZWZhdWx0IiApOw0KCQkJCQl9DQoNCgkJCQkJdmFsdWUgPSB2YWx1ZS50b1JnYmFTdHJpbmcoKTsNCgkJCQl9DQoJCQkJdHJ5IHsNCgkJCQkJZWxlbS5zdHlsZVsgaG9vayBdID0gdmFsdWU7DQoJCQkJfSBjYXRjaCAoIGUgKSB7DQoNCgkJCQkJLy8gV3JhcHBlZCB0byBwcmV2ZW50IElFIGZyb20gdGhyb3dpbmcgZXJyb3JzIG9uICJpbnZhbGlkIiB2YWx1ZXMgbGlrZQ0KCQkJCQkvLyAnYXV0bycgb3IgJ2luaGVyaXQnDQoJCQkJfQ0KCQkJfQ0KCQl9Ow0KCQlqUXVlcnkuZnguc3RlcFsgaG9vayBdID0gZnVuY3Rpb24oIGZ4ICkgew0KCQkJaWYgKCAhZnguY29sb3JJbml0ICkgew0KCQkJCWZ4LnN0YXJ0ID0gY29sb3IoIGZ4LmVsZW0sIGhvb2sgKTsNCgkJCQlmeC5lbmQgPSBjb2xvciggZnguZW5kICk7DQoJCQkJZnguY29sb3JJbml0ID0gdHJ1ZTsNCgkJCX0NCgkJCWpRdWVyeS5jc3NIb29rc1sgaG9vayBdLnNldCggZnguZWxlbSwgZnguc3RhcnQudHJhbnNpdGlvbiggZnguZW5kLCBmeC5wb3MgKSApOw0KCQl9Ow0KCX0gKTsNCg0KfTsNCg0KY29sb3IuaG9vayggc3RlcEhvb2tzICk7DQoNCmpRdWVyeS5jc3NIb29rcy5ib3JkZXJDb2xvciA9IHsNCglleHBhbmQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdmFyIGV4cGFuZGVkID0ge307DQoNCgkJZWFjaCggWyAiVG9wIiwgIlJpZ2h0IiwgIkJvdHRvbSIsICJMZWZ0IiBdLCBmdW5jdGlvbiggaSwgcGFydCApIHsNCgkJCWV4cGFuZGVkWyAiYm9yZGVyIiArIHBhcnQgKyAiQ29sb3IiIF0gPSB2YWx1ZTsNCgkJfSApOw0KCQlyZXR1cm4gZXhwYW5kZWQ7DQoJfQ0KfTsNCg0KLy8gQmFzaWMgY29sb3IgbmFtZXMgb25seS4NCi8vIFVzYWdlIG9mIGFueSBvZiB0aGUgb3RoZXIgY29sb3IgbmFtZXMgcmVxdWlyZXMgYWRkaW5nIHlvdXJzZWxmIG9yIGluY2x1ZGluZw0KLy8ganF1ZXJ5LmNvbG9yLnN2Zy1uYW1lcy5qcy4NCmNvbG9ycyA9IGpRdWVyeS5Db2xvci5uYW1lcyA9IHsNCg0KCS8vIDQuMS4gQmFzaWMgY29sb3Iga2V5d29yZHMNCglhcXVhOiAiIzAwZmZmZiIsDQoJYmxhY2s6ICIjMDAwMDAwIiwNCglibHVlOiAiIzAwMDBmZiIsDQoJZnVjaHNpYTogIiNmZjAwZmYiLA0KCWdyYXk6ICIjODA4MDgwIiwNCglncmVlbjogIiMwMDgwMDAiLA0KCWxpbWU6ICIjMDBmZjAwIiwNCgltYXJvb246ICIjODAwMDAwIiwNCgluYXZ5OiAiIzAwMDA4MCIsDQoJb2xpdmU6ICIjODA4MDAwIiwNCglwdXJwbGU6ICIjODAwMDgwIiwNCglyZWQ6ICIjZmYwMDAwIiwNCglzaWx2ZXI6ICIjYzBjMGMwIiwNCgl0ZWFsOiAiIzAwODA4MCIsDQoJd2hpdGU6ICIjZmZmZmZmIiwNCgl5ZWxsb3c6ICIjZmZmZjAwIiwNCg0KCS8vIDQuMi4zLiAidHJhbnNwYXJlbnQiIGNvbG9yIGtleXdvcmQNCgl0cmFuc3BhcmVudDogWyBudWxsLCBudWxsLCBudWxsLCAwIF0sDQoNCglfZGVmYXVsdDogIiNmZmZmZmYiDQp9Ow0KDQp9ICkoIGpRdWVyeSApOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTUyBBTklNQVRJT05TICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQooIGZ1bmN0aW9uKCkgew0KDQp2YXIgY2xhc3NBbmltYXRpb25BY3Rpb25zID0gWyAiYWRkIiwgInJlbW92ZSIsICJ0b2dnbGUiIF0sDQoJc2hvcnRoYW5kU3R5bGVzID0gew0KCQlib3JkZXI6IDEsDQoJCWJvcmRlckJvdHRvbTogMSwNCgkJYm9yZGVyQ29sb3I6IDEsDQoJCWJvcmRlckxlZnQ6IDEsDQoJCWJvcmRlclJpZ2h0OiAxLA0KCQlib3JkZXJUb3A6IDEsDQoJCWJvcmRlcldpZHRoOiAxLA0KCQltYXJnaW46IDEsDQoJCXBhZGRpbmc6IDENCgl9Ow0KDQokLmVhY2goDQoJWyAiYm9yZGVyTGVmdFN0eWxlIiwgImJvcmRlclJpZ2h0U3R5bGUiLCAiYm9yZGVyQm90dG9tU3R5bGUiLCAiYm9yZGVyVG9wU3R5bGUiIF0sDQoJZnVuY3Rpb24oIF8sIHByb3AgKSB7DQoJCSQuZnguc3RlcFsgcHJvcCBdID0gZnVuY3Rpb24oIGZ4ICkgew0KCQkJaWYgKCBmeC5lbmQgIT09ICJub25lIiAmJiAhZnguc2V0QXR0ciB8fCBmeC5wb3MgPT09IDEgJiYgIWZ4LnNldEF0dHIgKSB7DQoJCQkJalF1ZXJ5LnN0eWxlKCBmeC5lbGVtLCBwcm9wLCBmeC5lbmQgKTsNCgkJCQlmeC5zZXRBdHRyID0gdHJ1ZTsNCgkJCX0NCgkJfTsNCgl9DQopOw0KDQpmdW5jdGlvbiBnZXRFbGVtZW50U3R5bGVzKCBlbGVtICkgew0KCXZhciBrZXksIGxlbiwNCgkJc3R5bGUgPSBlbGVtLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcgPw0KCQkJZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldENvbXB1dGVkU3R5bGUoIGVsZW0sIG51bGwgKSA6DQoJCQllbGVtLmN1cnJlbnRTdHlsZSwNCgkJc3R5bGVzID0ge307DQoNCglpZiAoIHN0eWxlICYmIHN0eWxlLmxlbmd0aCAmJiBzdHlsZVsgMCBdICYmIHN0eWxlWyBzdHlsZVsgMCBdIF0gKSB7DQoJCWxlbiA9IHN0eWxlLmxlbmd0aDsNCgkJd2hpbGUgKCBsZW4tLSApIHsNCgkJCWtleSA9IHN0eWxlWyBsZW4gXTsNCgkJCWlmICggdHlwZW9mIHN0eWxlWyBrZXkgXSA9PT0gInN0cmluZyIgKSB7DQoJCQkJc3R5bGVzWyAkLmNhbWVsQ2FzZSgga2V5ICkgXSA9IHN0eWxlWyBrZXkgXTsNCgkJCX0NCgkJfQ0KDQoJLy8gU3VwcG9ydDogT3BlcmEsIElFIDw5DQoJfSBlbHNlIHsNCgkJZm9yICgga2V5IGluIHN0eWxlICkgew0KCQkJaWYgKCB0eXBlb2Ygc3R5bGVbIGtleSBdID09PSAic3RyaW5nIiApIHsNCgkJCQlzdHlsZXNbIGtleSBdID0gc3R5bGVbIGtleSBdOw0KCQkJfQ0KCQl9DQoJfQ0KDQoJcmV0dXJuIHN0eWxlczsNCn0NCg0KZnVuY3Rpb24gc3R5bGVEaWZmZXJlbmNlKCBvbGRTdHlsZSwgbmV3U3R5bGUgKSB7DQoJdmFyIGRpZmYgPSB7fSwNCgkJbmFtZSwgdmFsdWU7DQoNCglmb3IgKCBuYW1lIGluIG5ld1N0eWxlICkgew0KCQl2YWx1ZSA9IG5ld1N0eWxlWyBuYW1lIF07DQoJCWlmICggb2xkU3R5bGVbIG5hbWUgXSAhPT0gdmFsdWUgKSB7DQoJCQlpZiAoICFzaG9ydGhhbmRTdHlsZXNbIG5hbWUgXSApIHsNCgkJCQlpZiAoICQuZnguc3RlcFsgbmFtZSBdIHx8ICFpc05hTiggcGFyc2VGbG9hdCggdmFsdWUgKSApICkgew0KCQkJCQlkaWZmWyBuYW1lIF0gPSB2YWx1ZTsNCgkJCQl9DQoJCQl9DQoJCX0NCgl9DQoNCglyZXR1cm4gZGlmZjsNCn0NCg0KLy8gU3VwcG9ydDogalF1ZXJ5IDwxLjgNCmlmICggISQuZm4uYWRkQmFjayApIHsNCgkkLmZuLmFkZEJhY2sgPSBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0aGlzLmFkZCggc2VsZWN0b3IgPT0gbnVsbCA/DQoJCQl0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKCBzZWxlY3RvciApDQoJCSk7DQoJfTsNCn0NCg0KJC5lZmZlY3RzLmFuaW1hdGVDbGFzcyA9IGZ1bmN0aW9uKCB2YWx1ZSwgZHVyYXRpb24sIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJdmFyIG8gPSAkLnNwZWVkKCBkdXJhdGlvbiwgZWFzaW5nLCBjYWxsYmFjayApOw0KDQoJcmV0dXJuIHRoaXMucXVldWUoIGZ1bmN0aW9uKCkgew0KCQl2YXIgYW5pbWF0ZWQgPSAkKCB0aGlzICksDQoJCQliYXNlQ2xhc3MgPSBhbmltYXRlZC5hdHRyKCAiY2xhc3MiICkgfHwgIiIsDQoJCQlhcHBseUNsYXNzQ2hhbmdlLA0KCQkJYWxsQW5pbWF0aW9ucyA9IG8uY2hpbGRyZW4gPyBhbmltYXRlZC5maW5kKCAiKiIgKS5hZGRCYWNrKCkgOiBhbmltYXRlZDsNCg0KCQkvLyBNYXAgdGhlIGFuaW1hdGVkIG9iamVjdHMgdG8gc3RvcmUgdGhlIG9yaWdpbmFsIHN0eWxlcy4NCgkJYWxsQW5pbWF0aW9ucyA9IGFsbEFuaW1hdGlvbnMubWFwKCBmdW5jdGlvbigpIHsNCgkJCXZhciBlbCA9ICQoIHRoaXMgKTsNCgkJCXJldHVybiB7DQoJCQkJZWw6IGVsLA0KCQkJCXN0YXJ0OiBnZXRFbGVtZW50U3R5bGVzKCB0aGlzICkNCgkJCX07DQoJCX0gKTsNCg0KCQkvLyBBcHBseSBjbGFzcyBjaGFuZ2UNCgkJYXBwbHlDbGFzc0NoYW5nZSA9IGZ1bmN0aW9uKCkgew0KCQkJJC5lYWNoKCBjbGFzc0FuaW1hdGlvbkFjdGlvbnMsIGZ1bmN0aW9uKCBpLCBhY3Rpb24gKSB7DQoJCQkJaWYgKCB2YWx1ZVsgYWN0aW9uIF0gKSB7DQoJCQkJCWFuaW1hdGVkWyBhY3Rpb24gKyAiQ2xhc3MiIF0oIHZhbHVlWyBhY3Rpb24gXSApOw0KCQkJCX0NCgkJCX0gKTsNCgkJfTsNCgkJYXBwbHlDbGFzc0NoYW5nZSgpOw0KDQoJCS8vIE1hcCBhbGwgYW5pbWF0ZWQgb2JqZWN0cyBhZ2FpbiAtIGNhbGN1bGF0ZSBuZXcgc3R5bGVzIGFuZCBkaWZmDQoJCWFsbEFuaW1hdGlvbnMgPSBhbGxBbmltYXRpb25zLm1hcCggZnVuY3Rpb24oKSB7DQoJCQl0aGlzLmVuZCA9IGdldEVsZW1lbnRTdHlsZXMoIHRoaXMuZWxbIDAgXSApOw0KCQkJdGhpcy5kaWZmID0gc3R5bGVEaWZmZXJlbmNlKCB0aGlzLnN0YXJ0LCB0aGlzLmVuZCApOw0KCQkJcmV0dXJuIHRoaXM7DQoJCX0gKTsNCg0KCQkvLyBBcHBseSBvcmlnaW5hbCBjbGFzcw0KCQlhbmltYXRlZC5hdHRyKCAiY2xhc3MiLCBiYXNlQ2xhc3MgKTsNCg0KCQkvLyBNYXAgYWxsIGFuaW1hdGVkIG9iamVjdHMgYWdhaW4gLSB0aGlzIHRpbWUgY29sbGVjdGluZyBhIHByb21pc2UNCgkJYWxsQW5pbWF0aW9ucyA9IGFsbEFuaW1hdGlvbnMubWFwKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzdHlsZUluZm8gPSB0aGlzLA0KCQkJCWRmZCA9ICQuRGVmZXJyZWQoKSwNCgkJCQlvcHRzID0gJC5leHRlbmQoIHt9LCBvLCB7DQoJCQkJCXF1ZXVlOiBmYWxzZSwNCgkJCQkJY29tcGxldGU6IGZ1bmN0aW9uKCkgew0KCQkJCQkJZGZkLnJlc29sdmUoIHN0eWxlSW5mbyApOw0KCQkJCQl9DQoJCQkJfSApOw0KDQoJCQl0aGlzLmVsLmFuaW1hdGUoIHRoaXMuZGlmZiwgb3B0cyApOw0KCQkJcmV0dXJuIGRmZC5wcm9taXNlKCk7DQoJCX0gKTsNCg0KCQkvLyBPbmNlIGFsbCBhbmltYXRpb25zIGhhdmUgY29tcGxldGVkOg0KCQkkLndoZW4uYXBwbHkoICQsIGFsbEFuaW1hdGlvbnMuZ2V0KCkgKS5kb25lKCBmdW5jdGlvbigpIHsNCg0KCQkJLy8gU2V0IHRoZSBmaW5hbCBjbGFzcw0KCQkJYXBwbHlDbGFzc0NoYW5nZSgpOw0KDQoJCQkvLyBGb3IgZWFjaCBhbmltYXRlZCBlbGVtZW50LA0KCQkJLy8gY2xlYXIgYWxsIGNzcyBwcm9wZXJ0aWVzIHRoYXQgd2VyZSBhbmltYXRlZA0KCQkJJC5lYWNoKCBhcmd1bWVudHMsIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBlbCA9IHRoaXMuZWw7DQoJCQkJJC5lYWNoKCB0aGlzLmRpZmYsIGZ1bmN0aW9uKCBrZXkgKSB7DQoJCQkJCWVsLmNzcygga2V5LCAiIiApOw0KCQkJCX0gKTsNCgkJCX0gKTsNCg0KCQkJLy8gVGhpcyBpcyBndWFybnRlZWQgdG8gYmUgdGhlcmUgaWYgeW91IHVzZSBqUXVlcnkuc3BlZWQoKQ0KCQkJLy8gaXQgYWxzbyBoYW5kbGVzIGRlcXVldWluZyB0aGUgbmV4dCBhbmltLi4uDQoJCQlvLmNvbXBsZXRlLmNhbGwoIGFuaW1hdGVkWyAwIF0gKTsNCgkJfSApOw0KCX0gKTsNCn07DQoNCiQuZm4uZXh0ZW5kKCB7DQoJYWRkQ2xhc3M6ICggZnVuY3Rpb24oIG9yaWcgKSB7DQoJCXJldHVybiBmdW5jdGlvbiggY2xhc3NOYW1lcywgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJCQlyZXR1cm4gc3BlZWQgPw0KCQkJCSQuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCggdGhpcywNCgkJCQkJeyBhZGQ6IGNsYXNzTmFtZXMgfSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSA6DQoJCQkJb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCX07DQoJfSApKCAkLmZuLmFkZENsYXNzICksDQoNCglyZW1vdmVDbGFzczogKCBmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBjbGFzc05hbWVzLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJCXJldHVybiBhcmd1bWVudHMubGVuZ3RoID4gMSA/DQoJCQkJJC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKCB0aGlzLA0KCQkJCQl7IHJlbW92ZTogY2xhc3NOYW1lcyB9LCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIDoNCgkJCQlvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJfTsNCgl9ICkoICQuZm4ucmVtb3ZlQ2xhc3MgKSwNCg0KCXRvZ2dsZUNsYXNzOiAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIGNsYXNzTmFtZXMsIGZvcmNlLCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHsNCgkJCWlmICggdHlwZW9mIGZvcmNlID09PSAiYm9vbGVhbiIgfHwgZm9yY2UgPT09IHVuZGVmaW5lZCApIHsNCgkJCQlpZiAoICFzcGVlZCApIHsNCg0KCQkJCQkvLyBXaXRob3V0IHNwZWVkIHBhcmFtZXRlcg0KCQkJCQlyZXR1cm4gb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJcmV0dXJuICQuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCggdGhpcywNCgkJCQkJCSggZm9yY2UgPyB7IGFkZDogY2xhc3NOYW1lcyB9IDogeyByZW1vdmU6IGNsYXNzTmFtZXMgfSApLA0KCQkJCQkJc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gV2l0aG91dCBmb3JjZSBwYXJhbWV0ZXINCgkJCQlyZXR1cm4gJC5lZmZlY3RzLmFuaW1hdGVDbGFzcy5jYWxsKCB0aGlzLA0KCQkJCQl7IHRvZ2dsZTogY2xhc3NOYW1lcyB9LCBmb3JjZSwgc3BlZWQsIGVhc2luZyApOw0KCQkJfQ0KCQl9Ow0KCX0gKSggJC5mbi50b2dnbGVDbGFzcyApLA0KDQoJc3dpdGNoQ2xhc3M6IGZ1bmN0aW9uKCByZW1vdmUsIGFkZCwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7DQoJCXJldHVybiAkLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwoIHRoaXMsIHsNCgkJCWFkZDogYWRkLA0KCQkJcmVtb3ZlOiByZW1vdmUNCgkJfSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTsNCgl9DQp9ICk7DQoNCn0gKSgpOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVGRkVDVFMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiggZnVuY3Rpb24oKSB7DQoNCmlmICggJC5leHByICYmICQuZXhwci5maWx0ZXJzICYmICQuZXhwci5maWx0ZXJzLmFuaW1hdGVkICkgew0KCSQuZXhwci5maWx0ZXJzLmFuaW1hdGVkID0gKCBmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkgew0KCQkJcmV0dXJuICEhJCggZWxlbSApLmRhdGEoIGRhdGFTcGFjZUFuaW1hdGVkICkgfHwgb3JpZyggZWxlbSApOw0KCQl9Ow0KCX0gKSggJC5leHByLmZpbHRlcnMuYW5pbWF0ZWQgKTsNCn0NCg0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoJJC5leHRlbmQoICQuZWZmZWN0cywgew0KDQoJCS8vIFNhdmVzIGEgc2V0IG9mIHByb3BlcnRpZXMgaW4gYSBkYXRhIHN0b3JhZ2UNCgkJc2F2ZTogZnVuY3Rpb24oIGVsZW1lbnQsIHNldCApIHsNCgkJCXZhciBpID0gMCwgbGVuZ3RoID0gc2V0Lmxlbmd0aDsNCgkJCWZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkgew0KCQkJCWlmICggc2V0WyBpIF0gIT09IG51bGwgKSB7DQoJCQkJCWVsZW1lbnQuZGF0YSggZGF0YVNwYWNlICsgc2V0WyBpIF0sIGVsZW1lbnRbIDAgXS5zdHlsZVsgc2V0WyBpIF0gXSApOw0KCQkJCX0NCgkJCX0NCgkJfSwNCg0KCQkvLyBSZXN0b3JlcyBhIHNldCBvZiBwcmV2aW91c2x5IHNhdmVkIHByb3BlcnRpZXMgZnJvbSBhIGRhdGEgc3RvcmFnZQ0KCQlyZXN0b3JlOiBmdW5jdGlvbiggZWxlbWVudCwgc2V0ICkgew0KCQkJdmFyIHZhbCwgaSA9IDAsIGxlbmd0aCA9IHNldC5sZW5ndGg7DQoJCQlmb3IgKCA7IGkgPCBsZW5ndGg7IGkrKyApIHsNCgkJCQlpZiAoIHNldFsgaSBdICE9PSBudWxsICkgew0KCQkJCQl2YWwgPSBlbGVtZW50LmRhdGEoIGRhdGFTcGFjZSArIHNldFsgaSBdICk7DQoJCQkJCWVsZW1lbnQuY3NzKCBzZXRbIGkgXSwgdmFsICk7DQoJCQkJfQ0KCQkJfQ0KCQl9LA0KDQoJCXNldE1vZGU6IGZ1bmN0aW9uKCBlbCwgbW9kZSApIHsNCgkJCWlmICggbW9kZSA9PT0gInRvZ2dsZSIgKSB7DQoJCQkJbW9kZSA9IGVsLmlzKCAiOmhpZGRlbiIgKSA/ICJzaG93IiA6ICJoaWRlIjsNCgkJCX0NCgkJCXJldHVybiBtb2RlOw0KCQl9LA0KDQoJCS8vIFdyYXBzIHRoZSBlbGVtZW50IGFyb3VuZCBhIHdyYXBwZXIgdGhhdCBjb3BpZXMgcG9zaXRpb24gcHJvcGVydGllcw0KCQljcmVhdGVXcmFwcGVyOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCg0KCQkJLy8gSWYgdGhlIGVsZW1lbnQgaXMgYWxyZWFkeSB3cmFwcGVkLCByZXR1cm4gaXQNCgkJCWlmICggZWxlbWVudC5wYXJlbnQoKS5pcyggIi51aS1lZmZlY3RzLXdyYXBwZXIiICkgKSB7DQoJCQkJcmV0dXJuIGVsZW1lbnQucGFyZW50KCk7DQoJCQl9DQoNCgkJCS8vIFdyYXAgdGhlIGVsZW1lbnQNCgkJCXZhciBwcm9wcyA9IHsNCgkJCQkJd2lkdGg6IGVsZW1lbnQub3V0ZXJXaWR0aCggdHJ1ZSApLA0KCQkJCQloZWlnaHQ6IGVsZW1lbnQub3V0ZXJIZWlnaHQoIHRydWUgKSwNCgkJCQkJImZsb2F0IjogZWxlbWVudC5jc3MoICJmbG9hdCIgKQ0KCQkJCX0sDQoJCQkJd3JhcHBlciA9ICQoICI8ZGl2PjwvZGl2PiIgKQ0KCQkJCQkuYWRkQ2xhc3MoICJ1aS1lZmZlY3RzLXdyYXBwZXIiICkNCgkJCQkJLmNzcyggew0KCQkJCQkJZm9udFNpemU6ICIxMDAlIiwNCgkJCQkJCWJhY2tncm91bmQ6ICJ0cmFuc3BhcmVudCIsDQoJCQkJCQlib3JkZXI6ICJub25lIiwNCgkJCQkJCW1hcmdpbjogMCwNCgkJCQkJCXBhZGRpbmc6IDANCgkJCQkJfSApLA0KDQoJCQkJLy8gU3RvcmUgdGhlIHNpemUgaW4gY2FzZSB3aWR0aC9oZWlnaHQgYXJlIGRlZmluZWQgaW4gJSAtIEZpeGVzICM1MjQ1DQoJCQkJc2l6ZSA9IHsNCgkJCQkJd2lkdGg6IGVsZW1lbnQud2lkdGgoKSwNCgkJCQkJaGVpZ2h0OiBlbGVtZW50LmhlaWdodCgpDQoJCQkJfSwNCgkJCQlhY3RpdmUgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50Ow0KDQoJCQkvLyBTdXBwb3J0OiBGaXJlZm94DQoJCQkvLyBGaXJlZm94IGluY29ycmVjdGx5IGV4cG9zZXMgYW5vbnltb3VzIGNvbnRlbnQNCgkJCS8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MTY2NA0KCQkJdHJ5IHsNCgkJCQlhY3RpdmUuaWQ7DQoJCQl9IGNhdGNoICggZSApIHsNCgkJCQlhY3RpdmUgPSBkb2N1bWVudC5ib2R5Ow0KCQkJfQ0KDQoJCQllbGVtZW50LndyYXAoIHdyYXBwZXIgKTsNCg0KCQkJLy8gRml4ZXMgIzc1OTUgLSBFbGVtZW50cyBsb3NlIGZvY3VzIHdoZW4gd3JhcHBlZC4NCgkJCWlmICggZWxlbWVudFsgMCBdID09PSBhY3RpdmUgfHwgJC5jb250YWlucyggZWxlbWVudFsgMCBdLCBhY3RpdmUgKSApIHsNCgkJCQkkKCBhY3RpdmUgKS50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCQl9DQoNCgkJCS8vIEhvdGZpeCBmb3IgalF1ZXJ5IDEuNCBzaW5jZSBzb21lIGNoYW5nZSBpbiB3cmFwKCkgc2VlbXMgdG8gYWN0dWFsbHkNCgkJCS8vIGxvc2UgdGhlIHJlZmVyZW5jZSB0byB0aGUgd3JhcHBlZCBlbGVtZW50DQoJCQl3cmFwcGVyID0gZWxlbWVudC5wYXJlbnQoKTsNCg0KCQkJLy8gVHJhbnNmZXIgcG9zaXRpb25pbmcgcHJvcGVydGllcyB0byB0aGUgd3JhcHBlcg0KCQkJaWYgKCBlbGVtZW50LmNzcyggInBvc2l0aW9uIiApID09PSAic3RhdGljIiApIHsNCgkJCQl3cmFwcGVyLmNzcyggeyBwb3NpdGlvbjogInJlbGF0aXZlIiB9ICk7DQoJCQkJZWxlbWVudC5jc3MoIHsgcG9zaXRpb246ICJyZWxhdGl2ZSIgfSApOw0KCQkJfSBlbHNlIHsNCgkJCQkkLmV4dGVuZCggcHJvcHMsIHsNCgkJCQkJcG9zaXRpb246IGVsZW1lbnQuY3NzKCAicG9zaXRpb24iICksDQoJCQkJCXpJbmRleDogZWxlbWVudC5jc3MoICJ6LWluZGV4IiApDQoJCQkJfSApOw0KCQkJCSQuZWFjaCggWyAidG9wIiwgImxlZnQiLCAiYm90dG9tIiwgInJpZ2h0IiBdLCBmdW5jdGlvbiggaSwgcG9zICkgew0KCQkJCQlwcm9wc1sgcG9zIF0gPSBlbGVtZW50LmNzcyggcG9zICk7DQoJCQkJCWlmICggaXNOYU4oIHBhcnNlSW50KCBwcm9wc1sgcG9zIF0sIDEwICkgKSApIHsNCgkJCQkJCXByb3BzWyBwb3MgXSA9ICJhdXRvIjsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJCQllbGVtZW50LmNzcyggew0KCQkJCQlwb3NpdGlvbjogInJlbGF0aXZlIiwNCgkJCQkJdG9wOiAwLA0KCQkJCQlsZWZ0OiAwLA0KCQkJCQlyaWdodDogImF1dG8iLA0KCQkJCQlib3R0b206ICJhdXRvIg0KCQkJCX0gKTsNCgkJCX0NCgkJCWVsZW1lbnQuY3NzKCBzaXplICk7DQoNCgkJCXJldHVybiB3cmFwcGVyLmNzcyggcHJvcHMgKS5zaG93KCk7DQoJCX0sDQoNCgkJcmVtb3ZlV3JhcHBlcjogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCQl2YXIgYWN0aXZlID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsNCg0KCQkJaWYgKCBlbGVtZW50LnBhcmVudCgpLmlzKCAiLnVpLWVmZmVjdHMtd3JhcHBlciIgKSApIHsNCgkJCQllbGVtZW50LnBhcmVudCgpLnJlcGxhY2VXaXRoKCBlbGVtZW50ICk7DQoNCgkJCQkvLyBGaXhlcyAjNzU5NSAtIEVsZW1lbnRzIGxvc2UgZm9jdXMgd2hlbiB3cmFwcGVkLg0KCQkJCWlmICggZWxlbWVudFsgMCBdID09PSBhY3RpdmUgfHwgJC5jb250YWlucyggZWxlbWVudFsgMCBdLCBhY3RpdmUgKSApIHsNCgkJCQkJJCggYWN0aXZlICkudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCX0NCgkJCX0NCg0KCQkJcmV0dXJuIGVsZW1lbnQ7DQoJCX0NCgl9ICk7DQp9DQoNCiQuZXh0ZW5kKCAkLmVmZmVjdHMsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCg0KCWRlZmluZTogZnVuY3Rpb24oIG5hbWUsIG1vZGUsIGVmZmVjdCApIHsNCgkJaWYgKCAhZWZmZWN0ICkgew0KCQkJZWZmZWN0ID0gbW9kZTsNCgkJCW1vZGUgPSAiZWZmZWN0IjsNCgkJfQ0KDQoJCSQuZWZmZWN0cy5lZmZlY3RbIG5hbWUgXSA9IGVmZmVjdDsNCgkJJC5lZmZlY3RzLmVmZmVjdFsgbmFtZSBdLm1vZGUgPSBtb2RlOw0KDQoJCXJldHVybiBlZmZlY3Q7DQoJfSwNCg0KCXNjYWxlZERpbWVuc2lvbnM6IGZ1bmN0aW9uKCBlbGVtZW50LCBwZXJjZW50LCBkaXJlY3Rpb24gKSB7DQoJCWlmICggcGVyY2VudCA9PT0gMCApIHsNCgkJCXJldHVybiB7DQoJCQkJaGVpZ2h0OiAwLA0KCQkJCXdpZHRoOiAwLA0KCQkJCW91dGVySGVpZ2h0OiAwLA0KCQkJCW91dGVyV2lkdGg6IDANCgkJCX07DQoJCX0NCg0KCQl2YXIgeCA9IGRpcmVjdGlvbiAhPT0gImhvcml6b250YWwiID8gKCAoIHBlcmNlbnQgfHwgMTAwICkgLyAxMDAgKSA6IDEsDQoJCQl5ID0gZGlyZWN0aW9uICE9PSAidmVydGljYWwiID8gKCAoIHBlcmNlbnQgfHwgMTAwICkgLyAxMDAgKSA6IDE7DQoNCgkJcmV0dXJuIHsNCgkJCWhlaWdodDogZWxlbWVudC5oZWlnaHQoKSAqIHksDQoJCQl3aWR0aDogZWxlbWVudC53aWR0aCgpICogeCwNCgkJCW91dGVySGVpZ2h0OiBlbGVtZW50Lm91dGVySGVpZ2h0KCkgKiB5LA0KCQkJb3V0ZXJXaWR0aDogZWxlbWVudC5vdXRlcldpZHRoKCkgKiB4DQoJCX07DQoNCgl9LA0KDQoJY2xpcFRvQm94OiBmdW5jdGlvbiggYW5pbWF0aW9uICkgew0KCQlyZXR1cm4gew0KCQkJd2lkdGg6IGFuaW1hdGlvbi5jbGlwLnJpZ2h0IC0gYW5pbWF0aW9uLmNsaXAubGVmdCwNCgkJCWhlaWdodDogYW5pbWF0aW9uLmNsaXAuYm90dG9tIC0gYW5pbWF0aW9uLmNsaXAudG9wLA0KCQkJbGVmdDogYW5pbWF0aW9uLmNsaXAubGVmdCwNCgkJCXRvcDogYW5pbWF0aW9uLmNsaXAudG9wDQoJCX07DQoJfSwNCg0KCS8vIEluamVjdHMgcmVjZW50bHkgcXVldWVkIGZ1bmN0aW9ucyB0byBiZSBmaXJzdCBpbiBsaW5lIChhZnRlciAiaW5wcm9ncmVzcyIpDQoJdW5zaGlmdDogZnVuY3Rpb24oIGVsZW1lbnQsIHF1ZXVlTGVuZ3RoLCBjb3VudCApIHsNCgkJdmFyIHF1ZXVlID0gZWxlbWVudC5xdWV1ZSgpOw0KDQoJCWlmICggcXVldWVMZW5ndGggPiAxICkgew0KCQkJcXVldWUuc3BsaWNlLmFwcGx5KCBxdWV1ZSwNCgkJCQlbIDEsIDAgXS5jb25jYXQoIHF1ZXVlLnNwbGljZSggcXVldWVMZW5ndGgsIGNvdW50ICkgKSApOw0KCQl9DQoJCWVsZW1lbnQuZGVxdWV1ZSgpOw0KCX0sDQoNCglzYXZlU3R5bGU6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQllbGVtZW50LmRhdGEoIGRhdGFTcGFjZVN0eWxlLCBlbGVtZW50WyAwIF0uc3R5bGUuY3NzVGV4dCApOw0KCX0sDQoNCglyZXN0b3JlU3R5bGU6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQllbGVtZW50WyAwIF0uc3R5bGUuY3NzVGV4dCA9IGVsZW1lbnQuZGF0YSggZGF0YVNwYWNlU3R5bGUgKSB8fCAiIjsNCgkJZWxlbWVudC5yZW1vdmVEYXRhKCBkYXRhU3BhY2VTdHlsZSApOw0KCX0sDQoNCgltb2RlOiBmdW5jdGlvbiggZWxlbWVudCwgbW9kZSApIHsNCgkJdmFyIGhpZGRlbiA9IGVsZW1lbnQuaXMoICI6aGlkZGVuIiApOw0KDQoJCWlmICggbW9kZSA9PT0gInRvZ2dsZSIgKSB7DQoJCQltb2RlID0gaGlkZGVuID8gInNob3ciIDogImhpZGUiOw0KCQl9DQoJCWlmICggaGlkZGVuID8gbW9kZSA9PT0gImhpZGUiIDogbW9kZSA9PT0gInNob3ciICkgew0KCQkJbW9kZSA9ICJub25lIjsNCgkJfQ0KCQlyZXR1cm4gbW9kZTsNCgl9LA0KDQoJLy8gVHJhbnNsYXRlcyBhIFt0b3AsbGVmdF0gYXJyYXkgaW50byBhIGJhc2VsaW5lIHZhbHVlDQoJZ2V0QmFzZWxpbmU6IGZ1bmN0aW9uKCBvcmlnaW4sIG9yaWdpbmFsICkgew0KCQl2YXIgeSwgeDsNCg0KCQlzd2l0Y2ggKCBvcmlnaW5bIDAgXSApIHsNCgkJY2FzZSAidG9wIjoNCgkJCXkgPSAwOw0KCQkJYnJlYWs7DQoJCWNhc2UgIm1pZGRsZSI6DQoJCQl5ID0gMC41Ow0KCQkJYnJlYWs7DQoJCWNhc2UgImJvdHRvbSI6DQoJCQl5ID0gMTsNCgkJCWJyZWFrOw0KCQlkZWZhdWx0Og0KCQkJeSA9IG9yaWdpblsgMCBdIC8gb3JpZ2luYWwuaGVpZ2h0Ow0KCQl9DQoNCgkJc3dpdGNoICggb3JpZ2luWyAxIF0gKSB7DQoJCWNhc2UgImxlZnQiOg0KCQkJeCA9IDA7DQoJCQlicmVhazsNCgkJY2FzZSAiY2VudGVyIjoNCgkJCXggPSAwLjU7DQoJCQlicmVhazsNCgkJY2FzZSAicmlnaHQiOg0KCQkJeCA9IDE7DQoJCQlicmVhazsNCgkJZGVmYXVsdDoNCgkJCXggPSBvcmlnaW5bIDEgXSAvIG9yaWdpbmFsLndpZHRoOw0KCQl9DQoNCgkJcmV0dXJuIHsNCgkJCXg6IHgsDQoJCQl5OiB5DQoJCX07DQoJfSwNCg0KCS8vIENyZWF0ZXMgYSBwbGFjZWhvbGRlciBlbGVtZW50IHNvIHRoYXQgdGhlIG9yaWdpbmFsIGVsZW1lbnQgY2FuIGJlIG1hZGUgYWJzb2x1dGUNCgljcmVhdGVQbGFjZWhvbGRlcjogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCXZhciBwbGFjZWhvbGRlciwNCgkJCWNzc1Bvc2l0aW9uID0gZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSwNCgkJCXBvc2l0aW9uID0gZWxlbWVudC5wb3NpdGlvbigpOw0KDQoJCS8vIExvY2sgaW4gbWFyZ2lucyBmaXJzdCB0byBhY2NvdW50IGZvciBmb3JtIGVsZW1lbnRzLCB3aGljaA0KCQkvLyB3aWxsIGNoYW5nZSBtYXJnaW4gaWYgeW91IGV4cGxpY2l0bHkgc2V0IGhlaWdodA0KCQkvLyBzZWU6IGh0dHA6Ly9qc2ZpZGRsZS5uZXQvSlpTTXQvMy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzM4MA0KCQkvLyBTdXBwb3J0OiBTYWZhcmkNCgkJZWxlbWVudC5jc3MoIHsNCgkJCW1hcmdpblRvcDogZWxlbWVudC5jc3MoICJtYXJnaW5Ub3AiICksDQoJCQltYXJnaW5Cb3R0b206IGVsZW1lbnQuY3NzKCAibWFyZ2luQm90dG9tIiApLA0KCQkJbWFyZ2luTGVmdDogZWxlbWVudC5jc3MoICJtYXJnaW5MZWZ0IiApLA0KCQkJbWFyZ2luUmlnaHQ6IGVsZW1lbnQuY3NzKCAibWFyZ2luUmlnaHQiICkNCgkJfSApDQoJCS5vdXRlcldpZHRoKCBlbGVtZW50Lm91dGVyV2lkdGgoKSApDQoJCS5vdXRlckhlaWdodCggZWxlbWVudC5vdXRlckhlaWdodCgpICk7DQoNCgkJaWYgKCAvXihzdGF0aWN8cmVsYXRpdmUpLy50ZXN0KCBjc3NQb3NpdGlvbiApICkgew0KCQkJY3NzUG9zaXRpb24gPSAiYWJzb2x1dGUiOw0KDQoJCQlwbGFjZWhvbGRlciA9ICQoICI8IiArIGVsZW1lbnRbIDAgXS5ub2RlTmFtZSArICI+IiApLmluc2VydEFmdGVyKCBlbGVtZW50ICkuY3NzKCB7DQoNCgkJCQkvLyBDb252ZXJ0IGlubGluZSB0byBpbmxpbmUgYmxvY2sgdG8gYWNjb3VudCBmb3IgaW5saW5lIGVsZW1lbnRzDQoJCQkJLy8gdGhhdCB0dXJuIHRvIGlubGluZSBibG9jayBiYXNlZCBvbiBjb250ZW50IChsaWtlIGltZykNCgkJCQlkaXNwbGF5OiAvXihpbmxpbmV8cnVieSkvLnRlc3QoIGVsZW1lbnQuY3NzKCAiZGlzcGxheSIgKSApID8NCgkJCQkJImlubGluZS1ibG9jayIgOg0KCQkJCQkiYmxvY2siLA0KCQkJCXZpc2liaWxpdHk6ICJoaWRkZW4iLA0KDQoJCQkJLy8gTWFyZ2lucyBuZWVkIHRvIGJlIHNldCB0byBhY2NvdW50IGZvciBtYXJnaW4gY29sbGFwc2UNCgkJCQltYXJnaW5Ub3A6IGVsZW1lbnQuY3NzKCAibWFyZ2luVG9wIiApLA0KCQkJCW1hcmdpbkJvdHRvbTogZWxlbWVudC5jc3MoICJtYXJnaW5Cb3R0b20iICksDQoJCQkJbWFyZ2luTGVmdDogZWxlbWVudC5jc3MoICJtYXJnaW5MZWZ0IiApLA0KCQkJCW1hcmdpblJpZ2h0OiBlbGVtZW50LmNzcyggIm1hcmdpblJpZ2h0IiApLA0KCQkJCSJmbG9hdCI6IGVsZW1lbnQuY3NzKCAiZmxvYXQiICkNCgkJCX0gKQ0KCQkJLm91dGVyV2lkdGgoIGVsZW1lbnQub3V0ZXJXaWR0aCgpICkNCgkJCS5vdXRlckhlaWdodCggZWxlbWVudC5vdXRlckhlaWdodCgpICkNCgkJCS5hZGRDbGFzcyggInVpLWVmZmVjdHMtcGxhY2Vob2xkZXIiICk7DQoNCgkJCWVsZW1lbnQuZGF0YSggZGF0YVNwYWNlICsgInBsYWNlaG9sZGVyIiwgcGxhY2Vob2xkZXIgKTsNCgkJfQ0KDQoJCWVsZW1lbnQuY3NzKCB7DQoJCQlwb3NpdGlvbjogY3NzUG9zaXRpb24sDQoJCQlsZWZ0OiBwb3NpdGlvbi5sZWZ0LA0KCQkJdG9wOiBwb3NpdGlvbi50b3ANCgkJfSApOw0KDQoJCXJldHVybiBwbGFjZWhvbGRlcjsNCgl9LA0KDQoJcmVtb3ZlUGxhY2Vob2xkZXI6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl2YXIgZGF0YUtleSA9IGRhdGFTcGFjZSArICJwbGFjZWhvbGRlciIsDQoJCQkJcGxhY2Vob2xkZXIgPSBlbGVtZW50LmRhdGEoIGRhdGFLZXkgKTsNCg0KCQlpZiAoIHBsYWNlaG9sZGVyICkgew0KCQkJcGxhY2Vob2xkZXIucmVtb3ZlKCk7DQoJCQllbGVtZW50LnJlbW92ZURhdGEoIGRhdGFLZXkgKTsNCgkJfQ0KCX0sDQoNCgkvLyBSZW1vdmVzIGEgcGxhY2Vob2xkZXIgaWYgaXQgZXhpc3RzIGFuZCByZXN0b3Jlcw0KCS8vIHByb3BlcnRpZXMgdGhhdCB3ZXJlIG1vZGlmaWVkIGR1cmluZyBwbGFjZWhvbGRlciBjcmVhdGlvbg0KCWNsZWFuVXA6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQkkLmVmZmVjdHMucmVzdG9yZVN0eWxlKCBlbGVtZW50ICk7DQoJCSQuZWZmZWN0cy5yZW1vdmVQbGFjZWhvbGRlciggZWxlbWVudCApOw0KCX0sDQoNCglzZXRUcmFuc2l0aW9uOiBmdW5jdGlvbiggZWxlbWVudCwgbGlzdCwgZmFjdG9yLCB2YWx1ZSApIHsNCgkJdmFsdWUgPSB2YWx1ZSB8fCB7fTsNCgkJJC5lYWNoKCBsaXN0LCBmdW5jdGlvbiggaSwgeCApIHsNCgkJCXZhciB1bml0ID0gZWxlbWVudC5jc3NVbml0KCB4ICk7DQoJCQlpZiAoIHVuaXRbIDAgXSA+IDAgKSB7DQoJCQkJdmFsdWVbIHggXSA9IHVuaXRbIDAgXSAqIGZhY3RvciArIHVuaXRbIDEgXTsNCgkJCX0NCgkJfSApOw0KCQlyZXR1cm4gdmFsdWU7DQoJfQ0KfSApOw0KDQovLyBSZXR1cm4gYW4gZWZmZWN0IG9wdGlvbnMgb2JqZWN0IGZvciB0aGUgZ2l2ZW4gcGFyYW1ldGVyczoNCmZ1bmN0aW9uIF9ub3JtYWxpemVBcmd1bWVudHMoIGVmZmVjdCwgb3B0aW9ucywgc3BlZWQsIGNhbGxiYWNrICkgew0KDQoJLy8gQWxsb3cgcGFzc2luZyBhbGwgb3B0aW9ucyBhcyB0aGUgZmlyc3QgcGFyYW1ldGVyDQoJaWYgKCAkLmlzUGxhaW5PYmplY3QoIGVmZmVjdCApICkgew0KCQlvcHRpb25zID0gZWZmZWN0Ow0KCQllZmZlY3QgPSBlZmZlY3QuZWZmZWN0Ow0KCX0NCg0KCS8vIENvbnZlcnQgdG8gYW4gb2JqZWN0DQoJZWZmZWN0ID0geyBlZmZlY3Q6IGVmZmVjdCB9Ow0KDQoJLy8gQ2F0Y2ggKGVmZmVjdCwgbnVsbCwgLi4uKQ0KCWlmICggb3B0aW9ucyA9PSBudWxsICkgew0KCQlvcHRpb25zID0ge307DQoJfQ0KDQoJLy8gQ2F0Y2ggKGVmZmVjdCwgY2FsbGJhY2spDQoJaWYgKCAkLmlzRnVuY3Rpb24oIG9wdGlvbnMgKSApIHsNCgkJY2FsbGJhY2sgPSBvcHRpb25zOw0KCQlzcGVlZCA9IG51bGw7DQoJCW9wdGlvbnMgPSB7fTsNCgl9DQoNCgkvLyBDYXRjaCAoZWZmZWN0LCBzcGVlZCwgPykNCglpZiAoIHR5cGVvZiBvcHRpb25zID09PSAibnVtYmVyIiB8fCAkLmZ4LnNwZWVkc1sgb3B0aW9ucyBdICkgew0KCQljYWxsYmFjayA9IHNwZWVkOw0KCQlzcGVlZCA9IG9wdGlvbnM7DQoJCW9wdGlvbnMgPSB7fTsNCgl9DQoNCgkvLyBDYXRjaCAoZWZmZWN0LCBvcHRpb25zLCBjYWxsYmFjaykNCglpZiAoICQuaXNGdW5jdGlvbiggc3BlZWQgKSApIHsNCgkJY2FsbGJhY2sgPSBzcGVlZDsNCgkJc3BlZWQgPSBudWxsOw0KCX0NCg0KCS8vIEFkZCBvcHRpb25zIHRvIGVmZmVjdA0KCWlmICggb3B0aW9ucyApIHsNCgkJJC5leHRlbmQoIGVmZmVjdCwgb3B0aW9ucyApOw0KCX0NCg0KCXNwZWVkID0gc3BlZWQgfHwgb3B0aW9ucy5kdXJhdGlvbjsNCgllZmZlY3QuZHVyYXRpb24gPSAkLmZ4Lm9mZiA/IDAgOg0KCQl0eXBlb2Ygc3BlZWQgPT09ICJudW1iZXIiID8gc3BlZWQgOg0KCQlzcGVlZCBpbiAkLmZ4LnNwZWVkcyA/ICQuZnguc3BlZWRzWyBzcGVlZCBdIDoNCgkJJC5meC5zcGVlZHMuX2RlZmF1bHQ7DQoNCgllZmZlY3QuY29tcGxldGUgPSBjYWxsYmFjayB8fCBvcHRpb25zLmNvbXBsZXRlOw0KDQoJcmV0dXJuIGVmZmVjdDsNCn0NCg0KZnVuY3Rpb24gc3RhbmRhcmRBbmltYXRpb25PcHRpb24oIG9wdGlvbiApIHsNCg0KCS8vIFZhbGlkIHN0YW5kYXJkIHNwZWVkcyAobm90aGluZywgbnVtYmVyLCBuYW1lZCBzcGVlZCkNCglpZiAoICFvcHRpb24gfHwgdHlwZW9mIG9wdGlvbiA9PT0gIm51bWJlciIgfHwgJC5meC5zcGVlZHNbIG9wdGlvbiBdICkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvLyBJbnZhbGlkIHN0cmluZ3MgLSB0cmVhdCBhcyAibm9ybWFsIiBzcGVlZA0KCWlmICggdHlwZW9mIG9wdGlvbiA9PT0gInN0cmluZyIgJiYgISQuZWZmZWN0cy5lZmZlY3RbIG9wdGlvbiBdICkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCgkvLyBDb21wbGV0ZSBjYWxsYmFjaw0KCWlmICggJC5pc0Z1bmN0aW9uKCBvcHRpb24gKSApIHsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJLy8gT3B0aW9ucyBoYXNoIChidXQgbm90IG5hbWluZyBhbiBlZmZlY3QpDQoJaWYgKCB0eXBlb2Ygb3B0aW9uID09PSAib2JqZWN0IiAmJiAhb3B0aW9uLmVmZmVjdCApIHsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJLy8gRGlkbid0IG1hdGNoIGFueSBzdGFuZGFyZCBBUEkNCglyZXR1cm4gZmFsc2U7DQp9DQoNCiQuZm4uZXh0ZW5kKCB7DQoJZWZmZWN0OiBmdW5jdGlvbiggLyogZWZmZWN0LCBvcHRpb25zLCBzcGVlZCwgY2FsbGJhY2sgKi8gKSB7DQoJCXZhciBhcmdzID0gX25vcm1hbGl6ZUFyZ3VtZW50cy5hcHBseSggdGhpcywgYXJndW1lbnRzICksDQoJCQllZmZlY3RNZXRob2QgPSAkLmVmZmVjdHMuZWZmZWN0WyBhcmdzLmVmZmVjdCBdLA0KCQkJZGVmYXVsdE1vZGUgPSBlZmZlY3RNZXRob2QubW9kZSwNCgkJCXF1ZXVlID0gYXJncy5xdWV1ZSwNCgkJCXF1ZXVlTmFtZSA9IHF1ZXVlIHx8ICJmeCIsDQoJCQljb21wbGV0ZSA9IGFyZ3MuY29tcGxldGUsDQoJCQltb2RlID0gYXJncy5tb2RlLA0KCQkJbW9kZXMgPSBbXSwNCgkJCXByZWZpbHRlciA9IGZ1bmN0aW9uKCBuZXh0ICkgew0KCQkJCXZhciBlbCA9ICQoIHRoaXMgKSwNCgkJCQkJbm9ybWFsaXplZE1vZGUgPSAkLmVmZmVjdHMubW9kZSggZWwsIG1vZGUgKSB8fCBkZWZhdWx0TW9kZTsNCg0KCQkJCS8vIFNlbnRpbmVsIGZvciBkdWNrLXB1bmNoaW5nIHRoZSA6YW5pbWF0ZWQgcHN1ZWRvLXNlbGVjdG9yDQoJCQkJZWwuZGF0YSggZGF0YVNwYWNlQW5pbWF0ZWQsIHRydWUgKTsNCg0KCQkJCS8vIFNhdmUgZWZmZWN0IG1vZGUgZm9yIGxhdGVyIHVzZSwNCgkJCQkvLyB3ZSBjYW4ndCBqdXN0IGNhbGwgJC5lZmZlY3RzLm1vZGUgYWdhaW4gbGF0ZXIsDQoJCQkJLy8gYXMgdGhlIC5zaG93KCkgYmVsb3cgZGVzdHJveXMgdGhlIGluaXRpYWwgc3RhdGUNCgkJCQltb2Rlcy5wdXNoKCBub3JtYWxpemVkTW9kZSApOw0KDQoJCQkJLy8gU2VlICQudWlCYWNrQ29tcGF0IGluc2lkZSBvZiBydW4oKSBmb3IgcmVtb3ZhbCBvZiBkZWZhdWx0TW9kZSBpbiAxLjEzDQoJCQkJaWYgKCBkZWZhdWx0TW9kZSAmJiAoIG5vcm1hbGl6ZWRNb2RlID09PSAic2hvdyIgfHwNCgkJCQkJCSggbm9ybWFsaXplZE1vZGUgPT09IGRlZmF1bHRNb2RlICYmIG5vcm1hbGl6ZWRNb2RlID09PSAiaGlkZSIgKSApICkgew0KCQkJCQllbC5zaG93KCk7DQoJCQkJfQ0KDQoJCQkJaWYgKCAhZGVmYXVsdE1vZGUgfHwgbm9ybWFsaXplZE1vZGUgIT09ICJub25lIiApIHsNCgkJCQkJJC5lZmZlY3RzLnNhdmVTdHlsZSggZWwgKTsNCgkJCQl9DQoNCgkJCQlpZiAoICQuaXNGdW5jdGlvbiggbmV4dCApICkgew0KCQkJCQluZXh0KCk7DQoJCQkJfQ0KCQkJfTsNCg0KCQlpZiAoICQuZngub2ZmIHx8ICFlZmZlY3RNZXRob2QgKSB7DQoNCgkJCS8vIERlbGVnYXRlIHRvIHRoZSBvcmlnaW5hbCBtZXRob2QgKGUuZy4sIC5zaG93KCkpIGlmIHBvc3NpYmxlDQoJCQlpZiAoIG1vZGUgKSB7DQoJCQkJcmV0dXJuIHRoaXNbIG1vZGUgXSggYXJncy5kdXJhdGlvbiwgY29tcGxldGUgKTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJCWlmICggY29tcGxldGUgKSB7DQoJCQkJCQljb21wbGV0ZS5jYWxsKCB0aGlzICk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9DQoJCX0NCg0KCQlmdW5jdGlvbiBydW4oIG5leHQgKSB7DQoJCQl2YXIgZWxlbSA9ICQoIHRoaXMgKTsNCg0KCQkJZnVuY3Rpb24gY2xlYW51cCgpIHsNCgkJCQllbGVtLnJlbW92ZURhdGEoIGRhdGFTcGFjZUFuaW1hdGVkICk7DQoNCgkJCQkkLmVmZmVjdHMuY2xlYW5VcCggZWxlbSApOw0KDQoJCQkJaWYgKCBhcmdzLm1vZGUgPT09ICJoaWRlIiApIHsNCgkJCQkJZWxlbS5oaWRlKCk7DQoJCQkJfQ0KDQoJCQkJZG9uZSgpOw0KCQkJfQ0KDQoJCQlmdW5jdGlvbiBkb25lKCkgew0KCQkJCWlmICggJC5pc0Z1bmN0aW9uKCBjb21wbGV0ZSApICkgew0KCQkJCQljb21wbGV0ZS5jYWxsKCBlbGVtWyAwIF0gKTsNCgkJCQl9DQoNCgkJCQlpZiAoICQuaXNGdW5jdGlvbiggbmV4dCApICkgew0KCQkJCQluZXh0KCk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBPdmVycmlkZSBtb2RlIG9wdGlvbiBvbiBhIHBlciBlbGVtZW50IGJhc2lzLA0KCQkJLy8gYXMgdG9nZ2xlIGNhbiBiZSBlaXRoZXIgc2hvdyBvciBoaWRlIGRlcGVuZGluZyBvbiBlbGVtZW50IHN0YXRlDQoJCQlhcmdzLm1vZGUgPSBtb2Rlcy5zaGlmdCgpOw0KDQoJCQlpZiAoICQudWlCYWNrQ29tcGF0ICE9PSBmYWxzZSAmJiAhZGVmYXVsdE1vZGUgKSB7DQoJCQkJaWYgKCBlbGVtLmlzKCAiOmhpZGRlbiIgKSA/IG1vZGUgPT09ICJoaWRlIiA6IG1vZGUgPT09ICJzaG93IiApIHsNCg0KCQkJCQkvLyBDYWxsIHRoZSBjb3JlIG1ldGhvZCB0byB0cmFjayAib2xkZGlzcGxheSIgcHJvcGVybHkNCgkJCQkJZWxlbVsgbW9kZSBdKCk7DQoJCQkJCWRvbmUoKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQllZmZlY3RNZXRob2QuY2FsbCggZWxlbVsgMCBdLCBhcmdzLCBkb25lICk7DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCgkJCQlpZiAoIGFyZ3MubW9kZSA9PT0gIm5vbmUiICkgew0KDQoJCQkJCS8vIENhbGwgdGhlIGNvcmUgbWV0aG9kIHRvIHRyYWNrICJvbGRkaXNwbGF5IiBwcm9wZXJseQ0KCQkJCQllbGVtWyBtb2RlIF0oKTsNCgkJCQkJZG9uZSgpOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWVmZmVjdE1ldGhvZC5jYWxsKCBlbGVtWyAwIF0sIGFyZ3MsIGNsZWFudXAgKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQkvLyBSdW4gcHJlZmlsdGVyIG9uIGFsbCBlbGVtZW50cyBmaXJzdCB0byBlbnN1cmUgdGhhdA0KCQkvLyBhbnkgc2hvd2luZyBvciBoaWRpbmcgaGFwcGVucyBiZWZvcmUgcGxhY2Vob2xkZXIgY3JlYXRpb24sDQoJCS8vIHdoaWNoIGVuc3VyZXMgdGhhdCBhbnkgbGF5b3V0IGNoYW5nZXMgYXJlIGNvcnJlY3RseSBjYXB0dXJlZC4NCgkJcmV0dXJuIHF1ZXVlID09PSBmYWxzZSA/DQoJCQl0aGlzLmVhY2goIHByZWZpbHRlciApLmVhY2goIHJ1biApIDoNCgkJCXRoaXMucXVldWUoIHF1ZXVlTmFtZSwgcHJlZmlsdGVyICkucXVldWUoIHF1ZXVlTmFtZSwgcnVuICk7DQoJfSwNCg0KCXNob3c6ICggZnVuY3Rpb24oIG9yaWcgKSB7DQoJCXJldHVybiBmdW5jdGlvbiggb3B0aW9uICkgew0KCQkJaWYgKCBzdGFuZGFyZEFuaW1hdGlvbk9wdGlvbiggb3B0aW9uICkgKSB7DQoJCQkJcmV0dXJuIG9yaWcuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJfSBlbHNlIHsNCgkJCQl2YXIgYXJncyA9IF9ub3JtYWxpemVBcmd1bWVudHMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApOw0KCQkJCWFyZ3MubW9kZSA9ICJzaG93IjsNCgkJCQlyZXR1cm4gdGhpcy5lZmZlY3QuY2FsbCggdGhpcywgYXJncyApOw0KCQkJfQ0KCQl9Ow0KCX0gKSggJC5mbi5zaG93ICksDQoNCgloaWRlOiAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIG9wdGlvbiApIHsNCgkJCWlmICggc3RhbmRhcmRBbmltYXRpb25PcHRpb24oIG9wdGlvbiApICkgew0KCQkJCXJldHVybiBvcmlnLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdmFyIGFyZ3MgPSBfbm9ybWFsaXplQXJndW1lbnRzLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKTsNCgkJCQlhcmdzLm1vZGUgPSAiaGlkZSI7DQoJCQkJcmV0dXJuIHRoaXMuZWZmZWN0LmNhbGwoIHRoaXMsIGFyZ3MgKTsNCgkJCX0NCgkJfTsNCgl9ICkoICQuZm4uaGlkZSApLA0KDQoJdG9nZ2xlOiAoIGZ1bmN0aW9uKCBvcmlnICkgew0KCQlyZXR1cm4gZnVuY3Rpb24oIG9wdGlvbiApIHsNCgkJCWlmICggc3RhbmRhcmRBbmltYXRpb25PcHRpb24oIG9wdGlvbiApIHx8IHR5cGVvZiBvcHRpb24gPT09ICJib29sZWFuIiApIHsNCgkJCQlyZXR1cm4gb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQl9IGVsc2Ugew0KCQkJCXZhciBhcmdzID0gX25vcm1hbGl6ZUFyZ3VtZW50cy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQkJYXJncy5tb2RlID0gInRvZ2dsZSI7DQoJCQkJcmV0dXJuIHRoaXMuZWZmZWN0LmNhbGwoIHRoaXMsIGFyZ3MgKTsNCgkJCX0NCgkJfTsNCgl9ICkoICQuZm4udG9nZ2xlICksDQoNCgljc3NVbml0OiBmdW5jdGlvbigga2V5ICkgew0KCQl2YXIgc3R5bGUgPSB0aGlzLmNzcygga2V5ICksDQoJCQl2YWwgPSBbXTsNCg0KCQkkLmVhY2goIFsgImVtIiwgInB4IiwgIiUiLCAicHQiIF0sIGZ1bmN0aW9uKCBpLCB1bml0ICkgew0KCQkJaWYgKCBzdHlsZS5pbmRleE9mKCB1bml0ICkgPiAwICkgew0KCQkJCXZhbCA9IFsgcGFyc2VGbG9hdCggc3R5bGUgKSwgdW5pdCBdOw0KCQkJfQ0KCQl9ICk7DQoJCXJldHVybiB2YWw7DQoJfSwNCg0KCWNzc0NsaXA6IGZ1bmN0aW9uKCBjbGlwT2JqICkgew0KCQlpZiAoIGNsaXBPYmogKSB7DQoJCQlyZXR1cm4gdGhpcy5jc3MoICJjbGlwIiwgInJlY3QoIiArIGNsaXBPYmoudG9wICsgInB4ICIgKyBjbGlwT2JqLnJpZ2h0ICsgInB4ICIgKw0KCQkJCWNsaXBPYmouYm90dG9tICsgInB4ICIgKyBjbGlwT2JqLmxlZnQgKyAicHgpIiApOw0KCQl9DQoJCXJldHVybiBwYXJzZUNsaXAoIHRoaXMuY3NzKCAiY2xpcCIgKSwgdGhpcyApOw0KCX0sDQoNCgl0cmFuc2ZlcjogZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJCXZhciBlbGVtZW50ID0gJCggdGhpcyApLA0KCQkJdGFyZ2V0ID0gJCggb3B0aW9ucy50byApLA0KCQkJdGFyZ2V0Rml4ZWQgPSB0YXJnZXQuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCIsDQoJCQlib2R5ID0gJCggImJvZHkiICksDQoJCQlmaXhUb3AgPSB0YXJnZXRGaXhlZCA/IGJvZHkuc2Nyb2xsVG9wKCkgOiAwLA0KCQkJZml4TGVmdCA9IHRhcmdldEZpeGVkID8gYm9keS5zY3JvbGxMZWZ0KCkgOiAwLA0KCQkJZW5kUG9zaXRpb24gPSB0YXJnZXQub2Zmc2V0KCksDQoJCQlhbmltYXRpb24gPSB7DQoJCQkJdG9wOiBlbmRQb3NpdGlvbi50b3AgLSBmaXhUb3AsDQoJCQkJbGVmdDogZW5kUG9zaXRpb24ubGVmdCAtIGZpeExlZnQsDQoJCQkJaGVpZ2h0OiB0YXJnZXQuaW5uZXJIZWlnaHQoKSwNCgkJCQl3aWR0aDogdGFyZ2V0LmlubmVyV2lkdGgoKQ0KCQkJfSwNCgkJCXN0YXJ0UG9zaXRpb24gPSBlbGVtZW50Lm9mZnNldCgpLA0KCQkJdHJhbnNmZXIgPSAkKCAiPGRpdiBjbGFzcz0ndWktZWZmZWN0cy10cmFuc2Zlcic+PC9kaXY+IiApDQoJCQkJLmFwcGVuZFRvKCAiYm9keSIgKQ0KCQkJCS5hZGRDbGFzcyggb3B0aW9ucy5jbGFzc05hbWUgKQ0KCQkJCS5jc3MoIHsNCgkJCQkJdG9wOiBzdGFydFBvc2l0aW9uLnRvcCAtIGZpeFRvcCwNCgkJCQkJbGVmdDogc3RhcnRQb3NpdGlvbi5sZWZ0IC0gZml4TGVmdCwNCgkJCQkJaGVpZ2h0OiBlbGVtZW50LmlubmVySGVpZ2h0KCksDQoJCQkJCXdpZHRoOiBlbGVtZW50LmlubmVyV2lkdGgoKSwNCgkJCQkJcG9zaXRpb246IHRhcmdldEZpeGVkID8gImZpeGVkIiA6ICJhYnNvbHV0ZSINCgkJCQl9ICkNCgkJCQkuYW5pbWF0ZSggYW5pbWF0aW9uLCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZywgZnVuY3Rpb24oKSB7DQoJCQkJCXRyYW5zZmVyLnJlbW92ZSgpOw0KCQkJCQlpZiAoICQuaXNGdW5jdGlvbiggZG9uZSApICkgew0KCQkJCQkJZG9uZSgpOw0KCQkJCQl9DQoNCgkJCQl9ICk7DQoJfQ0KfSApOw0KDQpmdW5jdGlvbiBwYXJzZUNsaXAoIHN0ciwgZWxlbWVudCApIHsNCgkJdmFyIG91dGVyV2lkdGggPSBlbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCW91dGVySGVpZ2h0ID0gZWxlbWVudC5vdXRlckhlaWdodCgpLA0KCQkJY2xpcFJlZ2V4ID0gL15yZWN0XCgoLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0byksP1xzKigtP1xkKlwuP1xkKnB4fC0/XGQrJXxhdXRvKSw/XHMqKC0/XGQqXC4/XGQqcHh8LT9cZCslfGF1dG8pLD9ccyooLT9cZCpcLj9cZCpweHwtP1xkKyV8YXV0bylcKSQvLA0KCQkJdmFsdWVzID0gY2xpcFJlZ2V4LmV4ZWMoIHN0ciApIHx8IFsgIiIsIDAsIG91dGVyV2lkdGgsIG91dGVySGVpZ2h0LCAwIF07DQoNCgkJcmV0dXJuIHsNCgkJCXRvcDogcGFyc2VGbG9hdCggdmFsdWVzWyAxIF0gKSB8fCAwLA0KCQkJcmlnaHQ6IHZhbHVlc1sgMiBdID09PSAiYXV0byIgPyBvdXRlcldpZHRoIDogcGFyc2VGbG9hdCggdmFsdWVzWyAyIF0gKSwNCgkJCWJvdHRvbTogdmFsdWVzWyAzIF0gPT09ICJhdXRvIiA/IG91dGVySGVpZ2h0IDogcGFyc2VGbG9hdCggdmFsdWVzWyAzIF0gKSwNCgkJCWxlZnQ6IHBhcnNlRmxvYXQoIHZhbHVlc1sgNCBdICkgfHwgMA0KCQl9Ow0KfQ0KDQokLmZ4LnN0ZXAuY2xpcCA9IGZ1bmN0aW9uKCBmeCApIHsNCglpZiAoICFmeC5jbGlwSW5pdCApIHsNCgkJZnguc3RhcnQgPSAkKCBmeC5lbGVtICkuY3NzQ2xpcCgpOw0KCQlpZiAoIHR5cGVvZiBmeC5lbmQgPT09ICJzdHJpbmciICkgew0KCQkJZnguZW5kID0gcGFyc2VDbGlwKCBmeC5lbmQsIGZ4LmVsZW0gKTsNCgkJfQ0KCQlmeC5jbGlwSW5pdCA9IHRydWU7DQoJfQ0KDQoJJCggZnguZWxlbSApLmNzc0NsaXAoIHsNCgkJdG9wOiBmeC5wb3MgKiAoIGZ4LmVuZC50b3AgLSBmeC5zdGFydC50b3AgKSArIGZ4LnN0YXJ0LnRvcCwNCgkJcmlnaHQ6IGZ4LnBvcyAqICggZnguZW5kLnJpZ2h0IC0gZnguc3RhcnQucmlnaHQgKSArIGZ4LnN0YXJ0LnJpZ2h0LA0KCQlib3R0b206IGZ4LnBvcyAqICggZnguZW5kLmJvdHRvbSAtIGZ4LnN0YXJ0LmJvdHRvbSApICsgZnguc3RhcnQuYm90dG9tLA0KCQlsZWZ0OiBmeC5wb3MgKiAoIGZ4LmVuZC5sZWZ0IC0gZnguc3RhcnQubGVmdCApICsgZnguc3RhcnQubGVmdA0KCX0gKTsNCn07DQoNCn0gKSgpOw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEVBU0lORyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiggZnVuY3Rpb24oKSB7DQoNCi8vIEJhc2VkIG9uIGVhc2luZyBlcXVhdGlvbnMgZnJvbSBSb2JlcnQgUGVubmVyIChodHRwOi8vd3d3LnJvYmVydHBlbm5lci5jb20vZWFzaW5nKQ0KDQp2YXIgYmFzZUVhc2luZ3MgPSB7fTsNCg0KJC5lYWNoKCBbICJRdWFkIiwgIkN1YmljIiwgIlF1YXJ0IiwgIlF1aW50IiwgIkV4cG8iIF0sIGZ1bmN0aW9uKCBpLCBuYW1lICkgew0KCWJhc2VFYXNpbmdzWyBuYW1lIF0gPSBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIE1hdGgucG93KCBwLCBpICsgMiApOw0KCX07DQp9ICk7DQoNCiQuZXh0ZW5kKCBiYXNlRWFzaW5ncywgew0KCVNpbmU6IGZ1bmN0aW9uKCBwICkgew0KCQlyZXR1cm4gMSAtIE1hdGguY29zKCBwICogTWF0aC5QSSAvIDIgKTsNCgl9LA0KCUNpcmM6IGZ1bmN0aW9uKCBwICkgew0KCQlyZXR1cm4gMSAtIE1hdGguc3FydCggMSAtIHAgKiBwICk7DQoJfSwNCglFbGFzdGljOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIHAgPT09IDAgfHwgcCA9PT0gMSA/IHAgOg0KCQkJLU1hdGgucG93KCAyLCA4ICogKCBwIC0gMSApICkgKiBNYXRoLnNpbiggKCAoIHAgLSAxICkgKiA4MCAtIDcuNSApICogTWF0aC5QSSAvIDE1ICk7DQoJfSwNCglCYWNrOiBmdW5jdGlvbiggcCApIHsNCgkJcmV0dXJuIHAgKiBwICogKCAzICogcCAtIDIgKTsNCgl9LA0KCUJvdW5jZTogZnVuY3Rpb24oIHAgKSB7DQoJCXZhciBwb3cyLA0KCQkJYm91bmNlID0gNDsNCg0KCQl3aGlsZSAoIHAgPCAoICggcG93MiA9IE1hdGgucG93KCAyLCAtLWJvdW5jZSApICkgLSAxICkgLyAxMSApIHt9DQoJCXJldHVybiAxIC8gTWF0aC5wb3coIDQsIDMgLSBib3VuY2UgKSAtIDcuNTYyNSAqIE1hdGgucG93KCAoIHBvdzIgKiAzIC0gMiApIC8gMjIgLSBwLCAyICk7DQoJfQ0KfSApOw0KDQokLmVhY2goIGJhc2VFYXNpbmdzLCBmdW5jdGlvbiggbmFtZSwgZWFzZUluICkgew0KCSQuZWFzaW5nWyAiZWFzZUluIiArIG5hbWUgXSA9IGVhc2VJbjsNCgkkLmVhc2luZ1sgImVhc2VPdXQiICsgbmFtZSBdID0gZnVuY3Rpb24oIHAgKSB7DQoJCXJldHVybiAxIC0gZWFzZUluKCAxIC0gcCApOw0KCX07DQoJJC5lYXNpbmdbICJlYXNlSW5PdXQiICsgbmFtZSBdID0gZnVuY3Rpb24oIHAgKSB7DQoJCXJldHVybiBwIDwgMC41ID8NCgkJCWVhc2VJbiggcCAqIDIgKSAvIDIgOg0KCQkJMSAtIGVhc2VJbiggcCAqIC0yICsgMiApIC8gMjsNCgl9Ow0KfSApOw0KDQp9ICkoKTsNCg0KdmFyIGVmZmVjdCA9ICQuZWZmZWN0czsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEJsaW5kIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBCbGluZCBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBCbGluZHMgdGhlIGVsZW1lbnQuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYmxpbmQtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0QmxpbmQgPSAkLmVmZmVjdHMuZGVmaW5lKCAiYmxpbmQiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBtYXAgPSB7DQoJCQl1cDogWyAiYm90dG9tIiwgInRvcCIgXSwNCgkJCXZlcnRpY2FsOiBbICJib3R0b20iLCAidG9wIiBdLA0KCQkJZG93bjogWyAidG9wIiwgImJvdHRvbSIgXSwNCgkJCWxlZnQ6IFsgInJpZ2h0IiwgImxlZnQiIF0sDQoJCQlob3Jpem9udGFsOiBbICJyaWdodCIsICJsZWZ0IiBdLA0KCQkJcmlnaHQ6IFsgImxlZnQiLCAicmlnaHQiIF0NCgkJfSwNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJZGlyZWN0aW9uID0gb3B0aW9ucy5kaXJlY3Rpb24gfHwgInVwIiwNCgkJc3RhcnQgPSBlbGVtZW50LmNzc0NsaXAoKSwNCgkJYW5pbWF0ZSA9IHsgY2xpcDogJC5leHRlbmQoIHt9LCBzdGFydCApIH0sDQoJCXBsYWNlaG9sZGVyID0gJC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKCBlbGVtZW50ICk7DQoNCglhbmltYXRlLmNsaXBbIG1hcFsgZGlyZWN0aW9uIF1bIDAgXSBdID0gYW5pbWF0ZS5jbGlwWyBtYXBbIGRpcmVjdGlvbiBdWyAxIF0gXTsNCg0KCWlmICggb3B0aW9ucy5tb2RlID09PSAic2hvdyIgKSB7DQoJCWVsZW1lbnQuY3NzQ2xpcCggYW5pbWF0ZS5jbGlwICk7DQoJCWlmICggcGxhY2Vob2xkZXIgKSB7DQoJCQlwbGFjZWhvbGRlci5jc3MoICQuZWZmZWN0cy5jbGlwVG9Cb3goIGFuaW1hdGUgKSApOw0KCQl9DQoNCgkJYW5pbWF0ZS5jbGlwID0gc3RhcnQ7DQoJfQ0KDQoJaWYgKCBwbGFjZWhvbGRlciApIHsNCgkJcGxhY2Vob2xkZXIuYW5pbWF0ZSggJC5lZmZlY3RzLmNsaXBUb0JveCggYW5pbWF0ZSApLCBvcHRpb25zLmR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApOw0KCX0NCg0KCWVsZW1lbnQuYW5pbWF0ZSggYW5pbWF0ZSwgew0KCQlxdWV1ZTogZmFsc2UsDQoJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQljb21wbGV0ZTogZG9uZQ0KCX0gKTsNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEJvdW5jZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogQm91bmNlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IEJvdW5jZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBuIHRpbWVzLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2JvdW5jZS1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RCb3VuY2UgPSAkLmVmZmVjdHMuZGVmaW5lKCAiYm91bmNlIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJdmFyIHVwQW5pbSwgZG93bkFuaW0sIHJlZlZhbHVlLA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KDQoJCS8vIERlZmF1bHRzOg0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQloaWRlID0gbW9kZSA9PT0gImhpZGUiLA0KCQlzaG93ID0gbW9kZSA9PT0gInNob3ciLA0KCQlkaXJlY3Rpb24gPSBvcHRpb25zLmRpcmVjdGlvbiB8fCAidXAiLA0KCQlkaXN0YW5jZSA9IG9wdGlvbnMuZGlzdGFuY2UsDQoJCXRpbWVzID0gb3B0aW9ucy50aW1lcyB8fCA1LA0KDQoJCS8vIE51bWJlciBvZiBpbnRlcm5hbCBhbmltYXRpb25zDQoJCWFuaW1zID0gdGltZXMgKiAyICsgKCBzaG93IHx8IGhpZGUgPyAxIDogMCApLA0KCQlzcGVlZCA9IG9wdGlvbnMuZHVyYXRpb24gLyBhbmltcywNCgkJZWFzaW5nID0gb3B0aW9ucy5lYXNpbmcsDQoNCgkJLy8gVXRpbGl0eToNCgkJcmVmID0gKCBkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIgKSA/ICJ0b3AiIDogImxlZnQiLA0KCQltb3Rpb24gPSAoIGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJsZWZ0IiApLA0KCQlpID0gMCwNCg0KCQlxdWV1ZWxlbiA9IGVsZW1lbnQucXVldWUoKS5sZW5ndGg7DQoNCgkkLmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIoIGVsZW1lbnQgKTsNCg0KCXJlZlZhbHVlID0gZWxlbWVudC5jc3MoIHJlZiApOw0KDQoJLy8gRGVmYXVsdCBkaXN0YW5jZSBmb3IgdGhlIEJJR0dFU1QgYm91bmNlIGlzIHRoZSBvdXRlciBEaXN0YW5jZSAvIDMNCglpZiAoICFkaXN0YW5jZSApIHsNCgkJZGlzdGFuY2UgPSBlbGVtZW50WyByZWYgPT09ICJ0b3AiID8gIm91dGVySGVpZ2h0IiA6ICJvdXRlcldpZHRoIiBdKCkgLyAzOw0KCX0NCg0KCWlmICggc2hvdyApIHsNCgkJZG93bkFuaW0gPSB7IG9wYWNpdHk6IDEgfTsNCgkJZG93bkFuaW1bIHJlZiBdID0gcmVmVmFsdWU7DQoNCgkJLy8gSWYgd2UgYXJlIHNob3dpbmcsIGZvcmNlIG9wYWNpdHkgMCBhbmQgc2V0IHRoZSBpbml0aWFsIHBvc2l0aW9uDQoJCS8vIHRoZW4gZG8gdGhlICJmaXJzdCIgYW5pbWF0aW9uDQoJCWVsZW1lbnQNCgkJCS5jc3MoICJvcGFjaXR5IiwgMCApDQoJCQkuY3NzKCByZWYsIG1vdGlvbiA/IC1kaXN0YW5jZSAqIDIgOiBkaXN0YW5jZSAqIDIgKQ0KCQkJLmFuaW1hdGUoIGRvd25BbmltLCBzcGVlZCwgZWFzaW5nICk7DQoJfQ0KDQoJLy8gU3RhcnQgYXQgdGhlIHNtYWxsZXN0IGRpc3RhbmNlIGlmIHdlIGFyZSBoaWRpbmcNCglpZiAoIGhpZGUgKSB7DQoJCWRpc3RhbmNlID0gZGlzdGFuY2UgLyBNYXRoLnBvdyggMiwgdGltZXMgLSAxICk7DQoJfQ0KDQoJZG93bkFuaW0gPSB7fTsNCglkb3duQW5pbVsgcmVmIF0gPSByZWZWYWx1ZTsNCg0KCS8vIEJvdW5jZXMgdXAvZG93bi9sZWZ0L3JpZ2h0IHRoZW4gYmFjayB0byAwIC0tIHRpbWVzICogMiBhbmltYXRpb25zIGhhcHBlbiBoZXJlDQoJZm9yICggOyBpIDwgdGltZXM7IGkrKyApIHsNCgkJdXBBbmltID0ge307DQoJCXVwQW5pbVsgcmVmIF0gPSAoIG1vdGlvbiA/ICItPSIgOiAiKz0iICkgKyBkaXN0YW5jZTsNCg0KCQllbGVtZW50DQoJCQkuYW5pbWF0ZSggdXBBbmltLCBzcGVlZCwgZWFzaW5nICkNCgkJCS5hbmltYXRlKCBkb3duQW5pbSwgc3BlZWQsIGVhc2luZyApOw0KDQoJCWRpc3RhbmNlID0gaGlkZSA/IGRpc3RhbmNlICogMiA6IGRpc3RhbmNlIC8gMjsNCgl9DQoNCgkvLyBMYXN0IEJvdW5jZSB3aGVuIEhpZGluZw0KCWlmICggaGlkZSApIHsNCgkJdXBBbmltID0geyBvcGFjaXR5OiAwIH07DQoJCXVwQW5pbVsgcmVmIF0gPSAoIG1vdGlvbiA/ICItPSIgOiAiKz0iICkgKyBkaXN0YW5jZTsNCg0KCQllbGVtZW50LmFuaW1hdGUoIHVwQW5pbSwgc3BlZWQsIGVhc2luZyApOw0KCX0NCg0KCWVsZW1lbnQucXVldWUoIGRvbmUgKTsNCg0KCSQuZWZmZWN0cy51bnNoaWZ0KCBlbGVtZW50LCBxdWV1ZWxlbiwgYW5pbXMgKyAxICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBDbGlwIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBDbGlwIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IENsaXBzIHRoZSBlbGVtZW50IG9uIGFuZCBvZmYgbGlrZSBhbiBvbGQgVFYuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY2xpcC1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RDbGlwID0gJC5lZmZlY3RzLmRlZmluZSggImNsaXAiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBzdGFydCwNCgkJYW5pbWF0ZSA9IHt9LA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KCQlkaXJlY3Rpb24gPSBvcHRpb25zLmRpcmVjdGlvbiB8fCAidmVydGljYWwiLA0KCQlib3RoID0gZGlyZWN0aW9uID09PSAiYm90aCIsDQoJCWhvcml6b250YWwgPSBib3RoIHx8IGRpcmVjdGlvbiA9PT0gImhvcml6b250YWwiLA0KCQl2ZXJ0aWNhbCA9IGJvdGggfHwgZGlyZWN0aW9uID09PSAidmVydGljYWwiOw0KDQoJc3RhcnQgPSBlbGVtZW50LmNzc0NsaXAoKTsNCglhbmltYXRlLmNsaXAgPSB7DQoJCXRvcDogdmVydGljYWwgPyAoIHN0YXJ0LmJvdHRvbSAtIHN0YXJ0LnRvcCApIC8gMiA6IHN0YXJ0LnRvcCwNCgkJcmlnaHQ6IGhvcml6b250YWwgPyAoIHN0YXJ0LnJpZ2h0IC0gc3RhcnQubGVmdCApIC8gMiA6IHN0YXJ0LnJpZ2h0LA0KCQlib3R0b206IHZlcnRpY2FsID8gKCBzdGFydC5ib3R0b20gLSBzdGFydC50b3AgKSAvIDIgOiBzdGFydC5ib3R0b20sDQoJCWxlZnQ6IGhvcml6b250YWwgPyAoIHN0YXJ0LnJpZ2h0IC0gc3RhcnQubGVmdCApIC8gMiA6IHN0YXJ0LmxlZnQNCgl9Ow0KDQoJJC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKCBlbGVtZW50ICk7DQoNCglpZiAoIG9wdGlvbnMubW9kZSA9PT0gInNob3ciICkgew0KCQllbGVtZW50LmNzc0NsaXAoIGFuaW1hdGUuY2xpcCApOw0KCQlhbmltYXRlLmNsaXAgPSBzdGFydDsNCgl9DQoNCgllbGVtZW50LmFuaW1hdGUoIGFuaW1hdGUsIHsNCgkJcXVldWU6IGZhbHNlLA0KCQlkdXJhdGlvbjogb3B0aW9ucy5kdXJhdGlvbiwNCgkJZWFzaW5nOiBvcHRpb25zLmVhc2luZywNCgkJY29tcGxldGU6IGRvbmUNCgl9ICk7DQoNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIERyb3AgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IERyb3AgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogTW92ZXMgYW4gZWxlbWVudCBpbiBvbmUgZGlyZWN0aW9uIGFuZCBoaWRlcyBpdCBhdCB0aGUgc2FtZSB0aW1lLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2Ryb3AtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0RHJvcCA9ICQuZWZmZWN0cy5kZWZpbmUoICJkcm9wIiwgImhpZGUiLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCg0KCXZhciBkaXN0YW5jZSwNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9IG9wdGlvbnMubW9kZSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCgkJZGlyZWN0aW9uID0gb3B0aW9ucy5kaXJlY3Rpb24gfHwgImxlZnQiLA0KCQlyZWYgPSAoIGRpcmVjdGlvbiA9PT0gInVwIiB8fCBkaXJlY3Rpb24gPT09ICJkb3duIiApID8gInRvcCIgOiAibGVmdCIsDQoJCW1vdGlvbiA9ICggZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiICkgPyAiLT0iIDogIis9IiwNCgkJb3Bwb3NpdGVNb3Rpb24gPSAoIG1vdGlvbiA9PT0gIis9IiApID8gIi09IiA6ICIrPSIsDQoJCWFuaW1hdGlvbiA9IHsNCgkJCW9wYWNpdHk6IDANCgkJfTsNCg0KCSQuZWZmZWN0cy5jcmVhdGVQbGFjZWhvbGRlciggZWxlbWVudCApOw0KDQoJZGlzdGFuY2UgPSBvcHRpb25zLmRpc3RhbmNlIHx8DQoJCWVsZW1lbnRbIHJlZiA9PT0gInRvcCIgPyAib3V0ZXJIZWlnaHQiIDogIm91dGVyV2lkdGgiIF0oIHRydWUgKSAvIDI7DQoNCglhbmltYXRpb25bIHJlZiBdID0gbW90aW9uICsgZGlzdGFuY2U7DQoNCglpZiAoIHNob3cgKSB7DQoJCWVsZW1lbnQuY3NzKCBhbmltYXRpb24gKTsNCg0KCQlhbmltYXRpb25bIHJlZiBdID0gb3Bwb3NpdGVNb3Rpb24gKyBkaXN0YW5jZTsNCgkJYW5pbWF0aW9uLm9wYWNpdHkgPSAxOw0KCX0NCg0KCS8vIEFuaW1hdGUNCgllbGVtZW50LmFuaW1hdGUoIGFuaW1hdGlvbiwgew0KCQlxdWV1ZTogZmFsc2UsDQoJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQljb21wbGV0ZTogZG9uZQ0KCX0gKTsNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEV4cGxvZGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEV4cGxvZGUgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vIGpzY3M6ZGlzYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRlc2NyaXB0aW9uOiBFeHBsb2RlcyBhbiBlbGVtZW50IGluIGFsbCBkaXJlY3Rpb25zIGludG8gbiBwaWVjZXMuIEltcGxvZGVzIGFuIGVsZW1lbnQgdG8gaXRzIG9yaWdpbmFsIHdob2xlbmVzcy4NCi8vIGpzY3M6ZW5hYmxlIG1heGltdW1MaW5lTGVuZ3RoDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZXhwbG9kZS1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RFeHBsb2RlID0gJC5lZmZlY3RzLmRlZmluZSggImV4cGxvZGUiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KDQoJdmFyIGksIGosIGxlZnQsIHRvcCwgbXgsIG15LA0KCQlyb3dzID0gb3B0aW9ucy5waWVjZXMgPyBNYXRoLnJvdW5kKCBNYXRoLnNxcnQoIG9wdGlvbnMucGllY2VzICkgKSA6IDMsDQoJCWNlbGxzID0gcm93cywNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9IG9wdGlvbnMubW9kZSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCg0KCQkvLyBTaG93IGFuZCB0aGVuIHZpc2liaWxpdHk6aGlkZGVuIHRoZSBlbGVtZW50IGJlZm9yZSBjYWxjdWxhdGluZyBvZmZzZXQNCgkJb2Zmc2V0ID0gZWxlbWVudC5zaG93KCkuY3NzKCAidmlzaWJpbGl0eSIsICJoaWRkZW4iICkub2Zmc2V0KCksDQoNCgkJLy8gV2lkdGggYW5kIGhlaWdodCBvZiBhIHBpZWNlDQoJCXdpZHRoID0gTWF0aC5jZWlsKCBlbGVtZW50Lm91dGVyV2lkdGgoKSAvIGNlbGxzICksDQoJCWhlaWdodCA9IE1hdGguY2VpbCggZWxlbWVudC5vdXRlckhlaWdodCgpIC8gcm93cyApLA0KCQlwaWVjZXMgPSBbXTsNCg0KCS8vIENoaWxkcmVuIGFuaW1hdGUgY29tcGxldGU6DQoJZnVuY3Rpb24gY2hpbGRDb21wbGV0ZSgpIHsNCgkJcGllY2VzLnB1c2goIHRoaXMgKTsNCgkJaWYgKCBwaWVjZXMubGVuZ3RoID09PSByb3dzICogY2VsbHMgKSB7DQoJCQlhbmltQ29tcGxldGUoKTsNCgkJfQ0KCX0NCg0KCS8vIENsb25lIHRoZSBlbGVtZW50IGZvciBlYWNoIHJvdyBhbmQgY2VsbC4NCglmb3IgKCBpID0gMDsgaSA8IHJvd3M7IGkrKyApIHsgLy8gPT09Pg0KCQl0b3AgPSBvZmZzZXQudG9wICsgaSAqIGhlaWdodDsNCgkJbXkgPSBpIC0gKCByb3dzIC0gMSApIC8gMjsNCg0KCQlmb3IgKCBqID0gMDsgaiA8IGNlbGxzOyBqKysgKSB7IC8vIHx8fA0KCQkJbGVmdCA9IG9mZnNldC5sZWZ0ICsgaiAqIHdpZHRoOw0KCQkJbXggPSBqIC0gKCBjZWxscyAtIDEgKSAvIDI7DQoNCgkJCS8vIENyZWF0ZSBhIGNsb25lIG9mIHRoZSBub3cgaGlkZGVuIG1haW4gZWxlbWVudCB0aGF0IHdpbGwgYmUgYWJzb2x1dGUgcG9zaXRpb25lZA0KCQkJLy8gd2l0aGluIGEgd3JhcHBlciBkaXYgb2ZmIHRoZSAtbGVmdCBhbmQgLXRvcCBlcXVhbCB0byBzaXplIG9mIG91ciBwaWVjZXMNCgkJCWVsZW1lbnQNCgkJCQkuY2xvbmUoKQ0KCQkJCS5hcHBlbmRUbyggImJvZHkiICkNCgkJCQkud3JhcCggIjxkaXY+PC9kaXY+IiApDQoJCQkJLmNzcyggew0KCQkJCQlwb3NpdGlvbjogImFic29sdXRlIiwNCgkJCQkJdmlzaWJpbGl0eTogInZpc2libGUiLA0KCQkJCQlsZWZ0OiAtaiAqIHdpZHRoLA0KCQkJCQl0b3A6IC1pICogaGVpZ2h0DQoJCQkJfSApDQoNCgkJCQkvLyBTZWxlY3QgdGhlIHdyYXBwZXIgLSBtYWtlIGl0IG92ZXJmbG93OiBoaWRkZW4gYW5kIGFic29sdXRlIHBvc2l0aW9uZWQgYmFzZWQgb24NCgkJCQkvLyB3aGVyZSB0aGUgb3JpZ2luYWwgd2FzIGxvY2F0ZWQgK2xlZnQgYW5kICt0b3AgZXF1YWwgdG8gdGhlIHNpemUgb2YgcGllY2VzDQoJCQkJLnBhcmVudCgpDQoJCQkJCS5hZGRDbGFzcyggInVpLWVmZmVjdHMtZXhwbG9kZSIgKQ0KCQkJCQkuY3NzKCB7DQoJCQkJCQlwb3NpdGlvbjogImFic29sdXRlIiwNCgkJCQkJCW92ZXJmbG93OiAiaGlkZGVuIiwNCgkJCQkJCXdpZHRoOiB3aWR0aCwNCgkJCQkJCWhlaWdodDogaGVpZ2h0LA0KCQkJCQkJbGVmdDogbGVmdCArICggc2hvdyA/IG14ICogd2lkdGggOiAwICksDQoJCQkJCQl0b3A6IHRvcCArICggc2hvdyA/IG15ICogaGVpZ2h0IDogMCApLA0KCQkJCQkJb3BhY2l0eTogc2hvdyA/IDAgOiAxDQoJCQkJCX0gKQ0KCQkJCQkuYW5pbWF0ZSggew0KCQkJCQkJbGVmdDogbGVmdCArICggc2hvdyA/IDAgOiBteCAqIHdpZHRoICksDQoJCQkJCQl0b3A6IHRvcCArICggc2hvdyA/IDAgOiBteSAqIGhlaWdodCApLA0KCQkJCQkJb3BhY2l0eTogc2hvdyA/IDEgOiAwDQoJCQkJCX0sIG9wdGlvbnMuZHVyYXRpb24gfHwgNTAwLCBvcHRpb25zLmVhc2luZywgY2hpbGRDb21wbGV0ZSApOw0KCQl9DQoJfQ0KDQoJZnVuY3Rpb24gYW5pbUNvbXBsZXRlKCkgew0KCQllbGVtZW50LmNzcyggew0KCQkJdmlzaWJpbGl0eTogInZpc2libGUiDQoJCX0gKTsNCgkJJCggcGllY2VzICkucmVtb3ZlKCk7DQoJCWRvbmUoKTsNCgl9DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBGYWRlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBGYWRlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IEZhZGVzIHRoZSBlbGVtZW50Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2ZhZGUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0RmFkZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJmYWRlIiwgInRvZ2dsZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBzaG93ID0gb3B0aW9ucy5tb2RlID09PSAic2hvdyI7DQoNCgkkKCB0aGlzICkNCgkJLmNzcyggIm9wYWNpdHkiLCBzaG93ID8gMCA6IDEgKQ0KCQkuYW5pbWF0ZSggew0KCQkJb3BhY2l0eTogc2hvdyA/IDEgOiAwDQoJCX0sIHsNCgkJCXF1ZXVlOiBmYWxzZSwNCgkJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQkJZWFzaW5nOiBvcHRpb25zLmVhc2luZywNCgkJCWNvbXBsZXRlOiBkb25lDQoJCX0gKTsNCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBFZmZlY3RzIEZvbGQgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEZvbGQgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogRm9sZHMgYW4gZWxlbWVudCBmaXJzdCBob3Jpem9udGFsbHkgYW5kIHRoZW4gdmVydGljYWxseS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mb2xkLWVmZmVjdC8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZWZmZWN0c0VmZmVjdEZvbGQgPSAkLmVmZmVjdHMuZGVmaW5lKCAiZm9sZCIsICJoaWRlIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBlbGVtZW50ID0gJCggdGhpcyApLA0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQlzaG93ID0gbW9kZSA9PT0gInNob3ciLA0KCQloaWRlID0gbW9kZSA9PT0gImhpZGUiLA0KCQlzaXplID0gb3B0aW9ucy5zaXplIHx8IDE1LA0KCQlwZXJjZW50ID0gLyhbMC05XSspJS8uZXhlYyggc2l6ZSApLA0KCQlob3JpekZpcnN0ID0gISFvcHRpb25zLmhvcml6Rmlyc3QsDQoJCXJlZiA9IGhvcml6Rmlyc3QgPyBbICJyaWdodCIsICJib3R0b20iIF0gOiBbICJib3R0b20iLCAicmlnaHQiIF0sDQoJCWR1cmF0aW9uID0gb3B0aW9ucy5kdXJhdGlvbiAvIDIsDQoNCgkJcGxhY2Vob2xkZXIgPSAkLmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIoIGVsZW1lbnQgKSwNCg0KCQlzdGFydCA9IGVsZW1lbnQuY3NzQ2xpcCgpLA0KCQlhbmltYXRpb24xID0geyBjbGlwOiAkLmV4dGVuZCgge30sIHN0YXJ0ICkgfSwNCgkJYW5pbWF0aW9uMiA9IHsgY2xpcDogJC5leHRlbmQoIHt9LCBzdGFydCApIH0sDQoNCgkJZGlzdGFuY2UgPSBbIHN0YXJ0WyByZWZbIDAgXSBdLCBzdGFydFsgcmVmWyAxIF0gXSBdLA0KDQoJCXF1ZXVlbGVuID0gZWxlbWVudC5xdWV1ZSgpLmxlbmd0aDsNCg0KCWlmICggcGVyY2VudCApIHsNCgkJc2l6ZSA9IHBhcnNlSW50KCBwZXJjZW50WyAxIF0sIDEwICkgLyAxMDAgKiBkaXN0YW5jZVsgaGlkZSA/IDAgOiAxIF07DQoJfQ0KCWFuaW1hdGlvbjEuY2xpcFsgcmVmWyAwIF0gXSA9IHNpemU7DQoJYW5pbWF0aW9uMi5jbGlwWyByZWZbIDAgXSBdID0gc2l6ZTsNCglhbmltYXRpb24yLmNsaXBbIHJlZlsgMSBdIF0gPSAwOw0KDQoJaWYgKCBzaG93ICkgew0KCQllbGVtZW50LmNzc0NsaXAoIGFuaW1hdGlvbjIuY2xpcCApOw0KCQlpZiAoIHBsYWNlaG9sZGVyICkgew0KCQkJcGxhY2Vob2xkZXIuY3NzKCAkLmVmZmVjdHMuY2xpcFRvQm94KCBhbmltYXRpb24yICkgKTsNCgkJfQ0KDQoJCWFuaW1hdGlvbjIuY2xpcCA9IHN0YXJ0Ow0KCX0NCg0KCS8vIEFuaW1hdGUNCgllbGVtZW50DQoJCS5xdWV1ZSggZnVuY3Rpb24oIG5leHQgKSB7DQoJCQlpZiAoIHBsYWNlaG9sZGVyICkgew0KCQkJCXBsYWNlaG9sZGVyDQoJCQkJCS5hbmltYXRlKCAkLmVmZmVjdHMuY2xpcFRvQm94KCBhbmltYXRpb24xICksIGR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApDQoJCQkJCS5hbmltYXRlKCAkLmVmZmVjdHMuY2xpcFRvQm94KCBhbmltYXRpb24yICksIGR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApOw0KCQkJfQ0KDQoJCQluZXh0KCk7DQoJCX0gKQ0KCQkuYW5pbWF0ZSggYW5pbWF0aW9uMSwgZHVyYXRpb24sIG9wdGlvbnMuZWFzaW5nICkNCgkJLmFuaW1hdGUoIGFuaW1hdGlvbjIsIGR1cmF0aW9uLCBvcHRpb25zLmVhc2luZyApDQoJCS5xdWV1ZSggZG9uZSApOw0KDQoJJC5lZmZlY3RzLnVuc2hpZnQoIGVsZW1lbnQsIHF1ZXVlbGVuLCA0ICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBIaWdobGlnaHQgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEhpZ2hsaWdodCBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBIaWdobGlnaHRzIHRoZSBiYWNrZ3JvdW5kIG9mIGFuIGVsZW1lbnQgaW4gYSBkZWZpbmVkIGNvbG9yIGZvciBhIGN1c3RvbSBkdXJhdGlvbi4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9oaWdobGlnaHQtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0SGlnaGxpZ2h0ID0gJC5lZmZlY3RzLmRlZmluZSggImhpZ2hsaWdodCIsICJzaG93IiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICksDQoJCWFuaW1hdGlvbiA9IHsNCgkJCWJhY2tncm91bmRDb2xvcjogZWxlbWVudC5jc3MoICJiYWNrZ3JvdW5kQ29sb3IiICkNCgkJfTsNCg0KCWlmICggb3B0aW9ucy5tb2RlID09PSAiaGlkZSIgKSB7DQoJCWFuaW1hdGlvbi5vcGFjaXR5ID0gMDsNCgl9DQoNCgkkLmVmZmVjdHMuc2F2ZVN0eWxlKCBlbGVtZW50ICk7DQoNCgllbGVtZW50DQoJCS5jc3MoIHsNCgkJCWJhY2tncm91bmRJbWFnZTogIm5vbmUiLA0KCQkJYmFja2dyb3VuZENvbG9yOiBvcHRpb25zLmNvbG9yIHx8ICIjZmZmZjk5Ig0KCQl9ICkNCgkJLmFuaW1hdGUoIGFuaW1hdGlvbiwgew0KCQkJcXVldWU6IGZhbHNlLA0KCQkJZHVyYXRpb246IG9wdGlvbnMuZHVyYXRpb24sDQoJCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQkJY29tcGxldGU6IGRvbmUNCgkJfSApOw0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2l6ZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2l6ZSBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBSZXNpemUgYW4gZWxlbWVudCB0byBhIHNwZWNpZmllZCB3aWR0aCBhbmQgaGVpZ2h0Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NpemUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0U2l6ZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJzaXplIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoNCgkvLyBDcmVhdGUgZWxlbWVudA0KCXZhciBiYXNlbGluZSwgZmFjdG9yLCB0ZW1wLA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KDQoJCS8vIENvcHkgZm9yIGNoaWxkcmVuDQoJCWNQcm9wcyA9IFsgImZvbnRTaXplIiBdLA0KCQl2UHJvcHMgPSBbICJib3JkZXJUb3BXaWR0aCIsICJib3JkZXJCb3R0b21XaWR0aCIsICJwYWRkaW5nVG9wIiwgInBhZGRpbmdCb3R0b20iIF0sDQoJCWhQcm9wcyA9IFsgImJvcmRlckxlZnRXaWR0aCIsICJib3JkZXJSaWdodFdpZHRoIiwgInBhZGRpbmdMZWZ0IiwgInBhZGRpbmdSaWdodCIgXSwNCg0KCQkvLyBTZXQgb3B0aW9ucw0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQlyZXN0b3JlID0gbW9kZSAhPT0gImVmZmVjdCIsDQoJCXNjYWxlID0gb3B0aW9ucy5zY2FsZSB8fCAiYm90aCIsDQoJCW9yaWdpbiA9IG9wdGlvbnMub3JpZ2luIHx8IFsgIm1pZGRsZSIsICJjZW50ZXIiIF0sDQoJCXBvc2l0aW9uID0gZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSwNCgkJcG9zID0gZWxlbWVudC5wb3NpdGlvbigpLA0KCQlvcmlnaW5hbCA9ICQuZWZmZWN0cy5zY2FsZWREaW1lbnNpb25zKCBlbGVtZW50ICksDQoJCWZyb20gPSBvcHRpb25zLmZyb20gfHwgb3JpZ2luYWwsDQoJCXRvID0gb3B0aW9ucy50byB8fCAkLmVmZmVjdHMuc2NhbGVkRGltZW5zaW9ucyggZWxlbWVudCwgMCApOw0KDQoJJC5lZmZlY3RzLmNyZWF0ZVBsYWNlaG9sZGVyKCBlbGVtZW50ICk7DQoNCglpZiAoIG1vZGUgPT09ICJzaG93IiApIHsNCgkJdGVtcCA9IGZyb207DQoJCWZyb20gPSB0bzsNCgkJdG8gPSB0ZW1wOw0KCX0NCg0KCS8vIFNldCBzY2FsaW5nIGZhY3Rvcg0KCWZhY3RvciA9IHsNCgkJZnJvbTogew0KCQkJeTogZnJvbS5oZWlnaHQgLyBvcmlnaW5hbC5oZWlnaHQsDQoJCQl4OiBmcm9tLndpZHRoIC8gb3JpZ2luYWwud2lkdGgNCgkJfSwNCgkJdG86IHsNCgkJCXk6IHRvLmhlaWdodCAvIG9yaWdpbmFsLmhlaWdodCwNCgkJCXg6IHRvLndpZHRoIC8gb3JpZ2luYWwud2lkdGgNCgkJfQ0KCX07DQoNCgkvLyBTY2FsZSB0aGUgY3NzIGJveA0KCWlmICggc2NhbGUgPT09ICJib3giIHx8IHNjYWxlID09PSAiYm90aCIgKSB7DQoNCgkJLy8gVmVydGljYWwgcHJvcHMgc2NhbGluZw0KCQlpZiAoIGZhY3Rvci5mcm9tLnkgIT09IGZhY3Rvci50by55ICkgew0KCQkJZnJvbSA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbGVtZW50LCB2UHJvcHMsIGZhY3Rvci5mcm9tLnksIGZyb20gKTsNCgkJCXRvID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGVsZW1lbnQsIHZQcm9wcywgZmFjdG9yLnRvLnksIHRvICk7DQoJCX0NCg0KCQkvLyBIb3Jpem9udGFsIHByb3BzIHNjYWxpbmcNCgkJaWYgKCBmYWN0b3IuZnJvbS54ICE9PSBmYWN0b3IudG8ueCApIHsNCgkJCWZyb20gPSAkLmVmZmVjdHMuc2V0VHJhbnNpdGlvbiggZWxlbWVudCwgaFByb3BzLCBmYWN0b3IuZnJvbS54LCBmcm9tICk7DQoJCQl0byA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBlbGVtZW50LCBoUHJvcHMsIGZhY3Rvci50by54LCB0byApOw0KCQl9DQoJfQ0KDQoJLy8gU2NhbGUgdGhlIGNvbnRlbnQNCglpZiAoIHNjYWxlID09PSAiY29udGVudCIgfHwgc2NhbGUgPT09ICJib3RoIiApIHsNCg0KCQkvLyBWZXJ0aWNhbCBwcm9wcyBzY2FsaW5nDQoJCWlmICggZmFjdG9yLmZyb20ueSAhPT0gZmFjdG9yLnRvLnkgKSB7DQoJCQlmcm9tID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGVsZW1lbnQsIGNQcm9wcywgZmFjdG9yLmZyb20ueSwgZnJvbSApOw0KCQkJdG8gPSAkLmVmZmVjdHMuc2V0VHJhbnNpdGlvbiggZWxlbWVudCwgY1Byb3BzLCBmYWN0b3IudG8ueSwgdG8gKTsNCgkJfQ0KCX0NCg0KCS8vIEFkanVzdCB0aGUgcG9zaXRpb24gcHJvcGVydGllcyBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgb3JpZ2luIHBvaW50cw0KCWlmICggb3JpZ2luICkgew0KCQliYXNlbGluZSA9ICQuZWZmZWN0cy5nZXRCYXNlbGluZSggb3JpZ2luLCBvcmlnaW5hbCApOw0KCQlmcm9tLnRvcCA9ICggb3JpZ2luYWwub3V0ZXJIZWlnaHQgLSBmcm9tLm91dGVySGVpZ2h0ICkgKiBiYXNlbGluZS55ICsgcG9zLnRvcDsNCgkJZnJvbS5sZWZ0ID0gKCBvcmlnaW5hbC5vdXRlcldpZHRoIC0gZnJvbS5vdXRlcldpZHRoICkgKiBiYXNlbGluZS54ICsgcG9zLmxlZnQ7DQoJCXRvLnRvcCA9ICggb3JpZ2luYWwub3V0ZXJIZWlnaHQgLSB0by5vdXRlckhlaWdodCApICogYmFzZWxpbmUueSArIHBvcy50b3A7DQoJCXRvLmxlZnQgPSAoIG9yaWdpbmFsLm91dGVyV2lkdGggLSB0by5vdXRlcldpZHRoICkgKiBiYXNlbGluZS54ICsgcG9zLmxlZnQ7DQoJfQ0KCWVsZW1lbnQuY3NzKCBmcm9tICk7DQoNCgkvLyBBbmltYXRlIHRoZSBjaGlsZHJlbiBpZiBkZXNpcmVkDQoJaWYgKCBzY2FsZSA9PT0gImNvbnRlbnQiIHx8IHNjYWxlID09PSAiYm90aCIgKSB7DQoNCgkJdlByb3BzID0gdlByb3BzLmNvbmNhdCggWyAibWFyZ2luVG9wIiwgIm1hcmdpbkJvdHRvbSIgXSApLmNvbmNhdCggY1Byb3BzICk7DQoJCWhQcm9wcyA9IGhQcm9wcy5jb25jYXQoIFsgIm1hcmdpbkxlZnQiLCAibWFyZ2luUmlnaHQiIF0gKTsNCg0KCQkvLyBPbmx5IGFuaW1hdGUgY2hpbGRyZW4gd2l0aCB3aWR0aCBhdHRyaWJ1dGVzIHNwZWNpZmllZA0KCQkvLyBUT0RPOiBpcyB0aGlzIHJpZ2h0PyBzaG91bGQgd2UgaW5jbHVkZSBhbnl0aGluZyB3aXRoIGNzcyB3aWR0aCBzcGVjaWZpZWQgYXMgd2VsbA0KCQllbGVtZW50LmZpbmQoICIqW3dpZHRoXSIgKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBjaGlsZCA9ICQoIHRoaXMgKSwNCgkJCQljaGlsZE9yaWdpbmFsID0gJC5lZmZlY3RzLnNjYWxlZERpbWVuc2lvbnMoIGNoaWxkICksDQoJCQkJY2hpbGRGcm9tID0gew0KCQkJCQloZWlnaHQ6IGNoaWxkT3JpZ2luYWwuaGVpZ2h0ICogZmFjdG9yLmZyb20ueSwNCgkJCQkJd2lkdGg6IGNoaWxkT3JpZ2luYWwud2lkdGggKiBmYWN0b3IuZnJvbS54LA0KCQkJCQlvdXRlckhlaWdodDogY2hpbGRPcmlnaW5hbC5vdXRlckhlaWdodCAqIGZhY3Rvci5mcm9tLnksDQoJCQkJCW91dGVyV2lkdGg6IGNoaWxkT3JpZ2luYWwub3V0ZXJXaWR0aCAqIGZhY3Rvci5mcm9tLngNCgkJCQl9LA0KCQkJCWNoaWxkVG8gPSB7DQoJCQkJCWhlaWdodDogY2hpbGRPcmlnaW5hbC5oZWlnaHQgKiBmYWN0b3IudG8ueSwNCgkJCQkJd2lkdGg6IGNoaWxkT3JpZ2luYWwud2lkdGggKiBmYWN0b3IudG8ueCwNCgkJCQkJb3V0ZXJIZWlnaHQ6IGNoaWxkT3JpZ2luYWwuaGVpZ2h0ICogZmFjdG9yLnRvLnksDQoJCQkJCW91dGVyV2lkdGg6IGNoaWxkT3JpZ2luYWwud2lkdGggKiBmYWN0b3IudG8ueA0KCQkJCX07DQoNCgkJCS8vIFZlcnRpY2FsIHByb3BzIHNjYWxpbmcNCgkJCWlmICggZmFjdG9yLmZyb20ueSAhPT0gZmFjdG9yLnRvLnkgKSB7DQoJCQkJY2hpbGRGcm9tID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGNoaWxkLCB2UHJvcHMsIGZhY3Rvci5mcm9tLnksIGNoaWxkRnJvbSApOw0KCQkJCWNoaWxkVG8gPSAkLmVmZmVjdHMuc2V0VHJhbnNpdGlvbiggY2hpbGQsIHZQcm9wcywgZmFjdG9yLnRvLnksIGNoaWxkVG8gKTsNCgkJCX0NCg0KCQkJLy8gSG9yaXpvbnRhbCBwcm9wcyBzY2FsaW5nDQoJCQlpZiAoIGZhY3Rvci5mcm9tLnggIT09IGZhY3Rvci50by54ICkgew0KCQkJCWNoaWxkRnJvbSA9ICQuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKCBjaGlsZCwgaFByb3BzLCBmYWN0b3IuZnJvbS54LCBjaGlsZEZyb20gKTsNCgkJCQljaGlsZFRvID0gJC5lZmZlY3RzLnNldFRyYW5zaXRpb24oIGNoaWxkLCBoUHJvcHMsIGZhY3Rvci50by54LCBjaGlsZFRvICk7DQoJCQl9DQoNCgkJCWlmICggcmVzdG9yZSApIHsNCgkJCQkkLmVmZmVjdHMuc2F2ZVN0eWxlKCBjaGlsZCApOw0KCQkJfQ0KDQoJCQkvLyBBbmltYXRlIGNoaWxkcmVuDQoJCQljaGlsZC5jc3MoIGNoaWxkRnJvbSApOw0KCQkJY2hpbGQuYW5pbWF0ZSggY2hpbGRUbywgb3B0aW9ucy5kdXJhdGlvbiwgb3B0aW9ucy5lYXNpbmcsIGZ1bmN0aW9uKCkgew0KDQoJCQkJLy8gUmVzdG9yZSBjaGlsZHJlbg0KCQkJCWlmICggcmVzdG9yZSApIHsNCgkJCQkJJC5lZmZlY3RzLnJlc3RvcmVTdHlsZSggY2hpbGQgKTsNCgkJCQl9DQoJCQl9ICk7DQoJCX0gKTsNCgl9DQoNCgkvLyBBbmltYXRlDQoJZWxlbWVudC5hbmltYXRlKCB0bywgew0KCQlxdWV1ZTogZmFsc2UsDQoJCWR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLA0KCQllYXNpbmc6IG9wdGlvbnMuZWFzaW5nLA0KCQljb21wbGV0ZTogZnVuY3Rpb24oKSB7DQoNCgkJCXZhciBvZmZzZXQgPSBlbGVtZW50Lm9mZnNldCgpOw0KDQoJCQlpZiAoIHRvLm9wYWNpdHkgPT09IDAgKSB7DQoJCQkJZWxlbWVudC5jc3MoICJvcGFjaXR5IiwgZnJvbS5vcGFjaXR5ICk7DQoJCQl9DQoNCgkJCWlmICggIXJlc3RvcmUgKSB7DQoJCQkJZWxlbWVudA0KCQkJCQkuY3NzKCAicG9zaXRpb24iLCBwb3NpdGlvbiA9PT0gInN0YXRpYyIgPyAicmVsYXRpdmUiIDogcG9zaXRpb24gKQ0KCQkJCQkub2Zmc2V0KCBvZmZzZXQgKTsNCg0KCQkJCS8vIE5lZWQgdG8gc2F2ZSBzdHlsZSBoZXJlIHNvIHRoYXQgYXV0b21hdGljIHN0eWxlIHJlc3RvcmF0aW9uDQoJCQkJLy8gZG9lc24ndCByZXN0b3JlIHRvIHRoZSBvcmlnaW5hbCBzdHlsZXMgZnJvbSBiZWZvcmUgdGhlIGFuaW1hdGlvbi4NCgkJCQkkLmVmZmVjdHMuc2F2ZVN0eWxlKCBlbGVtZW50ICk7DQoJCQl9DQoNCgkJCWRvbmUoKTsNCgkJfQ0KCX0gKTsNCg0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2NhbGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNjYWxlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IEdyb3dzIG9yIHNocmlua3MgYW4gZWxlbWVudCBhbmQgaXRzIGNvbnRlbnQuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vc2NhbGUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0U2NhbGUgPSAkLmVmZmVjdHMuZGVmaW5lKCAic2NhbGUiLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCg0KCS8vIENyZWF0ZSBlbGVtZW50DQoJdmFyIGVsID0gJCggdGhpcyApLA0KCQltb2RlID0gb3B0aW9ucy5tb2RlLA0KCQlwZXJjZW50ID0gcGFyc2VJbnQoIG9wdGlvbnMucGVyY2VudCwgMTAgKSB8fA0KCQkJKCBwYXJzZUludCggb3B0aW9ucy5wZXJjZW50LCAxMCApID09PSAwID8gMCA6ICggbW9kZSAhPT0gImVmZmVjdCIgPyAwIDogMTAwICkgKSwNCg0KCQluZXdPcHRpb25zID0gJC5leHRlbmQoIHRydWUsIHsNCgkJCWZyb206ICQuZWZmZWN0cy5zY2FsZWREaW1lbnNpb25zKCBlbCApLA0KCQkJdG86ICQuZWZmZWN0cy5zY2FsZWREaW1lbnNpb25zKCBlbCwgcGVyY2VudCwgb3B0aW9ucy5kaXJlY3Rpb24gfHwgImJvdGgiICksDQoJCQlvcmlnaW46IG9wdGlvbnMub3JpZ2luIHx8IFsgIm1pZGRsZSIsICJjZW50ZXIiIF0NCgkJfSwgb3B0aW9ucyApOw0KDQoJLy8gRmFkZSBvcHRpb24gdG8gc3VwcG9ydCBwdWZmDQoJaWYgKCBvcHRpb25zLmZhZGUgKSB7DQoJCW5ld09wdGlvbnMuZnJvbS5vcGFjaXR5ID0gMTsNCgkJbmV3T3B0aW9ucy50by5vcGFjaXR5ID0gMDsNCgl9DQoNCgkkLmVmZmVjdHMuZWZmZWN0LnNpemUuY2FsbCggdGhpcywgbmV3T3B0aW9ucywgZG9uZSApOw0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgUHVmZiAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogUHVmZiBFZmZlY3QNCi8vPj5ncm91cDogRWZmZWN0cw0KLy8+PmRlc2NyaXB0aW9uOiBDcmVhdGVzIGEgcHVmZiBlZmZlY3QgYnkgc2NhbGluZyB0aGUgZWxlbWVudCB1cCBhbmQgaGlkaW5nIGl0IGF0IHRoZSBzYW1lIHRpbWUuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vcHVmZi1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RQdWZmID0gJC5lZmZlY3RzLmRlZmluZSggInB1ZmYiLCAiaGlkZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KCXZhciBuZXdPcHRpb25zID0gJC5leHRlbmQoIHRydWUsIHt9LCBvcHRpb25zLCB7DQoJCWZhZGU6IHRydWUsDQoJCXBlcmNlbnQ6IHBhcnNlSW50KCBvcHRpb25zLnBlcmNlbnQsIDEwICkgfHwgMTUwDQoJfSApOw0KDQoJJC5lZmZlY3RzLmVmZmVjdC5zY2FsZS5jYWxsKCB0aGlzLCBuZXdPcHRpb25zLCBkb25lICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBQdWxzYXRlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBQdWxzYXRlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IFB1bHNhdGVzIGFuIGVsZW1lbnQgbiB0aW1lcyBieSBjaGFuZ2luZyB0aGUgb3BhY2l0eSB0byB6ZXJvIGFuZCBiYWNrLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3B1bHNhdGUtZWZmZWN0Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2VmZmVjdC8NCg0KDQoNCnZhciBlZmZlY3RzRWZmZWN0UHVsc2F0ZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJwdWxzYXRlIiwgInNob3ciLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCgl2YXIgZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbW9kZSA9IG9wdGlvbnMubW9kZSwNCgkJc2hvdyA9IG1vZGUgPT09ICJzaG93IiwNCgkJaGlkZSA9IG1vZGUgPT09ICJoaWRlIiwNCgkJc2hvd2hpZGUgPSBzaG93IHx8IGhpZGUsDQoNCgkJLy8gU2hvd2luZyBvciBoaWRpbmcgbGVhdmVzIG9mZiB0aGUgImxhc3QiIGFuaW1hdGlvbg0KCQlhbmltcyA9ICggKCBvcHRpb25zLnRpbWVzIHx8IDUgKSAqIDIgKSArICggc2hvd2hpZGUgPyAxIDogMCApLA0KCQlkdXJhdGlvbiA9IG9wdGlvbnMuZHVyYXRpb24gLyBhbmltcywNCgkJYW5pbWF0ZVRvID0gMCwNCgkJaSA9IDEsDQoJCXF1ZXVlbGVuID0gZWxlbWVudC5xdWV1ZSgpLmxlbmd0aDsNCg0KCWlmICggc2hvdyB8fCAhZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQllbGVtZW50LmNzcyggIm9wYWNpdHkiLCAwICkuc2hvdygpOw0KCQlhbmltYXRlVG8gPSAxOw0KCX0NCg0KCS8vIEFuaW1zIC0gMSBvcGFjaXR5ICJ0b2dnbGVzIg0KCWZvciAoIDsgaSA8IGFuaW1zOyBpKysgKSB7DQoJCWVsZW1lbnQuYW5pbWF0ZSggeyBvcGFjaXR5OiBhbmltYXRlVG8gfSwgZHVyYXRpb24sIG9wdGlvbnMuZWFzaW5nICk7DQoJCWFuaW1hdGVUbyA9IDEgLSBhbmltYXRlVG87DQoJfQ0KDQoJZWxlbWVudC5hbmltYXRlKCB7IG9wYWNpdHk6IGFuaW1hdGVUbyB9LCBkdXJhdGlvbiwgb3B0aW9ucy5lYXNpbmcgKTsNCg0KCWVsZW1lbnQucXVldWUoIGRvbmUgKTsNCg0KCSQuZWZmZWN0cy51bnNoaWZ0KCBlbGVtZW50LCBxdWV1ZWxlbiwgYW5pbXMgKyAxICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBTaGFrZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2hha2UgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogU2hha2VzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgbiB0aW1lcy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zaGFrZS1lZmZlY3QvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZWZmZWN0Lw0KDQoNCg0KdmFyIGVmZmVjdHNFZmZlY3RTaGFrZSA9ICQuZWZmZWN0cy5kZWZpbmUoICJzaGFrZSIsIGZ1bmN0aW9uKCBvcHRpb25zLCBkb25lICkgew0KDQoJdmFyIGkgPSAxLA0KCQllbGVtZW50ID0gJCggdGhpcyApLA0KCQlkaXJlY3Rpb24gPSBvcHRpb25zLmRpcmVjdGlvbiB8fCAibGVmdCIsDQoJCWRpc3RhbmNlID0gb3B0aW9ucy5kaXN0YW5jZSB8fCAyMCwNCgkJdGltZXMgPSBvcHRpb25zLnRpbWVzIHx8IDMsDQoJCWFuaW1zID0gdGltZXMgKiAyICsgMSwNCgkJc3BlZWQgPSBNYXRoLnJvdW5kKCBvcHRpb25zLmR1cmF0aW9uIC8gYW5pbXMgKSwNCgkJcmVmID0gKCBkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIgKSA/ICJ0b3AiIDogImxlZnQiLA0KCQlwb3NpdGl2ZU1vdGlvbiA9ICggZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiICksDQoJCWFuaW1hdGlvbiA9IHt9LA0KCQlhbmltYXRpb24xID0ge30sDQoJCWFuaW1hdGlvbjIgPSB7fSwNCg0KCQlxdWV1ZWxlbiA9IGVsZW1lbnQucXVldWUoKS5sZW5ndGg7DQoNCgkkLmVmZmVjdHMuY3JlYXRlUGxhY2Vob2xkZXIoIGVsZW1lbnQgKTsNCg0KCS8vIEFuaW1hdGlvbg0KCWFuaW1hdGlvblsgcmVmIF0gPSAoIHBvc2l0aXZlTW90aW9uID8gIi09IiA6ICIrPSIgKSArIGRpc3RhbmNlOw0KCWFuaW1hdGlvbjFbIHJlZiBdID0gKCBwb3NpdGl2ZU1vdGlvbiA/ICIrPSIgOiAiLT0iICkgKyBkaXN0YW5jZSAqIDI7DQoJYW5pbWF0aW9uMlsgcmVmIF0gPSAoIHBvc2l0aXZlTW90aW9uID8gIi09IiA6ICIrPSIgKSArIGRpc3RhbmNlICogMjsNCg0KCS8vIEFuaW1hdGUNCgllbGVtZW50LmFuaW1hdGUoIGFuaW1hdGlvbiwgc3BlZWQsIG9wdGlvbnMuZWFzaW5nICk7DQoNCgkvLyBTaGFrZXMNCglmb3IgKCA7IGkgPCB0aW1lczsgaSsrICkgew0KCQllbGVtZW50DQoJCQkuYW5pbWF0ZSggYW5pbWF0aW9uMSwgc3BlZWQsIG9wdGlvbnMuZWFzaW5nICkNCgkJCS5hbmltYXRlKCBhbmltYXRpb24yLCBzcGVlZCwgb3B0aW9ucy5lYXNpbmcgKTsNCgl9DQoNCgllbGVtZW50DQoJCS5hbmltYXRlKCBhbmltYXRpb24xLCBzcGVlZCwgb3B0aW9ucy5lYXNpbmcgKQ0KCQkuYW5pbWF0ZSggYW5pbWF0aW9uLCBzcGVlZCAvIDIsIG9wdGlvbnMuZWFzaW5nICkNCgkJLnF1ZXVlKCBkb25lICk7DQoNCgkkLmVmZmVjdHMudW5zaGlmdCggZWxlbWVudCwgcXVldWVsZW4sIGFuaW1zICsgMSApOw0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEVmZmVjdHMgU2xpZGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNsaWRlIEVmZmVjdA0KLy8+Pmdyb3VwOiBFZmZlY3RzDQovLz4+ZGVzY3JpcHRpb246IFNsaWRlcyBhbiBlbGVtZW50IGluIGFuZCBvdXQgb2YgdGhlIHZpZXdwb3J0Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3NsaWRlLWVmZmVjdC8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZWZmZWN0c0VmZmVjdFNsaWRlID0gJC5lZmZlY3RzLmRlZmluZSggInNsaWRlIiwgInNob3ciLCBmdW5jdGlvbiggb3B0aW9ucywgZG9uZSApIHsNCgl2YXIgc3RhcnRDbGlwLCBzdGFydFJlZiwNCgkJZWxlbWVudCA9ICQoIHRoaXMgKSwNCgkJbWFwID0gew0KCQkJdXA6IFsgImJvdHRvbSIsICJ0b3AiIF0sDQoJCQlkb3duOiBbICJ0b3AiLCAiYm90dG9tIiBdLA0KCQkJbGVmdDogWyAicmlnaHQiLCAibGVmdCIgXSwNCgkJCXJpZ2h0OiBbICJsZWZ0IiwgInJpZ2h0IiBdDQoJCX0sDQoJCW1vZGUgPSBvcHRpb25zLm1vZGUsDQoJCWRpcmVjdGlvbiA9IG9wdGlvbnMuZGlyZWN0aW9uIHx8ICJsZWZ0IiwNCgkJcmVmID0gKCBkaXJlY3Rpb24gPT09ICJ1cCIgfHwgZGlyZWN0aW9uID09PSAiZG93biIgKSA/ICJ0b3AiIDogImxlZnQiLA0KCQlwb3NpdGl2ZU1vdGlvbiA9ICggZGlyZWN0aW9uID09PSAidXAiIHx8IGRpcmVjdGlvbiA9PT0gImxlZnQiICksDQoJCWRpc3RhbmNlID0gb3B0aW9ucy5kaXN0YW5jZSB8fA0KCQkJZWxlbWVudFsgcmVmID09PSAidG9wIiA/ICJvdXRlckhlaWdodCIgOiAib3V0ZXJXaWR0aCIgXSggdHJ1ZSApLA0KCQlhbmltYXRpb24gPSB7fTsNCg0KCSQuZWZmZWN0cy5jcmVhdGVQbGFjZWhvbGRlciggZWxlbWVudCApOw0KDQoJc3RhcnRDbGlwID0gZWxlbWVudC5jc3NDbGlwKCk7DQoJc3RhcnRSZWYgPSBlbGVtZW50LnBvc2l0aW9uKClbIHJlZiBdOw0KDQoJLy8gRGVmaW5lIGhpZGUgYW5pbWF0aW9uDQoJYW5pbWF0aW9uWyByZWYgXSA9ICggcG9zaXRpdmVNb3Rpb24gPyAtMSA6IDEgKSAqIGRpc3RhbmNlICsgc3RhcnRSZWY7DQoJYW5pbWF0aW9uLmNsaXAgPSBlbGVtZW50LmNzc0NsaXAoKTsNCglhbmltYXRpb24uY2xpcFsgbWFwWyBkaXJlY3Rpb24gXVsgMSBdIF0gPSBhbmltYXRpb24uY2xpcFsgbWFwWyBkaXJlY3Rpb24gXVsgMCBdIF07DQoNCgkvLyBSZXZlcnNlIHRoZSBhbmltYXRpb24gaWYgd2UncmUgc2hvd2luZw0KCWlmICggbW9kZSA9PT0gInNob3ciICkgew0KCQllbGVtZW50LmNzc0NsaXAoIGFuaW1hdGlvbi5jbGlwICk7DQoJCWVsZW1lbnQuY3NzKCByZWYsIGFuaW1hdGlvblsgcmVmIF0gKTsNCgkJYW5pbWF0aW9uLmNsaXAgPSBzdGFydENsaXA7DQoJCWFuaW1hdGlvblsgcmVmIF0gPSBzdGFydFJlZjsNCgl9DQoNCgkvLyBBY3R1YWxseSBhbmltYXRlDQoJZWxlbWVudC5hbmltYXRlKCBhbmltYXRpb24sIHsNCgkJcXVldWU6IGZhbHNlLA0KCQlkdXJhdGlvbjogb3B0aW9ucy5kdXJhdGlvbiwNCgkJZWFzaW5nOiBvcHRpb25zLmVhc2luZywNCgkJY29tcGxldGU6IGRvbmUNCgl9ICk7DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRWZmZWN0cyBUcmFuc2ZlciAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogVHJhbnNmZXIgRWZmZWN0DQovLz4+Z3JvdXA6IEVmZmVjdHMNCi8vPj5kZXNjcmlwdGlvbjogRGlzcGxheXMgYSB0cmFuc2ZlciBlZmZlY3QgZnJvbSBvbmUgZWxlbWVudCB0byBhbm90aGVyLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3RyYW5zZmVyLWVmZmVjdC8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9lZmZlY3QvDQoNCg0KDQp2YXIgZWZmZWN0Ow0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoJZWZmZWN0ID0gJC5lZmZlY3RzLmRlZmluZSggInRyYW5zZmVyIiwgZnVuY3Rpb24oIG9wdGlvbnMsIGRvbmUgKSB7DQoJCSQoIHRoaXMgKS50cmFuc2Zlciggb3B0aW9ucywgZG9uZSApOw0KCX0gKTsNCn0NCnZhciBlZmZlY3RzRWZmZWN0VHJhbnNmZXIgPSBlZmZlY3Q7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRm9jdXNhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiA6Zm9jdXNhYmxlIFNlbGVjdG9yDQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogU2VsZWN0cyBlbGVtZW50cyB3aGljaCBjYW4gYmUgZm9jdXNlZC4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mb2N1c2FibGUtc2VsZWN0b3IvDQoNCg0KDQovLyBTZWxlY3RvcnMNCiQudWkuZm9jdXNhYmxlID0gZnVuY3Rpb24oIGVsZW1lbnQsIGhhc1RhYmluZGV4ICkgew0KCXZhciBtYXAsIG1hcE5hbWUsIGltZywgZm9jdXNhYmxlSWZWaXNpYmxlLCBmaWVsZHNldCwNCgkJbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoNCglpZiAoICJhcmVhIiA9PT0gbm9kZU5hbWUgKSB7DQoJCW1hcCA9IGVsZW1lbnQucGFyZW50Tm9kZTsNCgkJbWFwTmFtZSA9IG1hcC5uYW1lOw0KCQlpZiAoICFlbGVtZW50LmhyZWYgfHwgIW1hcE5hbWUgfHwgbWFwLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICJtYXAiICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCWltZyA9ICQoICJpbWdbdXNlbWFwPScjIiArIG1hcE5hbWUgKyAiJ10iICk7DQoJCXJldHVybiBpbWcubGVuZ3RoID4gMCAmJiBpbWcuaXMoICI6dmlzaWJsZSIgKTsNCgl9DQoNCglpZiAoIC9eKGlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvLnRlc3QoIG5vZGVOYW1lICkgKSB7DQoJCWZvY3VzYWJsZUlmVmlzaWJsZSA9ICFlbGVtZW50LmRpc2FibGVkOw0KDQoJCWlmICggZm9jdXNhYmxlSWZWaXNpYmxlICkgew0KDQoJCQkvLyBGb3JtIGNvbnRyb2xzIHdpdGhpbiBhIGRpc2FibGVkIGZpZWxkc2V0IGFyZSBkaXNhYmxlZC4NCgkJCS8vIEhvd2V2ZXIsIGNvbnRyb2xzIHdpdGhpbiB0aGUgZmllbGRzZXQncyBsZWdlbmQgZG8gbm90IGdldCBkaXNhYmxlZC4NCgkJCS8vIFNpbmNlIGNvbnRyb2xzIGdlbmVyYWxseSBhcmVuJ3QgcGxhY2VkIGluc2lkZSBsZWdlbmRzLCB3ZSBza2lwDQoJCQkvLyB0aGlzIHBvcnRpb24gb2YgdGhlIGNoZWNrLg0KCQkJZmllbGRzZXQgPSAkKCBlbGVtZW50ICkuY2xvc2VzdCggImZpZWxkc2V0IiApWyAwIF07DQoJCQlpZiAoIGZpZWxkc2V0ICkgew0KCQkJCWZvY3VzYWJsZUlmVmlzaWJsZSA9ICFmaWVsZHNldC5kaXNhYmxlZDsNCgkJCX0NCgkJfQ0KCX0gZWxzZSBpZiAoICJhIiA9PT0gbm9kZU5hbWUgKSB7DQoJCWZvY3VzYWJsZUlmVmlzaWJsZSA9IGVsZW1lbnQuaHJlZiB8fCBoYXNUYWJpbmRleDsNCgl9IGVsc2Ugew0KCQlmb2N1c2FibGVJZlZpc2libGUgPSBoYXNUYWJpbmRleDsNCgl9DQoNCglyZXR1cm4gZm9jdXNhYmxlSWZWaXNpYmxlICYmICQoIGVsZW1lbnQgKS5pcyggIjp2aXNpYmxlIiApICYmIHZpc2libGUoICQoIGVsZW1lbnQgKSApOw0KfTsNCg0KLy8gU3VwcG9ydDogSUUgOCBvbmx5DQovLyBJRSA4IGRvZXNuJ3QgcmVzb2x2ZSBpbmhlcml0IHRvIHZpc2libGUvaGlkZGVuIGZvciBjb21wdXRlZCB2YWx1ZXMNCmZ1bmN0aW9uIHZpc2libGUoIGVsZW1lbnQgKSB7DQoJdmFyIHZpc2liaWxpdHkgPSBlbGVtZW50LmNzcyggInZpc2liaWxpdHkiICk7DQoJd2hpbGUgKCB2aXNpYmlsaXR5ID09PSAiaW5oZXJpdCIgKSB7DQoJCWVsZW1lbnQgPSBlbGVtZW50LnBhcmVudCgpOw0KCQl2aXNpYmlsaXR5ID0gZWxlbWVudC5jc3MoICJ2aXNpYmlsaXR5IiApOw0KCX0NCglyZXR1cm4gdmlzaWJpbGl0eSAhPT0gImhpZGRlbiI7DQp9DQoNCiQuZXh0ZW5kKCAkLmV4cHJbICI6IiBdLCB7DQoJZm9jdXNhYmxlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJcmV0dXJuICQudWkuZm9jdXNhYmxlKCBlbGVtZW50LCAkLmF0dHIoIGVsZW1lbnQsICJ0YWJpbmRleCIgKSAhPSBudWxsICk7DQoJfQ0KfSApOw0KDQp2YXIgZm9jdXNhYmxlID0gJC51aS5mb2N1c2FibGU7DQoNCg0KDQoNCi8vIFN1cHBvcnQ6IElFOCBPbmx5DQovLyBJRTggZG9lcyBub3Qgc3VwcG9ydCB0aGUgZm9ybSBhdHRyaWJ1dGUgYW5kIHdoZW4gaXQgaXMgc3VwcGxpZWQuIEl0IG92ZXJ3cml0ZXMgdGhlIGZvcm0gcHJvcA0KLy8gd2l0aCBhIHN0cmluZywgc28gd2UgbmVlZCB0byBmaW5kIHRoZSBwcm9wZXIgZm9ybS4NCnZhciBmb3JtID0gJC5mbi5mb3JtID0gZnVuY3Rpb24oKSB7DQoJcmV0dXJuIHR5cGVvZiB0aGlzWyAwIF0uZm9ybSA9PT0gInN0cmluZyIgPyB0aGlzLmNsb3Nlc3QoICJmb3JtIiApIDogJCggdGhpc1sgMCBdLmZvcm0gKTsNCn07DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRm9ybSBSZXNldCBNaXhpbiAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogRm9ybSBSZXNldCBNaXhpbg0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFJlZnJlc2ggaW5wdXQgd2lkZ2V0cyB3aGVuIHRoZWlyIGZvcm0gaXMgcmVzZXQNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9mb3JtLXJlc2V0LW1peGluLw0KDQoNCg0KdmFyIGZvcm1SZXNldE1peGluID0gJC51aS5mb3JtUmVzZXRNaXhpbiA9IHsNCglfZm9ybVJlc2V0SGFuZGxlcjogZnVuY3Rpb24oKSB7DQoJCXZhciBmb3JtID0gJCggdGhpcyApOw0KDQoJCS8vIFdhaXQgZm9yIHRoZSBmb3JtIHJlc2V0IHRvIGFjdHVhbGx5IGhhcHBlbiBiZWZvcmUgcmVmcmVzaGluZw0KCQlzZXRUaW1lb3V0KCBmdW5jdGlvbigpIHsNCgkJCXZhciBpbnN0YW5jZXMgPSBmb3JtLmRhdGEoICJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIgKTsNCgkJCSQuZWFjaCggaW5zdGFuY2VzLCBmdW5jdGlvbigpIHsNCgkJCQl0aGlzLnJlZnJlc2goKTsNCgkJCX0gKTsNCgkJfSApOw0KCX0sDQoNCglfYmluZEZvcm1SZXNldEhhbmRsZXI6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmZvcm0gPSB0aGlzLmVsZW1lbnQuZm9ybSgpOw0KCQlpZiAoICF0aGlzLmZvcm0ubGVuZ3RoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdmFyIGluc3RhbmNlcyA9IHRoaXMuZm9ybS5kYXRhKCAidWktZm9ybS1yZXNldC1pbnN0YW5jZXMiICkgfHwgW107DQoJCWlmICggIWluc3RhbmNlcy5sZW5ndGggKSB7DQoNCgkJCS8vIFdlIGRvbid0IHVzZSBfb24oKSBoZXJlIGJlY2F1c2Ugd2UgdXNlIGEgc2luZ2xlIGV2ZW50IGhhbmRsZXIgcGVyIGZvcm0NCgkJCXRoaXMuZm9ybS5vbiggInJlc2V0LnVpLWZvcm0tcmVzZXQiLCB0aGlzLl9mb3JtUmVzZXRIYW5kbGVyICk7DQoJCX0NCgkJaW5zdGFuY2VzLnB1c2goIHRoaXMgKTsNCgkJdGhpcy5mb3JtLmRhdGEoICJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIsIGluc3RhbmNlcyApOw0KCX0sDQoNCglfdW5iaW5kRm9ybVJlc2V0SGFuZGxlcjogZnVuY3Rpb24oKSB7DQoJCWlmICggIXRoaXMuZm9ybS5sZW5ndGggKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgaW5zdGFuY2VzID0gdGhpcy5mb3JtLmRhdGEoICJ1aS1mb3JtLXJlc2V0LWluc3RhbmNlcyIgKTsNCgkJaW5zdGFuY2VzLnNwbGljZSggJC5pbkFycmF5KCB0aGlzLCBpbnN0YW5jZXMgKSwgMSApOw0KCQlpZiAoIGluc3RhbmNlcy5sZW5ndGggKSB7DQoJCQl0aGlzLmZvcm0uZGF0YSggInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIiwgaW5zdGFuY2VzICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmZvcm0NCgkJCQkucmVtb3ZlRGF0YSggInVpLWZvcm0tcmVzZXQtaW5zdGFuY2VzIiApDQoJCQkJLm9mZiggInJlc2V0LnVpLWZvcm0tcmVzZXQiICk7DQoJCX0NCgl9DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFN1cHBvcnQgZm9yIGpRdWVyeSBjb3JlIDEuNy54IDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKg0KICovDQoNCi8vPj5sYWJlbDogalF1ZXJ5IDEuNyBTdXBwb3J0DQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogU3VwcG9ydCB2ZXJzaW9uIDEuNy54IG9mIGpRdWVyeSBjb3JlDQoNCg0KDQovLyBTdXBwb3J0OiBqUXVlcnkgMS43IG9ubHkNCi8vIE5vdCBhIGdyZWF0IHdheSB0byBjaGVjayB2ZXJzaW9ucywgYnV0IHNpbmNlIHdlIG9ubHkgc3VwcG9ydCAxLjcrIGFuZCBvbmx5DQovLyBuZWVkIHRvIGRldGVjdCA8MS44LCB0aGlzIGlzIGEgc2ltcGxlIGNoZWNrIHRoYXQgc2hvdWxkIHN1ZmZpY2UuIENoZWNraW5nDQovLyBmb3IgIjEuNy4iIHdvdWxkIGJlIGEgYml0IHNhZmVyLCBidXQgdGhlIHZlcnNpb24gc3RyaW5nIGlzIDEuNywgbm90IDEuNy4wDQovLyBhbmQgd2UnbGwgbmV2ZXIgcmVhY2ggMS43MC4wIChpZiB3ZSBkbywgd2UgY2VydGFpbmx5IHdvbid0IGJlIHN1cHBvcnRpbmcNCi8vIDEuNyBhbnltb3JlKS4gU2VlICMxMTE5NyBmb3Igd2h5IHdlJ3JlIG5vdCB1c2luZyBmZWF0dXJlIGRldGVjdGlvbi4NCmlmICggJC5mbi5qcXVlcnkuc3Vic3RyaW5nKCAwLCAzICkgPT09ICIxLjciICkgew0KDQoJLy8gU2V0dGVycyBmb3IgLmlubmVyV2lkdGgoKSwgLmlubmVySGVpZ2h0KCksIC5vdXRlcldpZHRoKCksIC5vdXRlckhlaWdodCgpDQoJLy8gVW5saWtlIGpRdWVyeSBDb3JlIDEuOCssIHRoZXNlIG9ubHkgc3VwcG9ydCBudW1lcmljIHZhbHVlcyB0byBzZXQgdGhlDQoJLy8gZGltZW5zaW9ucyBpbiBwaXhlbHMNCgkkLmVhY2goIFsgIldpZHRoIiwgIkhlaWdodCIgXSwgZnVuY3Rpb24oIGksIG5hbWUgKSB7DQoJCXZhciBzaWRlID0gbmFtZSA9PT0gIldpZHRoIiA/IFsgIkxlZnQiLCAiUmlnaHQiIF0gOiBbICJUb3AiLCAiQm90dG9tIiBdLA0KCQkJdHlwZSA9IG5hbWUudG9Mb3dlckNhc2UoKSwNCgkJCW9yaWcgPSB7DQoJCQkJaW5uZXJXaWR0aDogJC5mbi5pbm5lcldpZHRoLA0KCQkJCWlubmVySGVpZ2h0OiAkLmZuLmlubmVySGVpZ2h0LA0KCQkJCW91dGVyV2lkdGg6ICQuZm4ub3V0ZXJXaWR0aCwNCgkJCQlvdXRlckhlaWdodDogJC5mbi5vdXRlckhlaWdodA0KCQkJfTsNCg0KCQlmdW5jdGlvbiByZWR1Y2UoIGVsZW0sIHNpemUsIGJvcmRlciwgbWFyZ2luICkgew0KCQkJJC5lYWNoKCBzaWRlLCBmdW5jdGlvbigpIHsNCgkJCQlzaXplIC09IHBhcnNlRmxvYXQoICQuY3NzKCBlbGVtLCAicGFkZGluZyIgKyB0aGlzICkgKSB8fCAwOw0KCQkJCWlmICggYm9yZGVyICkgew0KCQkJCQlzaXplIC09IHBhcnNlRmxvYXQoICQuY3NzKCBlbGVtLCAiYm9yZGVyIiArIHRoaXMgKyAiV2lkdGgiICkgKSB8fCAwOw0KCQkJCX0NCgkJCQlpZiAoIG1hcmdpbiApIHsNCgkJCQkJc2l6ZSAtPSBwYXJzZUZsb2F0KCAkLmNzcyggZWxlbSwgIm1hcmdpbiIgKyB0aGlzICkgKSB8fCAwOw0KCQkJCX0NCgkJCX0gKTsNCgkJCXJldHVybiBzaXplOw0KCQl9DQoNCgkJJC5mblsgImlubmVyIiArIG5hbWUgXSA9IGZ1bmN0aW9uKCBzaXplICkgew0KCQkJaWYgKCBzaXplID09PSB1bmRlZmluZWQgKSB7DQoJCQkJcmV0dXJuIG9yaWdbICJpbm5lciIgKyBuYW1lIF0uY2FsbCggdGhpcyApOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkkKCB0aGlzICkuY3NzKCB0eXBlLCByZWR1Y2UoIHRoaXMsIHNpemUgKSArICJweCIgKTsNCgkJCX0gKTsNCgkJfTsNCg0KCQkkLmZuWyAib3V0ZXIiICsgbmFtZSBdID0gZnVuY3Rpb24oIHNpemUsIG1hcmdpbiApIHsNCgkJCWlmICggdHlwZW9mIHNpemUgIT09ICJudW1iZXIiICkgew0KCQkJCXJldHVybiBvcmlnWyAib3V0ZXIiICsgbmFtZSBdLmNhbGwoIHRoaXMsIHNpemUgKTsNCgkJCX0NCg0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJJCggdGhpcyApLmNzcyggdHlwZSwgcmVkdWNlKCB0aGlzLCBzaXplLCB0cnVlLCBtYXJnaW4gKSArICJweCIgKTsNCgkJCX0gKTsNCgkJfTsNCgl9ICk7DQoNCgkkLmZuLmFkZEJhY2sgPSBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0aGlzLmFkZCggc2VsZWN0b3IgPT0gbnVsbCA/DQoJCQl0aGlzLnByZXZPYmplY3QgOiB0aGlzLnByZXZPYmplY3QuZmlsdGVyKCBzZWxlY3RvciApDQoJCSk7DQoJfTsNCn0NCg0KOw0KLyohDQogKiBqUXVlcnkgVUkgS2V5Y29kZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogS2V5Y29kZQ0KLy8+Pmdyb3VwOiBDb3JlDQovLz4+ZGVzY3JpcHRpb246IFByb3ZpZGUga2V5Y29kZXMgYXMga2V5bmFtZXMNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9qUXVlcnkudWkua2V5Q29kZS8NCg0KDQp2YXIga2V5Y29kZSA9ICQudWkua2V5Q29kZSA9IHsNCglCQUNLU1BBQ0U6IDgsDQoJQ09NTUE6IDE4OCwNCglERUxFVEU6IDQ2LA0KCURPV046IDQwLA0KCUVORDogMzUsDQoJRU5URVI6IDEzLA0KCUVTQ0FQRTogMjcsDQoJSE9NRTogMzYsDQoJTEVGVDogMzcsDQoJUEFHRV9ET1dOOiAzNCwNCglQQUdFX1VQOiAzMywNCglQRVJJT0Q6IDE5MCwNCglSSUdIVDogMzksDQoJU1BBQ0U6IDMyLA0KCVRBQjogOSwNCglVUDogMzgNCn07DQoNCg0KDQoNCi8vIEludGVybmFsIHVzZSBvbmx5DQp2YXIgZXNjYXBlU2VsZWN0b3IgPSAkLnVpLmVzY2FwZVNlbGVjdG9yID0gKCBmdW5jdGlvbigpIHsNCgl2YXIgc2VsZWN0b3JFc2NhcGUgPSAvKFshIiMkJSYnKCkqKywuLzo7PD0+P0BbXF1eYHt8fX5dKS9nOw0KCXJldHVybiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiBzZWxlY3Rvci5yZXBsYWNlKCBzZWxlY3RvckVzY2FwZSwgIlxcJDEiICk7DQoJfTsNCn0gKSgpOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIExhYmVscyAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogbGFiZWxzDQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogRmluZCBhbGwgdGhlIGxhYmVscyBhc3NvY2lhdGVkIHdpdGggYSBnaXZlbiBpbnB1dA0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2xhYmVscy8NCg0KDQoNCnZhciBsYWJlbHMgPSAkLmZuLmxhYmVscyA9IGZ1bmN0aW9uKCkgew0KCXZhciBhbmNlc3Rvciwgc2VsZWN0b3IsIGlkLCBsYWJlbHMsIGFuY2VzdG9yczsNCg0KCS8vIENoZWNrIGNvbnRyb2wubGFiZWxzIGZpcnN0DQoJaWYgKCB0aGlzWyAwIF0ubGFiZWxzICYmIHRoaXNbIDAgXS5sYWJlbHMubGVuZ3RoICkgew0KCQlyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHRoaXNbIDAgXS5sYWJlbHMgKTsNCgl9DQoNCgkvLyBTdXBwb3J0OiBJRSA8PSAxMSwgRkYgPD0gMzcsIEFuZHJvaWQgPD0gMi4zIG9ubHkNCgkvLyBBYm92ZSBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjb250cm9sLmxhYmVscy4gRXZlcnl0aGluZyBiZWxvdyBpcyB0byBzdXBwb3J0IHRoZW0NCgkvLyBhcyB3ZWxsIGFzIGRvY3VtZW50IGZyYWdtZW50cy4gY29udHJvbC5sYWJlbHMgZG9lcyBub3Qgd29yayBvbiBkb2N1bWVudCBmcmFnbWVudHMNCglsYWJlbHMgPSB0aGlzLmVxKCAwICkucGFyZW50cyggImxhYmVsIiApOw0KDQoJLy8gTG9vayBmb3IgdGhlIGxhYmVsIGJhc2VkIG9uIHRoZSBpZA0KCWlkID0gdGhpcy5hdHRyKCAiaWQiICk7DQoJaWYgKCBpZCApIHsNCg0KCQkvLyBXZSBkb24ndCBzZWFyY2ggYWdhaW5zdCB0aGUgZG9jdW1lbnQgaW4gY2FzZSB0aGUgZWxlbWVudA0KCQkvLyBpcyBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgRE9NDQoJCWFuY2VzdG9yID0gdGhpcy5lcSggMCApLnBhcmVudHMoKS5sYXN0KCk7DQoNCgkJLy8gR2V0IGEgZnVsbCBzZXQgb2YgdG9wIGxldmVsIGFuY2VzdG9ycw0KCQlhbmNlc3RvcnMgPSBhbmNlc3Rvci5hZGQoIGFuY2VzdG9yLmxlbmd0aCA/IGFuY2VzdG9yLnNpYmxpbmdzKCkgOiB0aGlzLnNpYmxpbmdzKCkgKTsNCg0KCQkvLyBDcmVhdGUgYSBzZWxlY3RvciBmb3IgdGhlIGxhYmVsIGJhc2VkIG9uIHRoZSBpZA0KCQlzZWxlY3RvciA9ICJsYWJlbFtmb3I9JyIgKyAkLnVpLmVzY2FwZVNlbGVjdG9yKCBpZCApICsgIiddIjsNCg0KCQlsYWJlbHMgPSBsYWJlbHMuYWRkKCBhbmNlc3RvcnMuZmluZCggc2VsZWN0b3IgKS5hZGRCYWNrKCBzZWxlY3RvciApICk7DQoNCgl9DQoNCgkvLyBSZXR1cm4gd2hhdGV2ZXIgd2UgaGF2ZSBmb3VuZCBmb3IgbGFiZWxzDQoJcmV0dXJuIHRoaXMucHVzaFN0YWNrKCBsYWJlbHMgKTsNCn07DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2Nyb2xsIFBhcmVudCAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogc2Nyb2xsUGFyZW50DQovLz4+Z3JvdXA6IENvcmUNCi8vPj5kZXNjcmlwdGlvbjogR2V0IHRoZSBjbG9zZXN0IGFuY2VzdG9yIGVsZW1lbnQgdGhhdCBpcyBzY3JvbGxhYmxlLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Njcm9sbFBhcmVudC8NCg0KDQoNCnZhciBzY3JvbGxQYXJlbnQgPSAkLmZuLnNjcm9sbFBhcmVudCA9IGZ1bmN0aW9uKCBpbmNsdWRlSGlkZGVuICkgew0KCXZhciBwb3NpdGlvbiA9IHRoaXMuY3NzKCAicG9zaXRpb24iICksDQoJCWV4Y2x1ZGVTdGF0aWNQYXJlbnQgPSBwb3NpdGlvbiA9PT0gImFic29sdXRlIiwNCgkJb3ZlcmZsb3dSZWdleCA9IGluY2x1ZGVIaWRkZW4gPyAvKGF1dG98c2Nyb2xsfGhpZGRlbikvIDogLyhhdXRvfHNjcm9sbCkvLA0KCQlzY3JvbGxQYXJlbnQgPSB0aGlzLnBhcmVudHMoKS5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHBhcmVudCA9ICQoIHRoaXMgKTsNCgkJCWlmICggZXhjbHVkZVN0YXRpY1BhcmVudCAmJiBwYXJlbnQuY3NzKCAicG9zaXRpb24iICkgPT09ICJzdGF0aWMiICkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXJldHVybiBvdmVyZmxvd1JlZ2V4LnRlc3QoIHBhcmVudC5jc3MoICJvdmVyZmxvdyIgKSArIHBhcmVudC5jc3MoICJvdmVyZmxvdy15IiApICsNCgkJCQlwYXJlbnQuY3NzKCAib3ZlcmZsb3cteCIgKSApOw0KCQl9ICkuZXEoIDAgKTsNCg0KCXJldHVybiBwb3NpdGlvbiA9PT0gImZpeGVkIiB8fCAhc2Nyb2xsUGFyZW50Lmxlbmd0aCA/DQoJCSQoIHRoaXNbIDAgXS5vd25lckRvY3VtZW50IHx8IGRvY3VtZW50ICkgOg0KCQlzY3JvbGxQYXJlbnQ7DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFRhYmJhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiA6dGFiYmFibGUgU2VsZWN0b3INCi8vPj5ncm91cDogQ29yZQ0KLy8+PmRlc2NyaXB0aW9uOiBTZWxlY3RzIGVsZW1lbnRzIHdoaWNoIGNhbiBiZSB0YWJiZWQgdG8uDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vdGFiYmFibGUtc2VsZWN0b3IvDQoNCg0KDQp2YXIgdGFiYmFibGUgPSAkLmV4dGVuZCggJC5leHByWyAiOiIgXSwgew0KCXRhYmJhYmxlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJdmFyIHRhYkluZGV4ID0gJC5hdHRyKCBlbGVtZW50LCAidGFiaW5kZXgiICksDQoJCQloYXNUYWJpbmRleCA9IHRhYkluZGV4ICE9IG51bGw7DQoJCXJldHVybiAoICFoYXNUYWJpbmRleCB8fCB0YWJJbmRleCA+PSAwICkgJiYgJC51aS5mb2N1c2FibGUoIGVsZW1lbnQsIGhhc1RhYmluZGV4ICk7DQoJfQ0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFVuaXF1ZSBJRCAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogdW5pcXVlSWQNCi8vPj5ncm91cDogQ29yZQ0KLy8+PmRlc2NyaXB0aW9uOiBGdW5jdGlvbnMgdG8gZ2VuZXJhdGUgYW5kIHJlbW92ZSB1bmlxdWVJZCdzDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vdW5pcXVlSWQvDQoNCg0KDQp2YXIgdW5pcXVlSWQgPSAkLmZuLmV4dGVuZCggew0KCXVuaXF1ZUlkOiAoIGZ1bmN0aW9uKCkgew0KCQl2YXIgdXVpZCA9IDA7DQoNCgkJcmV0dXJuIGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJaWYgKCAhdGhpcy5pZCApIHsNCgkJCQkJdGhpcy5pZCA9ICJ1aS1pZC0iICsgKCArK3V1aWQgKTsNCgkJCQl9DQoJCQl9ICk7DQoJCX07DQoJfSApKCksDQoNCglyZW1vdmVVbmlxdWVJZDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJaWYgKCAvXnVpLWlkLVxkKyQvLnRlc3QoIHRoaXMuaWQgKSApIHsNCgkJCQkkKCB0aGlzICkucmVtb3ZlQXR0ciggImlkIiApOw0KCQkJfQ0KCQl9ICk7DQoJfQ0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIEFjY29yZGlvbiAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogQWNjb3JkaW9uDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vIGpzY3M6ZGlzYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRlc2NyaXB0aW9uOiBEaXNwbGF5cyBjb2xsYXBzaWJsZSBjb250ZW50IHBhbmVscyBmb3IgcHJlc2VudGluZyBpbmZvcm1hdGlvbiBpbiBhIGxpbWl0ZWQgYW1vdW50IG9mIHNwYWNlLg0KLy8ganNjczplbmFibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9hY2NvcmRpb24vDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vYWNjb3JkaW9uLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvYWNjb3JkaW9uLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQp2YXIgd2lkZ2V0c0FjY29yZGlvbiA9ICQud2lkZ2V0KCAidWkuYWNjb3JkaW9uIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCW9wdGlvbnM6IHsNCgkJYWN0aXZlOiAwLA0KCQlhbmltYXRlOiB7fSwNCgkJY2xhc3Nlczogew0KCQkJInVpLWFjY29yZGlvbi1oZWFkZXIiOiAidWktY29ybmVyLXRvcCIsDQoJCQkidWktYWNjb3JkaW9uLWhlYWRlci1jb2xsYXBzZWQiOiAidWktY29ybmVyLWFsbCIsDQoJCQkidWktYWNjb3JkaW9uLWNvbnRlbnQiOiAidWktY29ybmVyLWJvdHRvbSINCgkJfSwNCgkJY29sbGFwc2libGU6IGZhbHNlLA0KCQlldmVudDogImNsaWNrIiwNCgkJaGVhZGVyOiAiPiBsaSA+IDpmaXJzdC1jaGlsZCwgPiA6bm90KGxpKTpldmVuIiwNCgkJaGVpZ2h0U3R5bGU6ICJhdXRvIiwNCgkJaWNvbnM6IHsNCgkJCWFjdGl2ZUhlYWRlcjogInVpLWljb24tdHJpYW5nbGUtMS1zIiwNCgkJCWhlYWRlcjogInVpLWljb24tdHJpYW5nbGUtMS1lIg0KCQl9LA0KDQoJCS8vIENhbGxiYWNrcw0KCQlhY3RpdmF0ZTogbnVsbCwNCgkJYmVmb3JlQWN0aXZhdGU6IG51bGwNCgl9LA0KDQoJaGlkZVByb3BzOiB7DQoJCWJvcmRlclRvcFdpZHRoOiAiaGlkZSIsDQoJCWJvcmRlckJvdHRvbVdpZHRoOiAiaGlkZSIsDQoJCXBhZGRpbmdUb3A6ICJoaWRlIiwNCgkJcGFkZGluZ0JvdHRvbTogImhpZGUiLA0KCQloZWlnaHQ6ICJoaWRlIg0KCX0sDQoNCglzaG93UHJvcHM6IHsNCgkJYm9yZGVyVG9wV2lkdGg6ICJzaG93IiwNCgkJYm9yZGVyQm90dG9tV2lkdGg6ICJzaG93IiwNCgkJcGFkZGluZ1RvcDogInNob3ciLA0KCQlwYWRkaW5nQm90dG9tOiAic2hvdyIsDQoJCWhlaWdodDogInNob3ciDQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQl0aGlzLnByZXZTaG93ID0gdGhpcy5wcmV2SGlkZSA9ICQoKTsNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1hY2NvcmRpb24iLCAidWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIgKTsNCgkJdGhpcy5lbGVtZW50LmF0dHIoICJyb2xlIiwgInRhYmxpc3QiICk7DQoNCgkJLy8gRG9uJ3QgYWxsb3cgY29sbGFwc2libGU6IGZhbHNlIGFuZCBhY3RpdmU6IGZhbHNlIC8gbnVsbA0KCQlpZiAoICFvcHRpb25zLmNvbGxhcHNpYmxlICYmICggb3B0aW9ucy5hY3RpdmUgPT09IGZhbHNlIHx8IG9wdGlvbnMuYWN0aXZlID09IG51bGwgKSApIHsNCgkJCW9wdGlvbnMuYWN0aXZlID0gMDsNCgkJfQ0KDQoJCXRoaXMuX3Byb2Nlc3NQYW5lbHMoKTsNCg0KCQkvLyBoYW5kbGUgbmVnYXRpdmUgdmFsdWVzDQoJCWlmICggb3B0aW9ucy5hY3RpdmUgPCAwICkgew0KCQkJb3B0aW9ucy5hY3RpdmUgKz0gdGhpcy5oZWFkZXJzLmxlbmd0aDsNCgkJfQ0KCQl0aGlzLl9yZWZyZXNoKCk7DQoJfSwNCg0KCV9nZXRDcmVhdGVFdmVudERhdGE6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJaGVhZGVyOiB0aGlzLmFjdGl2ZSwNCgkJCXBhbmVsOiAhdGhpcy5hY3RpdmUubGVuZ3RoID8gJCgpIDogdGhpcy5hY3RpdmUubmV4dCgpDQoJCX07DQoJfSwNCg0KCV9jcmVhdGVJY29uczogZnVuY3Rpb24oKSB7DQoJCXZhciBpY29uLCBjaGlsZHJlbiwNCgkJCWljb25zID0gdGhpcy5vcHRpb25zLmljb25zOw0KDQoJCWlmICggaWNvbnMgKSB7DQoJCQlpY29uID0gJCggIjxzcGFuPiIgKTsNCgkJCXRoaXMuX2FkZENsYXNzKCBpY29uLCAidWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiwgInVpLWljb24gIiArIGljb25zLmhlYWRlciApOw0KCQkJaWNvbi5wcmVwZW5kVG8oIHRoaXMuaGVhZGVycyApOw0KCQkJY2hpbGRyZW4gPSB0aGlzLmFjdGl2ZS5jaGlsZHJlbiggIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iICk7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggY2hpbGRyZW4sIGljb25zLmhlYWRlciApDQoJCQkJLl9hZGRDbGFzcyggY2hpbGRyZW4sIG51bGwsIGljb25zLmFjdGl2ZUhlYWRlciApDQoJCQkJLl9hZGRDbGFzcyggdGhpcy5oZWFkZXJzLCAidWktYWNjb3JkaW9uLWljb25zIiApOw0KCQl9DQoJfSwNCg0KCV9kZXN0cm95SWNvbnM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5oZWFkZXJzLCAidWktYWNjb3JkaW9uLWljb25zIiApOw0KCQl0aGlzLmhlYWRlcnMuY2hpbGRyZW4oICIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiApLnJlbW92ZSgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciBjb250ZW50czsNCg0KCQkvLyBDbGVhbiB1cCBtYWluIGVsZW1lbnQNCgkJdGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoICJyb2xlIiApOw0KDQoJCS8vIENsZWFuIHVwIGhlYWRlcnMNCgkJdGhpcy5oZWFkZXJzDQoJCQkucmVtb3ZlQXR0ciggInJvbGUgYXJpYS1leHBhbmRlZCBhcmlhLXNlbGVjdGVkIGFyaWEtY29udHJvbHMgdGFiSW5kZXgiICkNCgkJCS5yZW1vdmVVbmlxdWVJZCgpOw0KDQoJCXRoaXMuX2Rlc3Ryb3lJY29ucygpOw0KDQoJCS8vIENsZWFuIHVwIGNvbnRlbnQgcGFuZWxzDQoJCWNvbnRlbnRzID0gdGhpcy5oZWFkZXJzLm5leHQoKQ0KCQkJLmNzcyggImRpc3BsYXkiLCAiIiApDQoJCQkucmVtb3ZlQXR0ciggInJvbGUgYXJpYS1oaWRkZW4gYXJpYS1sYWJlbGxlZGJ5IiApDQoJCQkucmVtb3ZlVW5pcXVlSWQoKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5oZWlnaHRTdHlsZSAhPT0gImNvbnRlbnQiICkgew0KCQkJY29udGVudHMuY3NzKCAiaGVpZ2h0IiwgIiIgKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJaWYgKCBrZXkgPT09ICJhY3RpdmUiICkgew0KDQoJCQkvLyBfYWN0aXZhdGUoKSB3aWxsIGhhbmRsZSBpbnZhbGlkIHZhbHVlcyBhbmQgdXBkYXRlIHRoaXMub3B0aW9ucw0KCQkJdGhpcy5fYWN0aXZhdGUoIHZhbHVlICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImV2ZW50IiApIHsNCgkJCWlmICggdGhpcy5vcHRpb25zLmV2ZW50ICkgew0KCQkJCXRoaXMuX29mZiggdGhpcy5oZWFkZXJzLCB0aGlzLm9wdGlvbnMuZXZlbnQgKTsNCgkJCX0NCgkJCXRoaXMuX3NldHVwRXZlbnRzKCB2YWx1ZSApOw0KCQl9DQoNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQkvLyBTZXR0aW5nIGNvbGxhcHNpYmxlOiBmYWxzZSB3aGlsZSBjb2xsYXBzZWQ7IG9wZW4gZmlyc3QgcGFuZWwNCgkJaWYgKCBrZXkgPT09ICJjb2xsYXBzaWJsZSIgJiYgIXZhbHVlICYmIHRoaXMub3B0aW9ucy5hY3RpdmUgPT09IGZhbHNlICkgew0KCQkJdGhpcy5fYWN0aXZhdGUoIDAgKTsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiaWNvbnMiICkgew0KCQkJdGhpcy5fZGVzdHJveUljb25zKCk7DQoJCQlpZiAoIHZhbHVlICkgew0KCQkJCXRoaXMuX2NyZWF0ZUljb25zKCk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXMuX3N1cGVyKCB2YWx1ZSApOw0KDQoJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsIHZhbHVlICk7DQoNCgkJLy8gU3VwcG9ydDogSUU4IE9ubHkNCgkJLy8gIzUzMzIgLyAjNjA1OSAtIG9wYWNpdHkgZG9lc24ndCBjYXNjYWRlIHRvIHBvc2l0aW9uZWQgZWxlbWVudHMgaW4gSUUNCgkJLy8gc28gd2UgbmVlZCB0byBhZGQgdGhlIGRpc2FibGVkIGNsYXNzIHRvIHRoZSBoZWFkZXJzIGFuZCBwYW5lbHMNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIsICEhdmFsdWUgKTsNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMuaGVhZGVycy5hZGQoIHRoaXMuaGVhZGVycy5uZXh0KCkgKSwgbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwNCgkJCSEhdmFsdWUgKTsNCgl9LA0KDQoJX2tleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCBldmVudC5hbHRLZXkgfHwgZXZlbnQuY3RybEtleSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXZhciBrZXlDb2RlID0gJC51aS5rZXlDb2RlLA0KCQkJbGVuZ3RoID0gdGhpcy5oZWFkZXJzLmxlbmd0aCwNCgkJCWN1cnJlbnRJbmRleCA9IHRoaXMuaGVhZGVycy5pbmRleCggZXZlbnQudGFyZ2V0ICksDQoJCQl0b0ZvY3VzID0gZmFsc2U7DQoNCgkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJY2FzZSBrZXlDb2RlLlJJR0hUOg0KCQljYXNlIGtleUNvZGUuRE9XTjoNCgkJCXRvRm9jdXMgPSB0aGlzLmhlYWRlcnNbICggY3VycmVudEluZGV4ICsgMSApICUgbGVuZ3RoIF07DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLkxFRlQ6DQoJCWNhc2Uga2V5Q29kZS5VUDoNCgkJCXRvRm9jdXMgPSB0aGlzLmhlYWRlcnNbICggY3VycmVudEluZGV4IC0gMSArIGxlbmd0aCApICUgbGVuZ3RoIF07DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLlNQQUNFOg0KCQljYXNlIGtleUNvZGUuRU5URVI6DQoJCQl0aGlzLl9ldmVudEhhbmRsZXIoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLkhPTUU6DQoJCQl0b0ZvY3VzID0gdGhpcy5oZWFkZXJzWyAwIF07DQoJCQlicmVhazsNCgkJY2FzZSBrZXlDb2RlLkVORDoNCgkJCXRvRm9jdXMgPSB0aGlzLmhlYWRlcnNbIGxlbmd0aCAtIDEgXTsNCgkJCWJyZWFrOw0KCQl9DQoNCgkJaWYgKCB0b0ZvY3VzICkgew0KCQkJJCggZXZlbnQudGFyZ2V0ICkuYXR0ciggInRhYkluZGV4IiwgLTEgKTsNCgkJCSQoIHRvRm9jdXMgKS5hdHRyKCAidGFiSW5kZXgiLCAwICk7DQoJCQkkKCB0b0ZvY3VzICkudHJpZ2dlciggImZvY3VzIiApOw0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJfQ0KCX0sDQoNCglfcGFuZWxLZXlEb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggZXZlbnQua2V5Q29kZSA9PT0gJC51aS5rZXlDb2RlLlVQICYmIGV2ZW50LmN0cmxLZXkgKSB7DQoJCQkkKCBldmVudC5jdXJyZW50VGFyZ2V0ICkucHJldigpLnRyaWdnZXIoICJmb2N1cyIgKTsNCgkJfQ0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoJCXRoaXMuX3Byb2Nlc3NQYW5lbHMoKTsNCg0KCQkvLyBXYXMgY29sbGFwc2VkIG9yIG5vIHBhbmVsDQoJCWlmICggKCBvcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgJiYgb3B0aW9ucy5jb2xsYXBzaWJsZSA9PT0gdHJ1ZSApIHx8DQoJCQkJIXRoaXMuaGVhZGVycy5sZW5ndGggKSB7DQoJCQlvcHRpb25zLmFjdGl2ZSA9IGZhbHNlOw0KCQkJdGhpcy5hY3RpdmUgPSAkKCk7DQoNCgkJLy8gYWN0aXZlIGZhbHNlIG9ubHkgd2hlbiBjb2xsYXBzaWJsZSBpcyB0cnVlDQoJCX0gZWxzZSBpZiAoIG9wdGlvbnMuYWN0aXZlID09PSBmYWxzZSApIHsNCgkJCXRoaXMuX2FjdGl2YXRlKCAwICk7DQoNCgkJLy8gd2FzIGFjdGl2ZSwgYnV0IGFjdGl2ZSBwYW5lbCBpcyBnb25lDQoJCX0gZWxzZSBpZiAoIHRoaXMuYWN0aXZlLmxlbmd0aCAmJiAhJC5jb250YWlucyggdGhpcy5lbGVtZW50WyAwIF0sIHRoaXMuYWN0aXZlWyAwIF0gKSApIHsNCg0KCQkJLy8gYWxsIHJlbWFpbmluZyBwYW5lbCBhcmUgZGlzYWJsZWQNCgkJCWlmICggdGhpcy5oZWFkZXJzLmxlbmd0aCA9PT0gdGhpcy5oZWFkZXJzLmZpbmQoICIudWktc3RhdGUtZGlzYWJsZWQiICkubGVuZ3RoICkgew0KCQkJCW9wdGlvbnMuYWN0aXZlID0gZmFsc2U7DQoJCQkJdGhpcy5hY3RpdmUgPSAkKCk7DQoNCgkJCS8vIGFjdGl2YXRlIHByZXZpb3VzIHBhbmVsDQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuX2FjdGl2YXRlKCBNYXRoLm1heCggMCwgb3B0aW9ucy5hY3RpdmUgLSAxICkgKTsNCgkJCX0NCg0KCQkvLyB3YXMgYWN0aXZlLCBhY3RpdmUgcGFuZWwgc3RpbGwgZXhpc3RzDQoJCX0gZWxzZSB7DQoNCgkJCS8vIG1ha2Ugc3VyZSBhY3RpdmUgaW5kZXggaXMgY29ycmVjdA0KCQkJb3B0aW9ucy5hY3RpdmUgPSB0aGlzLmhlYWRlcnMuaW5kZXgoIHRoaXMuYWN0aXZlICk7DQoJCX0NCg0KCQl0aGlzLl9kZXN0cm95SWNvbnMoKTsNCg0KCQl0aGlzLl9yZWZyZXNoKCk7DQoJfSwNCg0KCV9wcm9jZXNzUGFuZWxzOiBmdW5jdGlvbigpIHsNCgkJdmFyIHByZXZIZWFkZXJzID0gdGhpcy5oZWFkZXJzLA0KCQkJcHJldlBhbmVscyA9IHRoaXMucGFuZWxzOw0KDQoJCXRoaXMuaGVhZGVycyA9IHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaGVhZGVyICk7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmhlYWRlcnMsICJ1aS1hY2NvcmRpb24taGVhZGVyIHVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiwNCgkJCSJ1aS1zdGF0ZS1kZWZhdWx0IiApOw0KDQoJCXRoaXMucGFuZWxzID0gdGhpcy5oZWFkZXJzLm5leHQoKS5maWx0ZXIoICI6bm90KC51aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUpIiApLmhpZGUoKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMucGFuZWxzLCAidWktYWNjb3JkaW9uLWNvbnRlbnQiLCAidWktaGVscGVyLXJlc2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCS8vIEF2b2lkIG1lbW9yeSBsZWFrcyAoIzEwMDU2KQ0KCQlpZiAoIHByZXZQYW5lbHMgKSB7DQoJCQl0aGlzLl9vZmYoIHByZXZIZWFkZXJzLm5vdCggdGhpcy5oZWFkZXJzICkgKTsNCgkJCXRoaXMuX29mZiggcHJldlBhbmVscy5ub3QoIHRoaXMucGFuZWxzICkgKTsNCgkJfQ0KCX0sDQoNCglfcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCXZhciBtYXhIZWlnaHQsDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJaGVpZ2h0U3R5bGUgPSBvcHRpb25zLmhlaWdodFN0eWxlLA0KCQkJcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudCgpOw0KDQoJCXRoaXMuYWN0aXZlID0gdGhpcy5fZmluZEFjdGl2ZSggb3B0aW9ucy5hY3RpdmUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYWN0aXZlLCAidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCAidWktc3RhdGUtYWN0aXZlIiApDQoJCQkuX3JlbW92ZUNsYXNzKCB0aGlzLmFjdGl2ZSwgInVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5hY3RpdmUubmV4dCgpLCAidWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlIiApOw0KCQl0aGlzLmFjdGl2ZS5uZXh0KCkuc2hvdygpOw0KDQoJCXRoaXMuaGVhZGVycw0KCQkJLmF0dHIoICJyb2xlIiwgInRhYiIgKQ0KCQkJLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBoZWFkZXIgPSAkKCB0aGlzICksDQoJCQkJCWhlYWRlcklkID0gaGVhZGVyLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApLA0KCQkJCQlwYW5lbCA9IGhlYWRlci5uZXh0KCksDQoJCQkJCXBhbmVsSWQgPSBwYW5lbC51bmlxdWVJZCgpLmF0dHIoICJpZCIgKTsNCgkJCQloZWFkZXIuYXR0ciggImFyaWEtY29udHJvbHMiLCBwYW5lbElkICk7DQoJCQkJcGFuZWwuYXR0ciggImFyaWEtbGFiZWxsZWRieSIsIGhlYWRlcklkICk7DQoJCQl9ICkNCgkJCS5uZXh0KCkNCgkJCQkuYXR0ciggInJvbGUiLCAidGFicGFuZWwiICk7DQoNCgkJdGhpcy5oZWFkZXJzDQoJCQkubm90KCB0aGlzLmFjdGl2ZSApDQoJCQkJLmF0dHIoIHsNCgkJCQkJImFyaWEtc2VsZWN0ZWQiOiAiZmFsc2UiLA0KCQkJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSIsDQoJCQkJCXRhYkluZGV4OiAtMQ0KCQkJCX0gKQ0KCQkJCS5uZXh0KCkNCgkJCQkJLmF0dHIoIHsNCgkJCQkJCSJhcmlhLWhpZGRlbiI6ICJ0cnVlIg0KCQkJCQl9ICkNCgkJCQkJLmhpZGUoKTsNCg0KCQkvLyBNYWtlIHN1cmUgYXQgbGVhc3Qgb25lIGhlYWRlciBpcyBpbiB0aGUgdGFiIG9yZGVyDQoJCWlmICggIXRoaXMuYWN0aXZlLmxlbmd0aCApIHsNCgkJCXRoaXMuaGVhZGVycy5lcSggMCApLmF0dHIoICJ0YWJJbmRleCIsIDAgKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYWN0aXZlLmF0dHIoIHsNCgkJCQkiYXJpYS1zZWxlY3RlZCI6ICJ0cnVlIiwNCgkJCQkiYXJpYS1leHBhbmRlZCI6ICJ0cnVlIiwNCgkJCQl0YWJJbmRleDogMA0KCQkJfSApDQoJCQkJLm5leHQoKQ0KCQkJCQkuYXR0ciggew0KCQkJCQkJImFyaWEtaGlkZGVuIjogImZhbHNlIg0KCQkJCQl9ICk7DQoJCX0NCg0KCQl0aGlzLl9jcmVhdGVJY29ucygpOw0KDQoJCXRoaXMuX3NldHVwRXZlbnRzKCBvcHRpb25zLmV2ZW50ICk7DQoNCgkJaWYgKCBoZWlnaHRTdHlsZSA9PT0gImZpbGwiICkgew0KCQkJbWF4SGVpZ2h0ID0gcGFyZW50LmhlaWdodCgpOw0KCQkJdGhpcy5lbGVtZW50LnNpYmxpbmdzKCAiOnZpc2libGUiICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsZW0gPSAkKCB0aGlzICksDQoJCQkJCXBvc2l0aW9uID0gZWxlbS5jc3MoICJwb3NpdGlvbiIgKTsNCg0KCQkJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJbWF4SGVpZ2h0IC09IGVsZW0ub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5oZWFkZXJzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCW1heEhlaWdodCAtPSAkKCB0aGlzICkub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5oZWFkZXJzLm5leHQoKQ0KCQkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkJJCggdGhpcyApLmhlaWdodCggTWF0aC5tYXgoIDAsIG1heEhlaWdodCAtDQoJCQkJCQkkKCB0aGlzICkuaW5uZXJIZWlnaHQoKSArICQoIHRoaXMgKS5oZWlnaHQoKSApICk7DQoJCQkJfSApDQoJCQkJLmNzcyggIm92ZXJmbG93IiwgImF1dG8iICk7DQoJCX0gZWxzZSBpZiAoIGhlaWdodFN0eWxlID09PSAiYXV0byIgKSB7DQoJCQltYXhIZWlnaHQgPSAwOw0KCQkJdGhpcy5oZWFkZXJzLm5leHQoKQ0KCQkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGlzVmlzaWJsZSA9ICQoIHRoaXMgKS5pcyggIjp2aXNpYmxlIiApOw0KCQkJCQlpZiAoICFpc1Zpc2libGUgKSB7DQoJCQkJCQkkKCB0aGlzICkuc2hvdygpOw0KCQkJCQl9DQoJCQkJCW1heEhlaWdodCA9IE1hdGgubWF4KCBtYXhIZWlnaHQsICQoIHRoaXMgKS5jc3MoICJoZWlnaHQiLCAiIiApLmhlaWdodCgpICk7DQoJCQkJCWlmICggIWlzVmlzaWJsZSApIHsNCgkJCQkJCSQoIHRoaXMgKS5oaWRlKCk7DQoJCQkJCX0NCgkJCQl9ICkNCgkJCQkuaGVpZ2h0KCBtYXhIZWlnaHQgKTsNCgkJfQ0KCX0sDQoNCglfYWN0aXZhdGU6IGZ1bmN0aW9uKCBpbmRleCApIHsNCgkJdmFyIGFjdGl2ZSA9IHRoaXMuX2ZpbmRBY3RpdmUoIGluZGV4IClbIDAgXTsNCg0KCQkvLyBUcnlpbmcgdG8gYWN0aXZhdGUgdGhlIGFscmVhZHkgYWN0aXZlIHBhbmVsDQoJCWlmICggYWN0aXZlID09PSB0aGlzLmFjdGl2ZVsgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gVHJ5aW5nIHRvIGNvbGxhcHNlLCBzaW11bGF0ZSBhIGNsaWNrIG9uIHRoZSBjdXJyZW50bHkgYWN0aXZlIGhlYWRlcg0KCQlhY3RpdmUgPSBhY3RpdmUgfHwgdGhpcy5hY3RpdmVbIDAgXTsNCg0KCQl0aGlzLl9ldmVudEhhbmRsZXIoIHsNCgkJCXRhcmdldDogYWN0aXZlLA0KCQkJY3VycmVudFRhcmdldDogYWN0aXZlLA0KCQkJcHJldmVudERlZmF1bHQ6ICQubm9vcA0KCQl9ICk7DQoJfSwNCg0KCV9maW5kQWN0aXZlOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7DQoJCXJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICJudW1iZXIiID8gdGhpcy5oZWFkZXJzLmVxKCBzZWxlY3RvciApIDogJCgpOw0KCX0sDQoNCglfc2V0dXBFdmVudHM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGV2ZW50cyA9IHsNCgkJCWtleWRvd246ICJfa2V5ZG93biINCgkJfTsNCgkJaWYgKCBldmVudCApIHsNCgkJCSQuZWFjaCggZXZlbnQuc3BsaXQoICIgIiApLCBmdW5jdGlvbiggaW5kZXgsIGV2ZW50TmFtZSApIHsNCgkJCQlldmVudHNbIGV2ZW50TmFtZSBdID0gIl9ldmVudEhhbmRsZXIiOw0KCQkJfSApOw0KCQl9DQoNCgkJdGhpcy5fb2ZmKCB0aGlzLmhlYWRlcnMuYWRkKCB0aGlzLmhlYWRlcnMubmV4dCgpICkgKTsNCgkJdGhpcy5fb24oIHRoaXMuaGVhZGVycywgZXZlbnRzICk7DQoJCXRoaXMuX29uKCB0aGlzLmhlYWRlcnMubmV4dCgpLCB7IGtleWRvd246ICJfcGFuZWxLZXlEb3duIiB9ICk7DQoJCXRoaXMuX2hvdmVyYWJsZSggdGhpcy5oZWFkZXJzICk7DQoJCXRoaXMuX2ZvY3VzYWJsZSggdGhpcy5oZWFkZXJzICk7DQoJfSwNCg0KCV9ldmVudEhhbmRsZXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGFjdGl2ZUNoaWxkcmVuLCBjbGlja2VkQ2hpbGRyZW4sDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJYWN0aXZlID0gdGhpcy5hY3RpdmUsDQoJCQljbGlja2VkID0gJCggZXZlbnQuY3VycmVudFRhcmdldCApLA0KCQkJY2xpY2tlZElzQWN0aXZlID0gY2xpY2tlZFsgMCBdID09PSBhY3RpdmVbIDAgXSwNCgkJCWNvbGxhcHNpbmcgPSBjbGlja2VkSXNBY3RpdmUgJiYgb3B0aW9ucy5jb2xsYXBzaWJsZSwNCgkJCXRvU2hvdyA9IGNvbGxhcHNpbmcgPyAkKCkgOiBjbGlja2VkLm5leHQoKSwNCgkJCXRvSGlkZSA9IGFjdGl2ZS5uZXh0KCksDQoJCQlldmVudERhdGEgPSB7DQoJCQkJb2xkSGVhZGVyOiBhY3RpdmUsDQoJCQkJb2xkUGFuZWw6IHRvSGlkZSwNCgkJCQluZXdIZWFkZXI6IGNvbGxhcHNpbmcgPyAkKCkgOiBjbGlja2VkLA0KCQkJCW5ld1BhbmVsOiB0b1Nob3cNCgkJCX07DQoNCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCg0KCQlpZiAoDQoNCgkJCQkvLyBjbGljayBvbiBhY3RpdmUgaGVhZGVyLCBidXQgbm90IGNvbGxhcHNpYmxlDQoJCQkJKCBjbGlja2VkSXNBY3RpdmUgJiYgIW9wdGlvbnMuY29sbGFwc2libGUgKSB8fA0KDQoJCQkJLy8gYWxsb3cgY2FuY2VsaW5nIGFjdGl2YXRpb24NCgkJCQkoIHRoaXMuX3RyaWdnZXIoICJiZWZvcmVBY3RpdmF0ZSIsIGV2ZW50LCBldmVudERhdGEgKSA9PT0gZmFsc2UgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCW9wdGlvbnMuYWN0aXZlID0gY29sbGFwc2luZyA/IGZhbHNlIDogdGhpcy5oZWFkZXJzLmluZGV4KCBjbGlja2VkICk7DQoNCgkJLy8gV2hlbiB0aGUgY2FsbCB0byAuX3RvZ2dsZSgpIGNvbWVzIGFmdGVyIHRoZSBjbGFzcyBjaGFuZ2VzDQoJCS8vIGl0IGNhdXNlcyBhIHZlcnkgb2RkIGJ1ZyBpbiBJRSA4IChzZWUgIzY3MjApDQoJCXRoaXMuYWN0aXZlID0gY2xpY2tlZElzQWN0aXZlID8gJCgpIDogY2xpY2tlZDsNCgkJdGhpcy5fdG9nZ2xlKCBldmVudERhdGEgKTsNCg0KCQkvLyBTd2l0Y2ggY2xhc3Nlcw0KCQkvLyBjb3JuZXIgY2xhc3NlcyBvbiB0aGUgcHJldmlvdXNseSBhY3RpdmUgaGVhZGVyIHN0YXkgYWZ0ZXIgdGhlIGFuaW1hdGlvbg0KCQl0aGlzLl9yZW1vdmVDbGFzcyggYWN0aXZlLCAidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQlpZiAoIG9wdGlvbnMuaWNvbnMgKSB7DQoJCQlhY3RpdmVDaGlsZHJlbiA9IGFjdGl2ZS5jaGlsZHJlbiggIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iICk7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggYWN0aXZlQ2hpbGRyZW4sIG51bGwsIG9wdGlvbnMuaWNvbnMuYWN0aXZlSGVhZGVyICkNCgkJCQkuX2FkZENsYXNzKCBhY3RpdmVDaGlsZHJlbiwgbnVsbCwgb3B0aW9ucy5pY29ucy5oZWFkZXIgKTsNCgkJfQ0KDQoJCWlmICggIWNsaWNrZWRJc0FjdGl2ZSApIHsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBjbGlja2VkLCAidWktYWNjb3JkaW9uLWhlYWRlci1jb2xsYXBzZWQiICkNCgkJCQkuX2FkZENsYXNzKCBjbGlja2VkLCAidWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUiLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJaWYgKCBvcHRpb25zLmljb25zICkgew0KCQkJCWNsaWNrZWRDaGlsZHJlbiA9IGNsaWNrZWQuY2hpbGRyZW4oICIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIiApOw0KCQkJCXRoaXMuX3JlbW92ZUNsYXNzKCBjbGlja2VkQ2hpbGRyZW4sIG51bGwsIG9wdGlvbnMuaWNvbnMuaGVhZGVyICkNCgkJCQkJLl9hZGRDbGFzcyggY2xpY2tlZENoaWxkcmVuLCBudWxsLCBvcHRpb25zLmljb25zLmFjdGl2ZUhlYWRlciApOw0KCQkJfQ0KDQoJCQl0aGlzLl9hZGRDbGFzcyggY2xpY2tlZC5uZXh0KCksICJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiICk7DQoJCX0NCgl9LA0KDQoJX3RvZ2dsZTogZnVuY3Rpb24oIGRhdGEgKSB7DQoJCXZhciB0b1Nob3cgPSBkYXRhLm5ld1BhbmVsLA0KCQkJdG9IaWRlID0gdGhpcy5wcmV2U2hvdy5sZW5ndGggPyB0aGlzLnByZXZTaG93IDogZGF0YS5vbGRQYW5lbDsNCg0KCQkvLyBIYW5kbGUgYWN0aXZhdGluZyBhIHBhbmVsIGR1cmluZyB0aGUgYW5pbWF0aW9uIGZvciBhbm90aGVyIGFjdGl2YXRpb24NCgkJdGhpcy5wcmV2U2hvdy5hZGQoIHRoaXMucHJldkhpZGUgKS5zdG9wKCB0cnVlLCB0cnVlICk7DQoJCXRoaXMucHJldlNob3cgPSB0b1Nob3c7DQoJCXRoaXMucHJldkhpZGUgPSB0b0hpZGU7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuYW5pbWF0ZSApIHsNCgkJCXRoaXMuX2FuaW1hdGUoIHRvU2hvdywgdG9IaWRlLCBkYXRhICk7DQoJCX0gZWxzZSB7DQoJCQl0b0hpZGUuaGlkZSgpOw0KCQkJdG9TaG93LnNob3coKTsNCgkJCXRoaXMuX3RvZ2dsZUNvbXBsZXRlKCBkYXRhICk7DQoJCX0NCg0KCQl0b0hpZGUuYXR0ciggew0KCQkJImFyaWEtaGlkZGVuIjogInRydWUiDQoJCX0gKTsNCgkJdG9IaWRlLnByZXYoKS5hdHRyKCB7DQoJCQkiYXJpYS1zZWxlY3RlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSINCgkJfSApOw0KDQoJCS8vIGlmIHdlJ3JlIHN3aXRjaGluZyBwYW5lbHMsIHJlbW92ZSB0aGUgb2xkIGhlYWRlciBmcm9tIHRoZSB0YWIgb3JkZXINCgkJLy8gaWYgd2UncmUgb3BlbmluZyBmcm9tIGNvbGxhcHNlZCBzdGF0ZSwgcmVtb3ZlIHRoZSBwcmV2aW91cyBoZWFkZXIgZnJvbSB0aGUgdGFiIG9yZGVyDQoJCS8vIGlmIHdlJ3JlIGNvbGxhcHNpbmcsIHRoZW4ga2VlcCB0aGUgY29sbGFwc2luZyBoZWFkZXIgaW4gdGhlIHRhYiBvcmRlcg0KCQlpZiAoIHRvU2hvdy5sZW5ndGggJiYgdG9IaWRlLmxlbmd0aCApIHsNCgkJCXRvSGlkZS5wcmV2KCkuYXR0ciggew0KCQkJCSJ0YWJJbmRleCI6IC0xLA0KCQkJCSJhcmlhLWV4cGFuZGVkIjogImZhbHNlIg0KCQkJfSApOw0KCQl9IGVsc2UgaWYgKCB0b1Nob3cubGVuZ3RoICkgew0KCQkJdGhpcy5oZWFkZXJzLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuIHBhcnNlSW50KCAkKCB0aGlzICkuYXR0ciggInRhYkluZGV4IiApLCAxMCApID09PSAwOw0KCQkJfSApDQoJCQkJLmF0dHIoICJ0YWJJbmRleCIsIC0xICk7DQoJCX0NCg0KCQl0b1Nob3cNCgkJCS5hdHRyKCAiYXJpYS1oaWRkZW4iLCAiZmFsc2UiICkNCgkJCS5wcmV2KCkNCgkJCQkuYXR0ciggew0KCQkJCQkiYXJpYS1zZWxlY3RlZCI6ICJ0cnVlIiwNCgkJCQkJImFyaWEtZXhwYW5kZWQiOiAidHJ1ZSIsDQoJCQkJCXRhYkluZGV4OiAwDQoJCQkJfSApOw0KCX0sDQoNCglfYW5pbWF0ZTogZnVuY3Rpb24oIHRvU2hvdywgdG9IaWRlLCBkYXRhICkgew0KCQl2YXIgdG90YWwsIGVhc2luZywgZHVyYXRpb24sDQoJCQl0aGF0ID0gdGhpcywNCgkJCWFkanVzdCA9IDAsDQoJCQlib3hTaXppbmcgPSB0b1Nob3cuY3NzKCAiYm94LXNpemluZyIgKSwNCgkJCWRvd24gPSB0b1Nob3cubGVuZ3RoICYmDQoJCQkJKCAhdG9IaWRlLmxlbmd0aCB8fCAoIHRvU2hvdy5pbmRleCgpIDwgdG9IaWRlLmluZGV4KCkgKSApLA0KCQkJYW5pbWF0ZSA9IHRoaXMub3B0aW9ucy5hbmltYXRlIHx8IHt9LA0KCQkJb3B0aW9ucyA9IGRvd24gJiYgYW5pbWF0ZS5kb3duIHx8IGFuaW1hdGUsDQoJCQljb21wbGV0ZSA9IGZ1bmN0aW9uKCkgew0KCQkJCXRoYXQuX3RvZ2dsZUNvbXBsZXRlKCBkYXRhICk7DQoJCQl9Ow0KDQoJCWlmICggdHlwZW9mIG9wdGlvbnMgPT09ICJudW1iZXIiICkgew0KCQkJZHVyYXRpb24gPSBvcHRpb25zOw0KCQl9DQoJCWlmICggdHlwZW9mIG9wdGlvbnMgPT09ICJzdHJpbmciICkgew0KCQkJZWFzaW5nID0gb3B0aW9uczsNCgkJfQ0KDQoJCS8vIGZhbGwgYmFjayBmcm9tIG9wdGlvbnMgdG8gYW5pbWF0aW9uIGluIGNhc2Ugb2YgcGFydGlhbCBkb3duIHNldHRpbmdzDQoJCWVhc2luZyA9IGVhc2luZyB8fCBvcHRpb25zLmVhc2luZyB8fCBhbmltYXRlLmVhc2luZzsNCgkJZHVyYXRpb24gPSBkdXJhdGlvbiB8fCBvcHRpb25zLmR1cmF0aW9uIHx8IGFuaW1hdGUuZHVyYXRpb247DQoNCgkJaWYgKCAhdG9IaWRlLmxlbmd0aCApIHsNCgkJCXJldHVybiB0b1Nob3cuYW5pbWF0ZSggdGhpcy5zaG93UHJvcHMsIGR1cmF0aW9uLCBlYXNpbmcsIGNvbXBsZXRlICk7DQoJCX0NCgkJaWYgKCAhdG9TaG93Lmxlbmd0aCApIHsNCgkJCXJldHVybiB0b0hpZGUuYW5pbWF0ZSggdGhpcy5oaWRlUHJvcHMsIGR1cmF0aW9uLCBlYXNpbmcsIGNvbXBsZXRlICk7DQoJCX0NCg0KCQl0b3RhbCA9IHRvU2hvdy5zaG93KCkub3V0ZXJIZWlnaHQoKTsNCgkJdG9IaWRlLmFuaW1hdGUoIHRoaXMuaGlkZVByb3BzLCB7DQoJCQlkdXJhdGlvbjogZHVyYXRpb24sDQoJCQllYXNpbmc6IGVhc2luZywNCgkJCXN0ZXA6IGZ1bmN0aW9uKCBub3csIGZ4ICkgew0KCQkJCWZ4Lm5vdyA9IE1hdGgucm91bmQoIG5vdyApOw0KCQkJfQ0KCQl9ICk7DQoJCXRvU2hvdw0KCQkJLmhpZGUoKQ0KCQkJLmFuaW1hdGUoIHRoaXMuc2hvd1Byb3BzLCB7DQoJCQkJZHVyYXRpb246IGR1cmF0aW9uLA0KCQkJCWVhc2luZzogZWFzaW5nLA0KCQkJCWNvbXBsZXRlOiBjb21wbGV0ZSwNCgkJCQlzdGVwOiBmdW5jdGlvbiggbm93LCBmeCApIHsNCgkJCQkJZngubm93ID0gTWF0aC5yb3VuZCggbm93ICk7DQoJCQkJCWlmICggZngucHJvcCAhPT0gImhlaWdodCIgKSB7DQoJCQkJCQlpZiAoIGJveFNpemluZyA9PT0gImNvbnRlbnQtYm94IiApIHsNCgkJCQkJCQlhZGp1c3QgKz0gZngubm93Ow0KCQkJCQkJfQ0KCQkJCQl9IGVsc2UgaWYgKCB0aGF0Lm9wdGlvbnMuaGVpZ2h0U3R5bGUgIT09ICJjb250ZW50IiApIHsNCgkJCQkJCWZ4Lm5vdyA9IE1hdGgucm91bmQoIHRvdGFsIC0gdG9IaWRlLm91dGVySGVpZ2h0KCkgLSBhZGp1c3QgKTsNCgkJCQkJCWFkanVzdCA9IDA7DQoJCQkJCX0NCgkJCQl9DQoJCQl9ICk7DQoJfSwNCg0KCV90b2dnbGVDb21wbGV0ZTogZnVuY3Rpb24oIGRhdGEgKSB7DQoJCXZhciB0b0hpZGUgPSBkYXRhLm9sZFBhbmVsLA0KCQkJcHJldiA9IHRvSGlkZS5wcmV2KCk7DQoNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRvSGlkZSwgInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIgKTsNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHByZXYsICJ1aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSIgKQ0KCQkJLl9hZGRDbGFzcyggcHJldiwgInVpLWFjY29yZGlvbi1oZWFkZXItY29sbGFwc2VkIiApOw0KDQoJCS8vIFdvcmsgYXJvdW5kIGZvciByZW5kZXJpbmcgYnVnIGluIElFICgjNTQyMSkNCgkJaWYgKCB0b0hpZGUubGVuZ3RoICkgew0KCQkJdG9IaWRlLnBhcmVudCgpWyAwIF0uY2xhc3NOYW1lID0gdG9IaWRlLnBhcmVudCgpWyAwIF0uY2xhc3NOYW1lOw0KCQl9DQoJCXRoaXMuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIG51bGwsIGRhdGEgKTsNCgl9DQp9ICk7DQoNCg0KDQp2YXIgc2FmZUFjdGl2ZUVsZW1lbnQgPSAkLnVpLnNhZmVBY3RpdmVFbGVtZW50ID0gZnVuY3Rpb24oIGRvY3VtZW50ICkgew0KCXZhciBhY3RpdmVFbGVtZW50Ow0KDQoJLy8gU3VwcG9ydDogSUUgOSBvbmx5DQoJLy8gSUU5IHRocm93cyBhbiAiVW5zcGVjaWZpZWQgZXJyb3IiIGFjY2Vzc2luZyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGZyb20gYW4gPGlmcmFtZT4NCgl0cnkgew0KCQlhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsNCgl9IGNhdGNoICggZXJyb3IgKSB7DQoJCWFjdGl2ZUVsZW1lbnQgPSBkb2N1bWVudC5ib2R5Ow0KCX0NCg0KCS8vIFN1cHBvcnQ6IElFIDkgLSAxMSBvbmx5DQoJLy8gSUUgbWF5IHJldHVybiBudWxsIGluc3RlYWQgb2YgYW4gZWxlbWVudA0KCS8vIEludGVyZXN0aW5nbHksIHRoaXMgb25seSBzZWVtcyB0byBvY2N1ciB3aGVuIE5PVCBpbiBhbiBpZnJhbWUNCglpZiAoICFhY3RpdmVFbGVtZW50ICkgew0KCQlhY3RpdmVFbGVtZW50ID0gZG9jdW1lbnQuYm9keTsNCgl9DQoNCgkvLyBTdXBwb3J0OiBJRSAxMSBvbmx5DQoJLy8gSUUxMSByZXR1cm5zIGEgc2VlbWluZ2x5IGVtcHR5IG9iamVjdCBpbiBzb21lIGNhc2VzIHdoZW4gYWNjZXNzaW5nDQoJLy8gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBmcm9tIGFuIDxpZnJhbWU+DQoJaWYgKCAhYWN0aXZlRWxlbWVudC5ub2RlTmFtZSApIHsNCgkJYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmJvZHk7DQoJfQ0KDQoJcmV0dXJuIGFjdGl2ZUVsZW1lbnQ7DQp9Ow0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIE1lbnUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IE1lbnUNCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBDcmVhdGVzIG5lc3RhYmxlIG1lbnVzLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL21lbnUvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vbWVudS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL21lbnUuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzTWVudSA9ICQud2lkZ2V0KCAidWkubWVudSIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjx1bD4iLA0KCWRlbGF5OiAzMDAsDQoJb3B0aW9uczogew0KCQlpY29uczogew0KCQkJc3VibWVudTogInVpLWljb24tY2FyZXQtMS1lIg0KCQl9LA0KCQlpdGVtczogIj4gKiIsDQoJCW1lbnVzOiAidWwiLA0KCQlwb3NpdGlvbjogew0KCQkJbXk6ICJsZWZ0IHRvcCIsDQoJCQlhdDogInJpZ2h0IHRvcCINCgkJfSwNCgkJcm9sZTogIm1lbnUiLA0KDQoJCS8vIENhbGxiYWNrcw0KCQlibHVyOiBudWxsLA0KCQlmb2N1czogbnVsbCwNCgkJc2VsZWN0OiBudWxsDQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmFjdGl2ZU1lbnUgPSB0aGlzLmVsZW1lbnQ7DQoNCgkJLy8gRmxhZyB1c2VkIHRvIHByZXZlbnQgZmlyaW5nIG9mIHRoZSBjbGljayBoYW5kbGVyDQoJCS8vIGFzIHRoZSBldmVudCBidWJibGVzIHVwIHRocm91Z2ggbmVzdGVkIG1lbnVzDQoJCXRoaXMubW91c2VIYW5kbGVkID0gZmFsc2U7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnVuaXF1ZUlkKCkNCgkJCS5hdHRyKCB7DQoJCQkJcm9sZTogdGhpcy5vcHRpb25zLnJvbGUsDQoJCQkJdGFiSW5kZXg6IDANCgkJCX0gKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggInVpLW1lbnUiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KCQl0aGlzLl9vbiggew0KDQoJCQkvLyBQcmV2ZW50IGZvY3VzIGZyb20gc3RpY2tpbmcgdG8gbGlua3MgaW5zaWRlIG1lbnUgYWZ0ZXIgY2xpY2tpbmcNCgkJCS8vIHRoZW0gKGZvY3VzIHNob3VsZCBhbHdheXMgc3RheSBvbiBVTCBkdXJpbmcgbmF2aWdhdGlvbikuDQoJCQkibW91c2Vkb3duIC51aS1tZW51LWl0ZW0iOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCX0sDQoJCQkiY2xpY2sgLnVpLW1lbnUtaXRlbSI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl2YXIgdGFyZ2V0ID0gJCggZXZlbnQudGFyZ2V0ICk7DQoJCQkJdmFyIGFjdGl2ZSA9ICQoICQudWkuc2FmZUFjdGl2ZUVsZW1lbnQoIHRoaXMuZG9jdW1lbnRbIDAgXSApICk7DQoJCQkJaWYgKCAhdGhpcy5tb3VzZUhhbmRsZWQgJiYgdGFyZ2V0Lm5vdCggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKS5sZW5ndGggKSB7DQoJCQkJCXRoaXMuc2VsZWN0KCBldmVudCApOw0KDQoJCQkJCS8vIE9ubHkgc2V0IHRoZSBtb3VzZUhhbmRsZWQgZmxhZyBpZiB0aGUgZXZlbnQgd2lsbCBidWJibGUsIHNlZSAjOTQ2OS4NCgkJCQkJaWYgKCAhZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHsNCgkJCQkJCXRoaXMubW91c2VIYW5kbGVkID0gdHJ1ZTsNCgkJCQkJfQ0KDQoJCQkJCS8vIE9wZW4gc3VibWVudSBvbiBjbGljaw0KCQkJCQlpZiAoIHRhcmdldC5oYXMoICIudWktbWVudSIgKS5sZW5ndGggKSB7DQoJCQkJCQl0aGlzLmV4cGFuZCggZXZlbnQgKTsNCgkJCQkJfSBlbHNlIGlmICggIXRoaXMuZWxlbWVudC5pcyggIjpmb2N1cyIgKSAmJg0KCQkJCQkJCWFjdGl2ZS5jbG9zZXN0KCAiLnVpLW1lbnUiICkubGVuZ3RoICkgew0KDQoJCQkJCQkvLyBSZWRpcmVjdCBmb2N1cyB0byB0aGUgbWVudQ0KCQkJCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJmb2N1cyIsIFsgdHJ1ZSBdICk7DQoNCgkJCQkJCS8vIElmIHRoZSBhY3RpdmUgaXRlbSBpcyBvbiB0aGUgdG9wIGxldmVsLCBsZXQgaXQgc3RheSBhY3RpdmUuDQoJCQkJCQkvLyBPdGhlcndpc2UsIGJsdXIgdGhlIGFjdGl2ZSBpdGVtIHNpbmNlIGl0IGlzIG5vIGxvbmdlciB2aXNpYmxlLg0KCQkJCQkJaWYgKCB0aGlzLmFjdGl2ZSAmJiB0aGlzLmFjdGl2ZS5wYXJlbnRzKCAiLnVpLW1lbnUiICkubGVuZ3RoID09PSAxICkgew0KCQkJCQkJCWNsZWFyVGltZW91dCggdGhpcy50aW1lciApOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJfQ0KCQkJfSwNCgkJCSJtb3VzZWVudGVyIC51aS1tZW51LWl0ZW0iOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJCQkvLyBJZ25vcmUgbW91c2UgZXZlbnRzIHdoaWxlIHR5cGVhaGVhZCBpcyBhY3RpdmUsIHNlZSAjMTA0NTguDQoJCQkJLy8gUHJldmVudHMgZm9jdXNpbmcgdGhlIHdyb25nIGl0ZW0gd2hlbiB0eXBlYWhlYWQgY2F1c2VzIGEgc2Nyb2xsIHdoaWxlIHRoZSBtb3VzZQ0KCQkJCS8vIGlzIG92ZXIgYW4gaXRlbSBpbiB0aGUgbWVudQ0KCQkJCWlmICggdGhpcy5wcmV2aW91c0ZpbHRlciApIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCg0KCQkJCXZhciBhY3R1YWxUYXJnZXQgPSAkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLW1lbnUtaXRlbSIgKSwNCgkJCQkJdGFyZ2V0ID0gJCggZXZlbnQuY3VycmVudFRhcmdldCApOw0KDQoJCQkJLy8gSWdub3JlIGJ1YmJsZWQgZXZlbnRzIG9uIHBhcmVudCBpdGVtcywgc2VlICMxMTY0MQ0KCQkJCWlmICggYWN0dWFsVGFyZ2V0WyAwIF0gIT09IHRhcmdldFsgMCBdICkgew0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KDQoJCQkJLy8gUmVtb3ZlIHVpLXN0YXRlLWFjdGl2ZSBjbGFzcyBmcm9tIHNpYmxpbmdzIG9mIHRoZSBuZXdseSBmb2N1c2VkIG1lbnUgaXRlbQ0KCQkJCS8vIHRvIGF2b2lkIGEganVtcCBjYXVzZWQgYnkgYWRqYWNlbnQgZWxlbWVudHMgYm90aCBoYXZpbmcgYSBjbGFzcyB3aXRoIGEgYm9yZGVyDQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRhcmdldC5zaWJsaW5ncygpLmNoaWxkcmVuKCAiLnVpLXN0YXRlLWFjdGl2ZSIgKSwNCgkJCQkJbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQl0aGlzLmZvY3VzKCBldmVudCwgdGFyZ2V0ICk7DQoJCQl9LA0KCQkJbW91c2VsZWF2ZTogImNvbGxhcHNlQWxsIiwNCgkJCSJtb3VzZWxlYXZlIC51aS1tZW51IjogImNvbGxhcHNlQWxsIiwNCgkJCWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIGtlZXBBY3RpdmVJdGVtICkgew0KDQoJCQkJLy8gSWYgdGhlcmUncyBhbHJlYWR5IGFuIGFjdGl2ZSBpdGVtLCBrZWVwIGl0IGFjdGl2ZQ0KCQkJCS8vIElmIG5vdCwgYWN0aXZhdGUgdGhlIGZpcnN0IGl0ZW0NCgkJCQl2YXIgaXRlbSA9IHRoaXMuYWN0aXZlIHx8IHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKS5lcSggMCApOw0KDQoJCQkJaWYgKCAha2VlcEFjdGl2ZUl0ZW0gKSB7DQoJCQkJCXRoaXMuZm9jdXMoIGV2ZW50LCBpdGVtICk7DQoJCQkJfQ0KCQkJfSwNCgkJCWJsdXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBub3RDb250YWluZWQgPSAhJC5jb250YWlucygNCgkJCQkJCXRoaXMuZWxlbWVudFsgMCBdLA0KCQkJCQkJJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkNCgkJCQkJKTsNCgkJCQkJaWYgKCBub3RDb250YWluZWQgKSB7DQoJCQkJCQl0aGlzLmNvbGxhcHNlQWxsKCBldmVudCApOw0KCQkJCQl9DQoJCQkJfSApOw0KCQkJfSwNCgkJCWtleWRvd246ICJfa2V5ZG93biINCgkJfSApOw0KDQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCS8vIENsaWNrcyBvdXRzaWRlIG9mIGEgbWVudSBjb2xsYXBzZSBhbnkgb3BlbiBtZW51cw0KCQl0aGlzLl9vbiggdGhpcy5kb2N1bWVudCwgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlpZiAoIHRoaXMuX2Nsb3NlT25Eb2N1bWVudENsaWNrKCBldmVudCApICkgew0KCQkJCQl0aGlzLmNvbGxhcHNlQWxsKCBldmVudCApOw0KCQkJCX0NCg0KCQkJCS8vIFJlc2V0IHRoZSBtb3VzZUhhbmRsZWQgZmxhZw0KCQkJCXRoaXMubW91c2VIYW5kbGVkID0gZmFsc2U7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaXRlbXMgPSB0aGlzLmVsZW1lbnQuZmluZCggIi51aS1tZW51LWl0ZW0iICkNCgkJCQkucmVtb3ZlQXR0ciggInJvbGUgYXJpYS1kaXNhYmxlZCIgKSwNCgkJCXN1Ym1lbnVzID0gaXRlbXMuY2hpbGRyZW4oICIudWktbWVudS1pdGVtLXdyYXBwZXIiICkNCgkJCQkucmVtb3ZlVW5pcXVlSWQoKQ0KCQkJCS5yZW1vdmVBdHRyKCAidGFiSW5kZXggcm9sZSBhcmlhLWhhc3BvcHVwIiApOw0KDQoJCS8vIERlc3Ryb3kgKHN1YiltZW51cw0KCQl0aGlzLmVsZW1lbnQNCgkJCS5yZW1vdmVBdHRyKCAiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiApDQoJCQkuZmluZCggIi51aS1tZW51IiApLmFkZEJhY2soKQ0KCQkJCS5yZW1vdmVBdHRyKCAicm9sZSBhcmlhLWxhYmVsbGVkYnkgYXJpYS1leHBhbmRlZCBhcmlhLWhpZGRlbiBhcmlhLWRpc2FibGVkICIgKw0KCQkJCQkidGFiSW5kZXgiICkNCgkJCQkucmVtb3ZlVW5pcXVlSWQoKQ0KCQkJCS5zaG93KCk7DQoNCgkJc3VibWVudXMuY2hpbGRyZW4oKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBlbGVtID0gJCggdGhpcyApOw0KCQkJaWYgKCBlbGVtLmRhdGEoICJ1aS1tZW51LXN1Ym1lbnUtY2FyZXQiICkgKSB7DQoJCQkJZWxlbS5yZW1vdmUoKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoNCglfa2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgbWF0Y2gsIHByZXYsIGNoYXJhY3Rlciwgc2tpcCwNCgkJCXByZXZlbnREZWZhdWx0ID0gdHJ1ZTsNCg0KCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQljYXNlICQudWkua2V5Q29kZS5QQUdFX1VQOg0KCQkJdGhpcy5wcmV2aW91c1BhZ2UoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJdGhpcy5uZXh0UGFnZSggZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5IT01FOg0KCQkJdGhpcy5fbW92ZSggImZpcnN0IiwgImZpcnN0IiwgZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQl0aGlzLl9tb3ZlKCAibGFzdCIsICJsYXN0IiwgZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5VUDoNCgkJCXRoaXMucHJldmlvdXMoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuRE9XTjoNCgkJCXRoaXMubmV4dCggZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5MRUZUOg0KCQkJdGhpcy5jb2xsYXBzZSggZXZlbnQgKTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5SSUdIVDoNCgkJCWlmICggdGhpcy5hY3RpdmUgJiYgIXRoaXMuYWN0aXZlLmlzKCAiLnVpLXN0YXRlLWRpc2FibGVkIiApICkgew0KCQkJCXRoaXMuZXhwYW5kKCBldmVudCApOw0KCQkJfQ0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLkVOVEVSOg0KCQljYXNlICQudWkua2V5Q29kZS5TUEFDRToNCgkJCXRoaXMuX2FjdGl2YXRlKCBldmVudCApOw0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLkVTQ0FQRToNCgkJCXRoaXMuY29sbGFwc2UoIGV2ZW50ICk7DQoJCQlicmVhazsNCgkJZGVmYXVsdDoNCgkJCXByZXZlbnREZWZhdWx0ID0gZmFsc2U7DQoJCQlwcmV2ID0gdGhpcy5wcmV2aW91c0ZpbHRlciB8fCAiIjsNCgkJCXNraXAgPSBmYWxzZTsNCg0KCQkJLy8gU3VwcG9ydCBudW1iZXIgcGFkIHZhbHVlcw0KCQkJY2hhcmFjdGVyID0gZXZlbnQua2V5Q29kZSA+PSA5NiAmJiBldmVudC5rZXlDb2RlIDw9IDEwNSA/DQoJCQkJKCBldmVudC5rZXlDb2RlIC0gOTYgKS50b1N0cmluZygpIDogU3RyaW5nLmZyb21DaGFyQ29kZSggZXZlbnQua2V5Q29kZSApOw0KDQoJCQljbGVhclRpbWVvdXQoIHRoaXMuZmlsdGVyVGltZXIgKTsNCg0KCQkJaWYgKCBjaGFyYWN0ZXIgPT09IHByZXYgKSB7DQoJCQkJc2tpcCA9IHRydWU7DQoJCQl9IGVsc2Ugew0KCQkJCWNoYXJhY3RlciA9IHByZXYgKyBjaGFyYWN0ZXI7DQoJCQl9DQoNCgkJCW1hdGNoID0gdGhpcy5fZmlsdGVyTWVudUl0ZW1zKCBjaGFyYWN0ZXIgKTsNCgkJCW1hdGNoID0gc2tpcCAmJiBtYXRjaC5pbmRleCggdGhpcy5hY3RpdmUubmV4dCgpICkgIT09IC0xID8NCgkJCQl0aGlzLmFjdGl2ZS5uZXh0QWxsKCAiLnVpLW1lbnUtaXRlbSIgKSA6DQoJCQkJbWF0Y2g7DQoNCgkJCS8vIElmIG5vIG1hdGNoZXMgb24gdGhlIGN1cnJlbnQgZmlsdGVyLCByZXNldCB0byB0aGUgbGFzdCBjaGFyYWN0ZXIgcHJlc3NlZA0KCQkJLy8gdG8gbW92ZSBkb3duIHRoZSBtZW51IHRvIHRoZSBmaXJzdCBpdGVtIHRoYXQgc3RhcnRzIHdpdGggdGhhdCBjaGFyYWN0ZXINCgkJCWlmICggIW1hdGNoLmxlbmd0aCApIHsNCgkJCQljaGFyYWN0ZXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKCBldmVudC5rZXlDb2RlICk7DQoJCQkJbWF0Y2ggPSB0aGlzLl9maWx0ZXJNZW51SXRlbXMoIGNoYXJhY3RlciApOw0KCQkJfQ0KDQoJCQlpZiAoIG1hdGNoLmxlbmd0aCApIHsNCgkJCQl0aGlzLmZvY3VzKCBldmVudCwgbWF0Y2ggKTsNCgkJCQl0aGlzLnByZXZpb3VzRmlsdGVyID0gY2hhcmFjdGVyOw0KCQkJCXRoaXMuZmlsdGVyVGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJCWRlbGV0ZSB0aGlzLnByZXZpb3VzRmlsdGVyOw0KCQkJCX0sIDEwMDAgKTsNCgkJCX0gZWxzZSB7DQoJCQkJZGVsZXRlIHRoaXMucHJldmlvdXNGaWx0ZXI7DQoJCQl9DQoJCX0NCg0KCQlpZiAoIHByZXZlbnREZWZhdWx0ICkgew0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJfQ0KCX0sDQoNCglfYWN0aXZhdGU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCB0aGlzLmFjdGl2ZSAmJiAhdGhpcy5hY3RpdmUuaXMoICIudWktc3RhdGUtZGlzYWJsZWQiICkgKSB7DQoJCQlpZiAoIHRoaXMuYWN0aXZlLmNoaWxkcmVuKCAiW2FyaWEtaGFzcG9wdXA9J3RydWUnXSIgKS5sZW5ndGggKSB7DQoJCQkJdGhpcy5leHBhbmQoIGV2ZW50ICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuc2VsZWN0KCBldmVudCApOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCXJlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl2YXIgbWVudXMsIGl0ZW1zLCBuZXdTdWJtZW51cywgbmV3SXRlbXMsIG5ld1dyYXBwZXJzLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlpY29uID0gdGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUsDQoJCQlzdWJtZW51cyA9IHRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMubWVudXMgKTsNCg0KCQl0aGlzLl90b2dnbGVDbGFzcyggInVpLW1lbnUtaWNvbnMiLCBudWxsLCAhIXRoaXMuZWxlbWVudC5maW5kKCAiLnVpLWljb24iICkubGVuZ3RoICk7DQoNCgkJLy8gSW5pdGlhbGl6ZSBuZXN0ZWQgbWVudXMNCgkJbmV3U3VibWVudXMgPSBzdWJtZW51cy5maWx0ZXIoICI6bm90KC51aS1tZW51KSIgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoIHsNCgkJCQlyb2xlOiB0aGlzLm9wdGlvbnMucm9sZSwNCgkJCQkiYXJpYS1oaWRkZW4iOiAidHJ1ZSIsDQoJCQkJImFyaWEtZXhwYW5kZWQiOiAiZmFsc2UiDQoJCQl9ICkNCgkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQl2YXIgbWVudSA9ICQoIHRoaXMgKSwNCgkJCQkJaXRlbSA9IG1lbnUucHJldigpLA0KCQkJCQlzdWJtZW51Q2FyZXQgPSAkKCAiPHNwYW4+IiApLmRhdGEoICJ1aS1tZW51LXN1Ym1lbnUtY2FyZXQiLCB0cnVlICk7DQoNCgkJCQl0aGF0Ll9hZGRDbGFzcyggc3VibWVudUNhcmV0LCAidWktbWVudS1pY29uIiwgInVpLWljb24gIiArIGljb24gKTsNCgkJCQlpdGVtDQoJCQkJCS5hdHRyKCAiYXJpYS1oYXNwb3B1cCIsICJ0cnVlIiApDQoJCQkJCS5wcmVwZW5kKCBzdWJtZW51Q2FyZXQgKTsNCgkJCQltZW51LmF0dHIoICJhcmlhLWxhYmVsbGVkYnkiLCBpdGVtLmF0dHIoICJpZCIgKSApOw0KCQkJfSApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCBuZXdTdWJtZW51cywgInVpLW1lbnUiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWZyb250IiApOw0KDQoJCW1lbnVzID0gc3VibWVudXMuYWRkKCB0aGlzLmVsZW1lbnQgKTsNCgkJaXRlbXMgPSBtZW51cy5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKTsNCg0KCQkvLyBJbml0aWFsaXplIG1lbnUtaXRlbXMgY29udGFpbmluZyBzcGFjZXMgYW5kL29yIGRhc2hlcyBvbmx5IGFzIGRpdmlkZXJzDQoJCWl0ZW1zLm5vdCggIi51aS1tZW51LWl0ZW0iICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgaXRlbSA9ICQoIHRoaXMgKTsNCgkJCWlmICggdGhhdC5faXNEaXZpZGVyKCBpdGVtICkgKSB7DQoJCQkJdGhhdC5fYWRkQ2xhc3MoIGl0ZW0sICJ1aS1tZW51LWRpdmlkZXIiLCAidWktd2lkZ2V0LWNvbnRlbnQiICk7DQoJCQl9DQoJCX0gKTsNCg0KCQkvLyBEb24ndCByZWZyZXNoIGxpc3QgaXRlbXMgdGhhdCBhcmUgYWxyZWFkeSBhZGFwdGVkDQoJCW5ld0l0ZW1zID0gaXRlbXMubm90KCAiLnVpLW1lbnUtaXRlbSwgLnVpLW1lbnUtZGl2aWRlciIgKTsNCgkJbmV3V3JhcHBlcnMgPSBuZXdJdGVtcy5jaGlsZHJlbigpDQoJCQkubm90KCAiLnVpLW1lbnUiICkNCgkJCQkudW5pcXVlSWQoKQ0KCQkJCS5hdHRyKCB7DQoJCQkJCXRhYkluZGV4OiAtMSwNCgkJCQkJcm9sZTogdGhpcy5faXRlbVJvbGUoKQ0KCQkJCX0gKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIG5ld0l0ZW1zLCAidWktbWVudS1pdGVtIiApDQoJCQkuX2FkZENsYXNzKCBuZXdXcmFwcGVycywgInVpLW1lbnUtaXRlbS13cmFwcGVyIiApOw0KDQoJCS8vIEFkZCBhcmlhLWRpc2FibGVkIGF0dHJpYnV0ZSB0byBhbnkgZGlzYWJsZWQgbWVudSBpdGVtDQoJCWl0ZW1zLmZpbHRlciggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKS5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsICJ0cnVlIiApOw0KDQoJCS8vIElmIHRoZSBhY3RpdmUgaXRlbSBoYXMgYmVlbiByZW1vdmVkLCBibHVyIHRoZSBtZW51DQoJCWlmICggdGhpcy5hY3RpdmUgJiYgISQuY29udGFpbnMoIHRoaXMuZWxlbWVudFsgMCBdLCB0aGlzLmFjdGl2ZVsgMCBdICkgKSB7DQoJCQl0aGlzLmJsdXIoKTsNCgkJfQ0KCX0sDQoNCglfaXRlbVJvbGU6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJbWVudTogIm1lbnVpdGVtIiwNCgkJCWxpc3Rib3g6ICJvcHRpb24iDQoJCX1bIHRoaXMub3B0aW9ucy5yb2xlIF07DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImljb25zIiApIHsNCgkJCXZhciBpY29ucyA9IHRoaXMuZWxlbWVudC5maW5kKCAiLnVpLW1lbnUtaWNvbiIgKTsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBpY29ucywgbnVsbCwgdGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUgKQ0KCQkJCS5fYWRkQ2xhc3MoIGljb25zLCBudWxsLCB2YWx1ZS5zdWJtZW51ICk7DQoJCX0NCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXMuX3N1cGVyKCB2YWx1ZSApOw0KDQoJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXJpYS1kaXNhYmxlZCIsIFN0cmluZyggdmFsdWUgKSApOw0KCQl0aGlzLl90b2dnbGVDbGFzcyggbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwgISF2YWx1ZSApOw0KCX0sDQoNCglmb2N1czogZnVuY3Rpb24oIGV2ZW50LCBpdGVtICkgew0KCQl2YXIgbmVzdGVkLCBmb2N1c2VkLCBhY3RpdmVQYXJlbnQ7DQoJCXRoaXMuYmx1ciggZXZlbnQsIGV2ZW50ICYmIGV2ZW50LnR5cGUgPT09ICJmb2N1cyIgKTsNCg0KCQl0aGlzLl9zY3JvbGxJbnRvVmlldyggaXRlbSApOw0KDQoJCXRoaXMuYWN0aXZlID0gaXRlbS5maXJzdCgpOw0KDQoJCWZvY3VzZWQgPSB0aGlzLmFjdGl2ZS5jaGlsZHJlbiggIi51aS1tZW51LWl0ZW0td3JhcHBlciIgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIGZvY3VzZWQsIG51bGwsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoNCgkJLy8gT25seSB1cGRhdGUgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGlmIHRoZXJlJ3MgYSByb2xlDQoJCS8vIG90aGVyd2lzZSB3ZSBhc3N1bWUgZm9jdXMgaXMgbWFuYWdlZCBlbHNld2hlcmUNCgkJaWYgKCB0aGlzLm9wdGlvbnMucm9sZSApIHsNCgkJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiwgZm9jdXNlZC5hdHRyKCAiaWQiICkgKTsNCgkJfQ0KDQoJCS8vIEhpZ2hsaWdodCBhY3RpdmUgcGFyZW50IG1lbnUgaXRlbSwgaWYgYW55DQoJCWFjdGl2ZVBhcmVudCA9IHRoaXMuYWN0aXZlDQoJCQkucGFyZW50KCkNCgkJCQkuY2xvc2VzdCggIi51aS1tZW51LWl0ZW0iICkNCgkJCQkJLmNoaWxkcmVuKCAiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggYWN0aXZlUGFyZW50LCBudWxsLCAidWktc3RhdGUtYWN0aXZlIiApOw0KDQoJCWlmICggZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gImtleWRvd24iICkgew0KCQkJdGhpcy5fY2xvc2UoKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMudGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fY2xvc2UoKTsNCgkJCX0sIHRoaXMuZGVsYXkgKTsNCgkJfQ0KDQoJCW5lc3RlZCA9IGl0ZW0uY2hpbGRyZW4oICIudWktbWVudSIgKTsNCgkJaWYgKCBuZXN0ZWQubGVuZ3RoICYmIGV2ZW50ICYmICggL15tb3VzZS8udGVzdCggZXZlbnQudHlwZSApICkgKSB7DQoJCQl0aGlzLl9zdGFydE9wZW5pbmcoIG5lc3RlZCApOw0KCQl9DQoJCXRoaXMuYWN0aXZlTWVudSA9IGl0ZW0ucGFyZW50KCk7DQoNCgkJdGhpcy5fdHJpZ2dlciggImZvY3VzIiwgZXZlbnQsIHsgaXRlbTogaXRlbSB9ICk7DQoJfSwNCg0KCV9zY3JvbGxJbnRvVmlldzogZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCXZhciBib3JkZXJUb3AsIHBhZGRpbmdUb3AsIG9mZnNldCwgc2Nyb2xsLCBlbGVtZW50SGVpZ2h0LCBpdGVtSGVpZ2h0Ow0KCQlpZiAoIHRoaXMuX2hhc1Njcm9sbCgpICkgew0KCQkJYm9yZGVyVG9wID0gcGFyc2VGbG9hdCggJC5jc3MoIHRoaXMuYWN0aXZlTWVudVsgMCBdLCAiYm9yZGVyVG9wV2lkdGgiICkgKSB8fCAwOw0KCQkJcGFkZGluZ1RvcCA9IHBhcnNlRmxvYXQoICQuY3NzKCB0aGlzLmFjdGl2ZU1lbnVbIDAgXSwgInBhZGRpbmdUb3AiICkgKSB8fCAwOw0KCQkJb2Zmc2V0ID0gaXRlbS5vZmZzZXQoKS50b3AgLSB0aGlzLmFjdGl2ZU1lbnUub2Zmc2V0KCkudG9wIC0gYm9yZGVyVG9wIC0gcGFkZGluZ1RvcDsNCgkJCXNjcm9sbCA9IHRoaXMuYWN0aXZlTWVudS5zY3JvbGxUb3AoKTsNCgkJCWVsZW1lbnRIZWlnaHQgPSB0aGlzLmFjdGl2ZU1lbnUuaGVpZ2h0KCk7DQoJCQlpdGVtSGVpZ2h0ID0gaXRlbS5vdXRlckhlaWdodCgpOw0KDQoJCQlpZiAoIG9mZnNldCA8IDAgKSB7DQoJCQkJdGhpcy5hY3RpdmVNZW51LnNjcm9sbFRvcCggc2Nyb2xsICsgb2Zmc2V0ICk7DQoJCQl9IGVsc2UgaWYgKCBvZmZzZXQgKyBpdGVtSGVpZ2h0ID4gZWxlbWVudEhlaWdodCApIHsNCgkJCQl0aGlzLmFjdGl2ZU1lbnUuc2Nyb2xsVG9wKCBzY3JvbGwgKyBvZmZzZXQgLSBlbGVtZW50SGVpZ2h0ICsgaXRlbUhlaWdodCApOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCWJsdXI6IGZ1bmN0aW9uKCBldmVudCwgZnJvbUZvY3VzICkgew0KCQlpZiAoICFmcm9tRm9jdXMgKSB7DQoJCQljbGVhclRpbWVvdXQoIHRoaXMudGltZXIgKTsNCgkJfQ0KDQoJCWlmICggIXRoaXMuYWN0aXZlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuYWN0aXZlLmNoaWxkcmVuKCAiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiApLA0KCQkJbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAiYmx1ciIsIGV2ZW50LCB7IGl0ZW06IHRoaXMuYWN0aXZlIH0gKTsNCgkJdGhpcy5hY3RpdmUgPSBudWxsOw0KCX0sDQoNCglfc3RhcnRPcGVuaW5nOiBmdW5jdGlvbiggc3VibWVudSApIHsNCgkJY2xlYXJUaW1lb3V0KCB0aGlzLnRpbWVyICk7DQoNCgkJLy8gRG9uJ3Qgb3BlbiBpZiBhbHJlYWR5IG9wZW4gZml4ZXMgYSBGaXJlZm94IGJ1ZyB0aGF0IGNhdXNlZCBhIC41IHBpeGVsDQoJCS8vIHNoaWZ0IGluIHRoZSBzdWJtZW51IHBvc2l0aW9uIHdoZW4gbW91c2luZyBvdmVyIHRoZSBjYXJldCBpY29uDQoJCWlmICggc3VibWVudS5hdHRyKCAiYXJpYS1oaWRkZW4iICkgIT09ICJ0cnVlIiApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMudGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9jbG9zZSgpOw0KCQkJdGhpcy5fb3Blbiggc3VibWVudSApOw0KCQl9LCB0aGlzLmRlbGF5ICk7DQoJfSwNCg0KCV9vcGVuOiBmdW5jdGlvbiggc3VibWVudSApIHsNCgkJdmFyIHBvc2l0aW9uID0gJC5leHRlbmQoIHsNCgkJCW9mOiB0aGlzLmFjdGl2ZQ0KCQl9LCB0aGlzLm9wdGlvbnMucG9zaXRpb24gKTsNCg0KCQljbGVhclRpbWVvdXQoIHRoaXMudGltZXIgKTsNCgkJdGhpcy5lbGVtZW50LmZpbmQoICIudWktbWVudSIgKS5ub3QoIHN1Ym1lbnUucGFyZW50cyggIi51aS1tZW51IiApICkNCgkJCS5oaWRlKCkNCgkJCS5hdHRyKCAiYXJpYS1oaWRkZW4iLCAidHJ1ZSIgKTsNCg0KCQlzdWJtZW51DQoJCQkuc2hvdygpDQoJCQkucmVtb3ZlQXR0ciggImFyaWEtaGlkZGVuIiApDQoJCQkuYXR0ciggImFyaWEtZXhwYW5kZWQiLCAidHJ1ZSIgKQ0KCQkJLnBvc2l0aW9uKCBwb3NpdGlvbiApOw0KCX0sDQoNCgljb2xsYXBzZUFsbDogZnVuY3Rpb24oIGV2ZW50LCBhbGwgKSB7DQoJCWNsZWFyVGltZW91dCggdGhpcy50aW1lciApOw0KCQl0aGlzLnRpbWVyID0gdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBJZiB3ZSB3ZXJlIHBhc3NlZCBhbiBldmVudCwgbG9vayBmb3IgdGhlIHN1Ym1lbnUgdGhhdCBjb250YWlucyB0aGUgZXZlbnQNCgkJCXZhciBjdXJyZW50TWVudSA9IGFsbCA/IHRoaXMuZWxlbWVudCA6DQoJCQkJJCggZXZlbnQgJiYgZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggdGhpcy5lbGVtZW50LmZpbmQoICIudWktbWVudSIgKSApOw0KDQoJCQkvLyBJZiB3ZSBmb3VuZCBubyB2YWxpZCBzdWJtZW51IGFuY2VzdG9yLCB1c2UgdGhlIG1haW4gbWVudSB0byBjbG9zZSBhbGwNCgkJCS8vIHN1YiBtZW51cyBhbnl3YXkNCgkJCWlmICggIWN1cnJlbnRNZW51Lmxlbmd0aCApIHsNCgkJCQljdXJyZW50TWVudSA9IHRoaXMuZWxlbWVudDsNCgkJCX0NCg0KCQkJdGhpcy5fY2xvc2UoIGN1cnJlbnRNZW51ICk7DQoNCgkJCXRoaXMuYmx1ciggZXZlbnQgKTsNCg0KCQkJLy8gV29yayBhcm91bmQgYWN0aXZlIGl0ZW0gc3RheWluZyBhY3RpdmUgYWZ0ZXIgbWVudSBpcyBibHVycmVkDQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggY3VycmVudE1lbnUuZmluZCggIi51aS1zdGF0ZS1hY3RpdmUiICksIG51bGwsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoNCgkJCXRoaXMuYWN0aXZlTWVudSA9IGN1cnJlbnRNZW51Ow0KCQl9LCB0aGlzLmRlbGF5ICk7DQoJfSwNCg0KCS8vIFdpdGggbm8gYXJndW1lbnRzLCBjbG9zZXMgdGhlIGN1cnJlbnRseSBhY3RpdmUgbWVudSAtIGlmIG5vdGhpbmcgaXMgYWN0aXZlDQoJLy8gaXQgY2xvc2VzIGFsbCBtZW51cy4gIElmIHBhc3NlZCBhbiBhcmd1bWVudCwgaXQgd2lsbCBzZWFyY2ggZm9yIG1lbnVzIEJFTE9XDQoJX2Nsb3NlOiBmdW5jdGlvbiggc3RhcnRNZW51ICkgew0KCQlpZiAoICFzdGFydE1lbnUgKSB7DQoJCQlzdGFydE1lbnUgPSB0aGlzLmFjdGl2ZSA/IHRoaXMuYWN0aXZlLnBhcmVudCgpIDogdGhpcy5lbGVtZW50Ow0KCQl9DQoNCgkJc3RhcnRNZW51LmZpbmQoICIudWktbWVudSIgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoICJhcmlhLWhpZGRlbiIsICJ0cnVlIiApDQoJCQkuYXR0ciggImFyaWEtZXhwYW5kZWQiLCAiZmFsc2UiICk7DQoJfSwNCg0KCV9jbG9zZU9uRG9jdW1lbnRDbGljazogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlyZXR1cm4gISQoIGV2ZW50LnRhcmdldCApLmNsb3Nlc3QoICIudWktbWVudSIgKS5sZW5ndGg7DQoJfSwNCg0KCV9pc0RpdmlkZXI6IGZ1bmN0aW9uKCBpdGVtICkgew0KDQoJCS8vIE1hdGNoIGh5cGhlbiwgZW0gZGFzaCwgZW4gZGFzaA0KCQlyZXR1cm4gIS9bXlwtXHUyMDE0XHUyMDEzXHNdLy50ZXN0KCBpdGVtLnRleHQoKSApOw0KCX0sDQoNCgljb2xsYXBzZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgbmV3SXRlbSA9IHRoaXMuYWN0aXZlICYmDQoJCQl0aGlzLmFjdGl2ZS5wYXJlbnQoKS5jbG9zZXN0KCAiLnVpLW1lbnUtaXRlbSIsIHRoaXMuZWxlbWVudCApOw0KCQlpZiAoIG5ld0l0ZW0gJiYgbmV3SXRlbS5sZW5ndGggKSB7DQoJCQl0aGlzLl9jbG9zZSgpOw0KCQkJdGhpcy5mb2N1cyggZXZlbnQsIG5ld0l0ZW0gKTsNCgkJfQ0KCX0sDQoNCglleHBhbmQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIG5ld0l0ZW0gPSB0aGlzLmFjdGl2ZSAmJg0KCQkJdGhpcy5hY3RpdmUNCgkJCQkuY2hpbGRyZW4oICIudWktbWVudSAiICkNCgkJCQkJLmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApDQoJCQkJCQkuZmlyc3QoKTsNCg0KCQlpZiAoIG5ld0l0ZW0gJiYgbmV3SXRlbS5sZW5ndGggKSB7DQoJCQl0aGlzLl9vcGVuKCBuZXdJdGVtLnBhcmVudCgpICk7DQoNCgkJCS8vIERlbGF5IHNvIEZpcmVmb3ggd2lsbCBub3QgaGlkZSBhY3RpdmVkZXNjZW5kYW50IGNoYW5nZSBpbiBleHBhbmRpbmcgc3VibWVudSBmcm9tIEFUDQoJCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5mb2N1cyggZXZlbnQsIG5ld0l0ZW0gKTsNCgkJCX0gKTsNCgkJfQ0KCX0sDQoNCgluZXh0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMuX21vdmUoICJuZXh0IiwgImZpcnN0IiwgZXZlbnQgKTsNCgl9LA0KDQoJcHJldmlvdXM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdGhpcy5fbW92ZSggInByZXYiLCAibGFzdCIsIGV2ZW50ICk7DQoJfSwNCg0KCWlzRmlyc3RJdGVtOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuYWN0aXZlICYmICF0aGlzLmFjdGl2ZS5wcmV2QWxsKCAiLnVpLW1lbnUtaXRlbSIgKS5sZW5ndGg7DQoJfSwNCg0KCWlzTGFzdEl0ZW06IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5hY3RpdmUgJiYgIXRoaXMuYWN0aXZlLm5leHRBbGwoICIudWktbWVudS1pdGVtIiApLmxlbmd0aDsNCgl9LA0KDQoJX21vdmU6IGZ1bmN0aW9uKCBkaXJlY3Rpb24sIGZpbHRlciwgZXZlbnQgKSB7DQoJCXZhciBuZXh0Ow0KCQlpZiAoIHRoaXMuYWN0aXZlICkgew0KCQkJaWYgKCBkaXJlY3Rpb24gPT09ICJmaXJzdCIgfHwgZGlyZWN0aW9uID09PSAibGFzdCIgKSB7DQoJCQkJbmV4dCA9IHRoaXMuYWN0aXZlDQoJCQkJCVsgZGlyZWN0aW9uID09PSAiZmlyc3QiID8gInByZXZBbGwiIDogIm5leHRBbGwiIF0oICIudWktbWVudS1pdGVtIiApDQoJCQkJCS5lcSggLTEgKTsNCgkJCX0gZWxzZSB7DQoJCQkJbmV4dCA9IHRoaXMuYWN0aXZlDQoJCQkJCVsgZGlyZWN0aW9uICsgIkFsbCIgXSggIi51aS1tZW51LWl0ZW0iICkNCgkJCQkJLmVxKCAwICk7DQoJCQl9DQoJCX0NCgkJaWYgKCAhbmV4dCB8fCAhbmV4dC5sZW5ndGggfHwgIXRoaXMuYWN0aXZlICkgew0KCQkJbmV4dCA9IHRoaXMuYWN0aXZlTWVudS5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKVsgZmlsdGVyIF0oKTsNCgkJfQ0KDQoJCXRoaXMuZm9jdXMoIGV2ZW50LCBuZXh0ICk7DQoJfSwNCg0KCW5leHRQYWdlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBpdGVtLCBiYXNlLCBoZWlnaHQ7DQoNCgkJaWYgKCAhdGhpcy5hY3RpdmUgKSB7DQoJCQl0aGlzLm5leHQoIGV2ZW50ICk7DQoJCQlyZXR1cm47DQoJCX0NCgkJaWYgKCB0aGlzLmlzTGFzdEl0ZW0oKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMuX2hhc1Njcm9sbCgpICkgew0KCQkJYmFzZSA9IHRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcDsNCgkJCWhlaWdodCA9IHRoaXMuZWxlbWVudC5oZWlnaHQoKTsNCgkJCXRoaXMuYWN0aXZlLm5leHRBbGwoICIudWktbWVudS1pdGVtIiApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWl0ZW0gPSAkKCB0aGlzICk7DQoJCQkJcmV0dXJuIGl0ZW0ub2Zmc2V0KCkudG9wIC0gYmFzZSAtIGhlaWdodCA8IDA7DQoJCQl9ICk7DQoNCgkJCXRoaXMuZm9jdXMoIGV2ZW50LCBpdGVtICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmZvY3VzKCBldmVudCwgdGhpcy5hY3RpdmVNZW51LmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApDQoJCQkJWyAhdGhpcy5hY3RpdmUgPyAiZmlyc3QiIDogImxhc3QiIF0oKSApOw0KCQl9DQoJfSwNCg0KCXByZXZpb3VzUGFnZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgaXRlbSwgYmFzZSwgaGVpZ2h0Ow0KCQlpZiAoICF0aGlzLmFjdGl2ZSApIHsNCgkJCXRoaXMubmV4dCggZXZlbnQgKTsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMuaXNGaXJzdEl0ZW0oKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlpZiAoIHRoaXMuX2hhc1Njcm9sbCgpICkgew0KCQkJYmFzZSA9IHRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcDsNCgkJCWhlaWdodCA9IHRoaXMuZWxlbWVudC5oZWlnaHQoKTsNCgkJCXRoaXMuYWN0aXZlLnByZXZBbGwoICIudWktbWVudS1pdGVtIiApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWl0ZW0gPSAkKCB0aGlzICk7DQoJCQkJcmV0dXJuIGl0ZW0ub2Zmc2V0KCkudG9wIC0gYmFzZSArIGhlaWdodCA+IDA7DQoJCQl9ICk7DQoNCgkJCXRoaXMuZm9jdXMoIGV2ZW50LCBpdGVtICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmZvY3VzKCBldmVudCwgdGhpcy5hY3RpdmVNZW51LmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApLmZpcnN0KCkgKTsNCgkJfQ0KCX0sDQoNCglfaGFzU2Nyb2xsOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpIDwgdGhpcy5lbGVtZW50LnByb3AoICJzY3JvbGxIZWlnaHQiICk7DQoJfSwNCg0KCXNlbGVjdDogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCS8vIFRPRE86IEl0IHNob3VsZCBuZXZlciBiZSBwb3NzaWJsZSB0byBub3QgaGF2ZSBhbiBhY3RpdmUgaXRlbSBhdCB0aGlzDQoJCS8vIHBvaW50LCBidXQgdGhlIHRlc3RzIGRvbid0IHRyaWdnZXIgbW91c2VlbnRlciBiZWZvcmUgY2xpY2suDQoJCXRoaXMuYWN0aXZlID0gdGhpcy5hY3RpdmUgfHwgJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1tZW51LWl0ZW0iICk7DQoJCXZhciB1aSA9IHsgaXRlbTogdGhpcy5hY3RpdmUgfTsNCgkJaWYgKCAhdGhpcy5hY3RpdmUuaGFzKCAiLnVpLW1lbnUiICkubGVuZ3RoICkgew0KCQkJdGhpcy5jb2xsYXBzZUFsbCggZXZlbnQsIHRydWUgKTsNCgkJfQ0KCQl0aGlzLl90cmlnZ2VyKCAic2VsZWN0IiwgZXZlbnQsIHVpICk7DQoJfSwNCg0KCV9maWx0ZXJNZW51SXRlbXM6IGZ1bmN0aW9uKCBjaGFyYWN0ZXIgKSB7DQoJCXZhciBlc2NhcGVkQ2hhcmFjdGVyID0gY2hhcmFjdGVyLnJlcGxhY2UoIC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCAiXFwkJiIgKSwNCgkJCXJlZ2V4ID0gbmV3IFJlZ0V4cCggIl4iICsgZXNjYXBlZENoYXJhY3RlciwgImkiICk7DQoNCgkJcmV0dXJuIHRoaXMuYWN0aXZlTWVudQ0KCQkJLmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcyApDQoNCgkJCQkvLyBPbmx5IG1hdGNoIG9uIGl0ZW1zLCBub3QgZGl2aWRlcnMgb3Igb3RoZXIgY29udGVudCAoIzEwNTcxKQ0KCQkJCS5maWx0ZXIoICIudWktbWVudS1pdGVtIiApDQoJCQkJCS5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJCQkJcmV0dXJuIHJlZ2V4LnRlc3QoDQoJCQkJCQkJJC50cmltKCAkKCB0aGlzICkuY2hpbGRyZW4oICIudWktbWVudS1pdGVtLXdyYXBwZXIiICkudGV4dCgpICkgKTsNCgkJCQkJfSApOw0KCX0NCn0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBBdXRvY29tcGxldGUgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IEF1dG9jb21wbGV0ZQ0KLy8+Pmdyb3VwOiBXaWRnZXRzDQovLz4+ZGVzY3JpcHRpb246IExpc3RzIHN1Z2dlc3RlZCB3b3JkcyBhcyB0aGUgdXNlciBpcyB0eXBpbmcuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vYXV0b2NvbXBsZXRlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2F1dG9jb21wbGV0ZS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2F1dG9jb21wbGV0ZS5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS5hdXRvY29tcGxldGUiLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJZGVmYXVsdEVsZW1lbnQ6ICI8aW5wdXQ+IiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiBudWxsLA0KCQlhdXRvRm9jdXM6IGZhbHNlLA0KCQlkZWxheTogMzAwLA0KCQltaW5MZW5ndGg6IDEsDQoJCXBvc2l0aW9uOiB7DQoJCQlteTogImxlZnQgdG9wIiwNCgkJCWF0OiAibGVmdCBib3R0b20iLA0KCQkJY29sbGlzaW9uOiAibm9uZSINCgkJfSwNCgkJc291cmNlOiBudWxsLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljaGFuZ2U6IG51bGwsDQoJCWNsb3NlOiBudWxsLA0KCQlmb2N1czogbnVsbCwNCgkJb3BlbjogbnVsbCwNCgkJcmVzcG9uc2U6IG51bGwsDQoJCXNlYXJjaDogbnVsbCwNCgkJc2VsZWN0OiBudWxsDQoJfSwNCg0KCXJlcXVlc3RJbmRleDogMCwNCglwZW5kaW5nOiAwLA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoNCgkJLy8gU29tZSBicm93c2VycyBvbmx5IHJlcGVhdCBrZXlkb3duIGV2ZW50cywgbm90IGtleXByZXNzIGV2ZW50cywNCgkJLy8gc28gd2UgdXNlIHRoZSBzdXBwcmVzc0tleVByZXNzIGZsYWcgdG8gZGV0ZXJtaW5lIGlmIHdlJ3ZlIGFscmVhZHkNCgkJLy8gaGFuZGxlZCB0aGUga2V5ZG93biBldmVudC4gIzcyNjkNCgkJLy8gVW5mb3J0dW5hdGVseSB0aGUgY29kZSBmb3IgJiBpbiBrZXlwcmVzcyBpcyB0aGUgc2FtZSBhcyB0aGUgdXAgYXJyb3csDQoJCS8vIHNvIHdlIHVzZSB0aGUgc3VwcHJlc3NLZXlQcmVzc1JlcGVhdCBmbGFnIHRvIGF2b2lkIGhhbmRsaW5nIGtleXByZXNzDQoJCS8vIGV2ZW50cyB3aGVuIHdlIGtub3cgdGhlIGtleWRvd24gZXZlbnQgd2FzIHVzZWQgdG8gbW9kaWZ5IHRoZQ0KCQkvLyBzZWFyY2ggdGVybS4gIzc3OTkNCgkJdmFyIHN1cHByZXNzS2V5UHJlc3MsIHN1cHByZXNzS2V5UHJlc3NSZXBlYXQsIHN1cHByZXNzSW5wdXQsDQoJCQlub2RlTmFtZSA9IHRoaXMuZWxlbWVudFsgMCBdLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksDQoJCQlpc1RleHRhcmVhID0gbm9kZU5hbWUgPT09ICJ0ZXh0YXJlYSIsDQoJCQlpc0lucHV0ID0gbm9kZU5hbWUgPT09ICJpbnB1dCI7DQoNCgkJLy8gVGV4dGFyZWFzIGFyZSBhbHdheXMgbXVsdGktbGluZQ0KCQkvLyBJbnB1dHMgYXJlIGFsd2F5cyBzaW5nbGUtbGluZSwgZXZlbiBpZiBpbnNpZGUgYSBjb250ZW50RWRpdGFibGUgZWxlbWVudA0KCQkvLyBJRSBhbHNvIHRyZWF0cyBpbnB1dHMgYXMgY29udGVudEVkaXRhYmxlDQoJCS8vIEFsbCBvdGhlciBlbGVtZW50IHR5cGVzIGFyZSBkZXRlcm1pbmVkIGJ5IHdoZXRoZXIgb3Igbm90IHRoZXkncmUgY29udGVudEVkaXRhYmxlDQoJCXRoaXMuaXNNdWx0aUxpbmUgPSBpc1RleHRhcmVhIHx8ICFpc0lucHV0ICYmIHRoaXMuX2lzQ29udGVudEVkaXRhYmxlKCB0aGlzLmVsZW1lbnQgKTsNCg0KCQl0aGlzLnZhbHVlTWV0aG9kID0gdGhpcy5lbGVtZW50WyBpc1RleHRhcmVhIHx8IGlzSW5wdXQgPyAidmFsIiA6ICJ0ZXh0IiBdOw0KCQl0aGlzLmlzTmV3TWVudSA9IHRydWU7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1hdXRvY29tcGxldGUtaW5wdXQiICk7DQoJCXRoaXMuZWxlbWVudC5hdHRyKCAiYXV0b2NvbXBsZXRlIiwgIm9mZiIgKTsNCg0KCQl0aGlzLl9vbiggdGhpcy5lbGVtZW50LCB7DQoJCQlrZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCB0aGlzLmVsZW1lbnQucHJvcCggInJlYWRPbmx5IiApICkgew0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJc3VwcHJlc3NJbnB1dCA9IHRydWU7DQoJCQkJCXN1cHByZXNzS2V5UHJlc3NSZXBlYXQgPSB0cnVlOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KDQoJCQkJc3VwcHJlc3NLZXlQcmVzcyA9IGZhbHNlOw0KCQkJCXN1cHByZXNzSW5wdXQgPSBmYWxzZTsNCgkJCQlzdXBwcmVzc0tleVByZXNzUmVwZWF0ID0gZmFsc2U7DQoJCQkJdmFyIGtleUNvZGUgPSAkLnVpLmtleUNvZGU7DQoJCQkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCQljYXNlIGtleUNvZGUuUEFHRV9VUDoNCgkJCQkJc3VwcHJlc3NLZXlQcmVzcyA9IHRydWU7DQoJCQkJCXRoaXMuX21vdmUoICJwcmV2aW91c1BhZ2UiLCBldmVudCApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlIGtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJdGhpcy5fbW92ZSggIm5leHRQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlVQOg0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJdGhpcy5fa2V5RXZlbnQoICJwcmV2aW91cyIsIGV2ZW50ICk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2Uga2V5Q29kZS5ET1dOOg0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gdHJ1ZTsNCgkJCQkJdGhpcy5fa2V5RXZlbnQoICJuZXh0IiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLkVOVEVSOg0KDQoJCQkJCS8vIHdoZW4gbWVudSBpcyBvcGVuIGFuZCBoYXMgZm9jdXMNCgkJCQkJaWYgKCB0aGlzLm1lbnUuYWN0aXZlICkgew0KDQoJCQkJCQkvLyAjNjA1NSAtIE9wZXJhIHN0aWxsIGFsbG93cyB0aGUga2V5cHJlc3MgdG8gb2NjdXINCgkJCQkJCS8vIHdoaWNoIGNhdXNlcyBmb3JtcyB0byBzdWJtaXQNCgkJCQkJCXN1cHByZXNzS2V5UHJlc3MgPSB0cnVlOw0KCQkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJCXRoaXMubWVudS5zZWxlY3QoIGV2ZW50ICk7DQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlRBQjoNCgkJCQkJaWYgKCB0aGlzLm1lbnUuYWN0aXZlICkgew0KCQkJCQkJdGhpcy5tZW51LnNlbGVjdCggZXZlbnQgKTsNCgkJCQkJfQ0KCQkJCQlicmVhazsNCgkJCQljYXNlIGtleUNvZGUuRVNDQVBFOg0KCQkJCQlpZiAoIHRoaXMubWVudS5lbGVtZW50LmlzKCAiOnZpc2libGUiICkgKSB7DQoJCQkJCQlpZiAoICF0aGlzLmlzTXVsdGlMaW5lICkgew0KCQkJCQkJCXRoaXMuX3ZhbHVlKCB0aGlzLnRlcm0gKTsNCgkJCQkJCX0NCgkJCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoNCgkJCQkJCS8vIERpZmZlcmVudCBicm93c2VycyBoYXZlIGRpZmZlcmVudCBkZWZhdWx0IGJlaGF2aW9yIGZvciBlc2NhcGUNCgkJCQkJCS8vIFNpbmdsZSBwcmVzcyBjYW4gbWVhbiB1bmRvIG9yIGNsZWFyDQoJCQkJCQkvLyBEb3VibGUgcHJlc3MgaW4gSUUgbWVhbnMgY2xlYXIgdGhlIHdob2xlIGZvcm0NCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCX0NCgkJCQkJYnJlYWs7DQoJCQkJZGVmYXVsdDoNCgkJCQkJc3VwcHJlc3NLZXlQcmVzc1JlcGVhdCA9IHRydWU7DQoNCgkJCQkJLy8gc2VhcmNoIHRpbWVvdXQgc2hvdWxkIGJlIHRyaWdnZXJlZCBiZWZvcmUgdGhlIGlucHV0IHZhbHVlIGlzIGNoYW5nZWQNCgkJCQkJdGhpcy5fc2VhcmNoVGltZW91dCggZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJfQ0KCQkJfSwNCgkJCWtleXByZXNzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCBzdXBwcmVzc0tleVByZXNzICkgew0KCQkJCQlzdXBwcmVzc0tleVByZXNzID0gZmFsc2U7DQoJCQkJCWlmICggIXRoaXMuaXNNdWx0aUxpbmUgfHwgdGhpcy5tZW51LmVsZW1lbnQuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCX0NCgkJCQkJcmV0dXJuOw0KCQkJCX0NCgkJCQlpZiAoIHN1cHByZXNzS2V5UHJlc3NSZXBlYXQgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQkvLyBSZXBsaWNhdGUgc29tZSBrZXkgaGFuZGxlcnMgdG8gYWxsb3cgdGhlbSB0byByZXBlYXQgaW4gRmlyZWZveCBhbmQgT3BlcmENCgkJCQl2YXIga2V5Q29kZSA9ICQudWkua2V5Q29kZTsNCgkJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJCWNhc2Uga2V5Q29kZS5QQUdFX1VQOg0KCQkJCQl0aGlzLl9tb3ZlKCAicHJldmlvdXNQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlBBR0VfRE9XTjoNCgkJCQkJdGhpcy5fbW92ZSggIm5leHRQYWdlIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLlVQOg0KCQkJCQl0aGlzLl9rZXlFdmVudCggInByZXZpb3VzIiwgZXZlbnQgKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSBrZXlDb2RlLkRPV046DQoJCQkJCXRoaXMuX2tleUV2ZW50KCAibmV4dCIsIGV2ZW50ICk7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCX0sDQoJCQlpbnB1dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggc3VwcHJlc3NJbnB1dCApIHsNCgkJCQkJc3VwcHJlc3NJbnB1dCA9IGZhbHNlOw0KCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQlyZXR1cm47DQoJCQkJfQ0KCQkJCXRoaXMuX3NlYXJjaFRpbWVvdXQoIGV2ZW50ICk7DQoJCQl9LA0KCQkJZm9jdXM6IGZ1bmN0aW9uKCkgew0KCQkJCXRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDsNCgkJCQl0aGlzLnByZXZpb3VzID0gdGhpcy5fdmFsdWUoKTsNCgkJCX0sDQoJCQlibHVyOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJaWYgKCB0aGlzLmNhbmNlbEJsdXIgKSB7DQoJCQkJCWRlbGV0ZSB0aGlzLmNhbmNlbEJsdXI7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQljbGVhclRpbWVvdXQoIHRoaXMuc2VhcmNoaW5nICk7DQoJCQkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJCQl0aGlzLl9jaGFuZ2UoIGV2ZW50ICk7DQoJCQl9DQoJCX0gKTsNCg0KCQl0aGlzLl9pbml0U291cmNlKCk7DQoJCXRoaXMubWVudSA9ICQoICI8dWw+IiApDQoJCQkuYXBwZW5kVG8oIHRoaXMuX2FwcGVuZFRvKCkgKQ0KCQkJLm1lbnUoIHsNCg0KCQkJCS8vIGRpc2FibGUgQVJJQSBzdXBwb3J0LCB0aGUgbGl2ZSByZWdpb24gdGFrZXMgY2FyZSBvZiB0aGF0DQoJCQkJcm9sZTogbnVsbA0KCQkJfSApDQoJCQkuaGlkZSgpDQoJCQkubWVudSggImluc3RhbmNlIiApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLm1lbnUuZWxlbWVudCwgInVpLWF1dG9jb21wbGV0ZSIsICJ1aS1mcm9udCIgKTsNCgkJdGhpcy5fb24oIHRoaXMubWVudS5lbGVtZW50LCB7DQoJCQltb3VzZWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkJCS8vIHByZXZlbnQgbW92aW5nIGZvY3VzIG91dCBvZiB0aGUgdGV4dCBmaWVsZA0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkvLyBJRSBkb2Vzbid0IHByZXZlbnQgbW92aW5nIGZvY3VzIGV2ZW4gd2l0aCBldmVudC5wcmV2ZW50RGVmYXVsdCgpDQoJCQkJLy8gc28gd2Ugc2V0IGEgZmxhZyB0byBrbm93IHdoZW4gd2Ugc2hvdWxkIGlnbm9yZSB0aGUgYmx1ciBldmVudA0KCQkJCXRoaXMuY2FuY2VsQmx1ciA9IHRydWU7DQoJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQlkZWxldGUgdGhpcy5jYW5jZWxCbHVyOw0KDQoJCQkJCS8vIFN1cHBvcnQ6IElFIDggb25seQ0KCQkJCQkvLyBSaWdodCBjbGlja2luZyBhIG1lbnUgaXRlbSBvciBzZWxlY3RpbmcgdGV4dCBmcm9tIHRoZSBtZW51IGl0ZW1zIHdpbGwNCgkJCQkJLy8gcmVzdWx0IGluIGZvY3VzIG1vdmluZyBvdXQgb2YgdGhlIGlucHV0LiBIb3dldmVyLCB3ZSd2ZSBhbHJlYWR5IHJlY2VpdmVkDQoJCQkJCS8vIGFuZCBpZ25vcmVkIHRoZSBibHVyIGV2ZW50IGJlY2F1c2Ugb2YgdGhlIGNhbmNlbEJsdXIgZmxhZyBzZXQgYWJvdmUuIFNvDQoJCQkJCS8vIHdlIHJlc3RvcmUgZm9jdXMgdG8gZW5zdXJlIHRoYXQgdGhlIG1lbnUgY2xvc2VzIHByb3Blcmx5IGJhc2VkIG9uIHRoZSB1c2VyJ3MNCgkJCQkJLy8gbmV4dCBhY3Rpb25zLg0KCQkJCQlpZiAoIHRoaXMuZWxlbWVudFsgMCBdICE9PSAkLnVpLnNhZmVBY3RpdmVFbGVtZW50KCB0aGlzLmRvY3VtZW50WyAwIF0gKSApIHsNCgkJCQkJCXRoaXMuZWxlbWVudC50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCQl9LA0KCQkJbWVudWZvY3VzOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBsYWJlbCwgaXRlbTsNCg0KCQkJCS8vIHN1cHBvcnQ6IEZpcmVmb3gNCgkJCQkvLyBQcmV2ZW50IGFjY2lkZW50YWwgYWN0aXZhdGlvbiBvZiBtZW51IGl0ZW1zIGluIEZpcmVmb3ggKCM3MDI0ICM5MTE4KQ0KCQkJCWlmICggdGhpcy5pc05ld01lbnUgKSB7DQoJCQkJCXRoaXMuaXNOZXdNZW51ID0gZmFsc2U7DQoJCQkJCWlmICggZXZlbnQub3JpZ2luYWxFdmVudCAmJiAvXm1vdXNlLy50ZXN0KCBldmVudC5vcmlnaW5hbEV2ZW50LnR5cGUgKSApIHsNCgkJCQkJCXRoaXMubWVudS5ibHVyKCk7DQoNCgkJCQkJCXRoaXMuZG9jdW1lbnQub25lKCAibW91c2Vtb3ZlIiwgZnVuY3Rpb24oKSB7DQoJCQkJCQkJJCggZXZlbnQudGFyZ2V0ICkudHJpZ2dlciggZXZlbnQub3JpZ2luYWxFdmVudCApOw0KCQkJCQkJfSApOw0KDQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQlpdGVtID0gdWkuaXRlbS5kYXRhKCAidWktYXV0b2NvbXBsZXRlLWl0ZW0iICk7DQoJCQkJaWYgKCBmYWxzZSAhPT0gdGhpcy5fdHJpZ2dlciggImZvY3VzIiwgZXZlbnQsIHsgaXRlbTogaXRlbSB9ICkgKSB7DQoNCgkJCQkJLy8gdXNlIHZhbHVlIHRvIG1hdGNoIHdoYXQgd2lsbCBlbmQgdXAgaW4gdGhlIGlucHV0LCBpZiBpdCB3YXMgYSBrZXkgZXZlbnQNCgkJCQkJaWYgKCBldmVudC5vcmlnaW5hbEV2ZW50ICYmIC9ea2V5Ly50ZXN0KCBldmVudC5vcmlnaW5hbEV2ZW50LnR5cGUgKSApIHsNCgkJCQkJCXRoaXMuX3ZhbHVlKCBpdGVtLnZhbHVlICk7DQoJCQkJCX0NCgkJCQl9DQoNCgkJCQkvLyBBbm5vdW5jZSB0aGUgdmFsdWUgaW4gdGhlIGxpdmVSZWdpb24NCgkJCQlsYWJlbCA9IHVpLml0ZW0uYXR0ciggImFyaWEtbGFiZWwiICkgfHwgaXRlbS52YWx1ZTsNCgkJCQlpZiAoIGxhYmVsICYmICQudHJpbSggbGFiZWwgKS5sZW5ndGggKSB7DQoJCQkJCXRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKTsNCgkJCQkJJCggIjxkaXY+IiApLnRleHQoIGxhYmVsICkuYXBwZW5kVG8oIHRoaXMubGl2ZVJlZ2lvbiApOw0KCQkJCX0NCgkJCX0sDQoJCQltZW51c2VsZWN0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBpdGVtID0gdWkuaXRlbS5kYXRhKCAidWktYXV0b2NvbXBsZXRlLWl0ZW0iICksDQoJCQkJCXByZXZpb3VzID0gdGhpcy5wcmV2aW91czsNCg0KCQkJCS8vIE9ubHkgdHJpZ2dlciB3aGVuIGZvY3VzIHdhcyBsb3N0IChjbGljayBvbiBtZW51KQ0KCQkJCWlmICggdGhpcy5lbGVtZW50WyAwIF0gIT09ICQudWkuc2FmZUFjdGl2ZUVsZW1lbnQoIHRoaXMuZG9jdW1lbnRbIDAgXSApICkgew0KCQkJCQl0aGlzLmVsZW1lbnQudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCQl0aGlzLnByZXZpb3VzID0gcHJldmlvdXM7DQoNCgkJCQkJLy8gIzYxMDkgLSBJRSB0cmlnZ2VycyB0d28gZm9jdXMgZXZlbnRzIGFuZCB0aGUgc2Vjb25kDQoJCQkJCS8vIGlzIGFzeW5jaHJvbm91cywgc28gd2UgbmVlZCB0byByZXNldCB0aGUgcHJldmlvdXMNCgkJCQkJLy8gdGVybSBzeW5jaHJvbm91c2x5IGFuZCBhc3luY2hyb25vdXNseSA6LSgNCgkJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5wcmV2aW91cyA9IHByZXZpb3VzOw0KCQkJCQkJdGhpcy5zZWxlY3RlZEl0ZW0gPSBpdGVtOw0KCQkJCQl9ICk7DQoJCQkJfQ0KDQoJCQkJaWYgKCBmYWxzZSAhPT0gdGhpcy5fdHJpZ2dlciggInNlbGVjdCIsIGV2ZW50LCB7IGl0ZW06IGl0ZW0gfSApICkgew0KCQkJCQl0aGlzLl92YWx1ZSggaXRlbS52YWx1ZSApOw0KCQkJCX0NCg0KCQkJCS8vIHJlc2V0IHRoZSB0ZXJtIGFmdGVyIHRoZSBzZWxlY3QgZXZlbnQNCgkJCQkvLyB0aGlzIGFsbG93cyBjdXN0b20gc2VsZWN0IGhhbmRsaW5nIHRvIHdvcmsgcHJvcGVybHkNCgkJCQl0aGlzLnRlcm0gPSB0aGlzLl92YWx1ZSgpOw0KDQoJCQkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJCQl0aGlzLnNlbGVjdGVkSXRlbSA9IGl0ZW07DQoJCQl9DQoJCX0gKTsNCg0KCQl0aGlzLmxpdmVSZWdpb24gPSAkKCAiPGRpdj4iLCB7DQoJCQlyb2xlOiAic3RhdHVzIiwNCgkJCSJhcmlhLWxpdmUiOiAiYXNzZXJ0aXZlIiwNCgkJCSJhcmlhLXJlbGV2YW50IjogImFkZGl0aW9ucyINCgkJfSApDQoJCQkuYXBwZW5kVG8oIHRoaXMuZG9jdW1lbnRbIDAgXS5ib2R5ICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMubGl2ZVJlZ2lvbiwgbnVsbCwgInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIgKTsNCg0KCQkvLyBUdXJuaW5nIG9mZiBhdXRvY29tcGxldGUgcHJldmVudHMgdGhlIGJyb3dzZXIgZnJvbSByZW1lbWJlcmluZyB0aGUNCgkJLy8gdmFsdWUgd2hlbiBuYXZpZ2F0aW5nIHRocm91Z2ggaGlzdG9yeSwgc28gd2UgcmUtZW5hYmxlIGF1dG9jb21wbGV0ZQ0KCQkvLyBpZiB0aGUgcGFnZSBpcyB1bmxvYWRlZCBiZWZvcmUgdGhlIHdpZGdldCBpcyBkZXN0cm95ZWQuICM3NzkwDQoJCXRoaXMuX29uKCB0aGlzLndpbmRvdywgew0KCQkJYmVmb3JldW5sb2FkOiBmdW5jdGlvbigpIHsNCgkJCQl0aGlzLmVsZW1lbnQucmVtb3ZlQXR0ciggImF1dG9jb21wbGV0ZSIgKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCWNsZWFyVGltZW91dCggdGhpcy5zZWFyY2hpbmcgKTsNCgkJdGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoICJhdXRvY29tcGxldGUiICk7DQoJCXRoaXMubWVudS5lbGVtZW50LnJlbW92ZSgpOw0KCQl0aGlzLmxpdmVSZWdpb24ucmVtb3ZlKCk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KCQlpZiAoIGtleSA9PT0gInNvdXJjZSIgKSB7DQoJCQl0aGlzLl9pbml0U291cmNlKCk7DQoJCX0NCgkJaWYgKCBrZXkgPT09ICJhcHBlbmRUbyIgKSB7DQoJCQl0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyggdGhpcy5fYXBwZW5kVG8oKSApOw0KCQl9DQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICYmIHZhbHVlICYmIHRoaXMueGhyICkgew0KCQkJdGhpcy54aHIuYWJvcnQoKTsNCgkJfQ0KCX0sDQoNCglfaXNFdmVudFRhcmdldEluV2lkZ2V0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBtZW51RWxlbWVudCA9IHRoaXMubWVudS5lbGVtZW50WyAwIF07DQoNCgkJcmV0dXJuIGV2ZW50LnRhcmdldCA9PT0gdGhpcy5lbGVtZW50WyAwIF0gfHwNCgkJCWV2ZW50LnRhcmdldCA9PT0gbWVudUVsZW1lbnQgfHwNCgkJCSQuY29udGFpbnMoIG1lbnVFbGVtZW50LCBldmVudC50YXJnZXQgKTsNCgl9LA0KDQoJX2Nsb3NlT25DbGlja091dHNpZGU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5faXNFdmVudFRhcmdldEluV2lkZ2V0KCBldmVudCApICkgew0KCQkJdGhpcy5jbG9zZSgpOw0KCQl9DQoJfSwNCg0KCV9hcHBlbmRUbzogZnVuY3Rpb24oKSB7DQoJCXZhciBlbGVtZW50ID0gdGhpcy5vcHRpb25zLmFwcGVuZFRvOw0KDQoJCWlmICggZWxlbWVudCApIHsNCgkJCWVsZW1lbnQgPSBlbGVtZW50LmpxdWVyeSB8fCBlbGVtZW50Lm5vZGVUeXBlID8NCgkJCQkkKCBlbGVtZW50ICkgOg0KCQkJCXRoaXMuZG9jdW1lbnQuZmluZCggZWxlbWVudCApLmVxKCAwICk7DQoJCX0NCg0KCQlpZiAoICFlbGVtZW50IHx8ICFlbGVtZW50WyAwIF0gKSB7DQoJCQllbGVtZW50ID0gdGhpcy5lbGVtZW50LmNsb3Nlc3QoICIudWktZnJvbnQsIGRpYWxvZyIgKTsNCgkJfQ0KDQoJCWlmICggIWVsZW1lbnQubGVuZ3RoICkgew0KCQkJZWxlbWVudCA9IHRoaXMuZG9jdW1lbnRbIDAgXS5ib2R5Ow0KCQl9DQoNCgkJcmV0dXJuIGVsZW1lbnQ7DQoJfSwNCg0KCV9pbml0U291cmNlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGFycmF5LCB1cmwsDQoJCQl0aGF0ID0gdGhpczsNCgkJaWYgKCAkLmlzQXJyYXkoIHRoaXMub3B0aW9ucy5zb3VyY2UgKSApIHsNCgkJCWFycmF5ID0gdGhpcy5vcHRpb25zLnNvdXJjZTsNCgkJCXRoaXMuc291cmNlID0gZnVuY3Rpb24oIHJlcXVlc3QsIHJlc3BvbnNlICkgew0KCQkJCXJlc3BvbnNlKCAkLnVpLmF1dG9jb21wbGV0ZS5maWx0ZXIoIGFycmF5LCByZXF1ZXN0LnRlcm0gKSApOw0KCQkJfTsNCgkJfSBlbHNlIGlmICggdHlwZW9mIHRoaXMub3B0aW9ucy5zb3VyY2UgPT09ICJzdHJpbmciICkgew0KCQkJdXJsID0gdGhpcy5vcHRpb25zLnNvdXJjZTsNCgkJCXRoaXMuc291cmNlID0gZnVuY3Rpb24oIHJlcXVlc3QsIHJlc3BvbnNlICkgew0KCQkJCWlmICggdGhhdC54aHIgKSB7DQoJCQkJCXRoYXQueGhyLmFib3J0KCk7DQoJCQkJfQ0KCQkJCXRoYXQueGhyID0gJC5hamF4KCB7DQoJCQkJCXVybDogdXJsLA0KCQkJCQlkYXRhOiByZXF1ZXN0LA0KCQkJCQlkYXRhVHlwZTogImpzb24iLA0KCQkJCQlzdWNjZXNzOiBmdW5jdGlvbiggZGF0YSApIHsNCgkJCQkJCXJlc3BvbnNlKCBkYXRhICk7DQoJCQkJCX0sDQoJCQkJCWVycm9yOiBmdW5jdGlvbigpIHsNCgkJCQkJCXJlc3BvbnNlKCBbXSApOw0KCQkJCQl9DQoJCQkJfSApOw0KCQkJfTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuc291cmNlID0gdGhpcy5vcHRpb25zLnNvdXJjZTsNCgkJfQ0KCX0sDQoNCglfc2VhcmNoVGltZW91dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQljbGVhclRpbWVvdXQoIHRoaXMuc2VhcmNoaW5nICk7DQoJCXRoaXMuc2VhcmNoaW5nID0gdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBTZWFyY2ggaWYgdGhlIHZhbHVlIGhhcyBjaGFuZ2VkLCBvciBpZiB0aGUgdXNlciByZXR5cGVzIHRoZSBzYW1lIHZhbHVlIChzZWUgIzc0MzQpDQoJCQl2YXIgZXF1YWxWYWx1ZXMgPSB0aGlzLnRlcm0gPT09IHRoaXMuX3ZhbHVlKCksDQoJCQkJbWVudVZpc2libGUgPSB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApLA0KCQkJCW1vZGlmaWVyS2V5ID0gZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5zaGlmdEtleTsNCg0KCQkJaWYgKCAhZXF1YWxWYWx1ZXMgfHwgKCBlcXVhbFZhbHVlcyAmJiAhbWVudVZpc2libGUgJiYgIW1vZGlmaWVyS2V5ICkgKSB7DQoJCQkJdGhpcy5zZWxlY3RlZEl0ZW0gPSBudWxsOw0KCQkJCXRoaXMuc2VhcmNoKCBudWxsLCBldmVudCApOw0KCQkJfQ0KCQl9LCB0aGlzLm9wdGlvbnMuZGVsYXkgKTsNCgl9LA0KDQoJc2VhcmNoOiBmdW5jdGlvbiggdmFsdWUsIGV2ZW50ICkgew0KCQl2YWx1ZSA9IHZhbHVlICE9IG51bGwgPyB2YWx1ZSA6IHRoaXMuX3ZhbHVlKCk7DQoNCgkJLy8gQWx3YXlzIHNhdmUgdGhlIGFjdHVhbCB2YWx1ZSwgbm90IHRoZSBvbmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50DQoJCXRoaXMudGVybSA9IHRoaXMuX3ZhbHVlKCk7DQoNCgkJaWYgKCB2YWx1ZS5sZW5ndGggPCB0aGlzLm9wdGlvbnMubWluTGVuZ3RoICkgew0KCQkJcmV0dXJuIHRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMuX3RyaWdnZXIoICJzZWFyY2giLCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLl9zZWFyY2goIHZhbHVlICk7DQoJfSwNCg0KCV9zZWFyY2g6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdGhpcy5wZW5kaW5nKys7DQoJCXRoaXMuX2FkZENsYXNzKCAidWktYXV0b2NvbXBsZXRlLWxvYWRpbmciICk7DQoJCXRoaXMuY2FuY2VsU2VhcmNoID0gZmFsc2U7DQoNCgkJdGhpcy5zb3VyY2UoIHsgdGVybTogdmFsdWUgfSwgdGhpcy5fcmVzcG9uc2UoKSApOw0KCX0sDQoNCglfcmVzcG9uc2U6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaW5kZXggPSArK3RoaXMucmVxdWVzdEluZGV4Ow0KDQoJCXJldHVybiAkLnByb3h5KCBmdW5jdGlvbiggY29udGVudCApIHsNCgkJCWlmICggaW5kZXggPT09IHRoaXMucmVxdWVzdEluZGV4ICkgew0KCQkJCXRoaXMuX19yZXNwb25zZSggY29udGVudCApOw0KCQkJfQ0KDQoJCQl0aGlzLnBlbmRpbmctLTsNCgkJCWlmICggIXRoaXMucGVuZGluZyApIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIiApOw0KCQkJfQ0KCQl9LCB0aGlzICk7DQoJfSwNCg0KCV9fcmVzcG9uc2U6IGZ1bmN0aW9uKCBjb250ZW50ICkgew0KCQlpZiAoIGNvbnRlbnQgKSB7DQoJCQljb250ZW50ID0gdGhpcy5fbm9ybWFsaXplKCBjb250ZW50ICk7DQoJCX0NCgkJdGhpcy5fdHJpZ2dlciggInJlc3BvbnNlIiwgbnVsbCwgeyBjb250ZW50OiBjb250ZW50IH0gKTsNCgkJaWYgKCAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIGNvbnRlbnQgJiYgY29udGVudC5sZW5ndGggJiYgIXRoaXMuY2FuY2VsU2VhcmNoICkgew0KCQkJdGhpcy5fc3VnZ2VzdCggY29udGVudCApOw0KCQkJdGhpcy5fdHJpZ2dlciggIm9wZW4iICk7DQoJCX0gZWxzZSB7DQoNCgkJCS8vIHVzZSAuX2Nsb3NlKCkgaW5zdGVhZCBvZiAuY2xvc2UoKSBzbyB3ZSBkb24ndCBjYW5jZWwgZnV0dXJlIHNlYXJjaGVzDQoJCQl0aGlzLl9jbG9zZSgpOw0KCQl9DQoJfSwNCg0KCWNsb3NlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMuY2FuY2VsU2VhcmNoID0gdHJ1ZTsNCgkJdGhpcy5fY2xvc2UoIGV2ZW50ICk7DQoJfSwNCg0KCV9jbG9zZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCS8vIFJlbW92ZSB0aGUgaGFuZGxlciB0aGF0IGNsb3NlcyB0aGUgbWVudSBvbiBvdXRzaWRlIGNsaWNrcw0KCQl0aGlzLl9vZmYoIHRoaXMuZG9jdW1lbnQsICJtb3VzZWRvd24iICk7DQoNCgkJaWYgKCB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQkJdGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpOw0KCQkJdGhpcy5tZW51LmJsdXIoKTsNCgkJCXRoaXMuaXNOZXdNZW51ID0gdHJ1ZTsNCgkJCXRoaXMuX3RyaWdnZXIoICJjbG9zZSIsIGV2ZW50ICk7DQoJCX0NCgl9LA0KDQoJX2NoYW5nZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQlpZiAoIHRoaXMucHJldmlvdXMgIT09IHRoaXMuX3ZhbHVlKCkgKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHsgaXRlbTogdGhpcy5zZWxlY3RlZEl0ZW0gfSApOw0KCQl9DQoJfSwNCg0KCV9ub3JtYWxpemU6IGZ1bmN0aW9uKCBpdGVtcyApIHsNCg0KCQkvLyBhc3N1bWUgYWxsIGl0ZW1zIGhhdmUgdGhlIHJpZ2h0IGZvcm1hdCB3aGVuIHRoZSBmaXJzdCBpdGVtIGlzIGNvbXBsZXRlDQoJCWlmICggaXRlbXMubGVuZ3RoICYmIGl0ZW1zWyAwIF0ubGFiZWwgJiYgaXRlbXNbIDAgXS52YWx1ZSApIHsNCgkJCXJldHVybiBpdGVtczsNCgkJfQ0KCQlyZXR1cm4gJC5tYXAoIGl0ZW1zLCBmdW5jdGlvbiggaXRlbSApIHsNCgkJCWlmICggdHlwZW9mIGl0ZW0gPT09ICJzdHJpbmciICkgew0KCQkJCXJldHVybiB7DQoJCQkJCWxhYmVsOiBpdGVtLA0KCQkJCQl2YWx1ZTogaXRlbQ0KCQkJCX07DQoJCQl9DQoJCQlyZXR1cm4gJC5leHRlbmQoIHt9LCBpdGVtLCB7DQoJCQkJbGFiZWw6IGl0ZW0ubGFiZWwgfHwgaXRlbS52YWx1ZSwNCgkJCQl2YWx1ZTogaXRlbS52YWx1ZSB8fCBpdGVtLmxhYmVsDQoJCQl9ICk7DQoJCX0gKTsNCgl9LA0KDQoJX3N1Z2dlc3Q6IGZ1bmN0aW9uKCBpdGVtcyApIHsNCgkJdmFyIHVsID0gdGhpcy5tZW51LmVsZW1lbnQuZW1wdHkoKTsNCgkJdGhpcy5fcmVuZGVyTWVudSggdWwsIGl0ZW1zICk7DQoJCXRoaXMuaXNOZXdNZW51ID0gdHJ1ZTsNCgkJdGhpcy5tZW51LnJlZnJlc2goKTsNCg0KCQkvLyBTaXplIGFuZCBwb3NpdGlvbiBtZW51DQoJCXVsLnNob3coKTsNCgkJdGhpcy5fcmVzaXplTWVudSgpOw0KCQl1bC5wb3NpdGlvbiggJC5leHRlbmQoIHsNCgkJCW9mOiB0aGlzLmVsZW1lbnQNCgkJfSwgdGhpcy5vcHRpb25zLnBvc2l0aW9uICkgKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5hdXRvRm9jdXMgKSB7DQoJCQl0aGlzLm1lbnUubmV4dCgpOw0KCQl9DQoNCgkJLy8gTGlzdGVuIGZvciBpbnRlcmFjdGlvbnMgb3V0c2lkZSBvZiB0aGUgd2lkZ2V0ICgjNjY0MikNCgkJdGhpcy5fb24oIHRoaXMuZG9jdW1lbnQsIHsNCgkJCW1vdXNlZG93bjogIl9jbG9zZU9uQ2xpY2tPdXRzaWRlIg0KCQl9ICk7DQoJfSwNCg0KCV9yZXNpemVNZW51OiBmdW5jdGlvbigpIHsNCgkJdmFyIHVsID0gdGhpcy5tZW51LmVsZW1lbnQ7DQoJCXVsLm91dGVyV2lkdGgoIE1hdGgubWF4KA0KDQoJCQkvLyBGaXJlZm94IHdyYXBzIGxvbmcgdGV4dCAocG9zc2libHkgYSByb3VuZGluZyBidWcpDQoJCQkvLyBzbyB3ZSBhZGQgMXB4IHRvIGF2b2lkIHRoZSB3cmFwcGluZyAoIzc1MTMpDQoJCQl1bC53aWR0aCggIiIgKS5vdXRlcldpZHRoKCkgKyAxLA0KCQkJdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKQ0KCQkpICk7DQoJfSwNCg0KCV9yZW5kZXJNZW51OiBmdW5jdGlvbiggdWwsIGl0ZW1zICkgew0KCQl2YXIgdGhhdCA9IHRoaXM7DQoJCSQuZWFjaCggaXRlbXMsIGZ1bmN0aW9uKCBpbmRleCwgaXRlbSApIHsNCgkJCXRoYXQuX3JlbmRlckl0ZW1EYXRhKCB1bCwgaXRlbSApOw0KCQl9ICk7DQoJfSwNCg0KCV9yZW5kZXJJdGVtRGF0YTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQlyZXR1cm4gdGhpcy5fcmVuZGVySXRlbSggdWwsIGl0ZW0gKS5kYXRhKCAidWktYXV0b2NvbXBsZXRlLWl0ZW0iLCBpdGVtICk7DQoJfSwNCg0KCV9yZW5kZXJJdGVtOiBmdW5jdGlvbiggdWwsIGl0ZW0gKSB7DQoJCXJldHVybiAkKCAiPGxpPiIgKQ0KCQkJLmFwcGVuZCggJCggIjxkaXY+IiApLnRleHQoIGl0ZW0ubGFiZWwgKSApDQoJCQkuYXBwZW5kVG8oIHVsICk7DQoJfSwNCg0KCV9tb3ZlOiBmdW5jdGlvbiggZGlyZWN0aW9uLCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5tZW51LmVsZW1lbnQuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCXRoaXMuc2VhcmNoKCBudWxsLCBldmVudCApOw0KCQkJcmV0dXJuOw0KCQl9DQoJCWlmICggdGhpcy5tZW51LmlzRmlyc3RJdGVtKCkgJiYgL15wcmV2aW91cy8udGVzdCggZGlyZWN0aW9uICkgfHwNCgkJCQl0aGlzLm1lbnUuaXNMYXN0SXRlbSgpICYmIC9ebmV4dC8udGVzdCggZGlyZWN0aW9uICkgKSB7DQoNCgkJCWlmICggIXRoaXMuaXNNdWx0aUxpbmUgKSB7DQoJCQkJdGhpcy5fdmFsdWUoIHRoaXMudGVybSApOw0KCQkJfQ0KDQoJCQl0aGlzLm1lbnUuYmx1cigpOw0KCQkJcmV0dXJuOw0KCQl9DQoJCXRoaXMubWVudVsgZGlyZWN0aW9uIF0oIGV2ZW50ICk7DQoJfSwNCg0KCXdpZGdldDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLm1lbnUuZWxlbWVudDsNCgl9LA0KDQoJX3ZhbHVlOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMudmFsdWVNZXRob2QuYXBwbHkoIHRoaXMuZWxlbWVudCwgYXJndW1lbnRzICk7DQoJfSwNCg0KCV9rZXlFdmVudDogZnVuY3Rpb24oIGtleUV2ZW50LCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5pc011bHRpTGluZSB8fCB0aGlzLm1lbnUuZWxlbWVudC5pcyggIjp2aXNpYmxlIiApICkgew0KCQkJdGhpcy5fbW92ZSgga2V5RXZlbnQsIGV2ZW50ICk7DQoNCgkJCS8vIFByZXZlbnRzIG1vdmluZyBjdXJzb3IgdG8gYmVnaW5uaW5nL2VuZCBvZiB0aGUgdGV4dCBmaWVsZCBpbiBzb21lIGJyb3dzZXJzDQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9DQoJfSwNCg0KCS8vIFN1cHBvcnQ6IENocm9tZSA8PTUwDQoJLy8gV2Ugc2hvdWxkIGJlIGFibGUgdG8ganVzdCB1c2UgdGhpcy5lbGVtZW50LnByb3AoICJpc0NvbnRlbnRFZGl0YWJsZSIgKQ0KCS8vIGJ1dCBoaWRkZW4gZWxlbWVudHMgYWx3YXlzIHJlcG9ydCBmYWxzZSBpbiBDaHJvbWUuDQoJLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTMxMzA4Mg0KCV9pc0NvbnRlbnRFZGl0YWJsZTogZnVuY3Rpb24oIGVsZW1lbnQgKSB7DQoJCWlmICggIWVsZW1lbnQubGVuZ3RoICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmFyIGVkaXRhYmxlID0gZWxlbWVudC5wcm9wKCAiY29udGVudEVkaXRhYmxlIiApOw0KDQoJCWlmICggZWRpdGFibGUgPT09ICJpbmhlcml0IiApIHsNCgkJICByZXR1cm4gdGhpcy5faXNDb250ZW50RWRpdGFibGUoIGVsZW1lbnQucGFyZW50KCkgKTsNCgkJfQ0KDQoJCXJldHVybiBlZGl0YWJsZSA9PT0gInRydWUiOw0KCX0NCn0gKTsNCg0KJC5leHRlbmQoICQudWkuYXV0b2NvbXBsZXRlLCB7DQoJZXNjYXBlUmVnZXg6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJcmV0dXJuIHZhbHVlLnJlcGxhY2UoIC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCAiXFwkJiIgKTsNCgl9LA0KCWZpbHRlcjogZnVuY3Rpb24oIGFycmF5LCB0ZXJtICkgew0KCQl2YXIgbWF0Y2hlciA9IG5ldyBSZWdFeHAoICQudWkuYXV0b2NvbXBsZXRlLmVzY2FwZVJlZ2V4KCB0ZXJtICksICJpIiApOw0KCQlyZXR1cm4gJC5ncmVwKCBhcnJheSwgZnVuY3Rpb24oIHZhbHVlICkgew0KCQkJcmV0dXJuIG1hdGNoZXIudGVzdCggdmFsdWUubGFiZWwgfHwgdmFsdWUudmFsdWUgfHwgdmFsdWUgKTsNCgkJfSApOw0KCX0NCn0gKTsNCg0KLy8gTGl2ZSByZWdpb24gZXh0ZW5zaW9uLCBhZGRpbmcgYSBgbWVzc2FnZXNgIG9wdGlvbg0KLy8gTk9URTogVGhpcyBpcyBhbiBleHBlcmltZW50YWwgQVBJLiBXZSBhcmUgc3RpbGwgaW52ZXN0aWdhdGluZw0KLy8gYSBmdWxsIHNvbHV0aW9uIGZvciBzdHJpbmcgbWFuaXB1bGF0aW9uIGFuZCBpbnRlcm5hdGlvbmFsaXphdGlvbi4NCiQud2lkZ2V0KCAidWkuYXV0b2NvbXBsZXRlIiwgJC51aS5hdXRvY29tcGxldGUsIHsNCglvcHRpb25zOiB7DQoJCW1lc3NhZ2VzOiB7DQoJCQlub1Jlc3VsdHM6ICJObyBzZWFyY2ggcmVzdWx0cy4iLA0KCQkJcmVzdWx0czogZnVuY3Rpb24oIGFtb3VudCApIHsNCgkJCQlyZXR1cm4gYW1vdW50ICsgKCBhbW91bnQgPiAxID8gIiByZXN1bHRzIGFyZSIgOiAiIHJlc3VsdCBpcyIgKSArDQoJCQkJCSIgYXZhaWxhYmxlLCB1c2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4iOw0KCQkJfQ0KCQl9DQoJfSwNCg0KCV9fcmVzcG9uc2U6IGZ1bmN0aW9uKCBjb250ZW50ICkgew0KCQl2YXIgbWVzc2FnZTsNCgkJdGhpcy5fc3VwZXJBcHBseSggYXJndW1lbnRzICk7DQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkIHx8IHRoaXMuY2FuY2VsU2VhcmNoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoJCWlmICggY29udGVudCAmJiBjb250ZW50Lmxlbmd0aCApIHsNCgkJCW1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMubWVzc2FnZXMucmVzdWx0cyggY29udGVudC5sZW5ndGggKTsNCgkJfSBlbHNlIHsNCgkJCW1lc3NhZ2UgPSB0aGlzLm9wdGlvbnMubWVzc2FnZXMubm9SZXN1bHRzOw0KCQl9DQoJCXRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKTsNCgkJJCggIjxkaXY+IiApLnRleHQoIG1lc3NhZ2UgKS5hcHBlbmRUbyggdGhpcy5saXZlUmVnaW9uICk7DQoJfQ0KfSApOw0KDQp2YXIgd2lkZ2V0c0F1dG9jb21wbGV0ZSA9ICQudWkuYXV0b2NvbXBsZXRlOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIENvbnRyb2xncm91cCAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogQ29udHJvbGdyb3VwDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogVmlzdWFsbHkgZ3JvdXBzIGZvcm0gY29udHJvbCB3aWRnZXRzDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vY29udHJvbGdyb3VwLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2NvbnRyb2xncm91cC8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvbnRyb2xncm91cC5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCnZhciBjb250cm9sZ3JvdXBDb3JuZXJSZWdleCA9IC91aS1jb3JuZXItKFthLXpdKXsyLDZ9L2c7DQoNCnZhciB3aWRnZXRzQ29udHJvbGdyb3VwID0gJC53aWRnZXQoICJ1aS5jb250cm9sZ3JvdXAiLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJZGVmYXVsdEVsZW1lbnQ6ICI8ZGl2PiIsDQoJb3B0aW9uczogew0KCQlkaXJlY3Rpb246ICJob3Jpem9udGFsIiwNCgkJZGlzYWJsZWQ6IG51bGwsDQoJCW9ubHlWaXNpYmxlOiB0cnVlLA0KCQlpdGVtczogew0KCQkJImJ1dHRvbiI6ICJpbnB1dFt0eXBlPWJ1dHRvbl0sIGlucHV0W3R5cGU9c3VibWl0XSwgaW5wdXRbdHlwZT1yZXNldF0sIGJ1dHRvbiwgYSIsDQoJCQkiY29udHJvbGdyb3VwTGFiZWwiOiAiLnVpLWNvbnRyb2xncm91cC1sYWJlbCIsDQoJCQkiY2hlY2tib3hyYWRpbyI6ICJpbnB1dFt0eXBlPSdjaGVja2JveCddLCBpbnB1dFt0eXBlPSdyYWRpbyddIiwNCgkJCSJzZWxlY3RtZW51IjogInNlbGVjdCIsDQoJCQkic3Bpbm5lciI6ICIudWktc3Bpbm5lci1pbnB1dCINCgkJfQ0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fZW5oYW5jZSgpOw0KCX0sDQoNCgkvLyBUbyBzdXBwb3J0IHRoZSBlbmhhbmNlZCBvcHRpb24gaW4galF1ZXJ5IE1vYmlsZSwgd2UgaXNvbGF0ZSBET00gbWFuaXB1bGF0aW9uDQoJX2VuaGFuY2U6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmVsZW1lbnQuYXR0ciggInJvbGUiLCAidG9vbGJhciIgKTsNCgkJdGhpcy5yZWZyZXNoKCk7DQoJfSwNCg0KCV9kZXN0cm95OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fY2FsbENoaWxkTWV0aG9kKCAiZGVzdHJveSIgKTsNCgkJdGhpcy5jaGlsZFdpZGdldHMucmVtb3ZlRGF0YSggInVpLWNvbnRyb2xncm91cC1kYXRhIiApOw0KCQl0aGlzLmVsZW1lbnQucmVtb3ZlQXR0ciggInJvbGUiICk7DQoJCWlmICggdGhpcy5vcHRpb25zLml0ZW1zLmNvbnRyb2xncm91cExhYmVsICkgew0KCQkJdGhpcy5lbGVtZW50DQoJCQkJLmZpbmQoIHRoaXMub3B0aW9ucy5pdGVtcy5jb250cm9sZ3JvdXBMYWJlbCApDQoJCQkJLmZpbmQoICIudWktY29udHJvbGdyb3VwLWxhYmVsLWNvbnRlbnRzIiApDQoJCQkJLmNvbnRlbnRzKCkudW53cmFwKCk7DQoJCX0NCgl9LA0KDQoJX2luaXRXaWRnZXRzOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJY2hpbGRXaWRnZXRzID0gW107DQoNCgkJLy8gRmlyc3Qgd2UgaXRlcmF0ZSBvdmVyIGVhY2ggb2YgdGhlIGl0ZW1zIG9wdGlvbnMNCgkJJC5lYWNoKCB0aGlzLm9wdGlvbnMuaXRlbXMsIGZ1bmN0aW9uKCB3aWRnZXQsIHNlbGVjdG9yICkgew0KCQkJdmFyIGxhYmVsczsNCgkJCXZhciBvcHRpb25zID0ge307DQoNCgkJCS8vIE1ha2Ugc3VyZSB0aGUgd2lkZ2V0IGhhcyBhIHNlbGVjdG9yIHNldA0KCQkJaWYgKCAhc2VsZWN0b3IgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQlpZiAoIHdpZGdldCA9PT0gImNvbnRyb2xncm91cExhYmVsIiApIHsNCgkJCQlsYWJlbHMgPSB0aGF0LmVsZW1lbnQuZmluZCggc2VsZWN0b3IgKTsNCgkJCQlsYWJlbHMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJCXZhciBlbGVtZW50ID0gJCggdGhpcyApOw0KDQoJCQkJCWlmICggZWxlbWVudC5jaGlsZHJlbiggIi51aS1jb250cm9sZ3JvdXAtbGFiZWwtY29udGVudHMiICkubGVuZ3RoICkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoJCQkJCWVsZW1lbnQuY29udGVudHMoKQ0KCQkJCQkJLndyYXBBbGwoICI8c3BhbiBjbGFzcz0ndWktY29udHJvbGdyb3VwLWxhYmVsLWNvbnRlbnRzJz48L3NwYW4+IiApOw0KCQkJCX0gKTsNCgkJCQl0aGF0Ll9hZGRDbGFzcyggbGFiZWxzLCBudWxsLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLXN0YXRlLWRlZmF1bHQiICk7DQoJCQkJY2hpbGRXaWRnZXRzID0gY2hpbGRXaWRnZXRzLmNvbmNhdCggbGFiZWxzLmdldCgpICk7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQkvLyBNYWtlIHN1cmUgdGhlIHdpZGdldCBhY3R1YWxseSBleGlzdHMNCgkJCWlmICggISQuZm5bIHdpZGdldCBdICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJLy8gV2UgYXNzdW1lIGV2ZXJ5dGhpbmcgaXMgaW4gdGhlIG1pZGRsZSB0byBzdGFydCBiZWNhdXNlIHdlIGNhbid0IGRldGVybWluZQ0KCQkJLy8gZmlyc3QgLyBsYXN0IGVsZW1lbnRzIHVudGlsIGFsbCBlbmhhbmNtZW50cyBhcmUgZG9uZS4NCgkJCWlmICggdGhhdFsgIl8iICsgd2lkZ2V0ICsgIk9wdGlvbnMiIF0gKSB7DQoJCQkJb3B0aW9ucyA9IHRoYXRbICJfIiArIHdpZGdldCArICJPcHRpb25zIiBdKCAibWlkZGxlIiApOw0KCQkJfSBlbHNlIHsNCgkJCQlvcHRpb25zID0geyBjbGFzc2VzOiB7fSB9Ow0KCQkJfQ0KDQoJCQkvLyBGaW5kIGluc3RhbmNlcyBvZiB0aGlzIHdpZGdldCBpbnNpZGUgY29udHJvbGdyb3VwIGFuZCBpbml0IHRoZW0NCgkJCXRoYXQuZWxlbWVudA0KCQkJCS5maW5kKCBzZWxlY3RvciApDQoJCQkJLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCQl2YXIgZWxlbWVudCA9ICQoIHRoaXMgKTsNCgkJCQkJdmFyIGluc3RhbmNlID0gZWxlbWVudFsgd2lkZ2V0IF0oICJpbnN0YW5jZSIgKTsNCg0KCQkJCQkvLyBXZSBuZWVkIHRvIGNsb25lIHRoZSBkZWZhdWx0IG9wdGlvbnMgZm9yIHRoaXMgdHlwZSBvZiB3aWRnZXQgdG8gYXZvaWQNCgkJCQkJLy8gcG9sbHV0aW5nIHRoZSB2YXJpYWJsZSBvcHRpb25zIHdoaWNoIGhhcyBhIHdpZGVyIHNjb3BlIHRoYW4gYSBzaW5nbGUgd2lkZ2V0Lg0KCQkJCQl2YXIgaW5zdGFuY2VPcHRpb25zID0gJC53aWRnZXQuZXh0ZW5kKCB7fSwgb3B0aW9ucyApOw0KDQoJCQkJCS8vIElmIHRoZSBidXR0b24gaXMgdGhlIGNoaWxkIG9mIGEgc3Bpbm5lciBpZ25vcmUgaXQNCgkJCQkJLy8gVE9ETzogRmluZCBhIG1vcmUgZ2VuZXJpYyBzb2x1dGlvbg0KCQkJCQlpZiAoIHdpZGdldCA9PT0gImJ1dHRvbiIgJiYgZWxlbWVudC5wYXJlbnQoICIudWktc3Bpbm5lciIgKS5sZW5ndGggKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCg0KCQkJCQkvLyBDcmVhdGUgdGhlIHdpZGdldCBpZiBpdCBkb2Vzbid0IGV4aXN0DQoJCQkJCWlmICggIWluc3RhbmNlICkgew0KCQkJCQkJaW5zdGFuY2UgPSBlbGVtZW50WyB3aWRnZXQgXSgpWyB3aWRnZXQgXSggImluc3RhbmNlIiApOw0KCQkJCQl9DQoJCQkJCWlmICggaW5zdGFuY2UgKSB7DQoJCQkJCQlpbnN0YW5jZU9wdGlvbnMuY2xhc3NlcyA9DQoJCQkJCQkJdGhhdC5fcmVzb2x2ZUNsYXNzZXNWYWx1ZXMoIGluc3RhbmNlT3B0aW9ucy5jbGFzc2VzLCBpbnN0YW5jZSApOw0KCQkJCQl9DQoJCQkJCWVsZW1lbnRbIHdpZGdldCBdKCBpbnN0YW5jZU9wdGlvbnMgKTsNCg0KCQkJCQkvLyBTdG9yZSBhbiBpbnN0YW5jZSBvZiB0aGUgY29udHJvbGdyb3VwIHRvIGJlIGFibGUgdG8gcmVmZXJlbmNlDQoJCQkJCS8vIGZyb20gdGhlIG91dGVybW9zdCBlbGVtZW50IGZvciBjaGFuZ2luZyBvcHRpb25zIGFuZCByZWZyZXNoDQoJCQkJCXZhciB3aWRnZXRFbGVtZW50ID0gZWxlbWVudFsgd2lkZ2V0IF0oICJ3aWRnZXQiICk7DQoJCQkJCSQuZGF0YSggd2lkZ2V0RWxlbWVudFsgMCBdLCAidWktY29udHJvbGdyb3VwLWRhdGEiLA0KCQkJCQkJaW5zdGFuY2UgPyBpbnN0YW5jZSA6IGVsZW1lbnRbIHdpZGdldCBdKCAiaW5zdGFuY2UiICkgKTsNCg0KCQkJCQljaGlsZFdpZGdldHMucHVzaCggd2lkZ2V0RWxlbWVudFsgMCBdICk7DQoJCQkJfSApOw0KCQl9ICk7DQoNCgkJdGhpcy5jaGlsZFdpZGdldHMgPSAkKCAkLnVuaXF1ZSggY2hpbGRXaWRnZXRzICkgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuY2hpbGRXaWRnZXRzLCAidWktY29udHJvbGdyb3VwLWl0ZW0iICk7DQoJfSwNCg0KCV9jYWxsQ2hpbGRNZXRob2Q6IGZ1bmN0aW9uKCBtZXRob2QgKSB7DQoJCXRoaXMuY2hpbGRXaWRnZXRzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICksDQoJCQkJZGF0YSA9IGVsZW1lbnQuZGF0YSggInVpLWNvbnRyb2xncm91cC1kYXRhIiApOw0KCQkJaWYgKCBkYXRhICYmIGRhdGFbIG1ldGhvZCBdICkgew0KCQkJCWRhdGFbIG1ldGhvZCBdKCk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX3VwZGF0ZUNvcm5lckNsYXNzOiBmdW5jdGlvbiggZWxlbWVudCwgcG9zaXRpb24gKSB7DQoJCXZhciByZW1vdmUgPSAidWktY29ybmVyLXRvcCB1aS1jb3JuZXItYm90dG9tIHVpLWNvcm5lci1sZWZ0IHVpLWNvcm5lci1yaWdodCB1aS1jb3JuZXItYWxsIjsNCgkJdmFyIGFkZCA9IHRoaXMuX2J1aWxkU2ltcGxlT3B0aW9ucyggcG9zaXRpb24sICJsYWJlbCIgKS5jbGFzc2VzLmxhYmVsOw0KDQoJCXRoaXMuX3JlbW92ZUNsYXNzKCBlbGVtZW50LCBudWxsLCByZW1vdmUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIGVsZW1lbnQsIG51bGwsIGFkZCApOw0KCX0sDQoNCglfYnVpbGRTaW1wbGVPcHRpb25zOiBmdW5jdGlvbiggcG9zaXRpb24sIGtleSApIHsNCgkJdmFyIGRpcmVjdGlvbiA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gPT09ICJ2ZXJ0aWNhbCI7DQoJCXZhciByZXN1bHQgPSB7DQoJCQljbGFzc2VzOiB7fQ0KCQl9Ow0KCQlyZXN1bHQuY2xhc3Nlc1sga2V5IF0gPSB7DQoJCQkibWlkZGxlIjogIiIsDQoJCQkiZmlyc3QiOiAidWktY29ybmVyLSIgKyAoIGRpcmVjdGlvbiA/ICJ0b3AiIDogImxlZnQiICksDQoJCQkibGFzdCI6ICJ1aS1jb3JuZXItIiArICggZGlyZWN0aW9uID8gImJvdHRvbSIgOiAicmlnaHQiICksDQoJCQkib25seSI6ICJ1aS1jb3JuZXItYWxsIg0KCQl9WyBwb3NpdGlvbiBdOw0KDQoJCXJldHVybiByZXN1bHQ7DQoJfSwNCg0KCV9zcGlubmVyT3B0aW9uczogZnVuY3Rpb24oIHBvc2l0aW9uICkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMuX2J1aWxkU2ltcGxlT3B0aW9ucyggcG9zaXRpb24sICJ1aS1zcGlubmVyIiApOw0KDQoJCW9wdGlvbnMuY2xhc3Nlc1sgInVpLXNwaW5uZXItdXAiIF0gPSAiIjsNCgkJb3B0aW9ucy5jbGFzc2VzWyAidWktc3Bpbm5lci1kb3duIiBdID0gIiI7DQoNCgkJcmV0dXJuIG9wdGlvbnM7DQoJfSwNCg0KCV9idXR0b25PcHRpb25zOiBmdW5jdGlvbiggcG9zaXRpb24gKSB7DQoJCXJldHVybiB0aGlzLl9idWlsZFNpbXBsZU9wdGlvbnMoIHBvc2l0aW9uLCAidWktYnV0dG9uIiApOw0KCX0sDQoNCglfY2hlY2tib3hyYWRpb09wdGlvbnM6IGZ1bmN0aW9uKCBwb3NpdGlvbiApIHsNCgkJcmV0dXJuIHRoaXMuX2J1aWxkU2ltcGxlT3B0aW9ucyggcG9zaXRpb24sICJ1aS1jaGVja2JveHJhZGlvLWxhYmVsIiApOw0KCX0sDQoNCglfc2VsZWN0bWVudU9wdGlvbnM6IGZ1bmN0aW9uKCBwb3NpdGlvbiApIHsNCgkJdmFyIGRpcmVjdGlvbiA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gPT09ICJ2ZXJ0aWNhbCI7DQoJCXJldHVybiB7DQoJCQl3aWR0aDogZGlyZWN0aW9uID8gImF1dG8iIDogZmFsc2UsDQoJCQljbGFzc2VzOiB7DQoJCQkJbWlkZGxlOiB7DQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1vcGVuIjogIiIsDQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiAiIg0KCQkJCX0sDQoJCQkJZmlyc3Q6IHsNCgkJCQkJInVpLXNlbGVjdG1lbnUtYnV0dG9uLW9wZW4iOiAidWktY29ybmVyLSIgKyAoIGRpcmVjdGlvbiA/ICJ0b3AiIDogInRsIiApLA0KCQkJCQkidWktc2VsZWN0bWVudS1idXR0b24tY2xvc2VkIjogInVpLWNvcm5lci0iICsgKCBkaXJlY3Rpb24gPyAidG9wIiA6ICJsZWZ0IiApDQoJCQkJfSwNCgkJCQlsYXN0OiB7DQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1vcGVuIjogZGlyZWN0aW9uID8gIiIgOiAidWktY29ybmVyLXRyIiwNCgkJCQkJInVpLXNlbGVjdG1lbnUtYnV0dG9uLWNsb3NlZCI6ICJ1aS1jb3JuZXItIiArICggZGlyZWN0aW9uID8gImJvdHRvbSIgOiAicmlnaHQiICkNCgkJCQl9LA0KCQkJCW9ubHk6IHsNCgkJCQkJInVpLXNlbGVjdG1lbnUtYnV0dG9uLW9wZW4iOiAidWktY29ybmVyLXRvcCIsDQoJCQkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiAidWktY29ybmVyLWFsbCINCgkJCQl9DQoNCgkJCX1bIHBvc2l0aW9uIF0NCgkJfTsNCgl9LA0KDQoJX3Jlc29sdmVDbGFzc2VzVmFsdWVzOiBmdW5jdGlvbiggY2xhc3NlcywgaW5zdGFuY2UgKSB7DQoJCXZhciByZXN1bHQgPSB7fTsNCgkJJC5lYWNoKCBjbGFzc2VzLCBmdW5jdGlvbigga2V5ICkgew0KCQkJdmFyIGN1cnJlbnQgPSBpbnN0YW5jZS5vcHRpb25zLmNsYXNzZXNbIGtleSBdIHx8ICIiOw0KCQkJY3VycmVudCA9ICQudHJpbSggY3VycmVudC5yZXBsYWNlKCBjb250cm9sZ3JvdXBDb3JuZXJSZWdleCwgIiIgKSApOw0KCQkJcmVzdWx0WyBrZXkgXSA9ICggY3VycmVudCArICIgIiArIGNsYXNzZXNbIGtleSBdICkucmVwbGFjZSggL1xzKy9nLCAiICIgKTsNCgkJfSApOw0KCQlyZXR1cm4gcmVzdWx0Ow0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJaWYgKCBrZXkgPT09ICJkaXJlY3Rpb24iICkgew0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICJ1aS1jb250cm9sZ3JvdXAtIiArIHRoaXMub3B0aW9ucy5kaXJlY3Rpb24gKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICkgew0KCQkJdGhpcy5fY2FsbENoaWxkTWV0aG9kKCB2YWx1ZSA/ICJkaXNhYmxlIiA6ICJlbmFibGUiICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLnJlZnJlc2goKTsNCgl9LA0KDQoJcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCXZhciBjaGlsZHJlbiwNCgkJCXRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktY29udHJvbGdyb3VwIHVpLWNvbnRyb2xncm91cC0iICsgdGhpcy5vcHRpb25zLmRpcmVjdGlvbiApOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRpcmVjdGlvbiA9PT0gImhvcml6b250YWwiICkgew0KCQkJdGhpcy5fYWRkQ2xhc3MoIG51bGwsICJ1aS1oZWxwZXItY2xlYXJmaXgiICk7DQoJCX0NCgkJdGhpcy5faW5pdFdpZGdldHMoKTsNCg0KCQljaGlsZHJlbiA9IHRoaXMuY2hpbGRXaWRnZXRzOw0KDQoJCS8vIFdlIGZpbHRlciBoZXJlIGJlY2F1c2Ugd2UgbmVlZCB0byB0cmFjayBhbGwgY2hpbGRXaWRnZXRzIG5vdCBqdXN0IHRoZSB2aXNpYmxlIG9uZXMNCgkJaWYgKCB0aGlzLm9wdGlvbnMub25seVZpc2libGUgKSB7DQoJCQljaGlsZHJlbiA9IGNoaWxkcmVuLmZpbHRlciggIjp2aXNpYmxlIiApOw0KCQl9DQoNCgkJaWYgKCBjaGlsZHJlbi5sZW5ndGggKSB7DQoNCgkJCS8vIFdlIGRvIHRoaXMgbGFzdCBiZWNhdXNlIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGFsbCBlbmhhbmNtZW50IGlzIGRvbmUNCgkJCS8vIGJlZm9yZSBkZXRlcm1pbmluZyBmaXJzdCBhbmQgbGFzdA0KCQkJJC5lYWNoKCBbICJmaXJzdCIsICJsYXN0IiBdLCBmdW5jdGlvbiggaW5kZXgsIHZhbHVlICkgew0KCQkJCXZhciBpbnN0YW5jZSA9IGNoaWxkcmVuWyB2YWx1ZSBdKCkuZGF0YSggInVpLWNvbnRyb2xncm91cC1kYXRhIiApOw0KDQoJCQkJaWYgKCBpbnN0YW5jZSAmJiB0aGF0WyAiXyIgKyBpbnN0YW5jZS53aWRnZXROYW1lICsgIk9wdGlvbnMiIF0gKSB7DQoJCQkJCXZhciBvcHRpb25zID0gdGhhdFsgIl8iICsgaW5zdGFuY2Uud2lkZ2V0TmFtZSArICJPcHRpb25zIiBdKA0KCQkJCQkJY2hpbGRyZW4ubGVuZ3RoID09PSAxID8gIm9ubHkiIDogdmFsdWUNCgkJCQkJKTsNCgkJCQkJb3B0aW9ucy5jbGFzc2VzID0gdGhhdC5fcmVzb2x2ZUNsYXNzZXNWYWx1ZXMoIG9wdGlvbnMuY2xhc3NlcywgaW5zdGFuY2UgKTsNCgkJCQkJaW5zdGFuY2UuZWxlbWVudFsgaW5zdGFuY2Uud2lkZ2V0TmFtZSBdKCBvcHRpb25zICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhhdC5fdXBkYXRlQ29ybmVyQ2xhc3MoIGNoaWxkcmVuWyB2YWx1ZSBdKCksIHZhbHVlICk7DQoJCQkJfQ0KCQkJfSApOw0KDQoJCQkvLyBGaW5hbGx5IGNhbGwgdGhlIHJlZnJlc2ggbWV0aG9kIG9uIGVhY2ggb2YgdGhlIGNoaWxkIHdpZGdldHMuDQoJCQl0aGlzLl9jYWxsQ2hpbGRNZXRob2QoICJyZWZyZXNoIiApOw0KCQl9DQoJfQ0KfSApOw0KDQovKiENCiAqIGpRdWVyeSBVSSBDaGVja2JveHJhZGlvIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBDaGVja2JveHJhZGlvDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogRW5oYW5jZXMgYSBmb3JtIHdpdGggbXVsdGlwbGUgdGhlbWVhYmxlIGNoZWNrYm94ZXMgb3IgcmFkaW8gYnV0dG9ucy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9jaGVja2JveHJhZGlvLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2NoZWNrYm94cmFkaW8vDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9idXR0b24uY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY2hlY2tib3hyYWRpby5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS5jaGVja2JveHJhZGlvIiwgWyAkLnVpLmZvcm1SZXNldE1peGluLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJb3B0aW9uczogew0KCQlkaXNhYmxlZDogbnVsbCwNCgkJbGFiZWw6IG51bGwsDQoJCWljb246IHRydWUsDQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS1jaGVja2JveHJhZGlvLWxhYmVsIjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLWNoZWNrYm94cmFkaW8taWNvbiI6ICJ1aS1jb3JuZXItYWxsIg0KCQl9DQoJfSwNCg0KCV9nZXRDcmVhdGVPcHRpb25zOiBmdW5jdGlvbigpIHsNCgkJdmFyIGRpc2FibGVkLCBsYWJlbHM7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLl9zdXBlcigpIHx8IHt9Ow0KDQoJCS8vIFdlIHJlYWQgdGhlIHR5cGUgaGVyZSwgYmVjYXVzZSBpdCBtYWtlcyBtb3JlIHNlbnNlIHRvIHRocm93IGEgZWxlbWVudCB0eXBlIGVycm9yIGZpcnN0LA0KCQkvLyByYXRoZXIgdGhlbiB0aGUgZXJyb3IgZm9yIGxhY2sgb2YgYSBsYWJlbC4gT2Z0ZW4gaWYgaXRzIHRoZSB3cm9uZyB0eXBlLCBpdA0KCQkvLyB3b24ndCBoYXZlIGEgbGFiZWwgKGUuZy4gY2FsbGluZyBvbiBhIGRpdiwgYnRuLCBldGMpDQoJCXRoaXMuX3JlYWRUeXBlKCk7DQoNCgkJbGFiZWxzID0gdGhpcy5lbGVtZW50LmxhYmVscygpOw0KDQoJCS8vIElmIHRoZXJlIGFyZSBtdWx0aXBsZSBsYWJlbHMsIHVzZSB0aGUgbGFzdCBvbmUNCgkJdGhpcy5sYWJlbCA9ICQoIGxhYmVsc1sgbGFiZWxzLmxlbmd0aCAtIDEgXSApOw0KCQlpZiAoICF0aGlzLmxhYmVsLmxlbmd0aCApIHsNCgkJCSQuZXJyb3IoICJObyBsYWJlbCBmb3VuZCBmb3IgY2hlY2tib3hyYWRpbyB3aWRnZXQiICk7DQoJCX0NCg0KCQl0aGlzLm9yaWdpbmFsTGFiZWwgPSAiIjsNCg0KCQkvLyBXZSBuZWVkIHRvIGdldCB0aGUgbGFiZWwgdGV4dCBidXQgdGhpcyBtYXkgYWxzbyBuZWVkIHRvIG1ha2Ugc3VyZSBpdCBkb2VzIG5vdCBjb250YWluIHRoZQ0KCQkvLyBpbnB1dCBpdHNlbGYuDQoJCXRoaXMubGFiZWwuY29udGVudHMoKS5ub3QoIHRoaXMuZWxlbWVudFsgMCBdICkuZWFjaCggZnVuY3Rpb24oKSB7DQoNCgkJCS8vIFRoZSBsYWJlbCBjb250ZW50cyBjb3VsZCBiZSB0ZXh0LCBodG1sLCBvciBhIG1peC4gV2UgY29uY2F0IGVhY2ggZWxlbWVudCB0byBnZXQgYQ0KCQkJLy8gc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBsYWJlbCwgd2l0aG91dCB0aGUgaW5wdXQgYXMgcGFydCBvZiBpdC4NCgkJCXRoYXQub3JpZ2luYWxMYWJlbCArPSB0aGlzLm5vZGVUeXBlID09PSAzID8gJCggdGhpcyApLnRleHQoKSA6IHRoaXMub3V0ZXJIVE1MOw0KCQl9ICk7DQoNCgkJLy8gU2V0IHRoZSBsYWJlbCBvcHRpb24gaWYgd2UgZm91bmQgbGFiZWwgdGV4dA0KCQlpZiAoIHRoaXMub3JpZ2luYWxMYWJlbCApIHsNCgkJCW9wdGlvbnMubGFiZWwgPSB0aGlzLm9yaWdpbmFsTGFiZWw7DQoJCX0NCg0KCQlkaXNhYmxlZCA9IHRoaXMuZWxlbWVudFsgMCBdLmRpc2FibGVkOw0KCQlpZiAoIGRpc2FibGVkICE9IG51bGwgKSB7DQoJCQlvcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7DQoJCX0NCgkJcmV0dXJuIG9wdGlvbnM7DQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgY2hlY2tlZCA9IHRoaXMuZWxlbWVudFsgMCBdLmNoZWNrZWQ7DQoNCgkJdGhpcy5fYmluZEZvcm1SZXNldEhhbmRsZXIoKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCA9PSBudWxsICkgew0KCQkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQ7DQoJCX0NCg0KCQl0aGlzLl9zZXRPcHRpb24oICJkaXNhYmxlZCIsIHRoaXMub3B0aW9ucy5kaXNhYmxlZCApOw0KCQl0aGlzLl9hZGRDbGFzcyggInVpLWNoZWNrYm94cmFkaW8iLCAidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5sYWJlbCwgInVpLWNoZWNrYm94cmFkaW8tbGFiZWwiLCAidWktYnV0dG9uIHVpLXdpZGdldCIgKTsNCg0KCQlpZiAoIHRoaXMudHlwZSA9PT0gInJhZGlvIiApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmxhYmVsLCAidWktY2hlY2tib3hyYWRpby1yYWRpby1sYWJlbCIgKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5vcHRpb25zLmxhYmVsICYmIHRoaXMub3B0aW9ucy5sYWJlbCAhPT0gdGhpcy5vcmlnaW5hbExhYmVsICkgew0KCQkJdGhpcy5fdXBkYXRlTGFiZWwoKTsNCgkJfSBlbHNlIGlmICggdGhpcy5vcmlnaW5hbExhYmVsICkgew0KCQkJdGhpcy5vcHRpb25zLmxhYmVsID0gdGhpcy5vcmlnaW5hbExhYmVsOw0KCQl9DQoNCgkJdGhpcy5fZW5oYW5jZSgpOw0KDQoJCWlmICggY2hlY2tlZCApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmxhYmVsLCAidWktY2hlY2tib3hyYWRpby1jaGVja2VkIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCWlmICggdGhpcy5pY29uICkgew0KCQkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmljb24sIG51bGwsICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJCX0NCgkJfQ0KDQoJCXRoaXMuX29uKCB7DQoJCQljaGFuZ2U6ICJfdG9nZ2xlQ2xhc3NlcyIsDQoJCQlmb2N1czogZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMubGFiZWwsIG51bGwsICJ1aS1zdGF0ZS1mb2N1cyB1aS12aXN1YWwtZm9jdXMiICk7DQoJCQl9LA0KCQkJYmx1cjogZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMubGFiZWwsIG51bGwsICJ1aS1zdGF0ZS1mb2N1cyB1aS12aXN1YWwtZm9jdXMiICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX3JlYWRUeXBlOiBmdW5jdGlvbigpIHsNCgkJdmFyIG5vZGVOYW1lID0gdGhpcy5lbGVtZW50WyAwIF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJdGhpcy50eXBlID0gdGhpcy5lbGVtZW50WyAwIF0udHlwZTsNCgkJaWYgKCBub2RlTmFtZSAhPT0gImlucHV0IiB8fCAhL3JhZGlvfGNoZWNrYm94Ly50ZXN0KCB0aGlzLnR5cGUgKSApIHsNCgkJCSQuZXJyb3IoICJDYW4ndCBjcmVhdGUgY2hlY2tib3hyYWRpbyBvbiBlbGVtZW50Lm5vZGVOYW1lPSIgKyBub2RlTmFtZSArDQoJCQkJIiBhbmQgZWxlbWVudC50eXBlPSIgKyB0aGlzLnR5cGUgKTsNCgkJfQ0KCX0sDQoNCgkvLyBTdXBwb3J0IGpRdWVyeSBNb2JpbGUgZW5oYW5jZWQgb3B0aW9uDQoJX2VuaGFuY2U6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl91cGRhdGVJY29uKCB0aGlzLmVsZW1lbnRbIDAgXS5jaGVja2VkICk7DQoJfSwNCg0KCXdpZGdldDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmxhYmVsOw0KCX0sDQoNCglfZ2V0UmFkaW9Hcm91cDogZnVuY3Rpb24oKSB7DQoJCXZhciBncm91cDsNCgkJdmFyIG5hbWUgPSB0aGlzLmVsZW1lbnRbIDAgXS5uYW1lOw0KCQl2YXIgbmFtZVNlbGVjdG9yID0gImlucHV0W25hbWU9JyIgKyAkLnVpLmVzY2FwZVNlbGVjdG9yKCBuYW1lICkgKyAiJ10iOw0KDQoJCWlmICggIW5hbWUgKSB7DQoJCQlyZXR1cm4gJCggW10gKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5mb3JtLmxlbmd0aCApIHsNCgkJCWdyb3VwID0gJCggdGhpcy5mb3JtWyAwIF0uZWxlbWVudHMgKS5maWx0ZXIoIG5hbWVTZWxlY3RvciApOw0KCQl9IGVsc2Ugew0KDQoJCQkvLyBOb3QgaW5zaWRlIGEgZm9ybSwgY2hlY2sgYWxsIGlucHV0cyB0aGF0IGFsc28gYXJlIG5vdCBpbnNpZGUgYSBmb3JtDQoJCQlncm91cCA9ICQoIG5hbWVTZWxlY3RvciApLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICQoIHRoaXMgKS5mb3JtKCkubGVuZ3RoID09PSAwOw0KCQkJfSApOw0KCQl9DQoNCgkJcmV0dXJuIGdyb3VwLm5vdCggdGhpcy5lbGVtZW50ICk7DQoJfSwNCg0KCV90b2dnbGVDbGFzc2VzOiBmdW5jdGlvbigpIHsNCgkJdmFyIGNoZWNrZWQgPSB0aGlzLmVsZW1lbnRbIDAgXS5jaGVja2VkOw0KCQl0aGlzLl90b2dnbGVDbGFzcyggdGhpcy5sYWJlbCwgInVpLWNoZWNrYm94cmFkaW8tY2hlY2tlZCIsICJ1aS1zdGF0ZS1hY3RpdmUiLCBjaGVja2VkICk7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuaWNvbiAmJiB0aGlzLnR5cGUgPT09ICJjaGVja2JveCIgKSB7DQoJCQl0aGlzLl90b2dnbGVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktaWNvbi1jaGVjayB1aS1zdGF0ZS1jaGVja2VkIiwgY2hlY2tlZCApDQoJCQkJLl90b2dnbGVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktaWNvbi1ibGFuayIsICFjaGVja2VkICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMudHlwZSA9PT0gInJhZGlvIiApIHsNCgkJCXRoaXMuX2dldFJhZGlvR3JvdXAoKQ0KCQkJCS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGluc3RhbmNlID0gJCggdGhpcyApLmNoZWNrYm94cmFkaW8oICJpbnN0YW5jZSIgKTsNCg0KCQkJCQlpZiAoIGluc3RhbmNlICkgew0KCQkJCQkJaW5zdGFuY2UuX3JlbW92ZUNsYXNzKCBpbnN0YW5jZS5sYWJlbCwNCgkJCQkJCQkidWktY2hlY2tib3hyYWRpby1jaGVja2VkIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJfQ0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX3VuYmluZEZvcm1SZXNldEhhbmRsZXIoKTsNCg0KCQlpZiAoIHRoaXMuaWNvbiApIHsNCgkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJCXRoaXMuaWNvblNwYWNlLnJlbW92ZSgpOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KDQoJCS8vIFdlIGRvbid0IGFsbG93IHRoZSB2YWx1ZSB0byBiZSBzZXQgdG8gbm90aGluZw0KCQlpZiAoIGtleSA9PT0gImxhYmVsIiAmJiAhdmFsdWUgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KDQoJCWlmICgga2V5ID09PSAiZGlzYWJsZWQiICkgew0KCQkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMubGFiZWwsIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIsIHZhbHVlICk7DQoJCQl0aGlzLmVsZW1lbnRbIDAgXS5kaXNhYmxlZCA9IHZhbHVlOw0KDQoJCQkvLyBEb24ndCByZWZyZXNoIHdoZW4gc2V0dGluZyBkaXNhYmxlZA0KCQkJcmV0dXJuOw0KCQl9DQoJCXRoaXMucmVmcmVzaCgpOw0KCX0sDQoNCglfdXBkYXRlSWNvbjogZnVuY3Rpb24oIGNoZWNrZWQgKSB7DQoJCXZhciB0b0FkZCA9ICJ1aS1pY29uIHVpLWljb24tYmFja2dyb3VuZCAiOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmljb24gKSB7DQoJCQlpZiAoICF0aGlzLmljb24gKSB7DQoJCQkJdGhpcy5pY29uID0gJCggIjxzcGFuPiIgKTsNCgkJCQl0aGlzLmljb25TcGFjZSA9ICQoICI8c3Bhbj4gPC9zcGFuPiIgKTsNCgkJCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5pY29uU3BhY2UsICJ1aS1jaGVja2JveHJhZGlvLWljb24tc3BhY2UiICk7DQoJCQl9DQoNCgkJCWlmICggdGhpcy50eXBlID09PSAiY2hlY2tib3giICkgew0KCQkJCXRvQWRkICs9IGNoZWNrZWQgPyAidWktaWNvbi1jaGVjayB1aS1zdGF0ZS1jaGVja2VkIiA6ICJ1aS1pY29uLWJsYW5rIjsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5pY29uLCBudWxsLCBjaGVja2VkID8gInVpLWljb24tYmxhbmsiIDogInVpLWljb24tY2hlY2siICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRvQWRkICs9ICJ1aS1pY29uLWJsYW5rIjsNCgkJCX0NCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmljb24sICJ1aS1jaGVja2JveHJhZGlvLWljb24iLCB0b0FkZCApOw0KCQkJaWYgKCAhY2hlY2tlZCApIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktaWNvbi1jaGVjayB1aS1zdGF0ZS1jaGVja2VkIiApOw0KCQkJfQ0KCQkJdGhpcy5pY29uLnByZXBlbmRUbyggdGhpcy5sYWJlbCApLmFmdGVyKCB0aGlzLmljb25TcGFjZSApOw0KCQl9IGVsc2UgaWYgKCB0aGlzLmljb24gIT09IHVuZGVmaW5lZCApIHsNCgkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJCXRoaXMuaWNvblNwYWNlLnJlbW92ZSgpOw0KCQkJZGVsZXRlIHRoaXMuaWNvbjsNCgkJfQ0KCX0sDQoNCglfdXBkYXRlTGFiZWw6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIFJlbW92ZSB0aGUgY29udGVudHMgb2YgdGhlIGxhYmVsICggbWludXMgdGhlIGljb24sIGljb24gc3BhY2UsIGFuZCBpbnB1dCApDQoJCXZhciBjb250ZW50cyA9IHRoaXMubGFiZWwuY29udGVudHMoKS5ub3QoIHRoaXMuZWxlbWVudFsgMCBdICk7DQoJCWlmICggdGhpcy5pY29uICkgew0KCQkJY29udGVudHMgPSBjb250ZW50cy5ub3QoIHRoaXMuaWNvblsgMCBdICk7DQoJCX0NCgkJaWYgKCB0aGlzLmljb25TcGFjZSApIHsNCgkJCWNvbnRlbnRzID0gY29udGVudHMubm90KCB0aGlzLmljb25TcGFjZVsgMCBdICk7DQoJCX0NCgkJY29udGVudHMucmVtb3ZlKCk7DQoNCgkJdGhpcy5sYWJlbC5hcHBlbmQoIHRoaXMub3B0aW9ucy5sYWJlbCApOw0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdmFyIGNoZWNrZWQgPSB0aGlzLmVsZW1lbnRbIDAgXS5jaGVja2VkLA0KCQkJaXNEaXNhYmxlZCA9IHRoaXMuZWxlbWVudFsgMCBdLmRpc2FibGVkOw0KDQoJCXRoaXMuX3VwZGF0ZUljb24oIGNoZWNrZWQgKTsNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMubGFiZWwsICJ1aS1jaGVja2JveHJhZGlvLWNoZWNrZWQiLCAidWktc3RhdGUtYWN0aXZlIiwgY2hlY2tlZCApOw0KCQlpZiAoIHRoaXMub3B0aW9ucy5sYWJlbCAhPT0gbnVsbCApIHsNCgkJCXRoaXMuX3VwZGF0ZUxhYmVsKCk7DQoJCX0NCg0KCQlpZiAoIGlzRGlzYWJsZWQgIT09IHRoaXMub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCXRoaXMuX3NldE9wdGlvbnMoIHsgImRpc2FibGVkIjogaXNEaXNhYmxlZCB9ICk7DQoJCX0NCgl9DQoNCn0gXSApOw0KDQp2YXIgd2lkZ2V0c0NoZWNrYm94cmFkaW8gPSAkLnVpLmNoZWNrYm94cmFkaW87DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgQnV0dG9uIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBCdXR0b24NCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBFbmhhbmNlcyBhIGZvcm0gd2l0aCB0aGVtZWFibGUgYnV0dG9ucy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9idXR0b24vDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vYnV0dG9uLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvYnV0dG9uLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQokLndpZGdldCggInVpLmJ1dHRvbiIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjxidXR0b24+IiwNCglvcHRpb25zOiB7DQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS1idXR0b24iOiAidWktY29ybmVyLWFsbCINCgkJfSwNCgkJZGlzYWJsZWQ6IG51bGwsDQoJCWljb246IG51bGwsDQoJCWljb25Qb3NpdGlvbjogImJlZ2lubmluZyIsDQoJCWxhYmVsOiBudWxsLA0KCQlzaG93TGFiZWw6IHRydWUNCgl9LA0KDQoJX2dldENyZWF0ZU9wdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZGlzYWJsZWQsDQoNCgkJCS8vIFRoaXMgaXMgdG8gc3VwcG9ydCBjYXNlcyBsaWtlIGluIGpRdWVyeSBNb2JpbGUgd2hlcmUgdGhlIGJhc2Ugd2lkZ2V0IGRvZXMgaGF2ZQ0KCQkJLy8gYW4gaW1wbGVtZW50YXRpb24gb2YgX2dldENyZWF0ZU9wdGlvbnMNCgkJCW9wdGlvbnMgPSB0aGlzLl9zdXBlcigpIHx8IHt9Ow0KDQoJCXRoaXMuaXNJbnB1dCA9IHRoaXMuZWxlbWVudC5pcyggImlucHV0IiApOw0KDQoJCWRpc2FibGVkID0gdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgIT0gbnVsbCApIHsNCgkJCW9wdGlvbnMuZGlzYWJsZWQgPSBkaXNhYmxlZDsNCgkJfQ0KDQoJCXRoaXMub3JpZ2luYWxMYWJlbCA9IHRoaXMuaXNJbnB1dCA/IHRoaXMuZWxlbWVudC52YWwoKSA6IHRoaXMuZWxlbWVudC5odG1sKCk7DQoJCWlmICggdGhpcy5vcmlnaW5hbExhYmVsICkgew0KCQkJb3B0aW9ucy5sYWJlbCA9IHRoaXMub3JpZ2luYWxMYWJlbDsNCgkJfQ0KDQoJCXJldHVybiBvcHRpb25zOw0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJaWYgKCAhdGhpcy5vcHRpb24uc2hvd0xhYmVsICYgIXRoaXMub3B0aW9ucy5pY29uICkgew0KCQkJdGhpcy5vcHRpb25zLnNob3dMYWJlbCA9IHRydWU7DQoJCX0NCg0KCQkvLyBXZSBoYXZlIHRvIGNoZWNrIHRoZSBvcHRpb24gYWdhaW4gaGVyZSBldmVuIHRob3VnaCB3ZSBkaWQgaW4gX2dldENyZWF0ZU9wdGlvbnMsDQoJCS8vIGJlY2F1c2UgbnVsbCBtYXkgaGF2ZSBiZWVuIHBhc3NlZCBvbiBpbml0IHdoaWNoIHdvdWxkIG92ZXJyaWRlIHdoYXQgd2FzIHNldCBpbg0KCQkvLyBfZ2V0Q3JlYXRlT3B0aW9ucw0KCQlpZiAoIHRoaXMub3B0aW9ucy5kaXNhYmxlZCA9PSBudWxsICkgew0KCQkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQgfHwgZmFsc2U7DQoJCX0NCg0KCQl0aGlzLmhhc1RpdGxlID0gISF0aGlzLmVsZW1lbnQuYXR0ciggInRpdGxlIiApOw0KDQoJCS8vIENoZWNrIHRvIHNlZSBpZiB0aGUgbGFiZWwgbmVlZHMgdG8gYmUgc2V0IG9yIGlmIGl0cyBhbHJlYWR5IGNvcnJlY3QNCgkJaWYgKCB0aGlzLm9wdGlvbnMubGFiZWwgJiYgdGhpcy5vcHRpb25zLmxhYmVsICE9PSB0aGlzLm9yaWdpbmFsTGFiZWwgKSB7DQoJCQlpZiAoIHRoaXMuaXNJbnB1dCApIHsNCgkJCQl0aGlzLmVsZW1lbnQudmFsKCB0aGlzLm9wdGlvbnMubGFiZWwgKTsNCgkJCX0gZWxzZSB7DQoJCQkJdGhpcy5lbGVtZW50Lmh0bWwoIHRoaXMub3B0aW9ucy5sYWJlbCApOw0KCQkJfQ0KCQl9DQoJCXRoaXMuX2FkZENsYXNzKCAidWktYnV0dG9uIiwgInVpLXdpZGdldCIgKTsNCgkJdGhpcy5fc2V0T3B0aW9uKCAiZGlzYWJsZWQiLCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKTsNCgkJdGhpcy5fZW5oYW5jZSgpOw0KDQoJCWlmICggdGhpcy5lbGVtZW50LmlzKCAiYSIgKSApIHsNCgkJCXRoaXMuX29uKCB7DQoJCQkJImtleXVwIjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQlpZiAoIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5TUEFDRSApIHsNCgkJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkJCS8vIFN1cHBvcnQ6IFBoYW50b21KUyA8PSAxLjksIElFIDggT25seQ0KCQkJCQkJLy8gSWYgYSBuYXRpdmUgY2xpY2sgaXMgYXZhaWxhYmxlIHVzZSBpdCBzbyB3ZSBhY3R1YWxseSBjYXVzZSBuYXZpZ2F0aW9uDQoJCQkJCQkvLyBvdGhlcndpc2UganVzdCB0cmlnZ2VyIGEgY2xpY2sgZXZlbnQNCgkJCQkJCWlmICggdGhpcy5lbGVtZW50WyAwIF0uY2xpY2sgKSB7DQoJCQkJCQkJdGhpcy5lbGVtZW50WyAwIF0uY2xpY2soKTsNCgkJCQkJCX0gZWxzZSB7DQoJCQkJCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJjbGljayIgKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCX0gKTsNCgkJfQ0KCX0sDQoNCglfZW5oYW5jZTogZnVuY3Rpb24oKSB7DQoJCWlmICggIXRoaXMuZWxlbWVudC5pcyggImJ1dHRvbiIgKSApIHsNCgkJCXRoaXMuZWxlbWVudC5hdHRyKCAicm9sZSIsICJidXR0b24iICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5pY29uICkgew0KCQkJdGhpcy5fdXBkYXRlSWNvbiggImljb24iLCB0aGlzLm9wdGlvbnMuaWNvbiApOw0KCQkJdGhpcy5fdXBkYXRlVG9vbHRpcCgpOw0KCQl9DQoJfSwNCg0KCV91cGRhdGVUb29sdGlwOiBmdW5jdGlvbigpIHsNCgkJdGhpcy50aXRsZSA9IHRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiICk7DQoNCgkJaWYgKCAhdGhpcy5vcHRpb25zLnNob3dMYWJlbCAmJiAhdGhpcy50aXRsZSApIHsNCgkJCXRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiLCB0aGlzLm9wdGlvbnMubGFiZWwgKTsNCgkJfQ0KCX0sDQoNCglfdXBkYXRlSWNvbjogZnVuY3Rpb24oIG9wdGlvbiwgdmFsdWUgKSB7DQoJCXZhciBpY29uID0gb3B0aW9uICE9PSAiaWNvblBvc2l0aW9uIiwNCgkJCXBvc2l0aW9uID0gaWNvbiA/IHRoaXMub3B0aW9ucy5pY29uUG9zaXRpb24gOiB2YWx1ZSwNCgkJCWRpc3BsYXlCbG9jayA9IHBvc2l0aW9uID09PSAidG9wIiB8fCBwb3NpdGlvbiA9PT0gImJvdHRvbSI7DQoNCgkJLy8gQ3JlYXRlIGljb24NCgkJaWYgKCAhdGhpcy5pY29uICkgew0KCQkJdGhpcy5pY29uID0gJCggIjxzcGFuPiIgKTsNCg0KCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaWNvbiwgInVpLWJ1dHRvbi1pY29uIiwgInVpLWljb24iICk7DQoNCgkJCWlmICggIXRoaXMub3B0aW9ucy5zaG93TGFiZWwgKSB7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1idXR0b24taWNvbi1vbmx5IiApOw0KCQkJfQ0KCQl9IGVsc2UgaWYgKCBpY29uICkgew0KDQoJCQkvLyBJZiB3ZSBhcmUgdXBkYXRpbmcgdGhlIGljb24gcmVtb3ZlIHRoZSBvbGQgaWNvbiBjbGFzcw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuaWNvbiwgbnVsbCwgdGhpcy5vcHRpb25zLmljb24gKTsNCgkJfQ0KDQoJCS8vIElmIHdlIGFyZSB1cGRhdGluZyB0aGUgaWNvbiBhZGQgdGhlIG5ldyBpY29uIGNsYXNzDQoJCWlmICggaWNvbiApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmljb24sIG51bGwsIHZhbHVlICk7DQoJCX0NCg0KCQl0aGlzLl9hdHRhY2hJY29uKCBwb3NpdGlvbiApOw0KDQoJCS8vIElmIHRoZSBpY29uIGlzIG9uIHRvcCBvciBib3R0b20gd2UgbmVlZCB0byBhZGQgdGhlIHVpLXdpZGdldC1pY29uLWJsb2NrIGNsYXNzIGFuZCByZW1vdmUNCgkJLy8gdGhlIGljb25TcGFjZSBpZiB0aGVyZSBpcyBvbmUuDQoJCWlmICggZGlzcGxheUJsb2NrICkgew0KCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaWNvbiwgbnVsbCwgInVpLXdpZGdldC1pY29uLWJsb2NrIiApOw0KCQkJaWYgKCB0aGlzLmljb25TcGFjZSApIHsNCgkJCQl0aGlzLmljb25TcGFjZS5yZW1vdmUoKTsNCgkJCX0NCgkJfSBlbHNlIHsNCg0KCQkJLy8gUG9zaXRpb24gaXMgYmVnaW5uaW5nIG9yIGVuZCBzbyByZW1vdmUgdGhlIHVpLXdpZGdldC1pY29uLWJsb2NrIGNsYXNzIGFuZCBhZGQgdGhlDQoJCQkvLyBzcGFjZSBpZiBpdCBkb2VzIG5vdCBleGlzdA0KCQkJaWYgKCAhdGhpcy5pY29uU3BhY2UgKSB7DQoJCQkJdGhpcy5pY29uU3BhY2UgPSAkKCAiPHNwYW4+IDwvc3Bhbj4iICk7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaWNvblNwYWNlLCAidWktYnV0dG9uLWljb24tc3BhY2UiICk7DQoJCQl9DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5pY29uLCBudWxsLCAidWktd2lnZXQtaWNvbi1ibG9jayIgKTsNCgkJCXRoaXMuX2F0dGFjaEljb25TcGFjZSggcG9zaXRpb24gKTsNCgkJfQ0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAicm9sZSIgKTsNCg0KCQlpZiAoIHRoaXMuaWNvbiApIHsNCgkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJfQ0KCQlpZiAoIHRoaXMuaWNvblNwYWNlICkgew0KCQkJdGhpcy5pY29uU3BhY2UucmVtb3ZlKCk7DQoJCX0NCgkJaWYgKCAhdGhpcy5oYXNUaXRsZSApIHsNCgkJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAidGl0bGUiICk7DQoJCX0NCgl9LA0KDQoJX2F0dGFjaEljb25TcGFjZTogZnVuY3Rpb24oIGljb25Qb3NpdGlvbiApIHsNCgkJdGhpcy5pY29uWyAvXig/OmVuZHxib3R0b20pLy50ZXN0KCBpY29uUG9zaXRpb24gKSA/ICJiZWZvcmUiIDogImFmdGVyIiBdKCB0aGlzLmljb25TcGFjZSApOw0KCX0sDQoNCglfYXR0YWNoSWNvbjogZnVuY3Rpb24oIGljb25Qb3NpdGlvbiApIHsNCgkJdGhpcy5lbGVtZW50WyAvXig/OmVuZHxib3R0b20pLy50ZXN0KCBpY29uUG9zaXRpb24gKSA/ICJhcHBlbmQiIDogInByZXBlbmQiIF0oIHRoaXMuaWNvbiApOw0KCX0sDQoNCglfc2V0T3B0aW9uczogZnVuY3Rpb24oIG9wdGlvbnMgKSB7DQoJCXZhciBuZXdTaG93TGFiZWwgPSBvcHRpb25zLnNob3dMYWJlbCA9PT0gdW5kZWZpbmVkID8NCgkJCQl0aGlzLm9wdGlvbnMuc2hvd0xhYmVsIDoNCgkJCQlvcHRpb25zLnNob3dMYWJlbCwNCgkJCW5ld0ljb24gPSBvcHRpb25zLmljb24gPT09IHVuZGVmaW5lZCA/IHRoaXMub3B0aW9ucy5pY29uIDogb3B0aW9ucy5pY29uOw0KDQoJCWlmICggIW5ld1Nob3dMYWJlbCAmJiAhbmV3SWNvbiApIHsNCgkJCW9wdGlvbnMuc2hvd0xhYmVsID0gdHJ1ZTsNCgkJfQ0KCQl0aGlzLl9zdXBlciggb3B0aW9ucyApOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJaWYgKCBrZXkgPT09ICJpY29uIiApIHsNCgkJCWlmICggdmFsdWUgKSB7DQoJCQkJdGhpcy5fdXBkYXRlSWNvbigga2V5LCB2YWx1ZSApOw0KCQkJfSBlbHNlIGlmICggdGhpcy5pY29uICkgew0KCQkJCXRoaXMuaWNvbi5yZW1vdmUoKTsNCgkJCQlpZiAoIHRoaXMuaWNvblNwYWNlICkgew0KCQkJCQl0aGlzLmljb25TcGFjZS5yZW1vdmUoKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImljb25Qb3NpdGlvbiIgKSB7DQoJCQl0aGlzLl91cGRhdGVJY29uKCBrZXksIHZhbHVlICk7DQoJCX0NCg0KCQkvLyBNYWtlIHN1cmUgd2UgY2FuJ3QgZW5kIHVwIHdpdGggYSBidXR0b24gdGhhdCBoYXMgbmVpdGhlciB0ZXh0IG5vciBpY29uDQoJCWlmICgga2V5ID09PSAic2hvd0xhYmVsIiApIHsNCgkJCQl0aGlzLl90b2dnbGVDbGFzcyggInVpLWJ1dHRvbi1pY29uLW9ubHkiLCBudWxsLCAhdmFsdWUgKTsNCgkJCQl0aGlzLl91cGRhdGVUb29sdGlwKCk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImxhYmVsIiApIHsNCgkJCWlmICggdGhpcy5pc0lucHV0ICkgew0KCQkJCXRoaXMuZWxlbWVudC52YWwoIHZhbHVlICk7DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gSWYgdGhlcmUgaXMgYW4gaWNvbiwgYXBwZW5kIGl0LCBlbHNlIG5vdGhpbmcgdGhlbiBhcHBlbmQgdGhlIHZhbHVlDQoJCQkJLy8gdGhpcyBhdm9pZHMgcmVtb3ZhbCBvZiB0aGUgaWNvbiB3aGVuIHNldHRpbmcgbGFiZWwgdGV4dA0KCQkJCXRoaXMuZWxlbWVudC5odG1sKCB2YWx1ZSApOw0KCQkJCWlmICggdGhpcy5pY29uICkgew0KCQkJCQl0aGlzLl9hdHRhY2hJY29uKCB0aGlzLm9wdGlvbnMuaWNvblBvc2l0aW9uICk7DQoJCQkJCXRoaXMuX2F0dGFjaEljb25TcGFjZSggdGhpcy5vcHRpb25zLmljb25Qb3NpdGlvbiApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJkaXNhYmxlZCIgKSB7DQoJCQl0aGlzLl90b2dnbGVDbGFzcyggbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwgdmFsdWUgKTsNCgkJCXRoaXMuZWxlbWVudFsgMCBdLmRpc2FibGVkID0gdmFsdWU7DQoJCQlpZiAoIHZhbHVlICkgew0KCQkJCXRoaXMuZWxlbWVudC5ibHVyKCk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoNCgkJLy8gTWFrZSBzdXJlIHRvIG9ubHkgY2hlY2sgZGlzYWJsZWQgaWYgaXRzIGFuIGVsZW1lbnQgdGhhdCBzdXBwb3J0cyB0aGlzIG90aGVyd2lzZQ0KCQkvLyBjaGVjayBmb3IgdGhlIGRpc2FibGVkIGNsYXNzIHRvIGRldGVybWluZSBzdGF0ZQ0KCQl2YXIgaXNEaXNhYmxlZCA9IHRoaXMuZWxlbWVudC5pcyggImlucHV0LCBidXR0b24iICkgPw0KCQkJdGhpcy5lbGVtZW50WyAwIF0uZGlzYWJsZWQgOiB0aGlzLmVsZW1lbnQuaGFzQ2xhc3MoICJ1aS1idXR0b24tZGlzYWJsZWQiICk7DQoNCgkJaWYgKCBpc0Rpc2FibGVkICE9PSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQl0aGlzLl9zZXRPcHRpb25zKCB7IGRpc2FibGVkOiBpc0Rpc2FibGVkIH0gKTsNCgkJfQ0KDQoJCXRoaXMuX3VwZGF0ZVRvb2x0aXAoKTsNCgl9DQp9ICk7DQoNCi8vIERFUFJFQ0FURUQNCmlmICggJC51aUJhY2tDb21wYXQgIT09IGZhbHNlICkgew0KDQoJLy8gVGV4dCBhbmQgSWNvbnMgb3B0aW9ucw0KCSQud2lkZ2V0KCAidWkuYnV0dG9uIiwgJC51aS5idXR0b24sIHsNCgkJb3B0aW9uczogew0KCQkJdGV4dDogdHJ1ZSwNCgkJCWljb25zOiB7DQoJCQkJcHJpbWFyeTogbnVsbCwNCgkJCQlzZWNvbmRhcnk6IG51bGwNCgkJCX0NCgkJfSwNCg0KCQlfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJCWlmICggdGhpcy5vcHRpb25zLnNob3dMYWJlbCAmJiAhdGhpcy5vcHRpb25zLnRleHQgKSB7DQoJCQkJdGhpcy5vcHRpb25zLnNob3dMYWJlbCA9IHRoaXMub3B0aW9ucy50ZXh0Ow0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5vcHRpb25zLnNob3dMYWJlbCAmJiB0aGlzLm9wdGlvbnMudGV4dCApIHsNCgkJCQl0aGlzLm9wdGlvbnMudGV4dCA9IHRoaXMub3B0aW9ucy5zaG93TGFiZWw7DQoJCQl9DQoJCQlpZiAoICF0aGlzLm9wdGlvbnMuaWNvbiAmJiAoIHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5IHx8DQoJCQkJCXRoaXMub3B0aW9ucy5pY29ucy5zZWNvbmRhcnkgKSApIHsNCgkJCQlpZiAoIHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5ICkgew0KCQkJCQl0aGlzLm9wdGlvbnMuaWNvbiA9IHRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5Ow0KCQkJCX0gZWxzZSB7DQoJCQkJCXRoaXMub3B0aW9ucy5pY29uID0gdGhpcy5vcHRpb25zLmljb25zLnNlY29uZGFyeTsNCgkJCQkJdGhpcy5vcHRpb25zLmljb25Qb3NpdGlvbiA9ICJlbmQiOw0KCQkJCX0NCgkJCX0gZWxzZSBpZiAoIHRoaXMub3B0aW9ucy5pY29uICkgew0KCQkJCXRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5ID0gdGhpcy5vcHRpb25zLmljb247DQoJCQl9DQoJCQl0aGlzLl9zdXBlcigpOw0KCQl9LA0KDQoJCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQkJaWYgKCBrZXkgPT09ICJ0ZXh0IiApIHsNCgkJCQl0aGlzLl9zdXBlciggInNob3dMYWJlbCIsIHZhbHVlICk7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCBrZXkgPT09ICJzaG93TGFiZWwiICkgew0KCQkJCXRoaXMub3B0aW9ucy50ZXh0ID0gdmFsdWU7DQoJCQl9DQoJCQlpZiAoIGtleSA9PT0gImljb24iICkgew0KCQkJCXRoaXMub3B0aW9ucy5pY29ucy5wcmltYXJ5ID0gdmFsdWU7DQoJCQl9DQoJCQlpZiAoIGtleSA9PT0gImljb25zIiApIHsNCgkJCQlpZiAoIHZhbHVlLnByaW1hcnkgKSB7DQoJCQkJCXRoaXMuX3N1cGVyKCAiaWNvbiIsIHZhbHVlLnByaW1hcnkgKTsNCgkJCQkJdGhpcy5fc3VwZXIoICJpY29uUG9zaXRpb24iLCAiYmVnaW5uaW5nIiApOw0KCQkJCX0gZWxzZSBpZiAoIHZhbHVlLnNlY29uZGFyeSApIHsNCgkJCQkJdGhpcy5fc3VwZXIoICJpY29uIiwgdmFsdWUuc2Vjb25kYXJ5ICk7DQoJCQkJCXRoaXMuX3N1cGVyKCAiaWNvblBvc2l0aW9uIiwgImVuZCIgKTsNCgkJCQl9DQoJCQl9DQoJCQl0aGlzLl9zdXBlckFwcGx5KCBhcmd1bWVudHMgKTsNCgkJfQ0KCX0gKTsNCg0KCSQuZm4uYnV0dG9uID0gKCBmdW5jdGlvbiggb3JpZyApIHsNCgkJcmV0dXJuIGZ1bmN0aW9uKCkgew0KCQkJaWYgKCAhdGhpcy5sZW5ndGggfHwgKCB0aGlzLmxlbmd0aCAmJiB0aGlzWyAwIF0udGFnTmFtZSAhPT0gIklOUFVUIiApIHx8DQoJCQkJCSggdGhpcy5sZW5ndGggJiYgdGhpc1sgMCBdLnRhZ05hbWUgPT09ICJJTlBVVCIgJiYgKA0KCQkJCQkJdGhpcy5hdHRyKCAidHlwZSIgKSAhPT0gImNoZWNrYm94IiAmJiB0aGlzLmF0dHIoICJ0eXBlIiApICE9PSAicmFkaW8iDQoJCQkJCSkgKSApIHsNCgkJCQlyZXR1cm4gb3JpZy5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCQl9DQoJCQlpZiAoICEkLnVpLmNoZWNrYm94cmFkaW8gKSB7DQoJCQkJJC5lcnJvciggIkNoZWNrYm94cmFkaW8gd2lkZ2V0IG1pc3NpbmciICk7DQoJCQl9DQoJCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPT09IDAgKSB7DQoJCQkJcmV0dXJuIHRoaXMuY2hlY2tib3hyYWRpbyggew0KCQkJCQkiaWNvbiI6IGZhbHNlDQoJCQkJfSApOw0KCQkJfQ0KCQkJcmV0dXJuIHRoaXMuY2hlY2tib3hyYWRpby5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCX07DQoJfSApKCAkLmZuLmJ1dHRvbiApOw0KDQoJJC5mbi5idXR0b25zZXQgPSBmdW5jdGlvbigpIHsNCgkJaWYgKCAhJC51aS5jb250cm9sZ3JvdXAgKSB7DQoJCQkkLmVycm9yKCAiQ29udHJvbGdyb3VwIHdpZGdldCBtaXNzaW5nIiApOw0KCQl9DQoJCWlmICggYXJndW1lbnRzWyAwIF0gPT09ICJvcHRpb24iICYmIGFyZ3VtZW50c1sgMSBdID09PSAiaXRlbXMiICYmIGFyZ3VtZW50c1sgMiBdICkgew0KCQkJcmV0dXJuIHRoaXMuY29udHJvbGdyb3VwLmFwcGx5KCB0aGlzLA0KCQkJCVsgYXJndW1lbnRzWyAwIF0sICJpdGVtcy5idXR0b24iLCBhcmd1bWVudHNbIDIgXSBdICk7DQoJCX0NCgkJaWYgKCBhcmd1bWVudHNbIDAgXSA9PT0gIm9wdGlvbiIgJiYgYXJndW1lbnRzWyAxIF0gPT09ICJpdGVtcyIgKSB7DQoJCQlyZXR1cm4gdGhpcy5jb250cm9sZ3JvdXAuYXBwbHkoIHRoaXMsIFsgYXJndW1lbnRzWyAwIF0sICJpdGVtcy5idXR0b24iIF0gKTsNCgkJfQ0KCQlpZiAoIHR5cGVvZiBhcmd1bWVudHNbIDAgXSA9PT0gIm9iamVjdCIgJiYgYXJndW1lbnRzWyAwIF0uaXRlbXMgKSB7DQoJCQlhcmd1bWVudHNbIDAgXS5pdGVtcyA9IHsNCgkJCQlidXR0b246IGFyZ3VtZW50c1sgMCBdLml0ZW1zDQoJCQl9Ow0KCQl9DQoJCXJldHVybiB0aGlzLmNvbnRyb2xncm91cC5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJfTsNCn0NCg0KdmFyIHdpZGdldHNCdXR0b24gPSAkLnVpLmJ1dHRvbjsNCg0KDQovLyBqc2NzOmRpc2FibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8qIGpzY3M6ZGlzYWJsZSByZXF1aXJlQ2FtZWxDYXNlT3JVcHBlckNhc2VJZGVudGlmaWVycyAqLw0KLyohDQogKiBqUXVlcnkgVUkgRGF0ZXBpY2tlciAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEYXRlcGlja2VyDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogRGlzcGxheXMgYSBjYWxlbmRhciBmcm9tIGFuIGlucHV0IG9yIGlubGluZSBmb3Igc2VsZWN0aW5nIGRhdGVzLg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL2RhdGVwaWNrZXIvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vZGF0ZXBpY2tlci8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2RhdGVwaWNrZXIuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCiQuZXh0ZW5kKCAkLnVpLCB7IGRhdGVwaWNrZXI6IHsgdmVyc2lvbjogIjEuMTIuMSIgfSB9ICk7DQoNCnZhciBkYXRlcGlja2VyX2luc3RBY3RpdmU7DQoNCmZ1bmN0aW9uIGRhdGVwaWNrZXJfZ2V0WmluZGV4KCBlbGVtICkgew0KCXZhciBwb3NpdGlvbiwgdmFsdWU7DQoJd2hpbGUgKCBlbGVtLmxlbmd0aCAmJiBlbGVtWyAwIF0gIT09IGRvY3VtZW50ICkgew0KDQoJCS8vIElnbm9yZSB6LWluZGV4IGlmIHBvc2l0aW9uIGlzIHNldCB0byBhIHZhbHVlIHdoZXJlIHotaW5kZXggaXMgaWdub3JlZCBieSB0aGUgYnJvd3Nlcg0KCQkvLyBUaGlzIG1ha2VzIGJlaGF2aW9yIG9mIHRoaXMgZnVuY3Rpb24gY29uc2lzdGVudCBhY3Jvc3MgYnJvd3NlcnMNCgkJLy8gV2ViS2l0IGFsd2F5cyByZXR1cm5zIGF1dG8gaWYgdGhlIGVsZW1lbnQgaXMgcG9zaXRpb25lZA0KCQlwb3NpdGlvbiA9IGVsZW0uY3NzKCAicG9zaXRpb24iICk7DQoJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJyZWxhdGl2ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoNCgkJCS8vIElFIHJldHVybnMgMCB3aGVuIHpJbmRleCBpcyBub3Qgc3BlY2lmaWVkDQoJCQkvLyBvdGhlciBicm93c2VycyByZXR1cm4gYSBzdHJpbmcNCgkJCS8vIHdlIGlnbm9yZSB0aGUgY2FzZSBvZiBuZXN0ZWQgZWxlbWVudHMgd2l0aCBhbiBleHBsaWNpdCB2YWx1ZSBvZiAwDQoJCQkvLyA8ZGl2IHN0eWxlPSJ6LWluZGV4OiAtMTA7Ij48ZGl2IHN0eWxlPSJ6LWluZGV4OiAwOyI+PC9kaXY+PC9kaXY+DQoJCQl2YWx1ZSA9IHBhcnNlSW50KCBlbGVtLmNzcyggInpJbmRleCIgKSwgMTAgKTsNCgkJCWlmICggIWlzTmFOKCB2YWx1ZSApICYmIHZhbHVlICE9PSAwICkgew0KCQkJCXJldHVybiB2YWx1ZTsNCgkJCX0NCgkJfQ0KCQllbGVtID0gZWxlbS5wYXJlbnQoKTsNCgl9DQoNCglyZXR1cm4gMDsNCn0NCi8qIERhdGUgcGlja2VyIG1hbmFnZXIuDQogICBVc2UgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzLCAkLmRhdGVwaWNrZXIsIHRvIGludGVyYWN0IHdpdGggdGhlIGRhdGUgcGlja2VyLg0KICAgU2V0dGluZ3MgZm9yIChncm91cHMgb2YpIGRhdGUgcGlja2VycyBhcmUgbWFpbnRhaW5lZCBpbiBhbiBpbnN0YW5jZSBvYmplY3QsDQogICBhbGxvd2luZyBtdWx0aXBsZSBkaWZmZXJlbnQgc2V0dGluZ3Mgb24gdGhlIHNhbWUgcGFnZS4gKi8NCg0KZnVuY3Rpb24gRGF0ZXBpY2tlcigpIHsNCgl0aGlzLl9jdXJJbnN0ID0gbnVsbDsgLy8gVGhlIGN1cnJlbnQgaW5zdGFuY2UgaW4gdXNlDQoJdGhpcy5fa2V5RXZlbnQgPSBmYWxzZTsgLy8gSWYgdGhlIGxhc3QgZXZlbnQgd2FzIGEga2V5IGV2ZW50DQoJdGhpcy5fZGlzYWJsZWRJbnB1dHMgPSBbXTsgLy8gTGlzdCBvZiBkYXRlIHBpY2tlciBpbnB1dHMgdGhhdCBoYXZlIGJlZW4gZGlzYWJsZWQNCgl0aGlzLl9kYXRlcGlja2VyU2hvd2luZyA9IGZhbHNlOyAvLyBUcnVlIGlmIHRoZSBwb3B1cCBwaWNrZXIgaXMgc2hvd2luZyAsIGZhbHNlIGlmIG5vdA0KCXRoaXMuX2luRGlhbG9nID0gZmFsc2U7IC8vIFRydWUgaWYgc2hvd2luZyB3aXRoaW4gYSAiZGlhbG9nIiwgZmFsc2UgaWYgbm90DQoJdGhpcy5fbWFpbkRpdklkID0gInVpLWRhdGVwaWNrZXItZGl2IjsgLy8gVGhlIElEIG9mIHRoZSBtYWluIGRhdGVwaWNrZXIgZGl2aXNpb24NCgl0aGlzLl9pbmxpbmVDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLWlubGluZSI7IC8vIFRoZSBuYW1lIG9mIHRoZSBpbmxpbmUgbWFya2VyIGNsYXNzDQoJdGhpcy5fYXBwZW5kQ2xhc3MgPSAidWktZGF0ZXBpY2tlci1hcHBlbmQiOyAvLyBUaGUgbmFtZSBvZiB0aGUgYXBwZW5kIG1hcmtlciBjbGFzcw0KCXRoaXMuX3RyaWdnZXJDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLXRyaWdnZXIiOyAvLyBUaGUgbmFtZSBvZiB0aGUgdHJpZ2dlciBtYXJrZXIgY2xhc3MNCgl0aGlzLl9kaWFsb2dDbGFzcyA9ICJ1aS1kYXRlcGlja2VyLWRpYWxvZyI7IC8vIFRoZSBuYW1lIG9mIHRoZSBkaWFsb2cgbWFya2VyIGNsYXNzDQoJdGhpcy5fZGlzYWJsZUNsYXNzID0gInVpLWRhdGVwaWNrZXItZGlzYWJsZWQiOyAvLyBUaGUgbmFtZSBvZiB0aGUgZGlzYWJsZWQgY292ZXJpbmcgbWFya2VyIGNsYXNzDQoJdGhpcy5fdW5zZWxlY3RhYmxlQ2xhc3MgPSAidWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUiOyAvLyBUaGUgbmFtZSBvZiB0aGUgdW5zZWxlY3RhYmxlIGNlbGwgbWFya2VyIGNsYXNzDQoJdGhpcy5fY3VycmVudENsYXNzID0gInVpLWRhdGVwaWNrZXItY3VycmVudC1kYXkiOyAvLyBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBkYXkgbWFya2VyIGNsYXNzDQoJdGhpcy5fZGF5T3ZlckNsYXNzID0gInVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIiOyAvLyBUaGUgbmFtZSBvZiB0aGUgZGF5IGhvdmVyIG1hcmtlciBjbGFzcw0KCXRoaXMucmVnaW9uYWwgPSBbXTsgLy8gQXZhaWxhYmxlIHJlZ2lvbmFsIHNldHRpbmdzLCBpbmRleGVkIGJ5IGxhbmd1YWdlIGNvZGUNCgl0aGlzLnJlZ2lvbmFsWyAiIiBdID0geyAvLyBEZWZhdWx0IHJlZ2lvbmFsIHNldHRpbmdzDQoJCWNsb3NlVGV4dDogIkRvbmUiLCAvLyBEaXNwbGF5IHRleHQgZm9yIGNsb3NlIGxpbmsNCgkJcHJldlRleHQ6ICJQcmV2IiwgLy8gRGlzcGxheSB0ZXh0IGZvciBwcmV2aW91cyBtb250aCBsaW5rDQoJCW5leHRUZXh0OiAiTmV4dCIsIC8vIERpc3BsYXkgdGV4dCBmb3IgbmV4dCBtb250aCBsaW5rDQoJCWN1cnJlbnRUZXh0OiAiVG9kYXkiLCAvLyBEaXNwbGF5IHRleHQgZm9yIGN1cnJlbnQgbW9udGggbGluaw0KCQltb250aE5hbWVzOiBbICJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsDQoJCQkiSnVseSIsIkF1Z3VzdCIsIlNlcHRlbWJlciIsIk9jdG9iZXIiLCJOb3ZlbWJlciIsIkRlY2VtYmVyIiBdLCAvLyBOYW1lcyBvZiBtb250aHMgZm9yIGRyb3AtZG93biBhbmQgZm9ybWF0dGluZw0KCQltb250aE5hbWVzU2hvcnQ6IFsgIkphbiIsICJGZWIiLCAiTWFyIiwgIkFwciIsICJNYXkiLCAiSnVuIiwgIkp1bCIsICJBdWciLCAiU2VwIiwgIk9jdCIsICJOb3YiLCAiRGVjIiBdLCAvLyBGb3IgZm9ybWF0dGluZw0KCQlkYXlOYW1lczogWyAiU3VuZGF5IiwgIk1vbmRheSIsICJUdWVzZGF5IiwgIldlZG5lc2RheSIsICJUaHVyc2RheSIsICJGcmlkYXkiLCAiU2F0dXJkYXkiIF0sIC8vIEZvciBmb3JtYXR0aW5nDQoJCWRheU5hbWVzU2hvcnQ6IFsgIlN1biIsICJNb24iLCAiVHVlIiwgIldlZCIsICJUaHUiLCAiRnJpIiwgIlNhdCIgXSwgLy8gRm9yIGZvcm1hdHRpbmcNCgkJZGF5TmFtZXNNaW46IFsgIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIiBdLCAvLyBDb2x1bW4gaGVhZGluZ3MgZm9yIGRheXMgc3RhcnRpbmcgYXQgU3VuZGF5DQoJCXdlZWtIZWFkZXI6ICJXayIsIC8vIENvbHVtbiBoZWFkZXIgZm9yIHdlZWsgb2YgdGhlIHllYXINCgkJZGF0ZUZvcm1hdDogIm1tL2RkL3l5IiwgLy8gU2VlIGZvcm1hdCBvcHRpb25zIG9uIHBhcnNlRGF0ZQ0KCQlmaXJzdERheTogMCwgLy8gVGhlIGZpcnN0IGRheSBvZiB0aGUgd2VlaywgU3VuID0gMCwgTW9uID0gMSwgLi4uDQoJCWlzUlRMOiBmYWxzZSwgLy8gVHJ1ZSBpZiByaWdodC10by1sZWZ0IGxhbmd1YWdlLCBmYWxzZSBpZiBsZWZ0LXRvLXJpZ2h0DQoJCXNob3dNb250aEFmdGVyWWVhcjogZmFsc2UsIC8vIFRydWUgaWYgdGhlIHllYXIgc2VsZWN0IHByZWNlZGVzIG1vbnRoLCBmYWxzZSBmb3IgbW9udGggdGhlbiB5ZWFyDQoJCXllYXJTdWZmaXg6ICIiIC8vIEFkZGl0aW9uYWwgdGV4dCB0byBhcHBlbmQgdG8gdGhlIHllYXIgaW4gdGhlIG1vbnRoIGhlYWRlcnMNCgl9Ow0KCXRoaXMuX2RlZmF1bHRzID0geyAvLyBHbG9iYWwgZGVmYXVsdHMgZm9yIGFsbCB0aGUgZGF0ZSBwaWNrZXIgaW5zdGFuY2VzDQoJCXNob3dPbjogImZvY3VzIiwgLy8gImZvY3VzIiBmb3IgcG9wdXAgb24gZm9jdXMsDQoJCQkvLyAiYnV0dG9uIiBmb3IgdHJpZ2dlciBidXR0b24sIG9yICJib3RoIiBmb3IgZWl0aGVyDQoJCXNob3dBbmltOiAiZmFkZUluIiwgLy8gTmFtZSBvZiBqUXVlcnkgYW5pbWF0aW9uIGZvciBwb3B1cA0KCQlzaG93T3B0aW9uczoge30sIC8vIE9wdGlvbnMgZm9yIGVuaGFuY2VkIGFuaW1hdGlvbnMNCgkJZGVmYXVsdERhdGU6IG51bGwsIC8vIFVzZWQgd2hlbiBmaWVsZCBpcyBibGFuazogYWN0dWFsIGRhdGUsDQoJCQkvLyArLy1udW1iZXIgZm9yIG9mZnNldCBmcm9tIHRvZGF5LCBudWxsIGZvciB0b2RheQ0KCQlhcHBlbmRUZXh0OiAiIiwgLy8gRGlzcGxheSB0ZXh0IGZvbGxvd2luZyB0aGUgaW5wdXQgYm94LCBlLmcuIHNob3dpbmcgdGhlIGZvcm1hdA0KCQlidXR0b25UZXh0OiAiLi4uIiwgLy8gVGV4dCBmb3IgdHJpZ2dlciBidXR0b24NCgkJYnV0dG9uSW1hZ2U6ICIiLCAvLyBVUkwgZm9yIHRyaWdnZXIgYnV0dG9uIGltYWdlDQoJCWJ1dHRvbkltYWdlT25seTogZmFsc2UsIC8vIFRydWUgaWYgdGhlIGltYWdlIGFwcGVhcnMgYWxvbmUsIGZhbHNlIGlmIGl0IGFwcGVhcnMgb24gYSBidXR0b24NCgkJaGlkZUlmTm9QcmV2TmV4dDogZmFsc2UsIC8vIFRydWUgdG8gaGlkZSBuZXh0L3ByZXZpb3VzIG1vbnRoIGxpbmtzDQoJCQkvLyBpZiBub3QgYXBwbGljYWJsZSwgZmFsc2UgdG8ganVzdCBkaXNhYmxlIHRoZW0NCgkJbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdDogZmFsc2UsIC8vIFRydWUgaWYgZGF0ZSBmb3JtYXR0aW5nIGFwcGxpZWQgdG8gcHJldi90b2RheS9uZXh0IGxpbmtzDQoJCWdvdG9DdXJyZW50OiBmYWxzZSwgLy8gVHJ1ZSBpZiB0b2RheSBsaW5rIGdvZXMgYmFjayB0byBjdXJyZW50IHNlbGVjdGlvbiBpbnN0ZWFkDQoJCWNoYW5nZU1vbnRoOiBmYWxzZSwgLy8gVHJ1ZSBpZiBtb250aCBjYW4gYmUgc2VsZWN0ZWQgZGlyZWN0bHksIGZhbHNlIGlmIG9ubHkgcHJldi9uZXh0DQoJCWNoYW5nZVllYXI6IGZhbHNlLCAvLyBUcnVlIGlmIHllYXIgY2FuIGJlIHNlbGVjdGVkIGRpcmVjdGx5LCBmYWxzZSBpZiBvbmx5IHByZXYvbmV4dA0KCQl5ZWFyUmFuZ2U6ICJjLTEwOmMrMTAiLCAvLyBSYW5nZSBvZiB5ZWFycyB0byBkaXNwbGF5IGluIGRyb3AtZG93biwNCgkJCS8vIGVpdGhlciByZWxhdGl2ZSB0byB0b2RheSdzIHllYXIgKC1ubjorbm4pLCByZWxhdGl2ZSB0byBjdXJyZW50bHkgZGlzcGxheWVkIHllYXINCgkJCS8vIChjLW5uOmMrbm4pLCBhYnNvbHV0ZSAobm5ubjpubm5uKSwgb3IgYSBjb21iaW5hdGlvbiBvZiB0aGUgYWJvdmUgKG5ubm46LW4pDQoJCXNob3dPdGhlck1vbnRoczogZmFsc2UsIC8vIFRydWUgdG8gc2hvdyBkYXRlcyBpbiBvdGhlciBtb250aHMsIGZhbHNlIHRvIGxlYXZlIGJsYW5rDQoJCXNlbGVjdE90aGVyTW9udGhzOiBmYWxzZSwgLy8gVHJ1ZSB0byBhbGxvdyBzZWxlY3Rpb24gb2YgZGF0ZXMgaW4gb3RoZXIgbW9udGhzLCBmYWxzZSBmb3IgdW5zZWxlY3RhYmxlDQoJCXNob3dXZWVrOiBmYWxzZSwgLy8gVHJ1ZSB0byBzaG93IHdlZWsgb2YgdGhlIHllYXIsIGZhbHNlIHRvIG5vdCBzaG93IGl0DQoJCWNhbGN1bGF0ZVdlZWs6IHRoaXMuaXNvODYwMVdlZWssIC8vIEhvdyB0byBjYWxjdWxhdGUgdGhlIHdlZWsgb2YgdGhlIHllYXIsDQoJCQkvLyB0YWtlcyBhIERhdGUgYW5kIHJldHVybnMgdGhlIG51bWJlciBvZiB0aGUgd2VlayBmb3IgaXQNCgkJc2hvcnRZZWFyQ3V0b2ZmOiAiKzEwIiwgLy8gU2hvcnQgeWVhciB2YWx1ZXMgPCB0aGlzIGFyZSBpbiB0aGUgY3VycmVudCBjZW50dXJ5LA0KCQkJLy8gPiB0aGlzIGFyZSBpbiB0aGUgcHJldmlvdXMgY2VudHVyeSwNCgkJCS8vIHN0cmluZyB2YWx1ZSBzdGFydGluZyB3aXRoICIrIiBmb3IgY3VycmVudCB5ZWFyICsgdmFsdWUNCgkJbWluRGF0ZTogbnVsbCwgLy8gVGhlIGVhcmxpZXN0IHNlbGVjdGFibGUgZGF0ZSwgb3IgbnVsbCBmb3Igbm8gbGltaXQNCgkJbWF4RGF0ZTogbnVsbCwgLy8gVGhlIGxhdGVzdCBzZWxlY3RhYmxlIGRhdGUsIG9yIG51bGwgZm9yIG5vIGxpbWl0DQoJCWR1cmF0aW9uOiAiZmFzdCIsIC8vIER1cmF0aW9uIG9mIGRpc3BsYXkvY2xvc3VyZQ0KCQliZWZvcmVTaG93RGF5OiBudWxsLCAvLyBGdW5jdGlvbiB0aGF0IHRha2VzIGEgZGF0ZSBhbmQgcmV0dXJucyBhbiBhcnJheSB3aXRoDQoJCQkvLyBbMF0gPSB0cnVlIGlmIHNlbGVjdGFibGUsIGZhbHNlIGlmIG5vdCwgWzFdID0gY3VzdG9tIENTUyBjbGFzcyBuYW1lKHMpIG9yICIiLA0KCQkJLy8gWzJdID0gY2VsbCB0aXRsZSAob3B0aW9uYWwpLCBlLmcuICQuZGF0ZXBpY2tlci5ub1dlZWtlbmRzDQoJCWJlZm9yZVNob3c6IG51bGwsIC8vIEZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gaW5wdXQgZmllbGQgYW5kDQoJCQkvLyByZXR1cm5zIGEgc2V0IG9mIGN1c3RvbSBzZXR0aW5ncyBmb3IgdGhlIGRhdGUgcGlja2VyDQoJCW9uU2VsZWN0OiBudWxsLCAvLyBEZWZpbmUgYSBjYWxsYmFjayBmdW5jdGlvbiB3aGVuIGEgZGF0ZSBpcyBzZWxlY3RlZA0KCQlvbkNoYW5nZU1vbnRoWWVhcjogbnVsbCwgLy8gRGVmaW5lIGEgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgbW9udGggb3IgeWVhciBpcyBjaGFuZ2VkDQoJCW9uQ2xvc2U6IG51bGwsIC8vIERlZmluZSBhIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIGRhdGVwaWNrZXIgaXMgY2xvc2VkDQoJCW51bWJlck9mTW9udGhzOiAxLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHNob3cgYXQgYSB0aW1lDQoJCXNob3dDdXJyZW50QXRQb3M6IDAsIC8vIFRoZSBwb3NpdGlvbiBpbiBtdWx0aXBlIG1vbnRocyBhdCB3aGljaCB0byBzaG93IHRoZSBjdXJyZW50IG1vbnRoIChzdGFydGluZyBhdCAwKQ0KCQlzdGVwTW9udGhzOiAxLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHN0ZXAgYmFjay9mb3J3YXJkDQoJCXN0ZXBCaWdNb250aHM6IDEyLCAvLyBOdW1iZXIgb2YgbW9udGhzIHRvIHN0ZXAgYmFjay9mb3J3YXJkIGZvciB0aGUgYmlnIGxpbmtzDQoJCWFsdEZpZWxkOiAiIiwgLy8gU2VsZWN0b3IgZm9yIGFuIGFsdGVybmF0ZSBmaWVsZCB0byBzdG9yZSBzZWxlY3RlZCBkYXRlcyBpbnRvDQoJCWFsdEZvcm1hdDogIiIsIC8vIFRoZSBkYXRlIGZvcm1hdCB0byB1c2UgZm9yIHRoZSBhbHRlcm5hdGUgZmllbGQNCgkJY29uc3RyYWluSW5wdXQ6IHRydWUsIC8vIFRoZSBpbnB1dCBpcyBjb25zdHJhaW5lZCBieSB0aGUgY3VycmVudCBkYXRlIGZvcm1hdA0KCQlzaG93QnV0dG9uUGFuZWw6IGZhbHNlLCAvLyBUcnVlIHRvIHNob3cgYnV0dG9uIHBhbmVsLCBmYWxzZSB0byBub3Qgc2hvdyBpdA0KCQlhdXRvU2l6ZTogZmFsc2UsIC8vIFRydWUgdG8gc2l6ZSB0aGUgaW5wdXQgZm9yIHRoZSBkYXRlIGZvcm1hdCwgZmFsc2UgdG8gbGVhdmUgYXMgaXMNCgkJZGlzYWJsZWQ6IGZhbHNlIC8vIFRoZSBpbml0aWFsIGRpc2FibGVkIHN0YXRlDQoJfTsNCgkkLmV4dGVuZCggdGhpcy5fZGVmYXVsdHMsIHRoaXMucmVnaW9uYWxbICIiIF0gKTsNCgl0aGlzLnJlZ2lvbmFsLmVuID0gJC5leHRlbmQoIHRydWUsIHt9LCB0aGlzLnJlZ2lvbmFsWyAiIiBdICk7DQoJdGhpcy5yZWdpb25hbFsgImVuLVVTIiBdID0gJC5leHRlbmQoIHRydWUsIHt9LCB0aGlzLnJlZ2lvbmFsLmVuICk7DQoJdGhpcy5kcERpdiA9IGRhdGVwaWNrZXJfYmluZEhvdmVyKCAkKCAiPGRpdiBpZD0nIiArIHRoaXMuX21haW5EaXZJZCArICInIGNsYXNzPSd1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFsbCc+PC9kaXY+IiApICk7DQp9DQoNCiQuZXh0ZW5kKCBEYXRlcGlja2VyLnByb3RvdHlwZSwgew0KCS8qIENsYXNzIG5hbWUgYWRkZWQgdG8gZWxlbWVudHMgdG8gaW5kaWNhdGUgYWxyZWFkeSBjb25maWd1cmVkIHdpdGggYSBkYXRlIHBpY2tlci4gKi8NCgltYXJrZXJDbGFzc05hbWU6ICJoYXNEYXRlcGlja2VyIiwNCg0KCS8vS2VlcCB0cmFjayBvZiB0aGUgbWF4aW11bSBudW1iZXIgb2Ygcm93cyBkaXNwbGF5ZWQgKHNlZSAjNzA0MykNCgltYXhSb3dzOiA0LA0KDQoJLy8gVE9ETyByZW5hbWUgdG8gIndpZGdldCIgd2hlbiBzd2l0Y2hpbmcgdG8gd2lkZ2V0IGZhY3RvcnkNCglfd2lkZ2V0RGF0ZXBpY2tlcjogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmRwRGl2Ow0KCX0sDQoNCgkvKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBzZXR0aW5ncyBmb3IgYWxsIGluc3RhbmNlcyBvZiB0aGUgZGF0ZSBwaWNrZXIuDQoJICogQHBhcmFtICBzZXR0aW5ncyAgb2JqZWN0IC0gdGhlIG5ldyBzZXR0aW5ncyB0byB1c2UgYXMgZGVmYXVsdHMgKGFub255bW91cyBvYmplY3QpDQoJICogQHJldHVybiB0aGUgbWFuYWdlciBvYmplY3QNCgkgKi8NCglzZXREZWZhdWx0czogZnVuY3Rpb24oIHNldHRpbmdzICkgew0KCQlkYXRlcGlja2VyX2V4dGVuZFJlbW92ZSggdGhpcy5fZGVmYXVsdHMsIHNldHRpbmdzIHx8IHt9ICk7DQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCgkvKiBBdHRhY2ggdGhlIGRhdGUgcGlja2VyIHRvIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldAllbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBzZXR0aW5ncyAgb2JqZWN0IC0gdGhlIG5ldyBzZXR0aW5ncyB0byB1c2UgZm9yIHRoaXMgZGF0ZSBwaWNrZXIgaW5zdGFuY2UgKGFub255bW91cykNCgkgKi8NCglfYXR0YWNoRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgc2V0dGluZ3MgKSB7DQoJCXZhciBub2RlTmFtZSwgaW5saW5lLCBpbnN0Ow0KCQlub2RlTmFtZSA9IHRhcmdldC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOw0KCQlpbmxpbmUgPSAoIG5vZGVOYW1lID09PSAiZGl2IiB8fCBub2RlTmFtZSA9PT0gInNwYW4iICk7DQoJCWlmICggIXRhcmdldC5pZCApIHsNCgkJCXRoaXMudXVpZCArPSAxOw0KCQkJdGFyZ2V0LmlkID0gImRwIiArIHRoaXMudXVpZDsNCgkJfQ0KCQlpbnN0ID0gdGhpcy5fbmV3SW5zdCggJCggdGFyZ2V0ICksIGlubGluZSApOw0KCQlpbnN0LnNldHRpbmdzID0gJC5leHRlbmQoIHt9LCBzZXR0aW5ncyB8fCB7fSApOw0KCQlpZiAoIG5vZGVOYW1lID09PSAiaW5wdXQiICkgew0KCQkJdGhpcy5fY29ubmVjdERhdGVwaWNrZXIoIHRhcmdldCwgaW5zdCApOw0KCQl9IGVsc2UgaWYgKCBpbmxpbmUgKSB7DQoJCQl0aGlzLl9pbmxpbmVEYXRlcGlja2VyKCB0YXJnZXQsIGluc3QgKTsNCgkJfQ0KCX0sDQoNCgkvKiBDcmVhdGUgYSBuZXcgaW5zdGFuY2Ugb2JqZWN0LiAqLw0KCV9uZXdJbnN0OiBmdW5jdGlvbiggdGFyZ2V0LCBpbmxpbmUgKSB7DQoJCXZhciBpZCA9IHRhcmdldFsgMCBdLmlkLnJlcGxhY2UoIC8oW15BLVphLXowLTlfXC1dKS9nLCAiXFxcXCQxIiApOyAvLyBlc2NhcGUgalF1ZXJ5IG1ldGEgY2hhcnMNCgkJcmV0dXJuIHsgaWQ6IGlkLCBpbnB1dDogdGFyZ2V0LCAvLyBhc3NvY2lhdGVkIHRhcmdldA0KCQkJc2VsZWN0ZWREYXk6IDAsIHNlbGVjdGVkTW9udGg6IDAsIHNlbGVjdGVkWWVhcjogMCwgLy8gY3VycmVudCBzZWxlY3Rpb24NCgkJCWRyYXdNb250aDogMCwgZHJhd1llYXI6IDAsIC8vIG1vbnRoIGJlaW5nIGRyYXduDQoJCQlpbmxpbmU6IGlubGluZSwgLy8gaXMgZGF0ZXBpY2tlciBpbmxpbmUgb3Igbm90DQoJCQlkcERpdjogKCAhaW5saW5lID8gdGhpcy5kcERpdiA6IC8vIHByZXNlbnRhdGlvbiBkaXYNCgkJCWRhdGVwaWNrZXJfYmluZEhvdmVyKCAkKCAiPGRpdiBjbGFzcz0nIiArIHRoaXMuX2lubGluZUNsYXNzICsgIiB1aS1kYXRlcGlja2VyIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWFsbCc+PC9kaXY+IiApICkgKSB9Ow0KCX0sDQoNCgkvKiBBdHRhY2ggdGhlIGRhdGUgcGlja2VyIHRvIGFuIGlucHV0IGZpZWxkLiAqLw0KCV9jb25uZWN0RGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgaW5zdCApIHsNCgkJdmFyIGlucHV0ID0gJCggdGFyZ2V0ICk7DQoJCWluc3QuYXBwZW5kID0gJCggW10gKTsNCgkJaW5zdC50cmlnZ2VyID0gJCggW10gKTsNCgkJaWYgKCBpbnB1dC5oYXNDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLl9hdHRhY2htZW50cyggaW5wdXQsIGluc3QgKTsNCgkJaW5wdXQuYWRkQ2xhc3MoIHRoaXMubWFya2VyQ2xhc3NOYW1lICkub24oICJrZXlkb3duIiwgdGhpcy5fZG9LZXlEb3duICkuDQoJCQlvbiggImtleXByZXNzIiwgdGhpcy5fZG9LZXlQcmVzcyApLm9uKCAia2V5dXAiLCB0aGlzLl9kb0tleVVwICk7DQoJCXRoaXMuX2F1dG9TaXplKCBpbnN0ICk7DQoJCSQuZGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIsIGluc3QgKTsNCg0KCQkvL0lmIGRpc2FibGVkIG9wdGlvbiBpcyB0cnVlLCBkaXNhYmxlIHRoZSBkYXRlcGlja2VyIG9uY2UgaXQgaGFzIGJlZW4gYXR0YWNoZWQgdG8gdGhlIGlucHV0IChzZWUgdGlja2V0ICM1NjY1KQ0KCQlpZiAoIGluc3Quc2V0dGluZ3MuZGlzYWJsZWQgKSB7DQoJCQl0aGlzLl9kaXNhYmxlRGF0ZXBpY2tlciggdGFyZ2V0ICk7DQoJCX0NCgl9LA0KDQoJLyogTWFrZSBhdHRhY2htZW50cyBiYXNlZCBvbiBzZXR0aW5ncy4gKi8NCglfYXR0YWNobWVudHM6IGZ1bmN0aW9uKCBpbnB1dCwgaW5zdCApIHsNCgkJdmFyIHNob3dPbiwgYnV0dG9uVGV4dCwgYnV0dG9uSW1hZ2UsDQoJCQlhcHBlbmRUZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYXBwZW5kVGV4dCIgKSwNCgkJCWlzUlRMID0gdGhpcy5fZ2V0KCBpbnN0LCAiaXNSVEwiICk7DQoNCgkJaWYgKCBpbnN0LmFwcGVuZCApIHsNCgkJCWluc3QuYXBwZW5kLnJlbW92ZSgpOw0KCQl9DQoJCWlmICggYXBwZW5kVGV4dCApIHsNCgkJCWluc3QuYXBwZW5kID0gJCggIjxzcGFuIGNsYXNzPSciICsgdGhpcy5fYXBwZW5kQ2xhc3MgKyAiJz4iICsgYXBwZW5kVGV4dCArICI8L3NwYW4+IiApOw0KCQkJaW5wdXRbIGlzUlRMID8gImJlZm9yZSIgOiAiYWZ0ZXIiIF0oIGluc3QuYXBwZW5kICk7DQoJCX0NCg0KCQlpbnB1dC5vZmYoICJmb2N1cyIsIHRoaXMuX3Nob3dEYXRlcGlja2VyICk7DQoNCgkJaWYgKCBpbnN0LnRyaWdnZXIgKSB7DQoJCQlpbnN0LnRyaWdnZXIucmVtb3ZlKCk7DQoJCX0NCg0KCQlzaG93T24gPSB0aGlzLl9nZXQoIGluc3QsICJzaG93T24iICk7DQoJCWlmICggc2hvd09uID09PSAiZm9jdXMiIHx8IHNob3dPbiA9PT0gImJvdGgiICkgeyAvLyBwb3AtdXAgZGF0ZSBwaWNrZXIgd2hlbiBpbiB0aGUgbWFya2VkIGZpZWxkDQoJCQlpbnB1dC5vbiggImZvY3VzIiwgdGhpcy5fc2hvd0RhdGVwaWNrZXIgKTsNCgkJfQ0KCQlpZiAoIHNob3dPbiA9PT0gImJ1dHRvbiIgfHwgc2hvd09uID09PSAiYm90aCIgKSB7IC8vIHBvcC11cCBkYXRlIHBpY2tlciB3aGVuIGJ1dHRvbiBjbGlja2VkDQoJCQlidXR0b25UZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYnV0dG9uVGV4dCIgKTsNCgkJCWJ1dHRvbkltYWdlID0gdGhpcy5fZ2V0KCBpbnN0LCAiYnV0dG9uSW1hZ2UiICk7DQoJCQlpbnN0LnRyaWdnZXIgPSAkKCB0aGlzLl9nZXQoIGluc3QsICJidXR0b25JbWFnZU9ubHkiICkgPw0KCQkJCSQoICI8aW1nLz4iICkuYWRkQ2xhc3MoIHRoaXMuX3RyaWdnZXJDbGFzcyApLg0KCQkJCQlhdHRyKCB7IHNyYzogYnV0dG9uSW1hZ2UsIGFsdDogYnV0dG9uVGV4dCwgdGl0bGU6IGJ1dHRvblRleHQgfSApIDoNCgkJCQkkKCAiPGJ1dHRvbiB0eXBlPSdidXR0b24nPjwvYnV0dG9uPiIgKS5hZGRDbGFzcyggdGhpcy5fdHJpZ2dlckNsYXNzICkuDQoJCQkJCWh0bWwoICFidXR0b25JbWFnZSA/IGJ1dHRvblRleHQgOiAkKCAiPGltZy8+IiApLmF0dHIoDQoJCQkJCXsgc3JjOmJ1dHRvbkltYWdlLCBhbHQ6YnV0dG9uVGV4dCwgdGl0bGU6YnV0dG9uVGV4dCB9ICkgKSApOw0KCQkJaW5wdXRbIGlzUlRMID8gImJlZm9yZSIgOiAiYWZ0ZXIiIF0oIGluc3QudHJpZ2dlciApOw0KCQkJaW5zdC50cmlnZ2VyLm9uKCAiY2xpY2siLCBmdW5jdGlvbigpIHsNCgkJCQlpZiAoICQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgJiYgJC5kYXRlcGlja2VyLl9sYXN0SW5wdXQgPT09IGlucHV0WyAwIF0gKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsNCgkJCQl9IGVsc2UgaWYgKCAkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICYmICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ICE9PSBpbnB1dFsgMCBdICkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCSQuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIoIGlucHV0WyAwIF0gKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQkkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKCBpbnB1dFsgMCBdICk7DQoJCQkJfQ0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0gKTsNCgkJfQ0KCX0sDQoNCgkvKiBBcHBseSB0aGUgbWF4aW11bSBsZW5ndGggZm9yIHRoZSBkYXRlIGZvcm1hdC4gKi8NCglfYXV0b1NpemU6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlpZiAoIHRoaXMuX2dldCggaW5zdCwgImF1dG9TaXplIiApICYmICFpbnN0LmlubGluZSApIHsNCgkJCXZhciBmaW5kTWF4LCBtYXgsIG1heEksIGksDQoJCQkJZGF0ZSA9IG5ldyBEYXRlKCAyMDA5LCAxMiAtIDEsIDIwICksIC8vIEVuc3VyZSBkb3VibGUgZGlnaXRzDQoJCQkJZGF0ZUZvcm1hdCA9IHRoaXMuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICk7DQoNCgkJCWlmICggZGF0ZUZvcm1hdC5tYXRjaCggL1tETV0vICkgKSB7DQoJCQkJZmluZE1heCA9IGZ1bmN0aW9uKCBuYW1lcyApIHsNCgkJCQkJbWF4ID0gMDsNCgkJCQkJbWF4SSA9IDA7DQoJCQkJCWZvciAoIGkgPSAwOyBpIDwgbmFtZXMubGVuZ3RoOyBpKysgKSB7DQoJCQkJCQlpZiAoIG5hbWVzWyBpIF0ubGVuZ3RoID4gbWF4ICkgew0KCQkJCQkJCW1heCA9IG5hbWVzWyBpIF0ubGVuZ3RoOw0KCQkJCQkJCW1heEkgPSBpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCXJldHVybiBtYXhJOw0KCQkJCX07DQoJCQkJZGF0ZS5zZXRNb250aCggZmluZE1heCggdGhpcy5fZ2V0KCBpbnN0LCAoIGRhdGVGb3JtYXQubWF0Y2goIC9NTS8gKSA/DQoJCQkJCSJtb250aE5hbWVzIiA6ICJtb250aE5hbWVzU2hvcnQiICkgKSApICk7DQoJCQkJZGF0ZS5zZXREYXRlKCBmaW5kTWF4KCB0aGlzLl9nZXQoIGluc3QsICggZGF0ZUZvcm1hdC5tYXRjaCggL0RELyApID8NCgkJCQkJImRheU5hbWVzIiA6ICJkYXlOYW1lc1Nob3J0IiApICkgKSArIDIwIC0gZGF0ZS5nZXREYXkoKSApOw0KCQkJfQ0KCQkJaW5zdC5pbnB1dC5hdHRyKCAic2l6ZSIsIHRoaXMuX2Zvcm1hdERhdGUoIGluc3QsIGRhdGUgKS5sZW5ndGggKTsNCgkJfQ0KCX0sDQoNCgkvKiBBdHRhY2ggYW4gaW5saW5lIGRhdGUgcGlja2VyIHRvIGEgZGl2LiAqLw0KCV9pbmxpbmVEYXRlcGlja2VyOiBmdW5jdGlvbiggdGFyZ2V0LCBpbnN0ICkgew0KCQl2YXIgZGl2U3BhbiA9ICQoIHRhcmdldCApOw0KCQlpZiAoIGRpdlNwYW4uaGFzQ2xhc3MoIHRoaXMubWFya2VyQ2xhc3NOYW1lICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCgkJZGl2U3Bhbi5hZGRDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKS5hcHBlbmQoIGluc3QuZHBEaXYgKTsNCgkJJC5kYXRhKCB0YXJnZXQsICJkYXRlcGlja2VyIiwgaW5zdCApOw0KCQl0aGlzLl9zZXREYXRlKCBpbnN0LCB0aGlzLl9nZXREZWZhdWx0RGF0ZSggaW5zdCApLCB0cnVlICk7DQoJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoIGluc3QgKTsNCgkJdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKCBpbnN0ICk7DQoNCgkJLy9JZiBkaXNhYmxlZCBvcHRpb24gaXMgdHJ1ZSwgZGlzYWJsZSB0aGUgZGF0ZXBpY2tlciBiZWZvcmUgc2hvd2luZyBpdCAoc2VlIHRpY2tldCAjNTY2NSkNCgkJaWYgKCBpbnN0LnNldHRpbmdzLmRpc2FibGVkICkgew0KCQkJdGhpcy5fZGlzYWJsZURhdGVwaWNrZXIoIHRhcmdldCApOw0KCQl9DQoNCgkJLy8gU2V0IGRpc3BsYXk6YmxvY2sgaW4gcGxhY2Ugb2YgaW5zdC5kcERpdi5zaG93KCkgd2hpY2ggd29uJ3Qgd29yayBvbiBkaXNjb25uZWN0ZWQgZWxlbWVudHMNCgkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5dWkuY29tL3RpY2tldC83NTUyIC0gQSBEYXRlcGlja2VyIGNyZWF0ZWQgb24gYSBkZXRhY2hlZCBkaXYgaGFzIHplcm8gaGVpZ2h0DQoJCWluc3QuZHBEaXYuY3NzKCAiZGlzcGxheSIsICJibG9jayIgKTsNCgl9LA0KDQoJLyogUG9wLXVwIHRoZSBkYXRlIHBpY2tlciBpbiBhICJkaWFsb2ciIGJveC4NCgkgKiBAcGFyYW0gIGlucHV0IGVsZW1lbnQgLSBpZ25vcmVkDQoJICogQHBhcmFtICBkYXRlCXN0cmluZyBvciBEYXRlIC0gdGhlIGluaXRpYWwgZGF0ZSB0byBkaXNwbGF5DQoJICogQHBhcmFtICBvblNlbGVjdCAgZnVuY3Rpb24gLSB0aGUgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIGEgZGF0ZSBpcyBzZWxlY3RlZA0KCSAqIEBwYXJhbSAgc2V0dGluZ3MgIG9iamVjdCAtIHVwZGF0ZSB0aGUgZGlhbG9nIGRhdGUgcGlja2VyIGluc3RhbmNlJ3Mgc2V0dGluZ3MgKGFub255bW91cyBvYmplY3QpDQoJICogQHBhcmFtICBwb3MgaW50WzJdIC0gY29vcmRpbmF0ZXMgZm9yIHRoZSBkaWFsb2cncyBwb3NpdGlvbiB3aXRoaW4gdGhlIHNjcmVlbiBvcg0KCSAqCQkJCQlldmVudCAtIHdpdGggeC95IGNvb3JkaW5hdGVzIG9yDQoJICoJCQkJCWxlYXZlIGVtcHR5IGZvciBkZWZhdWx0IChzY3JlZW4gY2VudHJlKQ0KCSAqIEByZXR1cm4gdGhlIG1hbmFnZXIgb2JqZWN0DQoJICovDQoJX2RpYWxvZ0RhdGVwaWNrZXI6IGZ1bmN0aW9uKCBpbnB1dCwgZGF0ZSwgb25TZWxlY3QsIHNldHRpbmdzLCBwb3MgKSB7DQoJCXZhciBpZCwgYnJvd3NlcldpZHRoLCBicm93c2VySGVpZ2h0LCBzY3JvbGxYLCBzY3JvbGxZLA0KCQkJaW5zdCA9IHRoaXMuX2RpYWxvZ0luc3Q7IC8vIGludGVybmFsIGluc3RhbmNlDQoNCgkJaWYgKCAhaW5zdCApIHsNCgkJCXRoaXMudXVpZCArPSAxOw0KCQkJaWQgPSAiZHAiICsgdGhpcy51dWlkOw0KCQkJdGhpcy5fZGlhbG9nSW5wdXQgPSAkKCAiPGlucHV0IHR5cGU9J3RleHQnIGlkPSciICsgaWQgKw0KCQkJCSInIHN0eWxlPSdwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEwMHB4OyB3aWR0aDogMHB4OycvPiIgKTsNCgkJCXRoaXMuX2RpYWxvZ0lucHV0Lm9uKCAia2V5ZG93biIsIHRoaXMuX2RvS2V5RG93biApOw0KCQkJJCggImJvZHkiICkuYXBwZW5kKCB0aGlzLl9kaWFsb2dJbnB1dCApOw0KCQkJaW5zdCA9IHRoaXMuX2RpYWxvZ0luc3QgPSB0aGlzLl9uZXdJbnN0KCB0aGlzLl9kaWFsb2dJbnB1dCwgZmFsc2UgKTsNCgkJCWluc3Quc2V0dGluZ3MgPSB7fTsNCgkJCSQuZGF0YSggdGhpcy5fZGlhbG9nSW5wdXRbIDAgXSwgImRhdGVwaWNrZXIiLCBpbnN0ICk7DQoJCX0NCgkJZGF0ZXBpY2tlcl9leHRlbmRSZW1vdmUoIGluc3Quc2V0dGluZ3MsIHNldHRpbmdzIHx8IHt9ICk7DQoJCWRhdGUgPSAoIGRhdGUgJiYgZGF0ZS5jb25zdHJ1Y3RvciA9PT0gRGF0ZSA/IHRoaXMuX2Zvcm1hdERhdGUoIGluc3QsIGRhdGUgKSA6IGRhdGUgKTsNCgkJdGhpcy5fZGlhbG9nSW5wdXQudmFsKCBkYXRlICk7DQoNCgkJdGhpcy5fcG9zID0gKCBwb3MgPyAoIHBvcy5sZW5ndGggPyBwb3MgOiBbIHBvcy5wYWdlWCwgcG9zLnBhZ2VZIF0gKSA6IG51bGwgKTsNCgkJaWYgKCAhdGhpcy5fcG9zICkgew0KCQkJYnJvd3NlcldpZHRoID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoOw0KCQkJYnJvd3NlckhlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7DQoJCQlzY3JvbGxYID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0Ow0KCQkJc2Nyb2xsWSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgfHwgZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7DQoJCQl0aGlzLl9wb3MgPSAvLyBzaG91bGQgdXNlIGFjdHVhbCB3aWR0aC9oZWlnaHQgYmVsb3cNCgkJCQlbICggYnJvd3NlcldpZHRoIC8gMiApIC0gMTAwICsgc2Nyb2xsWCwgKCBicm93c2VySGVpZ2h0IC8gMiApIC0gMTUwICsgc2Nyb2xsWSBdOw0KCQl9DQoNCgkJLy8gTW92ZSBpbnB1dCBvbiBzY3JlZW4gZm9yIGZvY3VzLCBidXQgaGlkZGVuIGJlaGluZCBkaWFsb2cNCgkJdGhpcy5fZGlhbG9nSW5wdXQuY3NzKCAibGVmdCIsICggdGhpcy5fcG9zWyAwIF0gKyAyMCApICsgInB4IiApLmNzcyggInRvcCIsIHRoaXMuX3Bvc1sgMSBdICsgInB4IiApOw0KCQlpbnN0LnNldHRpbmdzLm9uU2VsZWN0ID0gb25TZWxlY3Q7DQoJCXRoaXMuX2luRGlhbG9nID0gdHJ1ZTsNCgkJdGhpcy5kcERpdi5hZGRDbGFzcyggdGhpcy5fZGlhbG9nQ2xhc3MgKTsNCgkJdGhpcy5fc2hvd0RhdGVwaWNrZXIoIHRoaXMuX2RpYWxvZ0lucHV0WyAwIF0gKTsNCgkJaWYgKCAkLmJsb2NrVUkgKSB7DQoJCQkkLmJsb2NrVUkoIHRoaXMuZHBEaXYgKTsNCgkJfQ0KCQkkLmRhdGEoIHRoaXMuX2RpYWxvZ0lucHV0WyAwIF0sICJkYXRlcGlja2VyIiwgaW5zdCApOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJLyogRGV0YWNoIGEgZGF0ZXBpY2tlciBmcm9tIGl0cyBjb250cm9sLg0KCSAqIEBwYXJhbSAgdGFyZ2V0CWVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKi8NCglfZGVzdHJveURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBub2RlTmFtZSwNCgkJCSR0YXJnZXQgPSAkKCB0YXJnZXQgKSwNCgkJCWluc3QgPSAkLmRhdGEoIHRhcmdldCwgImRhdGVwaWNrZXIiICk7DQoNCgkJaWYgKCAhJHRhcmdldC5oYXNDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCW5vZGVOYW1lID0gdGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7DQoJCSQucmVtb3ZlRGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIgKTsNCgkJaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiApIHsNCgkJCWluc3QuYXBwZW5kLnJlbW92ZSgpOw0KCQkJaW5zdC50cmlnZ2VyLnJlbW92ZSgpOw0KCQkJJHRhcmdldC5yZW1vdmVDbGFzcyggdGhpcy5tYXJrZXJDbGFzc05hbWUgKS4NCgkJCQlvZmYoICJmb2N1cyIsIHRoaXMuX3Nob3dEYXRlcGlja2VyICkuDQoJCQkJb2ZmKCAia2V5ZG93biIsIHRoaXMuX2RvS2V5RG93biApLg0KCQkJCW9mZiggImtleXByZXNzIiwgdGhpcy5fZG9LZXlQcmVzcyApLg0KCQkJCW9mZiggImtleXVwIiwgdGhpcy5fZG9LZXlVcCApOw0KCQl9IGVsc2UgaWYgKCBub2RlTmFtZSA9PT0gImRpdiIgfHwgbm9kZU5hbWUgPT09ICJzcGFuIiApIHsNCgkJCSR0YXJnZXQucmVtb3ZlQ2xhc3MoIHRoaXMubWFya2VyQ2xhc3NOYW1lICkuZW1wdHkoKTsNCgkJfQ0KDQoJCWlmICggZGF0ZXBpY2tlcl9pbnN0QWN0aXZlID09PSBpbnN0ICkgew0KCQkJZGF0ZXBpY2tlcl9pbnN0QWN0aXZlID0gbnVsbDsNCgkJfQ0KCX0sDQoNCgkvKiBFbmFibGUgdGhlIGRhdGUgcGlja2VyIHRvIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldAllbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICovDQoJX2VuYWJsZURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBub2RlTmFtZSwgaW5saW5lLA0KCQkJJHRhcmdldCA9ICQoIHRhcmdldCApLA0KCQkJaW5zdCA9ICQuZGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIgKTsNCg0KCQlpZiAoICEkdGFyZ2V0Lmhhc0NsYXNzKCB0aGlzLm1hcmtlckNsYXNzTmFtZSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJbm9kZU5hbWUgPSB0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiApIHsNCgkJCXRhcmdldC5kaXNhYmxlZCA9IGZhbHNlOw0KCQkJaW5zdC50cmlnZ2VyLmZpbHRlciggImJ1dHRvbiIgKS4NCgkJCQllYWNoKCBmdW5jdGlvbigpIHsgdGhpcy5kaXNhYmxlZCA9IGZhbHNlOyB9ICkuZW5kKCkuDQoJCQkJZmlsdGVyKCAiaW1nIiApLmNzcyggeyBvcGFjaXR5OiAiMS4wIiwgY3Vyc29yOiAiIiB9ICk7DQoJCX0gZWxzZSBpZiAoIG5vZGVOYW1lID09PSAiZGl2IiB8fCBub2RlTmFtZSA9PT0gInNwYW4iICkgew0KCQkJaW5saW5lID0gJHRhcmdldC5jaGlsZHJlbiggIi4iICsgdGhpcy5faW5saW5lQ2xhc3MgKTsNCgkJCWlubGluZS5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiICk7DQoJCQlpbmxpbmUuZmluZCggInNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLCBzZWxlY3QudWktZGF0ZXBpY2tlci15ZWFyIiApLg0KCQkJCXByb3AoICJkaXNhYmxlZCIsIGZhbHNlICk7DQoJCX0NCgkJdGhpcy5fZGlzYWJsZWRJbnB1dHMgPSAkLm1hcCggdGhpcy5fZGlzYWJsZWRJbnB1dHMsDQoJCQlmdW5jdGlvbiggdmFsdWUgKSB7IHJldHVybiAoIHZhbHVlID09PSB0YXJnZXQgPyBudWxsIDogdmFsdWUgKTsgfSApOyAvLyBkZWxldGUgZW50cnkNCgl9LA0KDQoJLyogRGlzYWJsZSB0aGUgZGF0ZSBwaWNrZXIgdG8gYSBqUXVlcnkgc2VsZWN0aW9uLg0KCSAqIEBwYXJhbSAgdGFyZ2V0CWVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKi8NCglfZGlzYWJsZURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBub2RlTmFtZSwgaW5saW5lLA0KCQkJJHRhcmdldCA9ICQoIHRhcmdldCApLA0KCQkJaW5zdCA9ICQuZGF0YSggdGFyZ2V0LCAiZGF0ZXBpY2tlciIgKTsNCg0KCQlpZiAoICEkdGFyZ2V0Lmhhc0NsYXNzKCB0aGlzLm1hcmtlckNsYXNzTmFtZSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJbm9kZU5hbWUgPSB0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsNCgkJaWYgKCBub2RlTmFtZSA9PT0gImlucHV0IiApIHsNCgkJCXRhcmdldC5kaXNhYmxlZCA9IHRydWU7DQoJCQlpbnN0LnRyaWdnZXIuZmlsdGVyKCAiYnV0dG9uIiApLg0KCQkJCWVhY2goIGZ1bmN0aW9uKCkgeyB0aGlzLmRpc2FibGVkID0gdHJ1ZTsgfSApLmVuZCgpLg0KCQkJCWZpbHRlciggImltZyIgKS5jc3MoIHsgb3BhY2l0eTogIjAuNSIsIGN1cnNvcjogImRlZmF1bHQiIH0gKTsNCgkJfSBlbHNlIGlmICggbm9kZU5hbWUgPT09ICJkaXYiIHx8IG5vZGVOYW1lID09PSAic3BhbiIgKSB7DQoJCQlpbmxpbmUgPSAkdGFyZ2V0LmNoaWxkcmVuKCAiLiIgKyB0aGlzLl9pbmxpbmVDbGFzcyApOw0KCQkJaW5saW5lLmNoaWxkcmVuKCkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKTsNCgkJCWlubGluZS5maW5kKCAic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiICkuDQoJCQkJcHJvcCggImRpc2FibGVkIiwgdHJ1ZSApOw0KCQl9DQoJCXRoaXMuX2Rpc2FibGVkSW5wdXRzID0gJC5tYXAoIHRoaXMuX2Rpc2FibGVkSW5wdXRzLA0KCQkJZnVuY3Rpb24oIHZhbHVlICkgeyByZXR1cm4gKCB2YWx1ZSA9PT0gdGFyZ2V0ID8gbnVsbCA6IHZhbHVlICk7IH0gKTsgLy8gZGVsZXRlIGVudHJ5DQoJCXRoaXMuX2Rpc2FibGVkSW5wdXRzWyB0aGlzLl9kaXNhYmxlZElucHV0cy5sZW5ndGggXSA9IHRhcmdldDsNCgl9LA0KDQoJLyogSXMgdGhlIGZpcnN0IGZpZWxkIGluIGEgalF1ZXJ5IGNvbGxlY3Rpb24gZGlzYWJsZWQgYXMgYSBkYXRlcGlja2VyPw0KCSAqIEBwYXJhbSAgdGFyZ2V0CWVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcmV0dXJuIGJvb2xlYW4gLSB0cnVlIGlmIGRpc2FibGVkLCBmYWxzZSBpZiBlbmFibGVkDQoJICovDQoJX2lzRGlzYWJsZWREYXRlcGlja2VyOiBmdW5jdGlvbiggdGFyZ2V0ICkgew0KCQlpZiAoICF0YXJnZXQgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJZm9yICggdmFyIGkgPSAwOyBpIDwgdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoOyBpKysgKSB7DQoJCQlpZiAoIHRoaXMuX2Rpc2FibGVkSW5wdXRzWyBpIF0gPT09IHRhcmdldCApIHsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gZmFsc2U7DQoJfSwNCg0KCS8qIFJldHJpZXZlIHRoZSBpbnN0YW5jZSBkYXRhIGZvciB0aGUgdGFyZ2V0IGNvbnRyb2wuDQoJICogQHBhcmFtICB0YXJnZXQgIGVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcmV0dXJuICBvYmplY3QgLSB0aGUgYXNzb2NpYXRlZCBpbnN0YW5jZSBkYXRhDQoJICogQHRocm93cyAgZXJyb3IgaWYgYSBqUXVlcnkgcHJvYmxlbSBnZXR0aW5nIGRhdGENCgkgKi8NCglfZ2V0SW5zdDogZnVuY3Rpb24oIHRhcmdldCApIHsNCgkJdHJ5IHsNCgkJCXJldHVybiAkLmRhdGEoIHRhcmdldCwgImRhdGVwaWNrZXIiICk7DQoJCX0NCgkJY2F0Y2ggKCBlcnIgKSB7DQoJCQl0aHJvdyAiTWlzc2luZyBpbnN0YW5jZSBkYXRhIGZvciB0aGlzIGRhdGVwaWNrZXIiOw0KCQl9DQoJfSwNCg0KCS8qIFVwZGF0ZSBvciByZXRyaWV2ZSB0aGUgc2V0dGluZ3MgZm9yIGEgZGF0ZSBwaWNrZXIgYXR0YWNoZWQgdG8gYW4gaW5wdXQgZmllbGQgb3IgZGl2aXNpb24uDQoJICogQHBhcmFtICB0YXJnZXQgIGVsZW1lbnQgLSB0aGUgdGFyZ2V0IGlucHV0IGZpZWxkIG9yIGRpdmlzaW9uIG9yIHNwYW4NCgkgKiBAcGFyYW0gIG5hbWUJb2JqZWN0IC0gdGhlIG5ldyBzZXR0aW5ncyB0byB1cGRhdGUgb3INCgkgKgkJCQlzdHJpbmcgLSB0aGUgbmFtZSBvZiB0aGUgc2V0dGluZyB0byBjaGFuZ2Ugb3IgcmV0cmlldmUsDQoJICoJCQkJd2hlbiByZXRyaWV2aW5nIGFsc28gImFsbCIgZm9yIGFsbCBpbnN0YW5jZSBzZXR0aW5ncyBvcg0KCSAqCQkJCSJkZWZhdWx0cyIgZm9yIGFsbCBnbG9iYWwgZGVmYXVsdHMNCgkgKiBAcGFyYW0gIHZhbHVlICAgYW55IC0gdGhlIG5ldyB2YWx1ZSBmb3IgdGhlIHNldHRpbmcNCgkgKgkJCQkob21pdCBpZiBhYm92ZSBpcyBhbiBvYmplY3Qgb3IgdG8gcmV0cmlldmUgYSB2YWx1ZSkNCgkgKi8NCglfb3B0aW9uRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgbmFtZSwgdmFsdWUgKSB7DQoJCXZhciBzZXR0aW5ncywgZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwNCgkJCWluc3QgPSB0aGlzLl9nZXRJbnN0KCB0YXJnZXQgKTsNCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgdHlwZW9mIG5hbWUgPT09ICJzdHJpbmciICkgew0KCQkJcmV0dXJuICggbmFtZSA9PT0gImRlZmF1bHRzIiA/ICQuZXh0ZW5kKCB7fSwgJC5kYXRlcGlja2VyLl9kZWZhdWx0cyApIDoNCgkJCQkoIGluc3QgPyAoIG5hbWUgPT09ICJhbGwiID8gJC5leHRlbmQoIHt9LCBpbnN0LnNldHRpbmdzICkgOg0KCQkJCXRoaXMuX2dldCggaW5zdCwgbmFtZSApICkgOiBudWxsICkgKTsNCgkJfQ0KDQoJCXNldHRpbmdzID0gbmFtZSB8fCB7fTsNCgkJaWYgKCB0eXBlb2YgbmFtZSA9PT0gInN0cmluZyIgKSB7DQoJCQlzZXR0aW5ncyA9IHt9Ow0KCQkJc2V0dGluZ3NbIG5hbWUgXSA9IHZhbHVlOw0KCQl9DQoNCgkJaWYgKCBpbnN0ICkgew0KCQkJaWYgKCB0aGlzLl9jdXJJbnN0ID09PSBpbnN0ICkgew0KCQkJCXRoaXMuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQl9DQoNCgkJCWRhdGUgPSB0aGlzLl9nZXREYXRlRGF0ZXBpY2tlciggdGFyZ2V0LCB0cnVlICk7DQoJCQltaW5EYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZSggaW5zdCwgIm1pbiIgKTsNCgkJCW1heERhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKCBpbnN0LCAibWF4IiApOw0KCQkJZGF0ZXBpY2tlcl9leHRlbmRSZW1vdmUoIGluc3Quc2V0dGluZ3MsIHNldHRpbmdzICk7DQoNCgkJCS8vIHJlZm9ybWF0IHRoZSBvbGQgbWluRGF0ZS9tYXhEYXRlIHZhbHVlcyBpZiBkYXRlRm9ybWF0IGNoYW5nZXMgYW5kIGEgbmV3IG1pbkRhdGUvbWF4RGF0ZSBpc24ndCBwcm92aWRlZA0KCQkJaWYgKCBtaW5EYXRlICE9PSBudWxsICYmIHNldHRpbmdzLmRhdGVGb3JtYXQgIT09IHVuZGVmaW5lZCAmJiBzZXR0aW5ncy5taW5EYXRlID09PSB1bmRlZmluZWQgKSB7DQoJCQkJaW5zdC5zZXR0aW5ncy5taW5EYXRlID0gdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCwgbWluRGF0ZSApOw0KCQkJfQ0KCQkJaWYgKCBtYXhEYXRlICE9PSBudWxsICYmIHNldHRpbmdzLmRhdGVGb3JtYXQgIT09IHVuZGVmaW5lZCAmJiBzZXR0aW5ncy5tYXhEYXRlID09PSB1bmRlZmluZWQgKSB7DQoJCQkJaW5zdC5zZXR0aW5ncy5tYXhEYXRlID0gdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCwgbWF4RGF0ZSApOw0KCQkJfQ0KCQkJaWYgKCAiZGlzYWJsZWQiIGluIHNldHRpbmdzICkgew0KCQkJCWlmICggc2V0dGluZ3MuZGlzYWJsZWQgKSB7DQoJCQkJCXRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKCB0YXJnZXQgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aGlzLl9lbmFibGVEYXRlcGlja2VyKCB0YXJnZXQgKTsNCgkJCQl9DQoJCQl9DQoJCQl0aGlzLl9hdHRhY2htZW50cyggJCggdGFyZ2V0ICksIGluc3QgKTsNCgkJCXRoaXMuX2F1dG9TaXplKCBpbnN0ICk7DQoJCQl0aGlzLl9zZXREYXRlKCBpbnN0LCBkYXRlICk7DQoJCQl0aGlzLl91cGRhdGVBbHRlcm5hdGUoIGluc3QgKTsNCgkJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoIGluc3QgKTsNCgkJfQ0KCX0sDQoNCgkvLyBDaGFuZ2UgbWV0aG9kIGRlcHJlY2F0ZWQNCglfY2hhbmdlRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCwgbmFtZSwgdmFsdWUgKSB7DQoJCXRoaXMuX29wdGlvbkRhdGVwaWNrZXIoIHRhcmdldCwgbmFtZSwgdmFsdWUgKTsNCgl9LA0KDQoJLyogUmVkcmF3IHRoZSBkYXRlIHBpY2tlciBhdHRhY2hlZCB0byBhbiBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCAgZWxlbWVudCAtIHRoZSB0YXJnZXQgaW5wdXQgZmllbGQgb3IgZGl2aXNpb24gb3Igc3Bhbg0KCSAqLw0KCV9yZWZyZXNoRGF0ZXBpY2tlcjogZnVuY3Rpb24oIHRhcmdldCApIHsNCgkJdmFyIGluc3QgPSB0aGlzLl9nZXRJbnN0KCB0YXJnZXQgKTsNCgkJaWYgKCBpbnN0ICkgew0KCQkJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlciggaW5zdCApOw0KCQl9DQoJfSwNCg0KCS8qIFNldCB0aGUgZGF0ZXMgZm9yIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCBlbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBkYXRlCURhdGUgLSB0aGUgbmV3IGRhdGUNCgkgKi8NCglfc2V0RGF0ZURhdGVwaWNrZXI6IGZ1bmN0aW9uKCB0YXJnZXQsIGRhdGUgKSB7DQoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0ICk7DQoJCWlmICggaW5zdCApIHsNCgkJCXRoaXMuX3NldERhdGUoIGluc3QsIGRhdGUgKTsNCgkJCXRoaXMuX3VwZGF0ZURhdGVwaWNrZXIoIGluc3QgKTsNCgkJCXRoaXMuX3VwZGF0ZUFsdGVybmF0ZSggaW5zdCApOw0KCQl9DQoJfSwNCg0KCS8qIEdldCB0aGUgZGF0ZShzKSBmb3IgdGhlIGZpcnN0IGVudHJ5IGluIGEgalF1ZXJ5IHNlbGVjdGlvbi4NCgkgKiBAcGFyYW0gIHRhcmdldCBlbGVtZW50IC0gdGhlIHRhcmdldCBpbnB1dCBmaWVsZCBvciBkaXZpc2lvbiBvciBzcGFuDQoJICogQHBhcmFtICBub0RlZmF1bHQgYm9vbGVhbiAtIHRydWUgaWYgbm8gZGVmYXVsdCBkYXRlIGlzIHRvIGJlIHVzZWQNCgkgKiBAcmV0dXJuIERhdGUgLSB0aGUgY3VycmVudCBkYXRlDQoJICovDQoJX2dldERhdGVEYXRlcGlja2VyOiBmdW5jdGlvbiggdGFyZ2V0LCBub0RlZmF1bHQgKSB7DQoJCXZhciBpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0ICk7DQoJCWlmICggaW5zdCAmJiAhaW5zdC5pbmxpbmUgKSB7DQoJCQl0aGlzLl9zZXREYXRlRnJvbUZpZWxkKCBpbnN0LCBub0RlZmF1bHQgKTsNCgkJfQ0KCQlyZXR1cm4gKCBpbnN0ID8gdGhpcy5fZ2V0RGF0ZSggaW5zdCApIDogbnVsbCApOw0KCX0sDQoNCgkvKiBIYW5kbGUga2V5c3Ryb2tlcy4gKi8NCglfZG9LZXlEb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBvblNlbGVjdCwgZGF0ZVN0ciwgc2VsLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggZXZlbnQudGFyZ2V0ICksDQoJCQloYW5kbGVkID0gdHJ1ZSwNCgkJCWlzUlRMID0gaW5zdC5kcERpdi5pcyggIi51aS1kYXRlcGlja2VyLXJ0bCIgKTsNCg0KCQlpbnN0Ll9rZXlFdmVudCA9IHRydWU7DQoJCWlmICggJC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyApIHsNCgkJCXN3aXRjaCAoIGV2ZW50LmtleUNvZGUgKSB7DQoJCQkJY2FzZSA5OiAkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCQloYW5kbGVkID0gZmFsc2U7DQoJCQkJCQlicmVhazsgLy8gaGlkZSBvbiB0YWIgb3V0DQoJCQkJY2FzZSAxMzogc2VsID0gJCggInRkLiIgKyAkLmRhdGVwaWNrZXIuX2RheU92ZXJDbGFzcyArICI6bm90KC4iICsNCgkJCQkJCQkJCSQuZGF0ZXBpY2tlci5fY3VycmVudENsYXNzICsgIikiLCBpbnN0LmRwRGl2ICk7DQoJCQkJCQlpZiAoIHNlbFsgMCBdICkgew0KCQkJCQkJCSQuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KCBldmVudC50YXJnZXQsIGluc3Quc2VsZWN0ZWRNb250aCwgaW5zdC5zZWxlY3RlZFllYXIsIHNlbFsgMCBdICk7DQoJCQkJCQl9DQoNCgkJCQkJCW9uU2VsZWN0ID0gJC5kYXRlcGlja2VyLl9nZXQoIGluc3QsICJvblNlbGVjdCIgKTsNCgkJCQkJCWlmICggb25TZWxlY3QgKSB7DQoJCQkJCQkJZGF0ZVN0ciA9ICQuZGF0ZXBpY2tlci5fZm9ybWF0RGF0ZSggaW5zdCApOw0KDQoJCQkJCQkJLy8gVHJpZ2dlciBjdXN0b20gY2FsbGJhY2sNCgkJCQkJCQlvblNlbGVjdC5hcHBseSggKCBpbnN0LmlucHV0ID8gaW5zdC5pbnB1dFsgMCBdIDogbnVsbCApLCBbIGRhdGVTdHIsIGluc3QgXSApOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJCQl9DQoNCgkJCQkJCXJldHVybiBmYWxzZTsgLy8gZG9uJ3Qgc3VibWl0IHRoZSBmb3JtDQoJCQkJY2FzZSAyNzogJC5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpOw0KCQkJCQkJYnJlYWs7IC8vIGhpZGUgb24gZXNjYXBlDQoJCQkJY2FzZSAzMzogJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBldmVudC50YXJnZXQsICggZXZlbnQuY3RybEtleSA/DQoJCQkJCQkJLSQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJLSQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcE1vbnRocyIgKSApLCAiTSIgKTsNCgkJCQkJCWJyZWFrOyAvLyBwcmV2aW91cyBtb250aC95ZWFyIG9uIHBhZ2UgdXAvKyBjdHJsDQoJCQkJY2FzZSAzNDogJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBldmVudC50YXJnZXQsICggZXZlbnQuY3RybEtleSA/DQoJCQkJCQkJKyQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJKyQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcE1vbnRocyIgKSApLCAiTSIgKTsNCgkJCQkJCWJyZWFrOyAvLyBuZXh0IG1vbnRoL3llYXIgb24gcGFnZSBkb3duLysgY3RybA0KCQkJCWNhc2UgMzU6IGlmICggZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5ICkgew0KCQkJCQkJCSQuZGF0ZXBpY2tlci5fY2xlYXJEYXRlKCBldmVudC50YXJnZXQgKTsNCgkJCQkJCX0NCgkJCQkJCWhhbmRsZWQgPSBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXk7DQoJCQkJCQlicmVhazsgLy8gY2xlYXIgb24gY3RybCBvciBjb21tYW5kICtlbmQNCgkJCQljYXNlIDM2OiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSggZXZlbnQudGFyZ2V0ICk7DQoJCQkJCQl9DQoJCQkJCQloYW5kbGVkID0gZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5Ow0KCQkJCQkJYnJlYWs7IC8vIGN1cnJlbnQgb24gY3RybCBvciBjb21tYW5kICtob21lDQoJCQkJY2FzZSAzNzogaWYgKCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkgKSB7DQoJCQkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBldmVudC50YXJnZXQsICggaXNSVEwgPyArMSA6IC0xICksICJEIiApOw0KCQkJCQkJfQ0KCQkJCQkJaGFuZGxlZCA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTsNCg0KCQkJCQkJLy8gLTEgZGF5IG9uIGN0cmwgb3IgY29tbWFuZCArbGVmdA0KCQkJCQkJaWYgKCBldmVudC5vcmlnaW5hbEV2ZW50LmFsdEtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKCBldmVudC5jdHJsS2V5ID8NCgkJCQkJCQkJLSQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJCS0kLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgInN0ZXBNb250aHMiICkgKSwgIk0iICk7DQoJCQkJCQl9DQoNCgkJCQkJCS8vIG5leHQgbW9udGgveWVhciBvbiBhbHQgK2xlZnQgb24gTWFjDQoJCQkJCQlicmVhazsNCgkJCQljYXNlIDM4OiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgLTcsICJEIiApOw0KCQkJCQkJfQ0KCQkJCQkJaGFuZGxlZCA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTsNCgkJCQkJCWJyZWFrOyAvLyAtMSB3ZWVrIG9uIGN0cmwgb3IgY29tbWFuZCArdXANCgkJCQljYXNlIDM5OiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKCBpc1JUTCA/IC0xIDogKzEgKSwgIkQiICk7DQoJCQkJCQl9DQoJCQkJCQloYW5kbGVkID0gZXZlbnQuY3RybEtleSB8fCBldmVudC5tZXRhS2V5Ow0KDQoJCQkJCQkvLyArMSBkYXkgb24gY3RybCBvciBjb21tYW5kICtyaWdodA0KCQkJCQkJaWYgKCBldmVudC5vcmlnaW5hbEV2ZW50LmFsdEtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKCBldmVudC5jdHJsS2V5ID8NCgkJCQkJCQkJKyQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic3RlcEJpZ01vbnRocyIgKSA6DQoJCQkJCQkJCSskLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgInN0ZXBNb250aHMiICkgKSwgIk0iICk7DQoJCQkJCQl9DQoNCgkJCQkJCS8vIG5leHQgbW9udGgveWVhciBvbiBhbHQgK3JpZ2h0DQoJCQkJCQlicmVhazsNCgkJCQljYXNlIDQwOiBpZiAoIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSApIHsNCgkJCQkJCQkkLmRhdGVwaWNrZXIuX2FkanVzdERhdGUoIGV2ZW50LnRhcmdldCwgKzcsICJEIiApOw0KCQkJCQkJfQ0KCQkJCQkJaGFuZGxlZCA9IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleTsNCgkJCQkJCWJyZWFrOyAvLyArMSB3ZWVrIG9uIGN0cmwgb3IgY29tbWFuZCArZG93bg0KCQkJCWRlZmF1bHQ6IGhhbmRsZWQgPSBmYWxzZTsNCgkJCX0NCgkJfSBlbHNlIGlmICggZXZlbnQua2V5Q29kZSA9PT0gMzYgJiYgZXZlbnQuY3RybEtleSApIHsgLy8gZGlzcGxheSB0aGUgZGF0ZSBwaWNrZXIgb24gY3RybCtob21lDQoJCQkkLmRhdGVwaWNrZXIuX3Nob3dEYXRlcGlja2VyKCB0aGlzICk7DQoJCX0gZWxzZSB7DQoJCQloYW5kbGVkID0gZmFsc2U7DQoJCX0NCg0KCQlpZiAoIGhhbmRsZWQgKSB7DQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7DQoJCX0NCgl9LA0KDQoJLyogRmlsdGVyIGVudGVyZWQgY2hhcmFjdGVycyAtIGJhc2VkIG9uIGRhdGUgZm9ybWF0LiAqLw0KCV9kb0tleVByZXNzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBjaGFycywgY2hyLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggZXZlbnQudGFyZ2V0ICk7DQoNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgImNvbnN0cmFpbklucHV0IiApICkgew0KCQkJY2hhcnMgPSAkLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoICQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAiZGF0ZUZvcm1hdCIgKSApOw0KCQkJY2hyID0gU3RyaW5nLmZyb21DaGFyQ29kZSggZXZlbnQuY2hhckNvZGUgPT0gbnVsbCA/IGV2ZW50LmtleUNvZGUgOiBldmVudC5jaGFyQ29kZSApOw0KCQkJcmV0dXJuIGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSB8fCAoIGNociA8ICIgIiB8fCAhY2hhcnMgfHwgY2hhcnMuaW5kZXhPZiggY2hyICkgPiAtMSApOw0KCQl9DQoJfSwNCg0KCS8qIFN5bmNocm9uaXNlIG1hbnVhbCBlbnRyeSBhbmQgZmllbGQvYWx0ZXJuYXRlIGZpZWxkLiAqLw0KCV9kb0tleVVwOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBkYXRlLA0KCQkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggZXZlbnQudGFyZ2V0ICk7DQoNCgkJaWYgKCBpbnN0LmlucHV0LnZhbCgpICE9PSBpbnN0Lmxhc3RWYWwgKSB7DQoJCQl0cnkgew0KCQkJCWRhdGUgPSAkLmRhdGVwaWNrZXIucGFyc2VEYXRlKCAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICksDQoJCQkJCSggaW5zdC5pbnB1dCA/IGluc3QuaW5wdXQudmFsKCkgOiBudWxsICksDQoJCQkJCSQuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKCBpbnN0ICkgKTsNCg0KCQkJCWlmICggZGF0ZSApIHsgLy8gb25seSBpZiB2YWxpZA0KCQkJCQkkLmRhdGVwaWNrZXIuX3NldERhdGVGcm9tRmllbGQoIGluc3QgKTsNCgkJCQkJJC5kYXRlcGlja2VyLl91cGRhdGVBbHRlcm5hdGUoIGluc3QgKTsNCgkJCQkJJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyKCBpbnN0ICk7DQoJCQkJfQ0KCQkJfQ0KCQkJY2F0Y2ggKCBlcnIgKSB7DQoJCQl9DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCS8qIFBvcC11cCB0aGUgZGF0ZSBwaWNrZXIgZm9yIGEgZ2l2ZW4gaW5wdXQgZmllbGQuDQoJICogSWYgZmFsc2UgcmV0dXJuZWQgZnJvbSBiZWZvcmVTaG93IGV2ZW50IGhhbmRsZXIgZG8gbm90IHNob3cuDQoJICogQHBhcmFtICBpbnB1dCAgZWxlbWVudCAtIHRoZSBpbnB1dCBmaWVsZCBhdHRhY2hlZCB0byB0aGUgZGF0ZSBwaWNrZXIgb3INCgkgKgkJCQkJZXZlbnQgLSBpZiB0cmlnZ2VyZWQgYnkgZm9jdXMNCgkgKi8NCglfc2hvd0RhdGVwaWNrZXI6IGZ1bmN0aW9uKCBpbnB1dCApIHsNCgkJaW5wdXQgPSBpbnB1dC50YXJnZXQgfHwgaW5wdXQ7DQoJCWlmICggaW5wdXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gImlucHV0IiApIHsgLy8gZmluZCBmcm9tIGJ1dHRvbi9pbWFnZSB0cmlnZ2VyDQoJCQlpbnB1dCA9ICQoICJpbnB1dCIsIGlucHV0LnBhcmVudE5vZGUgKVsgMCBdOw0KCQl9DQoNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2lzRGlzYWJsZWREYXRlcGlja2VyKCBpbnB1dCApIHx8ICQuZGF0ZXBpY2tlci5fbGFzdElucHV0ID09PSBpbnB1dCApIHsgLy8gYWxyZWFkeSBoZXJlDQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgaW5zdCwgYmVmb3JlU2hvdywgYmVmb3JlU2hvd1NldHRpbmdzLCBpc0ZpeGVkLA0KCQkJb2Zmc2V0LCBzaG93QW5pbSwgZHVyYXRpb247DQoNCgkJaW5zdCA9ICQuZGF0ZXBpY2tlci5fZ2V0SW5zdCggaW5wdXQgKTsNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2N1ckluc3QgJiYgJC5kYXRlcGlja2VyLl9jdXJJbnN0ICE9PSBpbnN0ICkgew0KCQkJJC5kYXRlcGlja2VyLl9jdXJJbnN0LmRwRGl2LnN0b3AoIHRydWUsIHRydWUgKTsNCgkJCWlmICggaW5zdCAmJiAkLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nICkgew0KCQkJCSQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoICQuZGF0ZXBpY2tlci5fY3VySW5zdC5pbnB1dFsgMCBdICk7DQoJCQl9DQoJCX0NCg0KCQliZWZvcmVTaG93ID0gJC5kYXRlcGlja2VyLl9nZXQoIGluc3QsICJiZWZvcmVTaG93IiApOw0KCQliZWZvcmVTaG93U2V0dGluZ3MgPSBiZWZvcmVTaG93ID8gYmVmb3JlU2hvdy5hcHBseSggaW5wdXQsIFsgaW5wdXQsIGluc3QgXSApIDoge307DQoJCWlmICggYmVmb3JlU2hvd1NldHRpbmdzID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQlkYXRlcGlja2VyX2V4dGVuZFJlbW92ZSggaW5zdC5zZXR0aW5ncywgYmVmb3JlU2hvd1NldHRpbmdzICk7DQoNCgkJaW5zdC5sYXN0VmFsID0gbnVsbDsNCgkJJC5kYXRlcGlja2VyLl9sYXN0SW5wdXQgPSBpbnB1dDsNCgkJJC5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKCBpbnN0ICk7DQoNCgkJaWYgKCAkLmRhdGVwaWNrZXIuX2luRGlhbG9nICkgeyAvLyBoaWRlIGN1cnNvcg0KCQkJaW5wdXQudmFsdWUgPSAiIjsNCgkJfQ0KCQlpZiAoICEkLmRhdGVwaWNrZXIuX3BvcyApIHsgLy8gcG9zaXRpb24gYmVsb3cgaW5wdXQNCgkJCSQuZGF0ZXBpY2tlci5fcG9zID0gJC5kYXRlcGlja2VyLl9maW5kUG9zKCBpbnB1dCApOw0KCQkJJC5kYXRlcGlja2VyLl9wb3NbIDEgXSArPSBpbnB1dC5vZmZzZXRIZWlnaHQ7IC8vIGFkZCB0aGUgaGVpZ2h0DQoJCX0NCg0KCQlpc0ZpeGVkID0gZmFsc2U7DQoJCSQoIGlucHV0ICkucGFyZW50cygpLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJaXNGaXhlZCB8PSAkKCB0aGlzICkuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCI7DQoJCQlyZXR1cm4gIWlzRml4ZWQ7DQoJCX0gKTsNCg0KCQlvZmZzZXQgPSB7IGxlZnQ6ICQuZGF0ZXBpY2tlci5fcG9zWyAwIF0sIHRvcDogJC5kYXRlcGlja2VyLl9wb3NbIDEgXSB9Ow0KCQkkLmRhdGVwaWNrZXIuX3BvcyA9IG51bGw7DQoNCgkJLy90byBhdm9pZCBmbGFzaGVzIG9uIEZpcmVmb3gNCgkJaW5zdC5kcERpdi5lbXB0eSgpOw0KDQoJCS8vIGRldGVybWluZSBzaXppbmcgb2Zmc2NyZWVuDQoJCWluc3QuZHBEaXYuY3NzKCB7IHBvc2l0aW9uOiAiYWJzb2x1dGUiLCBkaXNwbGF5OiAiYmxvY2siLCB0b3A6ICItMTAwMHB4IiB9ICk7DQoJCSQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlciggaW5zdCApOw0KDQoJCS8vIGZpeCB3aWR0aCBmb3IgZHluYW1pYyBudW1iZXIgb2YgZGF0ZSBwaWNrZXJzDQoJCS8vIGFuZCBhZGp1c3QgcG9zaXRpb24gYmVmb3JlIHNob3dpbmcNCgkJb2Zmc2V0ID0gJC5kYXRlcGlja2VyLl9jaGVja09mZnNldCggaW5zdCwgb2Zmc2V0LCBpc0ZpeGVkICk7DQoJCWluc3QuZHBEaXYuY3NzKCB7IHBvc2l0aW9uOiAoICQuZGF0ZXBpY2tlci5faW5EaWFsb2cgJiYgJC5ibG9ja1VJID8NCgkJCSJzdGF0aWMiIDogKCBpc0ZpeGVkID8gImZpeGVkIiA6ICJhYnNvbHV0ZSIgKSApLCBkaXNwbGF5OiAibm9uZSIsDQoJCQlsZWZ0OiBvZmZzZXQubGVmdCArICJweCIsIHRvcDogb2Zmc2V0LnRvcCArICJweCIgfSApOw0KDQoJCWlmICggIWluc3QuaW5saW5lICkgew0KCQkJc2hvd0FuaW0gPSAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgInNob3dBbmltIiApOw0KCQkJZHVyYXRpb24gPSAkLmRhdGVwaWNrZXIuX2dldCggaW5zdCwgImR1cmF0aW9uIiApOw0KCQkJaW5zdC5kcERpdi5jc3MoICJ6LWluZGV4IiwgZGF0ZXBpY2tlcl9nZXRaaW5kZXgoICQoIGlucHV0ICkgKSArIDEgKTsNCgkJCSQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgPSB0cnVlOw0KDQoJCQlpZiAoICQuZWZmZWN0cyAmJiAkLmVmZmVjdHMuZWZmZWN0WyBzaG93QW5pbSBdICkgew0KCQkJCWluc3QuZHBEaXYuc2hvdyggc2hvd0FuaW0sICQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAic2hvd09wdGlvbnMiICksIGR1cmF0aW9uICk7DQoJCQl9IGVsc2Ugew0KCQkJCWluc3QuZHBEaXZbIHNob3dBbmltIHx8ICJzaG93IiBdKCBzaG93QW5pbSA/IGR1cmF0aW9uIDogbnVsbCApOw0KCQkJfQ0KDQoJCQlpZiAoICQuZGF0ZXBpY2tlci5fc2hvdWxkRm9jdXNJbnB1dCggaW5zdCApICkgew0KCQkJCWluc3QuaW5wdXQudHJpZ2dlciggImZvY3VzIiApOw0KCQkJfQ0KDQoJCQkkLmRhdGVwaWNrZXIuX2N1ckluc3QgPSBpbnN0Ow0KCQl9DQoJfSwNCg0KCS8qIEdlbmVyYXRlIHRoZSBkYXRlIHBpY2tlciBjb250ZW50LiAqLw0KCV91cGRhdGVEYXRlcGlja2VyOiBmdW5jdGlvbiggaW5zdCApIHsNCgkJdGhpcy5tYXhSb3dzID0gNDsgLy9SZXNldCB0aGUgbWF4IG51bWJlciBvZiByb3dzIGJlaW5nIGRpc3BsYXllZCAoc2VlICM3MDQzKQ0KCQlkYXRlcGlja2VyX2luc3RBY3RpdmUgPSBpbnN0OyAvLyBmb3IgZGVsZWdhdGUgaG92ZXIgZXZlbnRzDQoJCWluc3QuZHBEaXYuZW1wdHkoKS5hcHBlbmQoIHRoaXMuX2dlbmVyYXRlSFRNTCggaW5zdCApICk7DQoJCXRoaXMuX2F0dGFjaEhhbmRsZXJzKCBpbnN0ICk7DQoNCgkJdmFyIG9yaWd5ZWFyc2h0bWwsDQoJCQludW1Nb250aHMgPSB0aGlzLl9nZXROdW1iZXJPZk1vbnRocyggaW5zdCApLA0KCQkJY29scyA9IG51bU1vbnRoc1sgMSBdLA0KCQkJd2lkdGggPSAxNywNCgkJCWFjdGl2ZUNlbGwgPSBpbnN0LmRwRGl2LmZpbmQoICIuIiArIHRoaXMuX2RheU92ZXJDbGFzcyArICIgYSIgKTsNCg0KCQlpZiAoIGFjdGl2ZUNlbGwubGVuZ3RoID4gMCApIHsNCgkJCWRhdGVwaWNrZXJfaGFuZGxlTW91c2VvdmVyLmFwcGx5KCBhY3RpdmVDZWxsLmdldCggMCApICk7DQoJCX0NCg0KCQlpbnN0LmRwRGl2LnJlbW92ZUNsYXNzKCAidWktZGF0ZXBpY2tlci1tdWx0aS0yIHVpLWRhdGVwaWNrZXItbXVsdGktMyB1aS1kYXRlcGlja2VyLW11bHRpLTQiICkud2lkdGgoICIiICk7DQoJCWlmICggY29scyA+IDEgKSB7DQoJCQlpbnN0LmRwRGl2LmFkZENsYXNzKCAidWktZGF0ZXBpY2tlci1tdWx0aS0iICsgY29scyApLmNzcyggIndpZHRoIiwgKCB3aWR0aCAqIGNvbHMgKSArICJlbSIgKTsNCgkJfQ0KCQlpbnN0LmRwRGl2WyAoIG51bU1vbnRoc1sgMCBdICE9PSAxIHx8IG51bU1vbnRoc1sgMSBdICE9PSAxID8gImFkZCIgOiAicmVtb3ZlIiApICsNCgkJCSJDbGFzcyIgXSggInVpLWRhdGVwaWNrZXItbXVsdGkiICk7DQoJCWluc3QuZHBEaXZbICggdGhpcy5fZ2V0KCBpbnN0LCAiaXNSVEwiICkgPyAiYWRkIiA6ICJyZW1vdmUiICkgKw0KCQkJIkNsYXNzIiBdKCAidWktZGF0ZXBpY2tlci1ydGwiICk7DQoNCgkJaWYgKCBpbnN0ID09PSAkLmRhdGVwaWNrZXIuX2N1ckluc3QgJiYgJC5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyAmJiAkLmRhdGVwaWNrZXIuX3Nob3VsZEZvY3VzSW5wdXQoIGluc3QgKSApIHsNCgkJCWluc3QuaW5wdXQudHJpZ2dlciggImZvY3VzIiApOw0KCQl9DQoNCgkJLy8gRGVmZmVyZWQgcmVuZGVyIG9mIHRoZSB5ZWFycyBzZWxlY3QgKHRvIGF2b2lkIGZsYXNoZXMgb24gRmlyZWZveCkNCgkJaWYgKCBpbnN0LnllYXJzaHRtbCApIHsNCgkJCW9yaWd5ZWFyc2h0bWwgPSBpbnN0LnllYXJzaHRtbDsNCgkJCXNldFRpbWVvdXQoIGZ1bmN0aW9uKCkgew0KDQoJCQkJLy9hc3N1cmUgdGhhdCBpbnN0LnllYXJzaHRtbCBkaWRuJ3QgY2hhbmdlLg0KCQkJCWlmICggb3JpZ3llYXJzaHRtbCA9PT0gaW5zdC55ZWFyc2h0bWwgJiYgaW5zdC55ZWFyc2h0bWwgKSB7DQoJCQkJCWluc3QuZHBEaXYuZmluZCggInNlbGVjdC51aS1kYXRlcGlja2VyLXllYXI6Zmlyc3QiICkucmVwbGFjZVdpdGgoIGluc3QueWVhcnNodG1sICk7DQoJCQkJfQ0KCQkJCW9yaWd5ZWFyc2h0bWwgPSBpbnN0LnllYXJzaHRtbCA9IG51bGw7DQoJCQl9LCAwICk7DQoJCX0NCgl9LA0KDQoJLy8gIzY2OTQgLSBkb24ndCBmb2N1cyB0aGUgaW5wdXQgaWYgaXQncyBhbHJlYWR5IGZvY3VzZWQNCgkvLyB0aGlzIGJyZWFrcyB0aGUgY2hhbmdlIGV2ZW50IGluIElFDQoJLy8gU3VwcG9ydDogSUUgYW5kIGpRdWVyeSA8MS45DQoJX3Nob3VsZEZvY3VzSW5wdXQ6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlyZXR1cm4gaW5zdC5pbnB1dCAmJiBpbnN0LmlucHV0LmlzKCAiOnZpc2libGUiICkgJiYgIWluc3QuaW5wdXQuaXMoICI6ZGlzYWJsZWQiICkgJiYgIWluc3QuaW5wdXQuaXMoICI6Zm9jdXMiICk7DQoJfSwNCg0KCS8qIENoZWNrIHBvc2l0aW9uaW5nIHRvIHJlbWFpbiBvbiBzY3JlZW4uICovDQoJX2NoZWNrT2Zmc2V0OiBmdW5jdGlvbiggaW5zdCwgb2Zmc2V0LCBpc0ZpeGVkICkgew0KCQl2YXIgZHBXaWR0aCA9IGluc3QuZHBEaXYub3V0ZXJXaWR0aCgpLA0KCQkJZHBIZWlnaHQgPSBpbnN0LmRwRGl2Lm91dGVySGVpZ2h0KCksDQoJCQlpbnB1dFdpZHRoID0gaW5zdC5pbnB1dCA/IGluc3QuaW5wdXQub3V0ZXJXaWR0aCgpIDogMCwNCgkJCWlucHV0SGVpZ2h0ID0gaW5zdC5pbnB1dCA/IGluc3QuaW5wdXQub3V0ZXJIZWlnaHQoKSA6IDAsDQoJCQl2aWV3V2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggKyAoIGlzRml4ZWQgPyAwIDogJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgKSwNCgkJCXZpZXdIZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0ICsgKCBpc0ZpeGVkID8gMCA6ICQoIGRvY3VtZW50ICkuc2Nyb2xsVG9wKCkgKTsNCg0KCQlvZmZzZXQubGVmdCAtPSAoIHRoaXMuX2dldCggaW5zdCwgImlzUlRMIiApID8gKCBkcFdpZHRoIC0gaW5wdXRXaWR0aCApIDogMCApOw0KCQlvZmZzZXQubGVmdCAtPSAoIGlzRml4ZWQgJiYgb2Zmc2V0LmxlZnQgPT09IGluc3QuaW5wdXQub2Zmc2V0KCkubGVmdCApID8gJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgOiAwOw0KCQlvZmZzZXQudG9wIC09ICggaXNGaXhlZCAmJiBvZmZzZXQudG9wID09PSAoIGluc3QuaW5wdXQub2Zmc2V0KCkudG9wICsgaW5wdXRIZWlnaHQgKSApID8gJCggZG9jdW1lbnQgKS5zY3JvbGxUb3AoKSA6IDA7DQoNCgkJLy8gTm93IGNoZWNrIGlmIGRhdGVwaWNrZXIgaXMgc2hvd2luZyBvdXRzaWRlIHdpbmRvdyB2aWV3cG9ydCAtIG1vdmUgdG8gYSBiZXR0ZXIgcGxhY2UgaWYgc28uDQoJCW9mZnNldC5sZWZ0IC09IE1hdGgubWluKCBvZmZzZXQubGVmdCwgKCBvZmZzZXQubGVmdCArIGRwV2lkdGggPiB2aWV3V2lkdGggJiYgdmlld1dpZHRoID4gZHBXaWR0aCApID8NCgkJCU1hdGguYWJzKCBvZmZzZXQubGVmdCArIGRwV2lkdGggLSB2aWV3V2lkdGggKSA6IDAgKTsNCgkJb2Zmc2V0LnRvcCAtPSBNYXRoLm1pbiggb2Zmc2V0LnRvcCwgKCBvZmZzZXQudG9wICsgZHBIZWlnaHQgPiB2aWV3SGVpZ2h0ICYmIHZpZXdIZWlnaHQgPiBkcEhlaWdodCApID8NCgkJCU1hdGguYWJzKCBkcEhlaWdodCArIGlucHV0SGVpZ2h0ICkgOiAwICk7DQoNCgkJcmV0dXJuIG9mZnNldDsNCgl9LA0KDQoJLyogRmluZCBhbiBvYmplY3QncyBwb3NpdGlvbiBvbiB0aGUgc2NyZWVuLiAqLw0KCV9maW5kUG9zOiBmdW5jdGlvbiggb2JqICkgew0KCQl2YXIgcG9zaXRpb24sDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCggb2JqICksDQoJCQlpc1JUTCA9IHRoaXMuX2dldCggaW5zdCwgImlzUlRMIiApOw0KDQoJCXdoaWxlICggb2JqICYmICggb2JqLnR5cGUgPT09ICJoaWRkZW4iIHx8IG9iai5ub2RlVHlwZSAhPT0gMSB8fCAkLmV4cHIuZmlsdGVycy5oaWRkZW4oIG9iaiApICkgKSB7DQoJCQlvYmogPSBvYmpbIGlzUlRMID8gInByZXZpb3VzU2libGluZyIgOiAibmV4dFNpYmxpbmciIF07DQoJCX0NCg0KCQlwb3NpdGlvbiA9ICQoIG9iaiApLm9mZnNldCgpOw0KCQlyZXR1cm4gWyBwb3NpdGlvbi5sZWZ0LCBwb3NpdGlvbi50b3AgXTsNCgl9LA0KDQoJLyogSGlkZSB0aGUgZGF0ZSBwaWNrZXIgZnJvbSB2aWV3Lg0KCSAqIEBwYXJhbSAgaW5wdXQgIGVsZW1lbnQgLSB0aGUgaW5wdXQgZmllbGQgYXR0YWNoZWQgdG8gdGhlIGRhdGUgcGlja2VyDQoJICovDQoJX2hpZGVEYXRlcGlja2VyOiBmdW5jdGlvbiggaW5wdXQgKSB7DQoJCXZhciBzaG93QW5pbSwgZHVyYXRpb24sIHBvc3RQcm9jZXNzLCBvbkNsb3NlLA0KCQkJaW5zdCA9IHRoaXMuX2N1ckluc3Q7DQoNCgkJaWYgKCAhaW5zdCB8fCAoIGlucHV0ICYmIGluc3QgIT09ICQuZGF0YSggaW5wdXQsICJkYXRlcGlja2VyIiApICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRoaXMuX2RhdGVwaWNrZXJTaG93aW5nICkgew0KCQkJc2hvd0FuaW0gPSB0aGlzLl9nZXQoIGluc3QsICJzaG93QW5pbSIgKTsNCgkJCWR1cmF0aW9uID0gdGhpcy5fZ2V0KCBpbnN0LCAiZHVyYXRpb24iICk7DQoJCQlwb3N0UHJvY2VzcyA9IGZ1bmN0aW9uKCkgew0KCQkJCSQuZGF0ZXBpY2tlci5fdGlkeURpYWxvZyggaW5zdCApOw0KCQkJfTsNCg0KCQkJLy8gREVQUkVDQVRFRDogYWZ0ZXIgQkMgZm9yIDEuOC54ICQuZWZmZWN0c1sgc2hvd0FuaW0gXSBpcyBub3QgbmVlZGVkDQoJCQlpZiAoICQuZWZmZWN0cyAmJiAoICQuZWZmZWN0cy5lZmZlY3RbIHNob3dBbmltIF0gfHwgJC5lZmZlY3RzWyBzaG93QW5pbSBdICkgKSB7DQoJCQkJaW5zdC5kcERpdi5oaWRlKCBzaG93QW5pbSwgJC5kYXRlcGlja2VyLl9nZXQoIGluc3QsICJzaG93T3B0aW9ucyIgKSwgZHVyYXRpb24sIHBvc3RQcm9jZXNzICk7DQoJCQl9IGVsc2Ugew0KCQkJCWluc3QuZHBEaXZbICggc2hvd0FuaW0gPT09ICJzbGlkZURvd24iID8gInNsaWRlVXAiIDoNCgkJCQkJKCBzaG93QW5pbSA9PT0gImZhZGVJbiIgPyAiZmFkZU91dCIgOiAiaGlkZSIgKSApIF0oICggc2hvd0FuaW0gPyBkdXJhdGlvbiA6IG51bGwgKSwgcG9zdFByb2Nlc3MgKTsNCgkJCX0NCg0KCQkJaWYgKCAhc2hvd0FuaW0gKSB7DQoJCQkJcG9zdFByb2Nlc3MoKTsNCgkJCX0NCgkJCXRoaXMuX2RhdGVwaWNrZXJTaG93aW5nID0gZmFsc2U7DQoNCgkJCW9uQ2xvc2UgPSB0aGlzLl9nZXQoIGluc3QsICJvbkNsb3NlIiApOw0KCQkJaWYgKCBvbkNsb3NlICkgew0KCQkJCW9uQ2xvc2UuYXBwbHkoICggaW5zdC5pbnB1dCA/IGluc3QuaW5wdXRbIDAgXSA6IG51bGwgKSwgWyAoIGluc3QuaW5wdXQgPyBpbnN0LmlucHV0LnZhbCgpIDogIiIgKSwgaW5zdCBdICk7DQoJCQl9DQoNCgkJCXRoaXMuX2xhc3RJbnB1dCA9IG51bGw7DQoJCQlpZiAoIHRoaXMuX2luRGlhbG9nICkgew0KCQkJCXRoaXMuX2RpYWxvZ0lucHV0LmNzcyggeyBwb3NpdGlvbjogImFic29sdXRlIiwgbGVmdDogIjAiLCB0b3A6ICItMTAwcHgiIH0gKTsNCgkJCQlpZiAoICQuYmxvY2tVSSApIHsNCgkJCQkJJC51bmJsb2NrVUkoKTsNCgkJCQkJJCggImJvZHkiICkuYXBwZW5kKCB0aGlzLmRwRGl2ICk7DQoJCQkJfQ0KCQkJfQ0KCQkJdGhpcy5faW5EaWFsb2cgPSBmYWxzZTsNCgkJfQ0KCX0sDQoNCgkvKiBUaWR5IHVwIGFmdGVyIGEgZGlhbG9nIGRpc3BsYXkuICovDQoJX3RpZHlEaWFsb2c6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlpbnN0LmRwRGl2LnJlbW92ZUNsYXNzKCB0aGlzLl9kaWFsb2dDbGFzcyApLm9mZiggIi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIiApOw0KCX0sDQoNCgkvKiBDbG9zZSBkYXRlIHBpY2tlciBpZiBjbGlja2VkIGVsc2V3aGVyZS4gKi8NCglfY2hlY2tFeHRlcm5hbENsaWNrOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggISQuZGF0ZXBpY2tlci5fY3VySW5zdCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXZhciAkdGFyZ2V0ID0gJCggZXZlbnQudGFyZ2V0ICksDQoJCQlpbnN0ID0gJC5kYXRlcGlja2VyLl9nZXRJbnN0KCAkdGFyZ2V0WyAwIF0gKTsNCg0KCQlpZiAoICggKCAkdGFyZ2V0WyAwIF0uaWQgIT09ICQuZGF0ZXBpY2tlci5fbWFpbkRpdklkICYmDQoJCQkJJHRhcmdldC5wYXJlbnRzKCAiIyIgKyAkLmRhdGVwaWNrZXIuX21haW5EaXZJZCApLmxlbmd0aCA9PT0gMCAmJg0KCQkJCSEkdGFyZ2V0Lmhhc0NsYXNzKCAkLmRhdGVwaWNrZXIubWFya2VyQ2xhc3NOYW1lICkgJiYNCgkJCQkhJHRhcmdldC5jbG9zZXN0KCAiLiIgKyAkLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcyApLmxlbmd0aCAmJg0KCQkJCSQuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcgJiYgISggJC5kYXRlcGlja2VyLl9pbkRpYWxvZyAmJiAkLmJsb2NrVUkgKSApICkgfHwNCgkJCSggJHRhcmdldC5oYXNDbGFzcyggJC5kYXRlcGlja2VyLm1hcmtlckNsYXNzTmFtZSApICYmICQuZGF0ZXBpY2tlci5fY3VySW5zdCAhPT0gaW5zdCApICkgew0KCQkJCSQuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTsNCgkJfQ0KCX0sDQoNCgkvKiBBZGp1c3Qgb25lIG9mIHRoZSBkYXRlIHN1Yi1maWVsZHMuICovDQoJX2FkanVzdERhdGU6IGZ1bmN0aW9uKCBpZCwgb2Zmc2V0LCBwZXJpb2QgKSB7DQoJCXZhciB0YXJnZXQgPSAkKCBpZCApLA0KCQkJaW5zdCA9IHRoaXMuX2dldEluc3QoIHRhcmdldFsgMCBdICk7DQoNCgkJaWYgKCB0aGlzLl9pc0Rpc2FibGVkRGF0ZXBpY2tlciggdGFyZ2V0WyAwIF0gKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLl9hZGp1c3RJbnN0RGF0ZSggaW5zdCwgb2Zmc2V0ICsNCgkJCSggcGVyaW9kID09PSAiTSIgPyB0aGlzLl9nZXQoIGluc3QsICJzaG93Q3VycmVudEF0UG9zIiApIDogMCApLCAvLyB1bmRvIHBvc2l0aW9uaW5nDQoJCQlwZXJpb2QgKTsNCgkJdGhpcy5fdXBkYXRlRGF0ZXBpY2tlciggaW5zdCApOw0KCX0sDQoNCgkvKiBBY3Rpb24gZm9yIGN1cnJlbnQgbGluay4gKi8NCglfZ290b1RvZGF5OiBmdW5jdGlvbiggaWQgKSB7DQoJCXZhciBkYXRlLA0KCQkJdGFyZ2V0ID0gJCggaWQgKSwNCgkJCWluc3QgPSB0aGlzLl9nZXRJbnN0KCB0YXJnZXRbIDAgXSApOw0KDQoJCWlmICggdGhpcy5fZ2V0KCBpbnN0LCAiZ290b0N1cnJlbnQiICkgJiYgaW5zdC5jdXJyZW50RGF5ICkgew0KCQkJaW5zdC5zZWxlY3RlZERheSA9IGluc3QuY3VycmVudERheTsNCgkJCWluc3QuZHJhd01vbnRoID0gaW5zdC5zZWxlY3RlZE1vbnRoID0gaW5zdC5jdXJyZW50TW9udGg7DQoJCQlpbnN0LmRyYXdZZWFyID0gaW5zdC5zZWxlY3RlZFllYXIgPSBpbnN0LmN1cnJlbnRZZWFyOw0KCQl9IGVsc2Ugew0KCQkJZGF0ZSA9IG5ldyBEYXRlKCk7DQoJCQlpbnN0LnNlbGVjdGVkRGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTsNCgkJCWluc3QuZHJhd1llYXIgPSBpbnN0LnNlbGVjdGVkWWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTsNCgkJfQ0KCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJdGhpcy5fYWRqdXN0RGF0ZSggdGFyZ2V0ICk7DQoJfSwNCg0KCS8qIEFjdGlvbiBmb3Igc2VsZWN0aW5nIGEgbmV3IG1vbnRoL3llYXIuICovDQoJX3NlbGVjdE1vbnRoWWVhcjogZnVuY3Rpb24oIGlkLCBzZWxlY3QsIHBlcmlvZCApIHsNCgkJdmFyIHRhcmdldCA9ICQoIGlkICksDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0WyAwIF0gKTsNCg0KCQlpbnN0WyAic2VsZWN0ZWQiICsgKCBwZXJpb2QgPT09ICJNIiA/ICJNb250aCIgOiAiWWVhciIgKSBdID0NCgkJaW5zdFsgImRyYXciICsgKCBwZXJpb2QgPT09ICJNIiA/ICJNb250aCIgOiAiWWVhciIgKSBdID0NCgkJCXBhcnNlSW50KCBzZWxlY3Qub3B0aW9uc1sgc2VsZWN0LnNlbGVjdGVkSW5kZXggXS52YWx1ZSwgMTAgKTsNCg0KCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJdGhpcy5fYWRqdXN0RGF0ZSggdGFyZ2V0ICk7DQoJfSwNCg0KCS8qIEFjdGlvbiBmb3Igc2VsZWN0aW5nIGEgZGF5LiAqLw0KCV9zZWxlY3REYXk6IGZ1bmN0aW9uKCBpZCwgbW9udGgsIHllYXIsIHRkICkgew0KCQl2YXIgaW5zdCwNCgkJCXRhcmdldCA9ICQoIGlkICk7DQoNCgkJaWYgKCAkKCB0ZCApLmhhc0NsYXNzKCB0aGlzLl91bnNlbGVjdGFibGVDbGFzcyApIHx8IHRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKCB0YXJnZXRbIDAgXSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaW5zdCA9IHRoaXMuX2dldEluc3QoIHRhcmdldFsgMCBdICk7DQoJCWluc3Quc2VsZWN0ZWREYXkgPSBpbnN0LmN1cnJlbnREYXkgPSAkKCAiYSIsIHRkICkuaHRtbCgpOw0KCQlpbnN0LnNlbGVjdGVkTW9udGggPSBpbnN0LmN1cnJlbnRNb250aCA9IG1vbnRoOw0KCQlpbnN0LnNlbGVjdGVkWWVhciA9IGluc3QuY3VycmVudFllYXIgPSB5ZWFyOw0KCQl0aGlzLl9zZWxlY3REYXRlKCBpZCwgdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCwNCgkJCWluc3QuY3VycmVudERheSwgaW5zdC5jdXJyZW50TW9udGgsIGluc3QuY3VycmVudFllYXIgKSApOw0KCX0sDQoNCgkvKiBFcmFzZSB0aGUgaW5wdXQgZmllbGQgYW5kIGhpZGUgdGhlIGRhdGUgcGlja2VyLiAqLw0KCV9jbGVhckRhdGU6IGZ1bmN0aW9uKCBpZCApIHsNCgkJdmFyIHRhcmdldCA9ICQoIGlkICk7DQoJCXRoaXMuX3NlbGVjdERhdGUoIHRhcmdldCwgIiIgKTsNCgl9LA0KDQoJLyogVXBkYXRlIHRoZSBpbnB1dCBmaWVsZCB3aXRoIHRoZSBzZWxlY3RlZCBkYXRlLiAqLw0KCV9zZWxlY3REYXRlOiBmdW5jdGlvbiggaWQsIGRhdGVTdHIgKSB7DQoJCXZhciBvblNlbGVjdCwNCgkJCXRhcmdldCA9ICQoIGlkICksDQoJCQlpbnN0ID0gdGhpcy5fZ2V0SW5zdCggdGFyZ2V0WyAwIF0gKTsNCg0KCQlkYXRlU3RyID0gKCBkYXRlU3RyICE9IG51bGwgPyBkYXRlU3RyIDogdGhpcy5fZm9ybWF0RGF0ZSggaW5zdCApICk7DQoJCWlmICggaW5zdC5pbnB1dCApIHsNCgkJCWluc3QuaW5wdXQudmFsKCBkYXRlU3RyICk7DQoJCX0NCgkJdGhpcy5fdXBkYXRlQWx0ZXJuYXRlKCBpbnN0ICk7DQoNCgkJb25TZWxlY3QgPSB0aGlzLl9nZXQoIGluc3QsICJvblNlbGVjdCIgKTsNCgkJaWYgKCBvblNlbGVjdCApIHsNCgkJCW9uU2VsZWN0LmFwcGx5KCAoIGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WyAwIF0gOiBudWxsICksIFsgZGF0ZVN0ciwgaW5zdCBdICk7ICAvLyB0cmlnZ2VyIGN1c3RvbSBjYWxsYmFjaw0KCQl9IGVsc2UgaWYgKCBpbnN0LmlucHV0ICkgew0KCQkJaW5zdC5pbnB1dC50cmlnZ2VyKCAiY2hhbmdlIiApOyAvLyBmaXJlIHRoZSBjaGFuZ2UgZXZlbnQNCgkJfQ0KDQoJCWlmICggaW5zdC5pbmxpbmUgKSB7DQoJCQl0aGlzLl91cGRhdGVEYXRlcGlja2VyKCBpbnN0ICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLl9oaWRlRGF0ZXBpY2tlcigpOw0KCQkJdGhpcy5fbGFzdElucHV0ID0gaW5zdC5pbnB1dFsgMCBdOw0KCQkJaWYgKCB0eXBlb2YoIGluc3QuaW5wdXRbIDAgXSApICE9PSAib2JqZWN0IiApIHsNCgkJCQlpbnN0LmlucHV0LnRyaWdnZXIoICJmb2N1cyIgKTsgLy8gcmVzdG9yZSBmb2N1cw0KCQkJfQ0KCQkJdGhpcy5fbGFzdElucHV0ID0gbnVsbDsNCgkJfQ0KCX0sDQoNCgkvKiBVcGRhdGUgYW55IGFsdGVybmF0ZSBmaWVsZCB0byBzeW5jaHJvbmlzZSB3aXRoIHRoZSBtYWluIGZpZWxkLiAqLw0KCV91cGRhdGVBbHRlcm5hdGU6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQl2YXIgYWx0Rm9ybWF0LCBkYXRlLCBkYXRlU3RyLA0KCQkJYWx0RmllbGQgPSB0aGlzLl9nZXQoIGluc3QsICJhbHRGaWVsZCIgKTsNCg0KCQlpZiAoIGFsdEZpZWxkICkgeyAvLyB1cGRhdGUgYWx0ZXJuYXRlIGZpZWxkIHRvbw0KCQkJYWx0Rm9ybWF0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYWx0Rm9ybWF0IiApIHx8IHRoaXMuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICk7DQoJCQlkYXRlID0gdGhpcy5fZ2V0RGF0ZSggaW5zdCApOw0KCQkJZGF0ZVN0ciA9IHRoaXMuZm9ybWF0RGF0ZSggYWx0Rm9ybWF0LCBkYXRlLCB0aGlzLl9nZXRGb3JtYXRDb25maWcoIGluc3QgKSApOw0KCQkJJCggYWx0RmllbGQgKS52YWwoIGRhdGVTdHIgKTsNCgkJfQ0KCX0sDQoNCgkvKiBTZXQgYXMgYmVmb3JlU2hvd0RheSBmdW5jdGlvbiB0byBwcmV2ZW50IHNlbGVjdGlvbiBvZiB3ZWVrZW5kcy4NCgkgKiBAcGFyYW0gIGRhdGUgIERhdGUgLSB0aGUgZGF0ZSB0byBjdXN0b21pc2UNCgkgKiBAcmV0dXJuIFtib29sZWFuLCBzdHJpbmddIC0gaXMgdGhpcyBkYXRlIHNlbGVjdGFibGU/LCB3aGF0IGlzIGl0cyBDU1MgY2xhc3M/DQoJICovDQoJbm9XZWVrZW5kczogZnVuY3Rpb24oIGRhdGUgKSB7DQoJCXZhciBkYXkgPSBkYXRlLmdldERheSgpOw0KCQlyZXR1cm4gWyAoIGRheSA+IDAgJiYgZGF5IDwgNiApLCAiIiBdOw0KCX0sDQoNCgkvKiBTZXQgYXMgY2FsY3VsYXRlV2VlayB0byBkZXRlcm1pbmUgdGhlIHdlZWsgb2YgdGhlIHllYXIgYmFzZWQgb24gdGhlIElTTyA4NjAxIGRlZmluaXRpb24uDQoJICogQHBhcmFtICBkYXRlICBEYXRlIC0gdGhlIGRhdGUgdG8gZ2V0IHRoZSB3ZWVrIGZvcg0KCSAqIEByZXR1cm4gIG51bWJlciAtIHRoZSBudW1iZXIgb2YgdGhlIHdlZWsgd2l0aGluIHRoZSB5ZWFyIHRoYXQgY29udGFpbnMgdGhpcyBkYXRlDQoJICovDQoJaXNvODYwMVdlZWs6IGZ1bmN0aW9uKCBkYXRlICkgew0KCQl2YXIgdGltZSwNCgkJCWNoZWNrRGF0ZSA9IG5ldyBEYXRlKCBkYXRlLmdldFRpbWUoKSApOw0KDQoJCS8vIEZpbmQgVGh1cnNkYXkgb2YgdGhpcyB3ZWVrIHN0YXJ0aW5nIG9uIE1vbmRheQ0KCQljaGVja0RhdGUuc2V0RGF0ZSggY2hlY2tEYXRlLmdldERhdGUoKSArIDQgLSAoIGNoZWNrRGF0ZS5nZXREYXkoKSB8fCA3ICkgKTsNCg0KCQl0aW1lID0gY2hlY2tEYXRlLmdldFRpbWUoKTsNCgkJY2hlY2tEYXRlLnNldE1vbnRoKCAwICk7IC8vIENvbXBhcmUgd2l0aCBKYW4gMQ0KCQljaGVja0RhdGUuc2V0RGF0ZSggMSApOw0KCQlyZXR1cm4gTWF0aC5mbG9vciggTWF0aC5yb3VuZCggKCB0aW1lIC0gY2hlY2tEYXRlICkgLyA4NjQwMDAwMCApIC8gNyApICsgMTsNCgl9LA0KDQoJLyogUGFyc2UgYSBzdHJpbmcgdmFsdWUgaW50byBhIGRhdGUgb2JqZWN0Lg0KCSAqIFNlZSBmb3JtYXREYXRlIGJlbG93IGZvciB0aGUgcG9zc2libGUgZm9ybWF0cy4NCgkgKg0KCSAqIEBwYXJhbSAgZm9ybWF0IHN0cmluZyAtIHRoZSBleHBlY3RlZCBmb3JtYXQgb2YgdGhlIGRhdGUNCgkgKiBAcGFyYW0gIHZhbHVlIHN0cmluZyAtIHRoZSBkYXRlIGluIHRoZSBhYm92ZSBmb3JtYXQNCgkgKiBAcGFyYW0gIHNldHRpbmdzIE9iamVjdCAtIGF0dHJpYnV0ZXMgaW5jbHVkZToNCgkgKgkJCQkJc2hvcnRZZWFyQ3V0b2ZmICBudW1iZXIgLSB0aGUgY3V0b2ZmIHllYXIgZm9yIGRldGVybWluaW5nIHRoZSBjZW50dXJ5IChvcHRpb25hbCkNCgkgKgkJCQkJZGF5TmFtZXNTaG9ydAlzdHJpbmdbN10gLSBhYmJyZXZpYXRlZCBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCWRheU5hbWVzCQlzdHJpbmdbN10gLSBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXNTaG9ydCBzdHJpbmdbMTJdIC0gYWJicmV2aWF0ZWQgbmFtZXMgb2YgdGhlIG1vbnRocyAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXMJCXN0cmluZ1sxMl0gLSBuYW1lcyBvZiB0aGUgbW9udGhzIChvcHRpb25hbCkNCgkgKiBAcmV0dXJuICBEYXRlIC0gdGhlIGV4dHJhY3RlZCBkYXRlIHZhbHVlIG9yIG51bGwgaWYgdmFsdWUgaXMgYmxhbmsNCgkgKi8NCglwYXJzZURhdGU6IGZ1bmN0aW9uKCBmb3JtYXQsIHZhbHVlLCBzZXR0aW5ncyApIHsNCgkJaWYgKCBmb3JtYXQgPT0gbnVsbCB8fCB2YWx1ZSA9PSBudWxsICkgew0KCQkJdGhyb3cgIkludmFsaWQgYXJndW1lbnRzIjsNCgkJfQ0KDQoJCXZhbHVlID0gKCB0eXBlb2YgdmFsdWUgPT09ICJvYmplY3QiID8gdmFsdWUudG9TdHJpbmcoKSA6IHZhbHVlICsgIiIgKTsNCgkJaWYgKCB2YWx1ZSA9PT0gIiIgKSB7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KDQoJCXZhciBpRm9ybWF0LCBkaW0sIGV4dHJhLA0KCQkJaVZhbHVlID0gMCwNCgkJCXNob3J0WWVhckN1dG9mZlRlbXAgPSAoIHNldHRpbmdzID8gc2V0dGluZ3Muc2hvcnRZZWFyQ3V0b2ZmIDogbnVsbCApIHx8IHRoaXMuX2RlZmF1bHRzLnNob3J0WWVhckN1dG9mZiwNCgkJCXNob3J0WWVhckN1dG9mZiA9ICggdHlwZW9mIHNob3J0WWVhckN1dG9mZlRlbXAgIT09ICJzdHJpbmciID8gc2hvcnRZZWFyQ3V0b2ZmVGVtcCA6DQoJCQkJbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICUgMTAwICsgcGFyc2VJbnQoIHNob3J0WWVhckN1dG9mZlRlbXAsIDEwICkgKSwNCgkJCWRheU5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXNTaG9ydCA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LA0KCQkJZGF5TmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXMgOiBudWxsICkgfHwgdGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsDQoJCQltb250aE5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lc1Nob3J0IDogbnVsbCApIHx8IHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCwNCgkJCW1vbnRoTmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lcyA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLA0KCQkJeWVhciA9IC0xLA0KCQkJbW9udGggPSAtMSwNCgkJCWRheSA9IC0xLA0KCQkJZG95ID0gLTEsDQoJCQlsaXRlcmFsID0gZmFsc2UsDQoJCQlkYXRlLA0KDQoJCQkvLyBDaGVjayB3aGV0aGVyIGEgZm9ybWF0IGNoYXJhY3RlciBpcyBkb3VibGVkDQoJCQlsb29rQWhlYWQgPSBmdW5jdGlvbiggbWF0Y2ggKSB7DQoJCQkJdmFyIG1hdGNoZXMgPSAoIGlGb3JtYXQgKyAxIDwgZm9ybWF0Lmxlbmd0aCAmJiBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICsgMSApID09PSBtYXRjaCApOw0KCQkJCWlmICggbWF0Y2hlcyApIHsNCgkJCQkJaUZvcm1hdCsrOw0KCQkJCX0NCgkJCQlyZXR1cm4gbWF0Y2hlczsNCgkJCX0sDQoNCgkJCS8vIEV4dHJhY3QgYSBudW1iZXIgZnJvbSB0aGUgc3RyaW5nIHZhbHVlDQoJCQlnZXROdW1iZXIgPSBmdW5jdGlvbiggbWF0Y2ggKSB7DQoJCQkJdmFyIGlzRG91YmxlZCA9IGxvb2tBaGVhZCggbWF0Y2ggKSwNCgkJCQkJc2l6ZSA9ICggbWF0Y2ggPT09ICJAIiA/IDE0IDogKCBtYXRjaCA9PT0gIiEiID8gMjAgOg0KCQkJCQkoIG1hdGNoID09PSAieSIgJiYgaXNEb3VibGVkID8gNCA6ICggbWF0Y2ggPT09ICJvIiA/IDMgOiAyICkgKSApICksDQoJCQkJCW1pblNpemUgPSAoIG1hdGNoID09PSAieSIgPyBzaXplIDogMSApLA0KCQkJCQlkaWdpdHMgPSBuZXcgUmVnRXhwKCAiXlxcZHsiICsgbWluU2l6ZSArICIsIiArIHNpemUgKyAifSIgKSwNCgkJCQkJbnVtID0gdmFsdWUuc3Vic3RyaW5nKCBpVmFsdWUgKS5tYXRjaCggZGlnaXRzICk7DQoJCQkJaWYgKCAhbnVtICkgew0KCQkJCQl0aHJvdyAiTWlzc2luZyBudW1iZXIgYXQgcG9zaXRpb24gIiArIGlWYWx1ZTsNCgkJCQl9DQoJCQkJaVZhbHVlICs9IG51bVsgMCBdLmxlbmd0aDsNCgkJCQlyZXR1cm4gcGFyc2VJbnQoIG51bVsgMCBdLCAxMCApOw0KCQkJfSwNCg0KCQkJLy8gRXh0cmFjdCBhIG5hbWUgZnJvbSB0aGUgc3RyaW5nIHZhbHVlIGFuZCBjb252ZXJ0IHRvIGFuIGluZGV4DQoJCQlnZXROYW1lID0gZnVuY3Rpb24oIG1hdGNoLCBzaG9ydE5hbWVzLCBsb25nTmFtZXMgKSB7DQoJCQkJdmFyIGluZGV4ID0gLTEsDQoJCQkJCW5hbWVzID0gJC5tYXAoIGxvb2tBaGVhZCggbWF0Y2ggKSA/IGxvbmdOYW1lcyA6IHNob3J0TmFtZXMsIGZ1bmN0aW9uKCB2LCBrICkgew0KCQkJCQkJcmV0dXJuIFsgWyBrLCB2IF0gXTsNCgkJCQkJfSApLnNvcnQoIGZ1bmN0aW9uKCBhLCBiICkgew0KCQkJCQkJcmV0dXJuIC0oIGFbIDEgXS5sZW5ndGggLSBiWyAxIF0ubGVuZ3RoICk7DQoJCQkJCX0gKTsNCg0KCQkJCSQuZWFjaCggbmFtZXMsIGZ1bmN0aW9uKCBpLCBwYWlyICkgew0KCQkJCQl2YXIgbmFtZSA9IHBhaXJbIDEgXTsNCgkJCQkJaWYgKCB2YWx1ZS5zdWJzdHIoIGlWYWx1ZSwgbmFtZS5sZW5ndGggKS50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCkgKSB7DQoJCQkJCQlpbmRleCA9IHBhaXJbIDAgXTsNCgkJCQkJCWlWYWx1ZSArPSBuYW1lLmxlbmd0aDsNCgkJCQkJCXJldHVybiBmYWxzZTsNCgkJCQkJfQ0KCQkJCX0gKTsNCgkJCQlpZiAoIGluZGV4ICE9PSAtMSApIHsNCgkJCQkJcmV0dXJuIGluZGV4ICsgMTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aHJvdyAiVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIgKyBpVmFsdWU7DQoJCQkJfQ0KCQkJfSwNCg0KCQkJLy8gQ29uZmlybSB0aGF0IGEgbGl0ZXJhbCBjaGFyYWN0ZXIgbWF0Y2hlcyB0aGUgc3RyaW5nIHZhbHVlDQoJCQljaGVja0xpdGVyYWwgPSBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHZhbHVlLmNoYXJBdCggaVZhbHVlICkgIT09IGZvcm1hdC5jaGFyQXQoIGlGb3JtYXQgKSApIHsNCgkJCQkJdGhyb3cgIlVuZXhwZWN0ZWQgbGl0ZXJhbCBhdCBwb3NpdGlvbiAiICsgaVZhbHVlOw0KCQkJCX0NCgkJCQlpVmFsdWUrKzsNCgkJCX07DQoNCgkJZm9yICggaUZvcm1hdCA9IDA7IGlGb3JtYXQgPCBmb3JtYXQubGVuZ3RoOyBpRm9ybWF0KysgKSB7DQoJCQlpZiAoIGxpdGVyYWwgKSB7DQoJCQkJaWYgKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgPT09ICInIiAmJiAhbG9va0FoZWFkKCAiJyIgKSApIHsNCgkJCQkJbGl0ZXJhbCA9IGZhbHNlOw0KCQkJCX0gZWxzZSB7DQoJCQkJCWNoZWNrTGl0ZXJhbCgpOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoJCQkJc3dpdGNoICggZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApICkgew0KCQkJCQljYXNlICJkIjoNCgkJCQkJCWRheSA9IGdldE51bWJlciggImQiICk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiRCI6DQoJCQkJCQlnZXROYW1lKCAiRCIsIGRheU5hbWVzU2hvcnQsIGRheU5hbWVzICk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAibyI6DQoJCQkJCQlkb3kgPSBnZXROdW1iZXIoICJvIiApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIm0iOg0KCQkJCQkJbW9udGggPSBnZXROdW1iZXIoICJtIiApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIk0iOg0KCQkJCQkJbW9udGggPSBnZXROYW1lKCAiTSIsIG1vbnRoTmFtZXNTaG9ydCwgbW9udGhOYW1lcyApOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgInkiOg0KCQkJCQkJeWVhciA9IGdldE51bWJlciggInkiICk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiQCI6DQoJCQkJCQlkYXRlID0gbmV3IERhdGUoIGdldE51bWJlciggIkAiICkgKTsNCgkJCQkJCXllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7DQoJCQkJCQltb250aCA9IGRhdGUuZ2V0TW9udGgoKSArIDE7DQoJCQkJCQlkYXkgPSBkYXRlLmdldERhdGUoKTsNCgkJCQkJCWJyZWFrOw0KCQkJCQljYXNlICIhIjoNCgkJCQkJCWRhdGUgPSBuZXcgRGF0ZSggKCBnZXROdW1iZXIoICIhIiApIC0gdGhpcy5fdGlja3NUbzE5NzAgKSAvIDEwMDAwICk7DQoJCQkJCQl5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOw0KCQkJCQkJbW9udGggPSBkYXRlLmdldE1vbnRoKCkgKyAxOw0KCQkJCQkJZGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSAiJyI6DQoJCQkJCQlpZiAoIGxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCQkJY2hlY2tMaXRlcmFsKCk7DQoJCQkJCQl9IGVsc2Ugew0KCQkJCQkJCWxpdGVyYWwgPSB0cnVlOw0KCQkJCQkJfQ0KCQkJCQkJYnJlYWs7DQoJCQkJCWRlZmF1bHQ6DQoJCQkJCQljaGVja0xpdGVyYWwoKTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlpZiAoIGlWYWx1ZSA8IHZhbHVlLmxlbmd0aCApIHsNCgkJCWV4dHJhID0gdmFsdWUuc3Vic3RyKCBpVmFsdWUgKTsNCgkJCWlmICggIS9eXHMrLy50ZXN0KCBleHRyYSApICkgew0KCQkJCXRocm93ICJFeHRyYS91bnBhcnNlZCBjaGFyYWN0ZXJzIGZvdW5kIGluIGRhdGU6ICIgKyBleHRyYTsNCgkJCX0NCgkJfQ0KDQoJCWlmICggeWVhciA9PT0gLTEgKSB7DQoJCQl5ZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOw0KCQl9IGVsc2UgaWYgKCB5ZWFyIDwgMTAwICkgew0KCQkJeWVhciArPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgLSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgJSAxMDAgKw0KCQkJCSggeWVhciA8PSBzaG9ydFllYXJDdXRvZmYgPyAwIDogLTEwMCApOw0KCQl9DQoNCgkJaWYgKCBkb3kgPiAtMSApIHsNCgkJCW1vbnRoID0gMTsNCgkJCWRheSA9IGRveTsNCgkJCWRvIHsNCgkJCQlkaW0gPSB0aGlzLl9nZXREYXlzSW5Nb250aCggeWVhciwgbW9udGggLSAxICk7DQoJCQkJaWYgKCBkYXkgPD0gZGltICkgew0KCQkJCQlicmVhazsNCgkJCQl9DQoJCQkJbW9udGgrKzsNCgkJCQlkYXkgLT0gZGltOw0KCQkJfSB3aGlsZSAoIHRydWUgKTsNCgkJfQ0KDQoJCWRhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIHllYXIsIG1vbnRoIC0gMSwgZGF5ICkgKTsNCgkJaWYgKCBkYXRlLmdldEZ1bGxZZWFyKCkgIT09IHllYXIgfHwgZGF0ZS5nZXRNb250aCgpICsgMSAhPT0gbW9udGggfHwgZGF0ZS5nZXREYXRlKCkgIT09IGRheSApIHsNCgkJCXRocm93ICJJbnZhbGlkIGRhdGUiOyAvLyBFLmcuIDMxLzAyLzAwDQoJCX0NCgkJcmV0dXJuIGRhdGU7DQoJfSwNCg0KCS8qIFN0YW5kYXJkIGRhdGUgZm9ybWF0cy4gKi8NCglBVE9NOiAieXktbW0tZGQiLCAvLyBSRkMgMzMzOSAoSVNPIDg2MDEpDQoJQ09PS0lFOiAiRCwgZGQgTSB5eSIsDQoJSVNPXzg2MDE6ICJ5eS1tbS1kZCIsDQoJUkZDXzgyMjogIkQsIGQgTSB5IiwNCglSRkNfODUwOiAiREQsIGRkLU0teSIsDQoJUkZDXzEwMzY6ICJELCBkIE0geSIsDQoJUkZDXzExMjM6ICJELCBkIE0geXkiLA0KCVJGQ18yODIyOiAiRCwgZCBNIHl5IiwNCglSU1M6ICJELCBkIE0geSIsIC8vIFJGQyA4MjINCglUSUNLUzogIiEiLA0KCVRJTUVTVEFNUDogIkAiLA0KCVczQzogInl5LW1tLWRkIiwgLy8gSVNPIDg2MDENCg0KCV90aWNrc1RvMTk3MDogKCAoICggMTk3MCAtIDEgKSAqIDM2NSArIE1hdGguZmxvb3IoIDE5NzAgLyA0ICkgLSBNYXRoLmZsb29yKCAxOTcwIC8gMTAwICkgKw0KCQlNYXRoLmZsb29yKCAxOTcwIC8gNDAwICkgKSAqIDI0ICogNjAgKiA2MCAqIDEwMDAwMDAwICksDQoNCgkvKiBGb3JtYXQgYSBkYXRlIG9iamVjdCBpbnRvIGEgc3RyaW5nIHZhbHVlLg0KCSAqIFRoZSBmb3JtYXQgY2FuIGJlIGNvbWJpbmF0aW9ucyBvZiB0aGUgZm9sbG93aW5nOg0KCSAqIGQgIC0gZGF5IG9mIG1vbnRoIChubyBsZWFkaW5nIHplcm8pDQoJICogZGQgLSBkYXkgb2YgbW9udGggKHR3byBkaWdpdCkNCgkgKiBvICAtIGRheSBvZiB5ZWFyIChubyBsZWFkaW5nIHplcm9zKQ0KCSAqIG9vIC0gZGF5IG9mIHllYXIgKHRocmVlIGRpZ2l0KQ0KCSAqIEQgIC0gZGF5IG5hbWUgc2hvcnQNCgkgKiBERCAtIGRheSBuYW1lIGxvbmcNCgkgKiBtICAtIG1vbnRoIG9mIHllYXIgKG5vIGxlYWRpbmcgemVybykNCgkgKiBtbSAtIG1vbnRoIG9mIHllYXIgKHR3byBkaWdpdCkNCgkgKiBNICAtIG1vbnRoIG5hbWUgc2hvcnQNCgkgKiBNTSAtIG1vbnRoIG5hbWUgbG9uZw0KCSAqIHkgIC0geWVhciAodHdvIGRpZ2l0KQ0KCSAqIHl5IC0geWVhciAoZm91ciBkaWdpdCkNCgkgKiBAIC0gVW5peCB0aW1lc3RhbXAgKG1zIHNpbmNlIDAxLzAxLzE5NzApDQoJICogISAtIFdpbmRvd3MgdGlja3MgKDEwMG5zIHNpbmNlIDAxLzAxLzAwMDEpDQoJICogIi4uLiIgLSBsaXRlcmFsIHRleHQNCgkgKiAnJyAtIHNpbmdsZSBxdW90ZQ0KCSAqDQoJICogQHBhcmFtICBmb3JtYXQgc3RyaW5nIC0gdGhlIGRlc2lyZWQgZm9ybWF0IG9mIHRoZSBkYXRlDQoJICogQHBhcmFtICBkYXRlIERhdGUgLSB0aGUgZGF0ZSB2YWx1ZSB0byBmb3JtYXQNCgkgKiBAcGFyYW0gIHNldHRpbmdzIE9iamVjdCAtIGF0dHJpYnV0ZXMgaW5jbHVkZToNCgkgKgkJCQkJZGF5TmFtZXNTaG9ydAlzdHJpbmdbN10gLSBhYmJyZXZpYXRlZCBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCWRheU5hbWVzCQlzdHJpbmdbN10gLSBuYW1lcyBvZiB0aGUgZGF5cyBmcm9tIFN1bmRheSAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXNTaG9ydCBzdHJpbmdbMTJdIC0gYWJicmV2aWF0ZWQgbmFtZXMgb2YgdGhlIG1vbnRocyAob3B0aW9uYWwpDQoJICoJCQkJCW1vbnRoTmFtZXMJCXN0cmluZ1sxMl0gLSBuYW1lcyBvZiB0aGUgbW9udGhzIChvcHRpb25hbCkNCgkgKiBAcmV0dXJuICBzdHJpbmcgLSB0aGUgZGF0ZSBpbiB0aGUgYWJvdmUgZm9ybWF0DQoJICovDQoJZm9ybWF0RGF0ZTogZnVuY3Rpb24oIGZvcm1hdCwgZGF0ZSwgc2V0dGluZ3MgKSB7DQoJCWlmICggIWRhdGUgKSB7DQoJCQlyZXR1cm4gIiI7DQoJCX0NCg0KCQl2YXIgaUZvcm1hdCwNCgkJCWRheU5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXNTaG9ydCA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LA0KCQkJZGF5TmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MuZGF5TmFtZXMgOiBudWxsICkgfHwgdGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsDQoJCQltb250aE5hbWVzU2hvcnQgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lc1Nob3J0IDogbnVsbCApIHx8IHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCwNCgkJCW1vbnRoTmFtZXMgPSAoIHNldHRpbmdzID8gc2V0dGluZ3MubW9udGhOYW1lcyA6IG51bGwgKSB8fCB0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLA0KDQoJCQkvLyBDaGVjayB3aGV0aGVyIGEgZm9ybWF0IGNoYXJhY3RlciBpcyBkb3VibGVkDQoJCQlsb29rQWhlYWQgPSBmdW5jdGlvbiggbWF0Y2ggKSB7DQoJCQkJdmFyIG1hdGNoZXMgPSAoIGlGb3JtYXQgKyAxIDwgZm9ybWF0Lmxlbmd0aCAmJiBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICsgMSApID09PSBtYXRjaCApOw0KCQkJCWlmICggbWF0Y2hlcyApIHsNCgkJCQkJaUZvcm1hdCsrOw0KCQkJCX0NCgkJCQlyZXR1cm4gbWF0Y2hlczsNCgkJCX0sDQoNCgkJCS8vIEZvcm1hdCBhIG51bWJlciwgd2l0aCBsZWFkaW5nIHplcm8gaWYgbmVjZXNzYXJ5DQoJCQlmb3JtYXROdW1iZXIgPSBmdW5jdGlvbiggbWF0Y2gsIHZhbHVlLCBsZW4gKSB7DQoJCQkJdmFyIG51bSA9ICIiICsgdmFsdWU7DQoJCQkJaWYgKCBsb29rQWhlYWQoIG1hdGNoICkgKSB7DQoJCQkJCXdoaWxlICggbnVtLmxlbmd0aCA8IGxlbiApIHsNCgkJCQkJCW51bSA9ICIwIiArIG51bTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlyZXR1cm4gbnVtOw0KCQkJfSwNCg0KCQkJLy8gRm9ybWF0IGEgbmFtZSwgc2hvcnQgb3IgbG9uZyBhcyByZXF1ZXN0ZWQNCgkJCWZvcm1hdE5hbWUgPSBmdW5jdGlvbiggbWF0Y2gsIHZhbHVlLCBzaG9ydE5hbWVzLCBsb25nTmFtZXMgKSB7DQoJCQkJcmV0dXJuICggbG9va0FoZWFkKCBtYXRjaCApID8gbG9uZ05hbWVzWyB2YWx1ZSBdIDogc2hvcnROYW1lc1sgdmFsdWUgXSApOw0KCQkJfSwNCgkJCW91dHB1dCA9ICIiLA0KCQkJbGl0ZXJhbCA9IGZhbHNlOw0KDQoJCWlmICggZGF0ZSApIHsNCgkJCWZvciAoIGlGb3JtYXQgPSAwOyBpRm9ybWF0IDwgZm9ybWF0Lmxlbmd0aDsgaUZvcm1hdCsrICkgew0KCQkJCWlmICggbGl0ZXJhbCApIHsNCgkJCQkJaWYgKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgPT09ICInIiAmJiAhbG9va0FoZWFkKCAiJyIgKSApIHsNCgkJCQkJCWxpdGVyYWwgPSBmYWxzZTsNCgkJCQkJfSBlbHNlIHsNCgkJCQkJCW91dHB1dCArPSBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICk7DQoJCQkJCX0NCgkJCQl9IGVsc2Ugew0KCQkJCQlzd2l0Y2ggKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgKSB7DQoJCQkJCQljYXNlICJkIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TnVtYmVyKCAiZCIsIGRhdGUuZ2V0RGF0ZSgpLCAyICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJEIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TmFtZSggIkQiLCBkYXRlLmdldERheSgpLCBkYXlOYW1lc1Nob3J0LCBkYXlOYW1lcyApOw0KCQkJCQkJCWJyZWFrOw0KCQkJCQkJY2FzZSAibyI6DQoJCQkJCQkJb3V0cHV0ICs9IGZvcm1hdE51bWJlciggIm8iLA0KCQkJCQkJCQlNYXRoLnJvdW5kKCAoIG5ldyBEYXRlKCBkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgZGF0ZS5nZXREYXRlKCkgKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZSggZGF0ZS5nZXRGdWxsWWVhcigpLCAwLCAwICkuZ2V0VGltZSgpICkgLyA4NjQwMDAwMCApLCAzICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJtIjoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0TnVtYmVyKCAibSIsIGRhdGUuZ2V0TW9udGgoKSArIDEsIDIgKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIk0iOg0KCQkJCQkJCW91dHB1dCArPSBmb3JtYXROYW1lKCAiTSIsIGRhdGUuZ2V0TW9udGgoKSwgbW9udGhOYW1lc1Nob3J0LCBtb250aE5hbWVzICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJ5IjoNCgkJCQkJCQlvdXRwdXQgKz0gKCBsb29rQWhlYWQoICJ5IiApID8gZGF0ZS5nZXRGdWxsWWVhcigpIDoNCgkJCQkJCQkJKCBkYXRlLmdldEZ1bGxZZWFyKCkgJSAxMDAgPCAxMCA/ICIwIiA6ICIiICkgKyBkYXRlLmdldEZ1bGxZZWFyKCkgJSAxMDAgKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIkAiOg0KCQkJCQkJCW91dHB1dCArPSBkYXRlLmdldFRpbWUoKTsNCgkJCQkJCQlicmVhazsNCgkJCQkJCWNhc2UgIiEiOg0KCQkJCQkJCW91dHB1dCArPSBkYXRlLmdldFRpbWUoKSAqIDEwMDAwICsgdGhpcy5fdGlja3NUbzE5NzA7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICInIjoNCgkJCQkJCQlpZiAoIGxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCQkJCW91dHB1dCArPSAiJyI7DQoJCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQkJbGl0ZXJhbCA9IHRydWU7DQoJCQkJCQkJfQ0KCQkJCQkJCWJyZWFrOw0KCQkJCQkJZGVmYXVsdDoNCgkJCQkJCQlvdXRwdXQgKz0gZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiBvdXRwdXQ7DQoJfSwNCg0KCS8qIEV4dHJhY3QgYWxsIHBvc3NpYmxlIGNoYXJhY3RlcnMgZnJvbSB0aGUgZGF0ZSBmb3JtYXQuICovDQoJX3Bvc3NpYmxlQ2hhcnM6IGZ1bmN0aW9uKCBmb3JtYXQgKSB7DQoJCXZhciBpRm9ybWF0LA0KCQkJY2hhcnMgPSAiIiwNCgkJCWxpdGVyYWwgPSBmYWxzZSwNCg0KCQkJLy8gQ2hlY2sgd2hldGhlciBhIGZvcm1hdCBjaGFyYWN0ZXIgaXMgZG91YmxlZA0KCQkJbG9va0FoZWFkID0gZnVuY3Rpb24oIG1hdGNoICkgew0KCQkJCXZhciBtYXRjaGVzID0gKCBpRm9ybWF0ICsgMSA8IGZvcm1hdC5sZW5ndGggJiYgZm9ybWF0LmNoYXJBdCggaUZvcm1hdCArIDEgKSA9PT0gbWF0Y2ggKTsNCgkJCQlpZiAoIG1hdGNoZXMgKSB7DQoJCQkJCWlGb3JtYXQrKzsNCgkJCQl9DQoJCQkJcmV0dXJuIG1hdGNoZXM7DQoJCQl9Ow0KDQoJCWZvciAoIGlGb3JtYXQgPSAwOyBpRm9ybWF0IDwgZm9ybWF0Lmxlbmd0aDsgaUZvcm1hdCsrICkgew0KCQkJaWYgKCBsaXRlcmFsICkgew0KCQkJCWlmICggZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApID09PSAiJyIgJiYgIWxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCWxpdGVyYWwgPSBmYWxzZTsNCgkJCQl9IGVsc2Ugew0KCQkJCQljaGFycyArPSBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICk7DQoJCQkJfQ0KCQkJfSBlbHNlIHsNCgkJCQlzd2l0Y2ggKCBmb3JtYXQuY2hhckF0KCBpRm9ybWF0ICkgKSB7DQoJCQkJCWNhc2UgImQiOiBjYXNlICJtIjogY2FzZSAieSI6IGNhc2UgIkAiOg0KCQkJCQkJY2hhcnMgKz0gIjAxMjM0NTY3ODkiOw0KCQkJCQkJYnJlYWs7DQoJCQkJCWNhc2UgIkQiOiBjYXNlICJNIjoNCgkJCQkJCXJldHVybiBudWxsOyAvLyBBY2NlcHQgYW55dGhpbmcNCgkJCQkJY2FzZSAiJyI6DQoJCQkJCQlpZiAoIGxvb2tBaGVhZCggIiciICkgKSB7DQoJCQkJCQkJY2hhcnMgKz0gIiciOw0KCQkJCQkJfSBlbHNlIHsNCgkJCQkJCQlsaXRlcmFsID0gdHJ1ZTsNCgkJCQkJCX0NCgkJCQkJCWJyZWFrOw0KCQkJCQlkZWZhdWx0Og0KCQkJCQkJY2hhcnMgKz0gZm9ybWF0LmNoYXJBdCggaUZvcm1hdCApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQlyZXR1cm4gY2hhcnM7DQoJfSwNCg0KCS8qIEdldCBhIHNldHRpbmcgdmFsdWUsIGRlZmF1bHRpbmcgaWYgbmVjZXNzYXJ5LiAqLw0KCV9nZXQ6IGZ1bmN0aW9uKCBpbnN0LCBuYW1lICkgew0KCQlyZXR1cm4gaW5zdC5zZXR0aW5nc1sgbmFtZSBdICE9PSB1bmRlZmluZWQgPw0KCQkJaW5zdC5zZXR0aW5nc1sgbmFtZSBdIDogdGhpcy5fZGVmYXVsdHNbIG5hbWUgXTsNCgl9LA0KDQoJLyogUGFyc2UgZXhpc3RpbmcgZGF0ZSBhbmQgaW5pdGlhbGlzZSBkYXRlIHBpY2tlci4gKi8NCglfc2V0RGF0ZUZyb21GaWVsZDogZnVuY3Rpb24oIGluc3QsIG5vRGVmYXVsdCApIHsNCgkJaWYgKCBpbnN0LmlucHV0LnZhbCgpID09PSBpbnN0Lmxhc3RWYWwgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgZGF0ZUZvcm1hdCA9IHRoaXMuX2dldCggaW5zdCwgImRhdGVGb3JtYXQiICksDQoJCQlkYXRlcyA9IGluc3QubGFzdFZhbCA9IGluc3QuaW5wdXQgPyBpbnN0LmlucHV0LnZhbCgpIDogbnVsbCwNCgkJCWRlZmF1bHREYXRlID0gdGhpcy5fZ2V0RGVmYXVsdERhdGUoIGluc3QgKSwNCgkJCWRhdGUgPSBkZWZhdWx0RGF0ZSwNCgkJCXNldHRpbmdzID0gdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKCBpbnN0ICk7DQoNCgkJdHJ5IHsNCgkJCWRhdGUgPSB0aGlzLnBhcnNlRGF0ZSggZGF0ZUZvcm1hdCwgZGF0ZXMsIHNldHRpbmdzICkgfHwgZGVmYXVsdERhdGU7DQoJCX0gY2F0Y2ggKCBldmVudCApIHsNCgkJCWRhdGVzID0gKCBub0RlZmF1bHQgPyAiIiA6IGRhdGVzICk7DQoJCX0NCgkJaW5zdC5zZWxlY3RlZERheSA9IGRhdGUuZ2V0RGF0ZSgpOw0KCQlpbnN0LmRyYXdNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCA9IGRhdGUuZ2V0TW9udGgoKTsNCgkJaW5zdC5kcmF3WWVhciA9IGluc3Quc2VsZWN0ZWRZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpOw0KCQlpbnN0LmN1cnJlbnREYXkgPSAoIGRhdGVzID8gZGF0ZS5nZXREYXRlKCkgOiAwICk7DQoJCWluc3QuY3VycmVudE1vbnRoID0gKCBkYXRlcyA/IGRhdGUuZ2V0TW9udGgoKSA6IDAgKTsNCgkJaW5zdC5jdXJyZW50WWVhciA9ICggZGF0ZXMgPyBkYXRlLmdldEZ1bGxZZWFyKCkgOiAwICk7DQoJCXRoaXMuX2FkanVzdEluc3REYXRlKCBpbnN0ICk7DQoJfSwNCg0KCS8qIFJldHJpZXZlIHRoZSBkZWZhdWx0IGRhdGUgc2hvd24gb24gb3BlbmluZy4gKi8NCglfZ2V0RGVmYXVsdERhdGU6IGZ1bmN0aW9uKCBpbnN0ICkgew0KCQlyZXR1cm4gdGhpcy5fcmVzdHJpY3RNaW5NYXgoIGluc3QsDQoJCQl0aGlzLl9kZXRlcm1pbmVEYXRlKCBpbnN0LCB0aGlzLl9nZXQoIGluc3QsICJkZWZhdWx0RGF0ZSIgKSwgbmV3IERhdGUoKSApICk7DQoJfSwNCg0KCS8qIEEgZGF0ZSBtYXkgYmUgc3BlY2lmaWVkIGFzIGFuIGV4YWN0IHZhbHVlIG9yIGEgcmVsYXRpdmUgb25lLiAqLw0KCV9kZXRlcm1pbmVEYXRlOiBmdW5jdGlvbiggaW5zdCwgZGF0ZSwgZGVmYXVsdERhdGUgKSB7DQoJCXZhciBvZmZzZXROdW1lcmljID0gZnVuY3Rpb24oIG9mZnNldCApIHsNCgkJCQl2YXIgZGF0ZSA9IG5ldyBEYXRlKCk7DQoJCQkJZGF0ZS5zZXREYXRlKCBkYXRlLmdldERhdGUoKSArIG9mZnNldCApOw0KCQkJCXJldHVybiBkYXRlOw0KCQkJfSwNCgkJCW9mZnNldFN0cmluZyA9IGZ1bmN0aW9uKCBvZmZzZXQgKSB7DQoJCQkJdHJ5IHsNCgkJCQkJcmV0dXJuICQuZGF0ZXBpY2tlci5wYXJzZURhdGUoICQuZGF0ZXBpY2tlci5fZ2V0KCBpbnN0LCAiZGF0ZUZvcm1hdCIgKSwNCgkJCQkJCW9mZnNldCwgJC5kYXRlcGlja2VyLl9nZXRGb3JtYXRDb25maWcoIGluc3QgKSApOw0KCQkJCX0NCgkJCQljYXRjaCAoIGUgKSB7DQoNCgkJCQkJLy8gSWdub3JlDQoJCQkJfQ0KDQoJCQkJdmFyIGRhdGUgPSAoIG9mZnNldC50b0xvd2VyQ2FzZSgpLm1hdGNoKCAvXmMvICkgPw0KCQkJCQkkLmRhdGVwaWNrZXIuX2dldERhdGUoIGluc3QgKSA6IG51bGwgKSB8fCBuZXcgRGF0ZSgpLA0KCQkJCQl5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpLA0KCQkJCQltb250aCA9IGRhdGUuZ2V0TW9udGgoKSwNCgkJCQkJZGF5ID0gZGF0ZS5nZXREYXRlKCksDQoJCQkJCXBhdHRlcm4gPSAvKFsrXC1dP1swLTldKylccyooZHxEfHd8V3xtfE18eXxZKT8vZywNCgkJCQkJbWF0Y2hlcyA9IHBhdHRlcm4uZXhlYyggb2Zmc2V0ICk7DQoNCgkJCQl3aGlsZSAoIG1hdGNoZXMgKSB7DQoJCQkJCXN3aXRjaCAoIG1hdGNoZXNbIDIgXSB8fCAiZCIgKSB7DQoJCQkJCQljYXNlICJkIiA6IGNhc2UgIkQiIDoNCgkJCQkJCQlkYXkgKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKTsgYnJlYWs7DQoJCQkJCQljYXNlICJ3IiA6IGNhc2UgIlciIDoNCgkJCQkJCQlkYXkgKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKSAqIDc7IGJyZWFrOw0KCQkJCQkJY2FzZSAibSIgOiBjYXNlICJNIiA6DQoJCQkJCQkJbW9udGggKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKTsNCgkJCQkJCQlkYXkgPSBNYXRoLm1pbiggZGF5LCAkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKCB5ZWFyLCBtb250aCApICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlICJ5IjogY2FzZSAiWSIgOg0KCQkJCQkJCXllYXIgKz0gcGFyc2VJbnQoIG1hdGNoZXNbIDEgXSwgMTAgKTsNCgkJCQkJCQlkYXkgPSBNYXRoLm1pbiggZGF5LCAkLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKCB5ZWFyLCBtb250aCApICk7DQoJCQkJCQkJYnJlYWs7DQoJCQkJCX0NCgkJCQkJbWF0Y2hlcyA9IHBhdHRlcm4uZXhlYyggb2Zmc2V0ICk7DQoJCQkJfQ0KCQkJCXJldHVybiBuZXcgRGF0ZSggeWVhciwgbW9udGgsIGRheSApOw0KCQkJfSwNCgkJCW5ld0RhdGUgPSAoIGRhdGUgPT0gbnVsbCB8fCBkYXRlID09PSAiIiA/IGRlZmF1bHREYXRlIDogKCB0eXBlb2YgZGF0ZSA9PT0gInN0cmluZyIgPyBvZmZzZXRTdHJpbmcoIGRhdGUgKSA6DQoJCQkJKCB0eXBlb2YgZGF0ZSA9PT0gIm51bWJlciIgPyAoIGlzTmFOKCBkYXRlICkgPyBkZWZhdWx0RGF0ZSA6IG9mZnNldE51bWVyaWMoIGRhdGUgKSApIDogbmV3IERhdGUoIGRhdGUuZ2V0VGltZSgpICkgKSApICk7DQoNCgkJbmV3RGF0ZSA9ICggbmV3RGF0ZSAmJiBuZXdEYXRlLnRvU3RyaW5nKCkgPT09ICJJbnZhbGlkIERhdGUiID8gZGVmYXVsdERhdGUgOiBuZXdEYXRlICk7DQoJCWlmICggbmV3RGF0ZSApIHsNCgkJCW5ld0RhdGUuc2V0SG91cnMoIDAgKTsNCgkJCW5ld0RhdGUuc2V0TWludXRlcyggMCApOw0KCQkJbmV3RGF0ZS5zZXRTZWNvbmRzKCAwICk7DQoJCQluZXdEYXRlLnNldE1pbGxpc2Vjb25kcyggMCApOw0KCQl9DQoJCXJldHVybiB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3RGF0ZSApOw0KCX0sDQoNCgkvKiBIYW5kbGUgc3dpdGNoIHRvL2Zyb20gZGF5bGlnaHQgc2F2aW5nLg0KCSAqIEhvdXJzIG1heSBiZSBub24temVybyBvbiBkYXlsaWdodCBzYXZpbmcgY3V0LW92ZXI6DQoJICogPiAxMiB3aGVuIG1pZG5pZ2h0IGNoYW5nZW92ZXIsIGJ1dCB0aGVuIGNhbm5vdCBnZW5lcmF0ZQ0KCSAqIG1pZG5pZ2h0IGRhdGV0aW1lLCBzbyBqdW1wIHRvIDFBTSwgb3RoZXJ3aXNlIHJlc2V0Lg0KCSAqIEBwYXJhbSAgZGF0ZSAgKERhdGUpIHRoZSBkYXRlIHRvIGNoZWNrDQoJICogQHJldHVybiAgKERhdGUpIHRoZSBjb3JyZWN0ZWQgZGF0ZQ0KCSAqLw0KCV9kYXlsaWdodFNhdmluZ0FkanVzdDogZnVuY3Rpb24oIGRhdGUgKSB7DQoJCWlmICggIWRhdGUgKSB7DQoJCQlyZXR1cm4gbnVsbDsNCgkJfQ0KCQlkYXRlLnNldEhvdXJzKCBkYXRlLmdldEhvdXJzKCkgPiAxMiA/IGRhdGUuZ2V0SG91cnMoKSArIDIgOiAwICk7DQoJCXJldHVybiBkYXRlOw0KCX0sDQoNCgkvKiBTZXQgdGhlIGRhdGUocykgZGlyZWN0bHkuICovDQoJX3NldERhdGU6IGZ1bmN0aW9uKCBpbnN0LCBkYXRlLCBub0NoYW5nZSApIHsNCgkJdmFyIGNsZWFyID0gIWRhdGUsDQoJCQlvcmlnTW9udGggPSBpbnN0LnNlbGVjdGVkTW9udGgsDQoJCQlvcmlnWWVhciA9IGluc3Quc2VsZWN0ZWRZZWFyLA0KCQkJbmV3RGF0ZSA9IHRoaXMuX3Jlc3RyaWN0TWluTWF4KCBpbnN0LCB0aGlzLl9kZXRlcm1pbmVEYXRlKCBpbnN0LCBkYXRlLCBuZXcgRGF0ZSgpICkgKTsNCg0KCQlpbnN0LnNlbGVjdGVkRGF5ID0gaW5zdC5jdXJyZW50RGF5ID0gbmV3RGF0ZS5nZXREYXRlKCk7DQoJCWluc3QuZHJhd01vbnRoID0gaW5zdC5zZWxlY3RlZE1vbnRoID0gaW5zdC5jdXJyZW50TW9udGggPSBuZXdEYXRlLmdldE1vbnRoKCk7DQoJCWluc3QuZHJhd1llYXIgPSBpbnN0LnNlbGVjdGVkWWVhciA9IGluc3QuY3VycmVudFllYXIgPSBuZXdEYXRlLmdldEZ1bGxZZWFyKCk7DQoJCWlmICggKCBvcmlnTW9udGggIT09IGluc3Quc2VsZWN0ZWRNb250aCB8fCBvcmlnWWVhciAhPT0gaW5zdC5zZWxlY3RlZFllYXIgKSAmJiAhbm9DaGFuZ2UgKSB7DQoJCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJfQ0KCQl0aGlzLl9hZGp1c3RJbnN0RGF0ZSggaW5zdCApOw0KCQlpZiAoIGluc3QuaW5wdXQgKSB7DQoJCQlpbnN0LmlucHV0LnZhbCggY2xlYXIgPyAiIiA6IHRoaXMuX2Zvcm1hdERhdGUoIGluc3QgKSApOw0KCQl9DQoJfSwNCg0KCS8qIFJldHJpZXZlIHRoZSBkYXRlKHMpIGRpcmVjdGx5LiAqLw0KCV9nZXREYXRlOiBmdW5jdGlvbiggaW5zdCApIHsNCgkJdmFyIHN0YXJ0RGF0ZSA9ICggIWluc3QuY3VycmVudFllYXIgfHwgKCBpbnN0LmlucHV0ICYmIGluc3QuaW5wdXQudmFsKCkgPT09ICIiICkgPyBudWxsIDoNCgkJCXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSgNCgkJCWluc3QuY3VycmVudFllYXIsIGluc3QuY3VycmVudE1vbnRoLCBpbnN0LmN1cnJlbnREYXkgKSApICk7DQoJCQlyZXR1cm4gc3RhcnREYXRlOw0KCX0sDQoNCgkvKiBBdHRhY2ggdGhlIG9ueHh4IGhhbmRsZXJzLiAgVGhlc2UgYXJlIGRlY2xhcmVkIHN0YXRpY2FsbHkgc28NCgkgKiB0aGV5IHdvcmsgd2l0aCBzdGF0aWMgY29kZSB0cmFuc2Zvcm1lcnMgbGlrZSBDYWphLg0KCSAqLw0KCV9hdHRhY2hIYW5kbGVyczogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBzdGVwTW9udGhzID0gdGhpcy5fZ2V0KCBpbnN0LCAic3RlcE1vbnRocyIgKSwNCgkJCWlkID0gIiMiICsgaW5zdC5pZC5yZXBsYWNlKCAvXFxcXC9nLCAiXFwiICk7DQoJCWluc3QuZHBEaXYuZmluZCggIltkYXRhLWhhbmRsZXJdIiApLm1hcCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgaGFuZGxlciA9IHsNCgkJCQlwcmV2OiBmdW5jdGlvbigpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9hZGp1c3REYXRlKCBpZCwgLXN0ZXBNb250aHMsICJNIiApOw0KCQkJCX0sDQoJCQkJbmV4dDogZnVuY3Rpb24oKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSggaWQsICtzdGVwTW9udGhzLCAiTSIgKTsNCgkJCQl9LA0KCQkJCWhpZGU6IGZ1bmN0aW9uKCkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk7DQoJCQkJfSwNCgkJCQl0b2RheTogZnVuY3Rpb24oKSB7DQoJCQkJCSQuZGF0ZXBpY2tlci5fZ290b1RvZGF5KCBpZCApOw0KCQkJCX0sDQoJCQkJc2VsZWN0RGF5OiBmdW5jdGlvbigpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9zZWxlY3REYXkoIGlkLCArdGhpcy5nZXRBdHRyaWJ1dGUoICJkYXRhLW1vbnRoIiApLCArdGhpcy5nZXRBdHRyaWJ1dGUoICJkYXRhLXllYXIiICksIHRoaXMgKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0sDQoJCQkJc2VsZWN0TW9udGg6IGZ1bmN0aW9uKCkgew0KCQkJCQkkLmRhdGVwaWNrZXIuX3NlbGVjdE1vbnRoWWVhciggaWQsIHRoaXMsICJNIiApOw0KCQkJCQlyZXR1cm4gZmFsc2U7DQoJCQkJfSwNCgkJCQlzZWxlY3RZZWFyOiBmdW5jdGlvbigpIHsNCgkJCQkJJC5kYXRlcGlja2VyLl9zZWxlY3RNb250aFllYXIoIGlkLCB0aGlzLCAiWSIgKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX07DQoJCQkkKCB0aGlzICkub24oIHRoaXMuZ2V0QXR0cmlidXRlKCAiZGF0YS1ldmVudCIgKSwgaGFuZGxlclsgdGhpcy5nZXRBdHRyaWJ1dGUoICJkYXRhLWhhbmRsZXIiICkgXSApOw0KCQl9ICk7DQoJfSwNCg0KCS8qIEdlbmVyYXRlIHRoZSBIVE1MIGZvciB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgZGF0ZSBwaWNrZXIuICovDQoJX2dlbmVyYXRlSFRNTDogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBtYXhEcmF3LCBwcmV2VGV4dCwgcHJldiwgbmV4dFRleHQsIG5leHQsIGN1cnJlbnRUZXh0LCBnb3RvRGF0ZSwNCgkJCWNvbnRyb2xzLCBidXR0b25QYW5lbCwgZmlyc3REYXksIHNob3dXZWVrLCBkYXlOYW1lcywgZGF5TmFtZXNNaW4sDQoJCQltb250aE5hbWVzLCBtb250aE5hbWVzU2hvcnQsIGJlZm9yZVNob3dEYXksIHNob3dPdGhlck1vbnRocywNCgkJCXNlbGVjdE90aGVyTW9udGhzLCBkZWZhdWx0RGF0ZSwgaHRtbCwgZG93LCByb3csIGdyb3VwLCBjb2wsIHNlbGVjdGVkRGF0ZSwNCgkJCWNvcm5lckNsYXNzLCBjYWxlbmRlciwgdGhlYWQsIGRheSwgZGF5c0luTW9udGgsIGxlYWREYXlzLCBjdXJSb3dzLCBudW1Sb3dzLA0KCQkJcHJpbnREYXRlLCBkUm93LCB0Ym9keSwgZGF5U2V0dGluZ3MsIG90aGVyTW9udGgsIHVuc2VsZWN0YWJsZSwNCgkJCXRlbXBEYXRlID0gbmV3IERhdGUoKSwNCgkJCXRvZGF5ID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoDQoJCQkJbmV3IERhdGUoIHRlbXBEYXRlLmdldEZ1bGxZZWFyKCksIHRlbXBEYXRlLmdldE1vbnRoKCksIHRlbXBEYXRlLmdldERhdGUoKSApICksIC8vIGNsZWFyIHRpbWUNCgkJCWlzUlRMID0gdGhpcy5fZ2V0KCBpbnN0LCAiaXNSVEwiICksDQoJCQlzaG93QnV0dG9uUGFuZWwgPSB0aGlzLl9nZXQoIGluc3QsICJzaG93QnV0dG9uUGFuZWwiICksDQoJCQloaWRlSWZOb1ByZXZOZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAiaGlkZUlmTm9QcmV2TmV4dCIgKSwNCgkJCW5hdmlnYXRpb25Bc0RhdGVGb3JtYXQgPSB0aGlzLl9nZXQoIGluc3QsICJuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0IiApLA0KCQkJbnVtTW9udGhzID0gdGhpcy5fZ2V0TnVtYmVyT2ZNb250aHMoIGluc3QgKSwNCgkJCXNob3dDdXJyZW50QXRQb3MgPSB0aGlzLl9nZXQoIGluc3QsICJzaG93Q3VycmVudEF0UG9zIiApLA0KCQkJc3RlcE1vbnRocyA9IHRoaXMuX2dldCggaW5zdCwgInN0ZXBNb250aHMiICksDQoJCQlpc011bHRpTW9udGggPSAoIG51bU1vbnRoc1sgMCBdICE9PSAxIHx8IG51bU1vbnRoc1sgMSBdICE9PSAxICksDQoJCQljdXJyZW50RGF0ZSA9IHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCAoICFpbnN0LmN1cnJlbnREYXkgPyBuZXcgRGF0ZSggOTk5OSwgOSwgOSApIDoNCgkJCQluZXcgRGF0ZSggaW5zdC5jdXJyZW50WWVhciwgaW5zdC5jdXJyZW50TW9udGgsIGluc3QuY3VycmVudERheSApICkgKSwNCgkJCW1pbkRhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKCBpbnN0LCAibWluIiApLA0KCQkJbWF4RGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoIGluc3QsICJtYXgiICksDQoJCQlkcmF3TW9udGggPSBpbnN0LmRyYXdNb250aCAtIHNob3dDdXJyZW50QXRQb3MsDQoJCQlkcmF3WWVhciA9IGluc3QuZHJhd1llYXI7DQoNCgkJaWYgKCBkcmF3TW9udGggPCAwICkgew0KCQkJZHJhd01vbnRoICs9IDEyOw0KCQkJZHJhd1llYXItLTsNCgkJfQ0KCQlpZiAoIG1heERhdGUgKSB7DQoJCQltYXhEcmF3ID0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCBtYXhEYXRlLmdldEZ1bGxZZWFyKCksDQoJCQkJbWF4RGF0ZS5nZXRNb250aCgpIC0gKCBudW1Nb250aHNbIDAgXSAqIG51bU1vbnRoc1sgMSBdICkgKyAxLCBtYXhEYXRlLmdldERhdGUoKSApICk7DQoJCQltYXhEcmF3ID0gKCBtaW5EYXRlICYmIG1heERyYXcgPCBtaW5EYXRlID8gbWluRGF0ZSA6IG1heERyYXcgKTsNCgkJCXdoaWxlICggdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCBkcmF3WWVhciwgZHJhd01vbnRoLCAxICkgKSA+IG1heERyYXcgKSB7DQoJCQkJZHJhd01vbnRoLS07DQoJCQkJaWYgKCBkcmF3TW9udGggPCAwICkgew0KCQkJCQlkcmF3TW9udGggPSAxMTsNCgkJCQkJZHJhd1llYXItLTsNCgkJCQl9DQoJCQl9DQoJCX0NCgkJaW5zdC5kcmF3TW9udGggPSBkcmF3TW9udGg7DQoJCWluc3QuZHJhd1llYXIgPSBkcmF3WWVhcjsNCg0KCQlwcmV2VGV4dCA9IHRoaXMuX2dldCggaW5zdCwgInByZXZUZXh0IiApOw0KCQlwcmV2VGV4dCA9ICggIW5hdmlnYXRpb25Bc0RhdGVGb3JtYXQgPyBwcmV2VGV4dCA6IHRoaXMuZm9ybWF0RGF0ZSggcHJldlRleHQsDQoJCQl0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIGRyYXdZZWFyLCBkcmF3TW9udGggLSBzdGVwTW9udGhzLCAxICkgKSwNCgkJCXRoaXMuX2dldEZvcm1hdENvbmZpZyggaW5zdCApICkgKTsNCg0KCQlwcmV2ID0gKCB0aGlzLl9jYW5BZGp1c3RNb250aCggaW5zdCwgLTEsIGRyYXdZZWFyLCBkcmF3TW9udGggKSA/DQoJCQkiPGEgY2xhc3M9J3VpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsJyBkYXRhLWhhbmRsZXI9J3ByZXYnIGRhdGEtZXZlbnQ9J2NsaWNrJyIgKw0KCQkJIiB0aXRsZT0nIiArIHByZXZUZXh0ICsgIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIiArICggaXNSVEwgPyAiZSIgOiAidyIgKSArICInPiIgKyBwcmV2VGV4dCArICI8L3NwYW4+PC9hPiIgOg0KCQkJKCBoaWRlSWZOb1ByZXZOZXh0ID8gIiIgOiAiPGEgY2xhc3M9J3VpLWRhdGVwaWNrZXItcHJldiB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWRpc2FibGVkJyB0aXRsZT0nIiArIHByZXZUZXh0ICsgIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIiArICggaXNSVEwgPyAiZSIgOiAidyIgKSArICInPiIgKyBwcmV2VGV4dCArICI8L3NwYW4+PC9hPiIgKSApOw0KDQoJCW5leHRUZXh0ID0gdGhpcy5fZ2V0KCBpbnN0LCAibmV4dFRleHQiICk7DQoJCW5leHRUZXh0ID0gKCAhbmF2aWdhdGlvbkFzRGF0ZUZvcm1hdCA/IG5leHRUZXh0IDogdGhpcy5mb3JtYXREYXRlKCBuZXh0VGV4dCwNCgkJCXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggZHJhd1llYXIsIGRyYXdNb250aCArIHN0ZXBNb250aHMsIDEgKSApLA0KCQkJdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKCBpbnN0ICkgKSApOw0KDQoJCW5leHQgPSAoIHRoaXMuX2NhbkFkanVzdE1vbnRoKCBpbnN0LCArMSwgZHJhd1llYXIsIGRyYXdNb250aCApID8NCgkJCSI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0nbmV4dCcgZGF0YS1ldmVudD0nY2xpY2snIiArDQoJCQkiIHRpdGxlPSciICsgbmV4dFRleHQgKyAiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iICsgKCBpc1JUTCA/ICJ3IiA6ICJlIiApICsgIic+IiArIG5leHRUZXh0ICsgIjwvc3Bhbj48L2E+IiA6DQoJCQkoIGhpZGVJZk5vUHJldk5leHQgPyAiIiA6ICI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQnIHRpdGxlPSciICsgbmV4dFRleHQgKyAiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iICsgKCBpc1JUTCA/ICJ3IiA6ICJlIiApICsgIic+IiArIG5leHRUZXh0ICsgIjwvc3Bhbj48L2E+IiApICk7DQoNCgkJY3VycmVudFRleHQgPSB0aGlzLl9nZXQoIGluc3QsICJjdXJyZW50VGV4dCIgKTsNCgkJZ290b0RhdGUgPSAoIHRoaXMuX2dldCggaW5zdCwgImdvdG9DdXJyZW50IiApICYmIGluc3QuY3VycmVudERheSA/IGN1cnJlbnREYXRlIDogdG9kYXkgKTsNCgkJY3VycmVudFRleHQgPSAoICFuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0ID8gY3VycmVudFRleHQgOg0KCQkJdGhpcy5mb3JtYXREYXRlKCBjdXJyZW50VGV4dCwgZ290b0RhdGUsIHRoaXMuX2dldEZvcm1hdENvbmZpZyggaW5zdCApICkgKTsNCg0KCQljb250cm9scyA9ICggIWluc3QuaW5saW5lID8gIjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0ndWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSdoaWRlJyBkYXRhLWV2ZW50PSdjbGljayc+IiArDQoJCQl0aGlzLl9nZXQoIGluc3QsICJjbG9zZVRleHQiICkgKyAiPC9idXR0b24+IiA6ICIiICk7DQoNCgkJYnV0dG9uUGFuZWwgPSAoIHNob3dCdXR0b25QYW5lbCApID8gIjxkaXYgY2xhc3M9J3VpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSB1aS13aWRnZXQtY29udGVudCc+IiArICggaXNSVEwgPyBjb250cm9scyA6ICIiICkgKw0KCQkJKCB0aGlzLl9pc0luUmFuZ2UoIGluc3QsIGdvdG9EYXRlICkgPyAiPGJ1dHRvbiB0eXBlPSdidXR0b24nIGNsYXNzPSd1aS1kYXRlcGlja2VyLWN1cnJlbnQgdWktc3RhdGUtZGVmYXVsdCB1aS1wcmlvcml0eS1zZWNvbmRhcnkgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSd0b2RheScgZGF0YS1ldmVudD0nY2xpY2snIiArDQoJCQkiPiIgKyBjdXJyZW50VGV4dCArICI8L2J1dHRvbj4iIDogIiIgKSArICggaXNSVEwgPyAiIiA6IGNvbnRyb2xzICkgKyAiPC9kaXY+IiA6ICIiOw0KDQoJCWZpcnN0RGF5ID0gcGFyc2VJbnQoIHRoaXMuX2dldCggaW5zdCwgImZpcnN0RGF5IiApLCAxMCApOw0KCQlmaXJzdERheSA9ICggaXNOYU4oIGZpcnN0RGF5ICkgPyAwIDogZmlyc3REYXkgKTsNCg0KCQlzaG93V2VlayA9IHRoaXMuX2dldCggaW5zdCwgInNob3dXZWVrIiApOw0KCQlkYXlOYW1lcyA9IHRoaXMuX2dldCggaW5zdCwgImRheU5hbWVzIiApOw0KCQlkYXlOYW1lc01pbiA9IHRoaXMuX2dldCggaW5zdCwgImRheU5hbWVzTWluIiApOw0KCQltb250aE5hbWVzID0gdGhpcy5fZ2V0KCBpbnN0LCAibW9udGhOYW1lcyIgKTsNCgkJbW9udGhOYW1lc1Nob3J0ID0gdGhpcy5fZ2V0KCBpbnN0LCAibW9udGhOYW1lc1Nob3J0IiApOw0KCQliZWZvcmVTaG93RGF5ID0gdGhpcy5fZ2V0KCBpbnN0LCAiYmVmb3JlU2hvd0RheSIgKTsNCgkJc2hvd090aGVyTW9udGhzID0gdGhpcy5fZ2V0KCBpbnN0LCAic2hvd090aGVyTW9udGhzIiApOw0KCQlzZWxlY3RPdGhlck1vbnRocyA9IHRoaXMuX2dldCggaW5zdCwgInNlbGVjdE90aGVyTW9udGhzIiApOw0KCQlkZWZhdWx0RGF0ZSA9IHRoaXMuX2dldERlZmF1bHREYXRlKCBpbnN0ICk7DQoJCWh0bWwgPSAiIjsNCg0KCQlmb3IgKCByb3cgPSAwOyByb3cgPCBudW1Nb250aHNbIDAgXTsgcm93KysgKSB7DQoJCQlncm91cCA9ICIiOw0KCQkJdGhpcy5tYXhSb3dzID0gNDsNCgkJCWZvciAoIGNvbCA9IDA7IGNvbCA8IG51bU1vbnRoc1sgMSBdOyBjb2wrKyApIHsNCgkJCQlzZWxlY3RlZERhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIGRyYXdZZWFyLCBkcmF3TW9udGgsIGluc3Quc2VsZWN0ZWREYXkgKSApOw0KCQkJCWNvcm5lckNsYXNzID0gIiB1aS1jb3JuZXItYWxsIjsNCgkJCQljYWxlbmRlciA9ICIiOw0KCQkJCWlmICggaXNNdWx0aU1vbnRoICkgew0KCQkJCQljYWxlbmRlciArPSAiPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1ncm91cCI7DQoJCQkJCWlmICggbnVtTW9udGhzWyAxIF0gPiAxICkgew0KCQkJCQkJc3dpdGNoICggY29sICkgew0KCQkJCQkJCWNhc2UgMDogY2FsZW5kZXIgKz0gIiB1aS1kYXRlcGlja2VyLWdyb3VwLWZpcnN0IjsNCgkJCQkJCQkJY29ybmVyQ2xhc3MgPSAiIHVpLWNvcm5lci0iICsgKCBpc1JUTCA/ICJyaWdodCIgOiAibGVmdCIgKTsgYnJlYWs7DQoJCQkJCQkJY2FzZSBudW1Nb250aHNbIDEgXSAtIDE6IGNhbGVuZGVyICs9ICIgdWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IjsNCgkJCQkJCQkJY29ybmVyQ2xhc3MgPSAiIHVpLWNvcm5lci0iICsgKCBpc1JUTCA/ICJsZWZ0IiA6ICJyaWdodCIgKTsgYnJlYWs7DQoJCQkJCQkJZGVmYXVsdDogY2FsZW5kZXIgKz0gIiB1aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSI7IGNvcm5lckNsYXNzID0gIiI7IGJyZWFrOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWNhbGVuZGVyICs9ICInPiI7DQoJCQkJfQ0KCQkJCWNhbGVuZGVyICs9ICI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLWhlYWRlciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCIgKyBjb3JuZXJDbGFzcyArICInPiIgKw0KCQkJCQkoIC9hbGx8bGVmdC8udGVzdCggY29ybmVyQ2xhc3MgKSAmJiByb3cgPT09IDAgPyAoIGlzUlRMID8gbmV4dCA6IHByZXYgKSA6ICIiICkgKw0KCQkJCQkoIC9hbGx8cmlnaHQvLnRlc3QoIGNvcm5lckNsYXNzICkgJiYgcm93ID09PSAwID8gKCBpc1JUTCA/IHByZXYgOiBuZXh0ICkgOiAiIiApICsNCgkJCQkJdGhpcy5fZ2VuZXJhdGVNb250aFllYXJIZWFkZXIoIGluc3QsIGRyYXdNb250aCwgZHJhd1llYXIsIG1pbkRhdGUsIG1heERhdGUsDQoJCQkJCXJvdyA+IDAgfHwgY29sID4gMCwgbW9udGhOYW1lcywgbW9udGhOYW1lc1Nob3J0ICkgKyAvLyBkcmF3IG1vbnRoIGhlYWRlcnMNCgkJCQkJIjwvZGl2Pjx0YWJsZSBjbGFzcz0ndWktZGF0ZXBpY2tlci1jYWxlbmRhcic+PHRoZWFkPiIgKw0KCQkJCQkiPHRyPiI7DQoJCQkJdGhlYWQgPSAoIHNob3dXZWVrID8gIjx0aCBjbGFzcz0ndWktZGF0ZXBpY2tlci13ZWVrLWNvbCc+IiArIHRoaXMuX2dldCggaW5zdCwgIndlZWtIZWFkZXIiICkgKyAiPC90aD4iIDogIiIgKTsNCgkJCQlmb3IgKCBkb3cgPSAwOyBkb3cgPCA3OyBkb3crKyApIHsgLy8gZGF5cyBvZiB0aGUgd2Vlaw0KCQkJCQlkYXkgPSAoIGRvdyArIGZpcnN0RGF5ICkgJSA3Ow0KCQkJCQl0aGVhZCArPSAiPHRoIHNjb3BlPSdjb2wnIiArICggKCBkb3cgKyBmaXJzdERheSArIDYgKSAlIDcgPj0gNSA/ICIgY2xhc3M9J3VpLWRhdGVwaWNrZXItd2Vlay1lbmQnIiA6ICIiICkgKyAiPiIgKw0KCQkJCQkJIjxzcGFuIHRpdGxlPSciICsgZGF5TmFtZXNbIGRheSBdICsgIic+IiArIGRheU5hbWVzTWluWyBkYXkgXSArICI8L3NwYW4+PC90aD4iOw0KCQkJCX0NCgkJCQljYWxlbmRlciArPSB0aGVhZCArICI8L3RyPjwvdGhlYWQ+PHRib2R5PiI7DQoJCQkJZGF5c0luTW9udGggPSB0aGlzLl9nZXREYXlzSW5Nb250aCggZHJhd1llYXIsIGRyYXdNb250aCApOw0KCQkJCWlmICggZHJhd1llYXIgPT09IGluc3Quc2VsZWN0ZWRZZWFyICYmIGRyYXdNb250aCA9PT0gaW5zdC5zZWxlY3RlZE1vbnRoICkgew0KCQkJCQlpbnN0LnNlbGVjdGVkRGF5ID0gTWF0aC5taW4oIGluc3Quc2VsZWN0ZWREYXksIGRheXNJbk1vbnRoICk7DQoJCQkJfQ0KCQkJCWxlYWREYXlzID0gKCB0aGlzLl9nZXRGaXJzdERheU9mTW9udGgoIGRyYXdZZWFyLCBkcmF3TW9udGggKSAtIGZpcnN0RGF5ICsgNyApICUgNzsNCgkJCQljdXJSb3dzID0gTWF0aC5jZWlsKCAoIGxlYWREYXlzICsgZGF5c0luTW9udGggKSAvIDcgKTsgLy8gY2FsY3VsYXRlIHRoZSBudW1iZXIgb2Ygcm93cyB0byBnZW5lcmF0ZQ0KCQkJCW51bVJvd3MgPSAoIGlzTXVsdGlNb250aCA/IHRoaXMubWF4Um93cyA+IGN1clJvd3MgPyB0aGlzLm1heFJvd3MgOiBjdXJSb3dzIDogY3VyUm93cyApOyAvL0lmIG11bHRpcGxlIG1vbnRocywgdXNlIHRoZSBoaWdoZXIgbnVtYmVyIG9mIHJvd3MgKHNlZSAjNzA0MykNCgkJCQl0aGlzLm1heFJvd3MgPSBudW1Sb3dzOw0KCQkJCXByaW50RGF0ZSA9IHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggZHJhd1llYXIsIGRyYXdNb250aCwgMSAtIGxlYWREYXlzICkgKTsNCgkJCQlmb3IgKCBkUm93ID0gMDsgZFJvdyA8IG51bVJvd3M7IGRSb3crKyApIHsgLy8gY3JlYXRlIGRhdGUgcGlja2VyIHJvd3MNCgkJCQkJY2FsZW5kZXIgKz0gIjx0cj4iOw0KCQkJCQl0Ym9keSA9ICggIXNob3dXZWVrID8gIiIgOiAiPHRkIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstY29sJz4iICsNCgkJCQkJCXRoaXMuX2dldCggaW5zdCwgImNhbGN1bGF0ZVdlZWsiICkoIHByaW50RGF0ZSApICsgIjwvdGQ+IiApOw0KCQkJCQlmb3IgKCBkb3cgPSAwOyBkb3cgPCA3OyBkb3crKyApIHsgLy8gY3JlYXRlIGRhdGUgcGlja2VyIGRheXMNCgkJCQkJCWRheVNldHRpbmdzID0gKCBiZWZvcmVTaG93RGF5ID8NCgkJCQkJCQliZWZvcmVTaG93RGF5LmFwcGx5KCAoIGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WyAwIF0gOiBudWxsICksIFsgcHJpbnREYXRlIF0gKSA6IFsgdHJ1ZSwgIiIgXSApOw0KCQkJCQkJb3RoZXJNb250aCA9ICggcHJpbnREYXRlLmdldE1vbnRoKCkgIT09IGRyYXdNb250aCApOw0KCQkJCQkJdW5zZWxlY3RhYmxlID0gKCBvdGhlck1vbnRoICYmICFzZWxlY3RPdGhlck1vbnRocyApIHx8ICFkYXlTZXR0aW5nc1sgMCBdIHx8DQoJCQkJCQkJKCBtaW5EYXRlICYmIHByaW50RGF0ZSA8IG1pbkRhdGUgKSB8fCAoIG1heERhdGUgJiYgcHJpbnREYXRlID4gbWF4RGF0ZSApOw0KCQkJCQkJdGJvZHkgKz0gIjx0ZCBjbGFzcz0nIiArDQoJCQkJCQkJKCAoIGRvdyArIGZpcnN0RGF5ICsgNiApICUgNyA+PSA1ID8gIiB1aS1kYXRlcGlja2VyLXdlZWstZW5kIiA6ICIiICkgKyAvLyBoaWdobGlnaHQgd2Vla2VuZHMNCgkJCQkJCQkoIG90aGVyTW9udGggPyAiIHVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgiIDogIiIgKSArIC8vIGhpZ2hsaWdodCBkYXlzIGZyb20gb3RoZXIgbW9udGhzDQoJCQkJCQkJKCAoIHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHNlbGVjdGVkRGF0ZS5nZXRUaW1lKCkgJiYgZHJhd01vbnRoID09PSBpbnN0LnNlbGVjdGVkTW9udGggJiYgaW5zdC5fa2V5RXZlbnQgKSB8fCAvLyB1c2VyIHByZXNzZWQga2V5DQoJCQkJCQkJKCBkZWZhdWx0RGF0ZS5nZXRUaW1lKCkgPT09IHByaW50RGF0ZS5nZXRUaW1lKCkgJiYgZGVmYXVsdERhdGUuZ2V0VGltZSgpID09PSBzZWxlY3RlZERhdGUuZ2V0VGltZSgpICkgPw0KDQoJCQkJCQkJLy8gb3IgZGVmYXVsdERhdGUgaXMgY3VycmVudCBwcmludGVkRGF0ZSBhbmQgZGVmYXVsdERhdGUgaXMgc2VsZWN0ZWREYXRlDQoJCQkJCQkJIiAiICsgdGhpcy5fZGF5T3ZlckNsYXNzIDogIiIgKSArIC8vIGhpZ2hsaWdodCBzZWxlY3RlZCBkYXkNCgkJCQkJCQkoIHVuc2VsZWN0YWJsZSA/ICIgIiArIHRoaXMuX3Vuc2VsZWN0YWJsZUNsYXNzICsgIiB1aS1zdGF0ZS1kaXNhYmxlZCIgOiAiIiApICsgIC8vIGhpZ2hsaWdodCB1bnNlbGVjdGFibGUgZGF5cw0KCQkJCQkJCSggb3RoZXJNb250aCAmJiAhc2hvd090aGVyTW9udGhzID8gIiIgOiAiICIgKyBkYXlTZXR0aW5nc1sgMSBdICsgLy8gaGlnaGxpZ2h0IGN1c3RvbSBkYXRlcw0KCQkJCQkJCSggcHJpbnREYXRlLmdldFRpbWUoKSA9PT0gY3VycmVudERhdGUuZ2V0VGltZSgpID8gIiAiICsgdGhpcy5fY3VycmVudENsYXNzIDogIiIgKSArIC8vIGhpZ2hsaWdodCBzZWxlY3RlZCBkYXkNCgkJCQkJCQkoIHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHRvZGF5LmdldFRpbWUoKSA/ICIgdWktZGF0ZXBpY2tlci10b2RheSIgOiAiIiApICkgKyAiJyIgKyAvLyBoaWdobGlnaHQgdG9kYXkgKGlmIGRpZmZlcmVudCkNCgkJCQkJCQkoICggIW90aGVyTW9udGggfHwgc2hvd090aGVyTW9udGhzICkgJiYgZGF5U2V0dGluZ3NbIDIgXSA/ICIgdGl0bGU9JyIgKyBkYXlTZXR0aW5nc1sgMiBdLnJlcGxhY2UoIC8nL2csICImIzM5OyIgKSArICInIiA6ICIiICkgKyAvLyBjZWxsIHRpdGxlDQoJCQkJCQkJKCB1bnNlbGVjdGFibGUgPyAiIiA6ICIgZGF0YS1oYW5kbGVyPSdzZWxlY3REYXknIGRhdGEtZXZlbnQ9J2NsaWNrJyBkYXRhLW1vbnRoPSciICsgcHJpbnREYXRlLmdldE1vbnRoKCkgKyAiJyBkYXRhLXllYXI9JyIgKyBwcmludERhdGUuZ2V0RnVsbFllYXIoKSArICInIiApICsgIj4iICsgLy8gYWN0aW9ucw0KCQkJCQkJCSggb3RoZXJNb250aCAmJiAhc2hvd090aGVyTW9udGhzID8gIiYjeGEwOyIgOiAvLyBkaXNwbGF5IGZvciBvdGhlciBtb250aHMNCgkJCQkJCQkoIHVuc2VsZWN0YWJsZSA/ICI8c3BhbiBjbGFzcz0ndWktc3RhdGUtZGVmYXVsdCc+IiArIHByaW50RGF0ZS5nZXREYXRlKCkgKyAiPC9zcGFuPiIgOiAiPGEgY2xhc3M9J3VpLXN0YXRlLWRlZmF1bHQiICsNCgkJCQkJCQkoIHByaW50RGF0ZS5nZXRUaW1lKCkgPT09IHRvZGF5LmdldFRpbWUoKSA/ICIgdWktc3RhdGUtaGlnaGxpZ2h0IiA6ICIiICkgKw0KCQkJCQkJCSggcHJpbnREYXRlLmdldFRpbWUoKSA9PT0gY3VycmVudERhdGUuZ2V0VGltZSgpID8gIiB1aS1zdGF0ZS1hY3RpdmUiIDogIiIgKSArIC8vIGhpZ2hsaWdodCBzZWxlY3RlZCBkYXkNCgkJCQkJCQkoIG90aGVyTW9udGggPyAiIHVpLXByaW9yaXR5LXNlY29uZGFyeSIgOiAiIiApICsgLy8gZGlzdGluZ3Vpc2ggZGF0ZXMgZnJvbSBvdGhlciBtb250aHMNCgkJCQkJCQkiJyBocmVmPScjJz4iICsgcHJpbnREYXRlLmdldERhdGUoKSArICI8L2E+IiApICkgKyAiPC90ZD4iOyAvLyBkaXNwbGF5IHNlbGVjdGFibGUgZGF0ZQ0KCQkJCQkJcHJpbnREYXRlLnNldERhdGUoIHByaW50RGF0ZS5nZXREYXRlKCkgKyAxICk7DQoJCQkJCQlwcmludERhdGUgPSB0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggcHJpbnREYXRlICk7DQoJCQkJCX0NCgkJCQkJY2FsZW5kZXIgKz0gdGJvZHkgKyAiPC90cj4iOw0KCQkJCX0NCgkJCQlkcmF3TW9udGgrKzsNCgkJCQlpZiAoIGRyYXdNb250aCA+IDExICkgew0KCQkJCQlkcmF3TW9udGggPSAwOw0KCQkJCQlkcmF3WWVhcisrOw0KCQkJCX0NCgkJCQljYWxlbmRlciArPSAiPC90Ym9keT48L3RhYmxlPiIgKyAoIGlzTXVsdGlNb250aCA/ICI8L2Rpdj4iICsNCgkJCQkJCQkoICggbnVtTW9udGhzWyAwIF0gPiAwICYmIGNvbCA9PT0gbnVtTW9udGhzWyAxIF0gLSAxICkgPyAiPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1yb3ctYnJlYWsnPjwvZGl2PiIgOiAiIiApIDogIiIgKTsNCgkJCQlncm91cCArPSBjYWxlbmRlcjsNCgkJCX0NCgkJCWh0bWwgKz0gZ3JvdXA7DQoJCX0NCgkJaHRtbCArPSBidXR0b25QYW5lbDsNCgkJaW5zdC5fa2V5RXZlbnQgPSBmYWxzZTsNCgkJcmV0dXJuIGh0bWw7DQoJfSwNCg0KCS8qIEdlbmVyYXRlIHRoZSBtb250aCBhbmQgeWVhciBoZWFkZXIuICovDQoJX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOiBmdW5jdGlvbiggaW5zdCwgZHJhd01vbnRoLCBkcmF3WWVhciwgbWluRGF0ZSwgbWF4RGF0ZSwNCgkJCXNlY29uZGFyeSwgbW9udGhOYW1lcywgbW9udGhOYW1lc1Nob3J0ICkgew0KDQoJCXZhciBpbk1pblllYXIsIGluTWF4WWVhciwgbW9udGgsIHllYXJzLCB0aGlzWWVhciwgZGV0ZXJtaW5lWWVhciwgeWVhciwgZW5kWWVhciwNCgkJCWNoYW5nZU1vbnRoID0gdGhpcy5fZ2V0KCBpbnN0LCAiY2hhbmdlTW9udGgiICksDQoJCQljaGFuZ2VZZWFyID0gdGhpcy5fZ2V0KCBpbnN0LCAiY2hhbmdlWWVhciIgKSwNCgkJCXNob3dNb250aEFmdGVyWWVhciA9IHRoaXMuX2dldCggaW5zdCwgInNob3dNb250aEFmdGVyWWVhciIgKSwNCgkJCWh0bWwgPSAiPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci10aXRsZSc+IiwNCgkJCW1vbnRoSHRtbCA9ICIiOw0KDQoJCS8vIE1vbnRoIHNlbGVjdGlvbg0KCQlpZiAoIHNlY29uZGFyeSB8fCAhY2hhbmdlTW9udGggKSB7DQoJCQltb250aEh0bWwgKz0gIjxzcGFuIGNsYXNzPSd1aS1kYXRlcGlja2VyLW1vbnRoJz4iICsgbW9udGhOYW1lc1sgZHJhd01vbnRoIF0gKyAiPC9zcGFuPiI7DQoJCX0gZWxzZSB7DQoJCQlpbk1pblllYXIgPSAoIG1pbkRhdGUgJiYgbWluRGF0ZS5nZXRGdWxsWWVhcigpID09PSBkcmF3WWVhciApOw0KCQkJaW5NYXhZZWFyID0gKCBtYXhEYXRlICYmIG1heERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gZHJhd1llYXIgKTsNCgkJCW1vbnRoSHRtbCArPSAiPHNlbGVjdCBjbGFzcz0ndWktZGF0ZXBpY2tlci1tb250aCcgZGF0YS1oYW5kbGVyPSdzZWxlY3RNb250aCcgZGF0YS1ldmVudD0nY2hhbmdlJz4iOw0KCQkJZm9yICggbW9udGggPSAwOyBtb250aCA8IDEyOyBtb250aCsrICkgew0KCQkJCWlmICggKCAhaW5NaW5ZZWFyIHx8IG1vbnRoID49IG1pbkRhdGUuZ2V0TW9udGgoKSApICYmICggIWluTWF4WWVhciB8fCBtb250aCA8PSBtYXhEYXRlLmdldE1vbnRoKCkgKSApIHsNCgkJCQkJbW9udGhIdG1sICs9ICI8b3B0aW9uIHZhbHVlPSciICsgbW9udGggKyAiJyIgKw0KCQkJCQkJKCBtb250aCA9PT0gZHJhd01vbnRoID8gIiBzZWxlY3RlZD0nc2VsZWN0ZWQnIiA6ICIiICkgKw0KCQkJCQkJIj4iICsgbW9udGhOYW1lc1Nob3J0WyBtb250aCBdICsgIjwvb3B0aW9uPiI7DQoJCQkJfQ0KCQkJfQ0KCQkJbW9udGhIdG1sICs9ICI8L3NlbGVjdD4iOw0KCQl9DQoNCgkJaWYgKCAhc2hvd01vbnRoQWZ0ZXJZZWFyICkgew0KCQkJaHRtbCArPSBtb250aEh0bWwgKyAoIHNlY29uZGFyeSB8fCAhKCBjaGFuZ2VNb250aCAmJiBjaGFuZ2VZZWFyICkgPyAiJiN4YTA7IiA6ICIiICk7DQoJCX0NCg0KCQkvLyBZZWFyIHNlbGVjdGlvbg0KCQlpZiAoICFpbnN0LnllYXJzaHRtbCApIHsNCgkJCWluc3QueWVhcnNodG1sID0gIiI7DQoJCQlpZiAoIHNlY29uZGFyeSB8fCAhY2hhbmdlWWVhciApIHsNCgkJCQlodG1sICs9ICI8c3BhbiBjbGFzcz0ndWktZGF0ZXBpY2tlci15ZWFyJz4iICsgZHJhd1llYXIgKyAiPC9zcGFuPiI7DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gZGV0ZXJtaW5lIHJhbmdlIG9mIHllYXJzIHRvIGRpc3BsYXkNCgkJCQl5ZWFycyA9IHRoaXMuX2dldCggaW5zdCwgInllYXJSYW5nZSIgKS5zcGxpdCggIjoiICk7DQoJCQkJdGhpc1llYXIgPSBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCk7DQoJCQkJZGV0ZXJtaW5lWWVhciA9IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJCQkJdmFyIHllYXIgPSAoIHZhbHVlLm1hdGNoKCAvY1srXC1dLiovICkgPyBkcmF3WWVhciArIHBhcnNlSW50KCB2YWx1ZS5zdWJzdHJpbmcoIDEgKSwgMTAgKSA6DQoJCQkJCQkoIHZhbHVlLm1hdGNoKCAvWytcLV0uKi8gKSA/IHRoaXNZZWFyICsgcGFyc2VJbnQoIHZhbHVlLCAxMCApIDoNCgkJCQkJCXBhcnNlSW50KCB2YWx1ZSwgMTAgKSApICk7DQoJCQkJCXJldHVybiAoIGlzTmFOKCB5ZWFyICkgPyB0aGlzWWVhciA6IHllYXIgKTsNCgkJCQl9Ow0KCQkJCXllYXIgPSBkZXRlcm1pbmVZZWFyKCB5ZWFyc1sgMCBdICk7DQoJCQkJZW5kWWVhciA9IE1hdGgubWF4KCB5ZWFyLCBkZXRlcm1pbmVZZWFyKCB5ZWFyc1sgMSBdIHx8ICIiICkgKTsNCgkJCQl5ZWFyID0gKCBtaW5EYXRlID8gTWF0aC5tYXgoIHllYXIsIG1pbkRhdGUuZ2V0RnVsbFllYXIoKSApIDogeWVhciApOw0KCQkJCWVuZFllYXIgPSAoIG1heERhdGUgPyBNYXRoLm1pbiggZW5kWWVhciwgbWF4RGF0ZS5nZXRGdWxsWWVhcigpICkgOiBlbmRZZWFyICk7DQoJCQkJaW5zdC55ZWFyc2h0bWwgKz0gIjxzZWxlY3QgY2xhc3M9J3VpLWRhdGVwaWNrZXIteWVhcicgZGF0YS1oYW5kbGVyPSdzZWxlY3RZZWFyJyBkYXRhLWV2ZW50PSdjaGFuZ2UnPiI7DQoJCQkJZm9yICggOyB5ZWFyIDw9IGVuZFllYXI7IHllYXIrKyApIHsNCgkJCQkJaW5zdC55ZWFyc2h0bWwgKz0gIjxvcHRpb24gdmFsdWU9JyIgKyB5ZWFyICsgIiciICsNCgkJCQkJCSggeWVhciA9PT0gZHJhd1llYXIgPyAiIHNlbGVjdGVkPSdzZWxlY3RlZCciIDogIiIgKSArDQoJCQkJCQkiPiIgKyB5ZWFyICsgIjwvb3B0aW9uPiI7DQoJCQkJfQ0KCQkJCWluc3QueWVhcnNodG1sICs9ICI8L3NlbGVjdD4iOw0KDQoJCQkJaHRtbCArPSBpbnN0LnllYXJzaHRtbDsNCgkJCQlpbnN0LnllYXJzaHRtbCA9IG51bGw7DQoJCQl9DQoJCX0NCg0KCQlodG1sICs9IHRoaXMuX2dldCggaW5zdCwgInllYXJTdWZmaXgiICk7DQoJCWlmICggc2hvd01vbnRoQWZ0ZXJZZWFyICkgew0KCQkJaHRtbCArPSAoIHNlY29uZGFyeSB8fCAhKCBjaGFuZ2VNb250aCAmJiBjaGFuZ2VZZWFyICkgPyAiJiN4YTA7IiA6ICIiICkgKyBtb250aEh0bWw7DQoJCX0NCgkJaHRtbCArPSAiPC9kaXY+IjsgLy8gQ2xvc2UgZGF0ZXBpY2tlcl9oZWFkZXINCgkJcmV0dXJuIGh0bWw7DQoJfSwNCg0KCS8qIEFkanVzdCBvbmUgb2YgdGhlIGRhdGUgc3ViLWZpZWxkcy4gKi8NCglfYWRqdXN0SW5zdERhdGU6IGZ1bmN0aW9uKCBpbnN0LCBvZmZzZXQsIHBlcmlvZCApIHsNCgkJdmFyIHllYXIgPSBpbnN0LnNlbGVjdGVkWWVhciArICggcGVyaW9kID09PSAiWSIgPyBvZmZzZXQgOiAwICksDQoJCQltb250aCA9IGluc3Quc2VsZWN0ZWRNb250aCArICggcGVyaW9kID09PSAiTSIgPyBvZmZzZXQgOiAwICksDQoJCQlkYXkgPSBNYXRoLm1pbiggaW5zdC5zZWxlY3RlZERheSwgdGhpcy5fZ2V0RGF5c0luTW9udGgoIHllYXIsIG1vbnRoICkgKSArICggcGVyaW9kID09PSAiRCIgPyBvZmZzZXQgOiAwICksDQoJCQlkYXRlID0gdGhpcy5fcmVzdHJpY3RNaW5NYXgoIGluc3QsIHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggeWVhciwgbW9udGgsIGRheSApICkgKTsNCg0KCQlpbnN0LnNlbGVjdGVkRGF5ID0gZGF0ZS5nZXREYXRlKCk7DQoJCWluc3QuZHJhd01vbnRoID0gaW5zdC5zZWxlY3RlZE1vbnRoID0gZGF0ZS5nZXRNb250aCgpOw0KCQlpbnN0LmRyYXdZZWFyID0gaW5zdC5zZWxlY3RlZFllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7DQoJCWlmICggcGVyaW9kID09PSAiTSIgfHwgcGVyaW9kID09PSAiWSIgKSB7DQoJCQl0aGlzLl9ub3RpZnlDaGFuZ2UoIGluc3QgKTsNCgkJfQ0KCX0sDQoNCgkvKiBFbnN1cmUgYSBkYXRlIGlzIHdpdGhpbiBhbnkgbWluL21heCBib3VuZHMuICovDQoJX3Jlc3RyaWN0TWluTWF4OiBmdW5jdGlvbiggaW5zdCwgZGF0ZSApIHsNCgkJdmFyIG1pbkRhdGUgPSB0aGlzLl9nZXRNaW5NYXhEYXRlKCBpbnN0LCAibWluIiApLA0KCQkJbWF4RGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoIGluc3QsICJtYXgiICksDQoJCQluZXdEYXRlID0gKCBtaW5EYXRlICYmIGRhdGUgPCBtaW5EYXRlID8gbWluRGF0ZSA6IGRhdGUgKTsNCgkJcmV0dXJuICggbWF4RGF0ZSAmJiBuZXdEYXRlID4gbWF4RGF0ZSA/IG1heERhdGUgOiBuZXdEYXRlICk7DQoJfSwNCg0KCS8qIE5vdGlmeSBjaGFuZ2Ugb2YgbW9udGgveWVhci4gKi8NCglfbm90aWZ5Q2hhbmdlOiBmdW5jdGlvbiggaW5zdCApIHsNCgkJdmFyIG9uQ2hhbmdlID0gdGhpcy5fZ2V0KCBpbnN0LCAib25DaGFuZ2VNb250aFllYXIiICk7DQoJCWlmICggb25DaGFuZ2UgKSB7DQoJCQlvbkNoYW5nZS5hcHBseSggKCBpbnN0LmlucHV0ID8gaW5zdC5pbnB1dFsgMCBdIDogbnVsbCApLA0KCQkJCVsgaW5zdC5zZWxlY3RlZFllYXIsIGluc3Quc2VsZWN0ZWRNb250aCArIDEsIGluc3QgXSApOw0KCQl9DQoJfSwNCg0KCS8qIERldGVybWluZSB0aGUgbnVtYmVyIG9mIG1vbnRocyB0byBzaG93LiAqLw0KCV9nZXROdW1iZXJPZk1vbnRoczogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBudW1Nb250aHMgPSB0aGlzLl9nZXQoIGluc3QsICJudW1iZXJPZk1vbnRocyIgKTsNCgkJcmV0dXJuICggbnVtTW9udGhzID09IG51bGwgPyBbIDEsIDEgXSA6ICggdHlwZW9mIG51bU1vbnRocyA9PT0gIm51bWJlciIgPyBbIDEsIG51bU1vbnRocyBdIDogbnVtTW9udGhzICkgKTsNCgl9LA0KDQoJLyogRGV0ZXJtaW5lIHRoZSBjdXJyZW50IG1heGltdW0gZGF0ZSAtIGVuc3VyZSBubyB0aW1lIGNvbXBvbmVudHMgYXJlIHNldC4gKi8NCglfZ2V0TWluTWF4RGF0ZTogZnVuY3Rpb24oIGluc3QsIG1pbk1heCApIHsNCgkJcmV0dXJuIHRoaXMuX2RldGVybWluZURhdGUoIGluc3QsIHRoaXMuX2dldCggaW5zdCwgbWluTWF4ICsgIkRhdGUiICksIG51bGwgKTsNCgl9LA0KDQoJLyogRmluZCB0aGUgbnVtYmVyIG9mIGRheXMgaW4gYSBnaXZlbiBtb250aC4gKi8NCglfZ2V0RGF5c0luTW9udGg6IGZ1bmN0aW9uKCB5ZWFyLCBtb250aCApIHsNCgkJcmV0dXJuIDMyIC0gdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCB5ZWFyLCBtb250aCwgMzIgKSApLmdldERhdGUoKTsNCgl9LA0KDQoJLyogRmluZCB0aGUgZGF5IG9mIHRoZSB3ZWVrIG9mIHRoZSBmaXJzdCBvZiBhIG1vbnRoLiAqLw0KCV9nZXRGaXJzdERheU9mTW9udGg6IGZ1bmN0aW9uKCB5ZWFyLCBtb250aCApIHsNCgkJcmV0dXJuIG5ldyBEYXRlKCB5ZWFyLCBtb250aCwgMSApLmdldERheSgpOw0KCX0sDQoNCgkvKiBEZXRlcm1pbmVzIGlmIHdlIHNob3VsZCBhbGxvdyBhICJuZXh0L3ByZXYiIG1vbnRoIGRpc3BsYXkgY2hhbmdlLiAqLw0KCV9jYW5BZGp1c3RNb250aDogZnVuY3Rpb24oIGluc3QsIG9mZnNldCwgY3VyWWVhciwgY3VyTW9udGggKSB7DQoJCXZhciBudW1Nb250aHMgPSB0aGlzLl9nZXROdW1iZXJPZk1vbnRocyggaW5zdCApLA0KCQkJZGF0ZSA9IHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KCBuZXcgRGF0ZSggY3VyWWVhciwNCgkJCWN1ck1vbnRoICsgKCBvZmZzZXQgPCAwID8gb2Zmc2V0IDogbnVtTW9udGhzWyAwIF0gKiBudW1Nb250aHNbIDEgXSApLCAxICkgKTsNCg0KCQlpZiAoIG9mZnNldCA8IDAgKSB7DQoJCQlkYXRlLnNldERhdGUoIHRoaXMuX2dldERheXNJbk1vbnRoKCBkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSApICk7DQoJCX0NCgkJcmV0dXJuIHRoaXMuX2lzSW5SYW5nZSggaW5zdCwgZGF0ZSApOw0KCX0sDQoNCgkvKiBJcyB0aGUgZ2l2ZW4gZGF0ZSBpbiB0aGUgYWNjZXB0ZWQgcmFuZ2U/ICovDQoJX2lzSW5SYW5nZTogZnVuY3Rpb24oIGluc3QsIGRhdGUgKSB7DQoJCXZhciB5ZWFyU3BsaXQsIGN1cnJlbnRZZWFyLA0KCQkJbWluRGF0ZSA9IHRoaXMuX2dldE1pbk1heERhdGUoIGluc3QsICJtaW4iICksDQoJCQltYXhEYXRlID0gdGhpcy5fZ2V0TWluTWF4RGF0ZSggaW5zdCwgIm1heCIgKSwNCgkJCW1pblllYXIgPSBudWxsLA0KCQkJbWF4WWVhciA9IG51bGwsDQoJCQl5ZWFycyA9IHRoaXMuX2dldCggaW5zdCwgInllYXJSYW5nZSIgKTsNCgkJCWlmICggeWVhcnMgKSB7DQoJCQkJeWVhclNwbGl0ID0geWVhcnMuc3BsaXQoICI6IiApOw0KCQkJCWN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpOw0KCQkJCW1pblllYXIgPSBwYXJzZUludCggeWVhclNwbGl0WyAwIF0sIDEwICk7DQoJCQkJbWF4WWVhciA9IHBhcnNlSW50KCB5ZWFyU3BsaXRbIDEgXSwgMTAgKTsNCgkJCQlpZiAoIHllYXJTcGxpdFsgMCBdLm1hdGNoKCAvWytcLV0uKi8gKSApIHsNCgkJCQkJbWluWWVhciArPSBjdXJyZW50WWVhcjsNCgkJCQl9DQoJCQkJaWYgKCB5ZWFyU3BsaXRbIDEgXS5tYXRjaCggL1srXC1dLiovICkgKSB7DQoJCQkJCW1heFllYXIgKz0gY3VycmVudFllYXI7DQoJCQkJfQ0KCQkJfQ0KDQoJCXJldHVybiAoICggIW1pbkRhdGUgfHwgZGF0ZS5nZXRUaW1lKCkgPj0gbWluRGF0ZS5nZXRUaW1lKCkgKSAmJg0KCQkJKCAhbWF4RGF0ZSB8fCBkYXRlLmdldFRpbWUoKSA8PSBtYXhEYXRlLmdldFRpbWUoKSApICYmDQoJCQkoICFtaW5ZZWFyIHx8IGRhdGUuZ2V0RnVsbFllYXIoKSA+PSBtaW5ZZWFyICkgJiYNCgkJCSggIW1heFllYXIgfHwgZGF0ZS5nZXRGdWxsWWVhcigpIDw9IG1heFllYXIgKSApOw0KCX0sDQoNCgkvKiBQcm92aWRlIHRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciBmb3JtYXR0aW5nL3BhcnNpbmcuICovDQoJX2dldEZvcm1hdENvbmZpZzogZnVuY3Rpb24oIGluc3QgKSB7DQoJCXZhciBzaG9ydFllYXJDdXRvZmYgPSB0aGlzLl9nZXQoIGluc3QsICJzaG9ydFllYXJDdXRvZmYiICk7DQoJCXNob3J0WWVhckN1dG9mZiA9ICggdHlwZW9mIHNob3J0WWVhckN1dG9mZiAhPT0gInN0cmluZyIgPyBzaG9ydFllYXJDdXRvZmYgOg0KCQkJbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpICUgMTAwICsgcGFyc2VJbnQoIHNob3J0WWVhckN1dG9mZiwgMTAgKSApOw0KCQlyZXR1cm4geyBzaG9ydFllYXJDdXRvZmY6IHNob3J0WWVhckN1dG9mZiwNCgkJCWRheU5hbWVzU2hvcnQ6IHRoaXMuX2dldCggaW5zdCwgImRheU5hbWVzU2hvcnQiICksIGRheU5hbWVzOiB0aGlzLl9nZXQoIGluc3QsICJkYXlOYW1lcyIgKSwNCgkJCW1vbnRoTmFtZXNTaG9ydDogdGhpcy5fZ2V0KCBpbnN0LCAibW9udGhOYW1lc1Nob3J0IiApLCBtb250aE5hbWVzOiB0aGlzLl9nZXQoIGluc3QsICJtb250aE5hbWVzIiApIH07DQoJfSwNCg0KCS8qIEZvcm1hdCB0aGUgZ2l2ZW4gZGF0ZSBmb3IgZGlzcGxheS4gKi8NCglfZm9ybWF0RGF0ZTogZnVuY3Rpb24oIGluc3QsIGRheSwgbW9udGgsIHllYXIgKSB7DQoJCWlmICggIWRheSApIHsNCgkJCWluc3QuY3VycmVudERheSA9IGluc3Quc2VsZWN0ZWREYXk7DQoJCQlpbnN0LmN1cnJlbnRNb250aCA9IGluc3Quc2VsZWN0ZWRNb250aDsNCgkJCWluc3QuY3VycmVudFllYXIgPSBpbnN0LnNlbGVjdGVkWWVhcjsNCgkJfQ0KCQl2YXIgZGF0ZSA9ICggZGF5ID8gKCB0eXBlb2YgZGF5ID09PSAib2JqZWN0IiA/IGRheSA6DQoJCQl0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdCggbmV3IERhdGUoIHllYXIsIG1vbnRoLCBkYXkgKSApICkgOg0KCQkJdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QoIG5ldyBEYXRlKCBpbnN0LmN1cnJlbnRZZWFyLCBpbnN0LmN1cnJlbnRNb250aCwgaW5zdC5jdXJyZW50RGF5ICkgKSApOw0KCQlyZXR1cm4gdGhpcy5mb3JtYXREYXRlKCB0aGlzLl9nZXQoIGluc3QsICJkYXRlRm9ybWF0IiApLCBkYXRlLCB0aGlzLl9nZXRGb3JtYXRDb25maWcoIGluc3QgKSApOw0KCX0NCn0gKTsNCg0KLyoNCiAqIEJpbmQgaG92ZXIgZXZlbnRzIGZvciBkYXRlcGlja2VyIGVsZW1lbnRzLg0KICogRG9uZSB2aWEgZGVsZWdhdGUgc28gdGhlIGJpbmRpbmcgb25seSBvY2N1cnMgb25jZSBpbiB0aGUgbGlmZXRpbWUgb2YgdGhlIHBhcmVudCBkaXYuDQogKiBHbG9iYWwgZGF0ZXBpY2tlcl9pbnN0QWN0aXZlLCBzZXQgYnkgX3VwZGF0ZURhdGVwaWNrZXIgYWxsb3dzIHRoZSBoYW5kbGVycyB0byBmaW5kIHRoZWlyIHdheSBiYWNrIHRvIHRoZSBhY3RpdmUgcGlja2VyLg0KICovDQpmdW5jdGlvbiBkYXRlcGlja2VyX2JpbmRIb3ZlciggZHBEaXYgKSB7DQoJdmFyIHNlbGVjdG9yID0gImJ1dHRvbiwgLnVpLWRhdGVwaWNrZXItcHJldiwgLnVpLWRhdGVwaWNrZXItbmV4dCwgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGQgYSI7DQoJcmV0dXJuIGRwRGl2Lm9uKCAibW91c2VvdXQiLCBzZWxlY3RvciwgZnVuY3Rpb24oKSB7DQoJCQkkKCB0aGlzICkucmVtb3ZlQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJCWlmICggdGhpcy5jbGFzc05hbWUuaW5kZXhPZiggInVpLWRhdGVwaWNrZXItcHJldiIgKSAhPT0gLTEgKSB7DQoJCQkJJCggdGhpcyApLnJlbW92ZUNsYXNzKCAidWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIiApOw0KCQkJfQ0KCQkJaWYgKCB0aGlzLmNsYXNzTmFtZS5pbmRleE9mKCAidWktZGF0ZXBpY2tlci1uZXh0IiApICE9PSAtMSApIHsNCgkJCQkkKCB0aGlzICkucmVtb3ZlQ2xhc3MoICJ1aS1kYXRlcGlja2VyLW5leHQtaG92ZXIiICk7DQoJCQl9DQoJCX0gKQ0KCQkub24oICJtb3VzZW92ZXIiLCBzZWxlY3RvciwgZGF0ZXBpY2tlcl9oYW5kbGVNb3VzZW92ZXIgKTsNCn0NCg0KZnVuY3Rpb24gZGF0ZXBpY2tlcl9oYW5kbGVNb3VzZW92ZXIoKSB7DQoJaWYgKCAhJC5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlciggZGF0ZXBpY2tlcl9pbnN0QWN0aXZlLmlubGluZSA/IGRhdGVwaWNrZXJfaW5zdEFjdGl2ZS5kcERpdi5wYXJlbnQoKVsgMCBdIDogZGF0ZXBpY2tlcl9pbnN0QWN0aXZlLmlucHV0WyAwIF0gKSApIHsNCgkJJCggdGhpcyApLnBhcmVudHMoICIudWktZGF0ZXBpY2tlci1jYWxlbmRhciIgKS5maW5kKCAiYSIgKS5yZW1vdmVDbGFzcyggInVpLXN0YXRlLWhvdmVyIiApOw0KCQkkKCB0aGlzICkuYWRkQ2xhc3MoICJ1aS1zdGF0ZS1ob3ZlciIgKTsNCgkJaWYgKCB0aGlzLmNsYXNzTmFtZS5pbmRleE9mKCAidWktZGF0ZXBpY2tlci1wcmV2IiApICE9PSAtMSApIHsNCgkJCSQoIHRoaXMgKS5hZGRDbGFzcyggInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIgKTsNCgkJfQ0KCQlpZiAoIHRoaXMuY2xhc3NOYW1lLmluZGV4T2YoICJ1aS1kYXRlcGlja2VyLW5leHQiICkgIT09IC0xICkgew0KCQkJJCggdGhpcyApLmFkZENsYXNzKCAidWktZGF0ZXBpY2tlci1uZXh0LWhvdmVyIiApOw0KCQl9DQoJfQ0KfQ0KDQovKiBqUXVlcnkgZXh0ZW5kIG5vdyBpZ25vcmVzIG51bGxzISAqLw0KZnVuY3Rpb24gZGF0ZXBpY2tlcl9leHRlbmRSZW1vdmUoIHRhcmdldCwgcHJvcHMgKSB7DQoJJC5leHRlbmQoIHRhcmdldCwgcHJvcHMgKTsNCglmb3IgKCB2YXIgbmFtZSBpbiBwcm9wcyApIHsNCgkJaWYgKCBwcm9wc1sgbmFtZSBdID09IG51bGwgKSB7DQoJCQl0YXJnZXRbIG5hbWUgXSA9IHByb3BzWyBuYW1lIF07DQoJCX0NCgl9DQoJcmV0dXJuIHRhcmdldDsNCn0NCg0KLyogSW52b2tlIHRoZSBkYXRlcGlja2VyIGZ1bmN0aW9uYWxpdHkuDQogICBAcGFyYW0gIG9wdGlvbnMgIHN0cmluZyAtIGEgY29tbWFuZCwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhZGRpdGlvbmFsIHBhcmFtZXRlcnMgb3INCgkJCQkJT2JqZWN0IC0gc2V0dGluZ3MgZm9yIGF0dGFjaGluZyBuZXcgZGF0ZXBpY2tlciBmdW5jdGlvbmFsaXR5DQogICBAcmV0dXJuICBqUXVlcnkgb2JqZWN0ICovDQokLmZuLmRhdGVwaWNrZXIgPSBmdW5jdGlvbiggb3B0aW9ucyApIHsNCg0KCS8qIFZlcmlmeSBhbiBlbXB0eSBjb2xsZWN0aW9uIHdhc24ndCBwYXNzZWQgLSBGaXhlcyAjNjk3NiAqLw0KCWlmICggIXRoaXMubGVuZ3RoICkgew0KCQlyZXR1cm4gdGhpczsNCgl9DQoNCgkvKiBJbml0aWFsaXNlIHRoZSBkYXRlIHBpY2tlci4gKi8NCglpZiAoICEkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQgKSB7DQoJCSQoIGRvY3VtZW50ICkub24oICJtb3VzZWRvd24iLCAkLmRhdGVwaWNrZXIuX2NoZWNrRXh0ZXJuYWxDbGljayApOw0KCQkkLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQgPSB0cnVlOw0KCX0NCg0KCS8qIEFwcGVuZCBkYXRlcGlja2VyIG1haW4gY29udGFpbmVyIHRvIGJvZHkgaWYgbm90IGV4aXN0LiAqLw0KCWlmICggJCggIiMiICsgJC5kYXRlcGlja2VyLl9tYWluRGl2SWQgKS5sZW5ndGggPT09IDAgKSB7DQoJCSQoICJib2R5IiApLmFwcGVuZCggJC5kYXRlcGlja2VyLmRwRGl2ICk7DQoJfQ0KDQoJdmFyIG90aGVyQXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKCBhcmd1bWVudHMsIDEgKTsNCglpZiAoIHR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiAmJiAoIG9wdGlvbnMgPT09ICJpc0Rpc2FibGVkIiB8fCBvcHRpb25zID09PSAiZ2V0RGF0ZSIgfHwgb3B0aW9ucyA9PT0gIndpZGdldCIgKSApIHsNCgkJcmV0dXJuICQuZGF0ZXBpY2tlclsgIl8iICsgb3B0aW9ucyArICJEYXRlcGlja2VyIiBdLg0KCQkJYXBwbHkoICQuZGF0ZXBpY2tlciwgWyB0aGlzWyAwIF0gXS5jb25jYXQoIG90aGVyQXJncyApICk7DQoJfQ0KCWlmICggb3B0aW9ucyA9PT0gIm9wdGlvbiIgJiYgYXJndW1lbnRzLmxlbmd0aCA9PT0gMiAmJiB0eXBlb2YgYXJndW1lbnRzWyAxIF0gPT09ICJzdHJpbmciICkgew0KCQlyZXR1cm4gJC5kYXRlcGlja2VyWyAiXyIgKyBvcHRpb25zICsgIkRhdGVwaWNrZXIiIF0uDQoJCQlhcHBseSggJC5kYXRlcGlja2VyLCBbIHRoaXNbIDAgXSBdLmNvbmNhdCggb3RoZXJBcmdzICkgKTsNCgl9DQoJcmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCXR5cGVvZiBvcHRpb25zID09PSAic3RyaW5nIiA/DQoJCQkkLmRhdGVwaWNrZXJbICJfIiArIG9wdGlvbnMgKyAiRGF0ZXBpY2tlciIgXS4NCgkJCQlhcHBseSggJC5kYXRlcGlja2VyLCBbIHRoaXMgXS5jb25jYXQoIG90aGVyQXJncyApICkgOg0KCQkJJC5kYXRlcGlja2VyLl9hdHRhY2hEYXRlcGlja2VyKCB0aGlzLCBvcHRpb25zICk7DQoJfSApOw0KfTsNCg0KJC5kYXRlcGlja2VyID0gbmV3IERhdGVwaWNrZXIoKTsgLy8gc2luZ2xldG9uIGluc3RhbmNlDQokLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQgPSBmYWxzZTsNCiQuZGF0ZXBpY2tlci51dWlkID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7DQokLmRhdGVwaWNrZXIudmVyc2lvbiA9ICIxLjEyLjEiOw0KDQp2YXIgd2lkZ2V0c0RhdGVwaWNrZXIgPSAkLmRhdGVwaWNrZXI7DQoNCg0KDQoNCi8vIFRoaXMgZmlsZSBpcyBkZXByZWNhdGVkDQp2YXIgaWUgPSAkLnVpLmllID0gISEvbXNpZSBbXHcuXSsvLmV4ZWMoIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSApOw0KDQovKiENCiAqIGpRdWVyeSBVSSBNb3VzZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogTW91c2UNCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBBYnN0cmFjdHMgbW91c2UtYmFzZWQgaW50ZXJhY3Rpb25zIHRvIGFzc2lzdCBpbiBjcmVhdGluZyBjZXJ0YWluIHdpZGdldHMuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vbW91c2UvDQoNCg0KDQp2YXIgbW91c2VIYW5kbGVkID0gZmFsc2U7DQokKCBkb2N1bWVudCApLm9uKCAibW91c2V1cCIsIGZ1bmN0aW9uKCkgew0KCW1vdXNlSGFuZGxlZCA9IGZhbHNlOw0KfSApOw0KDQp2YXIgd2lkZ2V0c01vdXNlID0gJC53aWRnZXQoICJ1aS5tb3VzZSIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglvcHRpb25zOiB7DQoJCWNhbmNlbDogImlucHV0LCB0ZXh0YXJlYSwgYnV0dG9uLCBzZWxlY3QsIG9wdGlvbiIsDQoJCWRpc3RhbmNlOiAxLA0KCQlkZWxheTogMA0KCX0sDQoJX21vdXNlSW5pdDogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5vbiggIm1vdXNlZG93bi4iICsgdGhpcy53aWRnZXROYW1lLCBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJcmV0dXJuIHRoYXQuX21vdXNlRG93biggZXZlbnQgKTsNCgkJCX0gKQ0KCQkJLm9uKCAiY2xpY2suIiArIHRoaXMud2lkZ2V0TmFtZSwgZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdHJ1ZSA9PT0gJC5kYXRhKCBldmVudC50YXJnZXQsIHRoYXQud2lkZ2V0TmFtZSArICIucHJldmVudENsaWNrRXZlbnQiICkgKSB7DQoJCQkJCSQucmVtb3ZlRGF0YSggZXZlbnQudGFyZ2V0LCB0aGF0LndpZGdldE5hbWUgKyAiLnByZXZlbnRDbGlja0V2ZW50IiApOw0KCQkJCQlldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTsNCgkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCX0NCgkJCX0gKTsNCg0KCQl0aGlzLnN0YXJ0ZWQgPSBmYWxzZTsNCgl9LA0KDQoJLy8gVE9ETzogbWFrZSBzdXJlIGRlc3Ryb3lpbmcgb25lIGluc3RhbmNlIG9mIG1vdXNlIGRvZXNuJ3QgbWVzcyB3aXRoDQoJLy8gb3RoZXIgaW5zdGFuY2VzIG9mIG1vdXNlDQoJX21vdXNlRGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5vZmYoICIuIiArIHRoaXMud2lkZ2V0TmFtZSApOw0KCQlpZiAoIHRoaXMuX21vdXNlTW92ZURlbGVnYXRlICkgew0KCQkJdGhpcy5kb2N1bWVudA0KCQkJCS5vZmYoICJtb3VzZW1vdmUuIiArIHRoaXMud2lkZ2V0TmFtZSwgdGhpcy5fbW91c2VNb3ZlRGVsZWdhdGUgKQ0KCQkJCS5vZmYoICJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSApOw0KCQl9DQoJfSwNCg0KCV9tb3VzZURvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkvLyBkb24ndCBsZXQgbW9yZSB0aGFuIG9uZSB3aWRnZXQgaGFuZGxlIG1vdXNlU3RhcnQNCgkJaWYgKCBtb3VzZUhhbmRsZWQgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0aGlzLl9tb3VzZU1vdmVkID0gZmFsc2U7DQoNCgkJLy8gV2UgbWF5IGhhdmUgbWlzc2VkIG1vdXNldXAgKG91dCBvZiB3aW5kb3cpDQoJCSggdGhpcy5fbW91c2VTdGFydGVkICYmIHRoaXMuX21vdXNlVXAoIGV2ZW50ICkgKTsNCg0KCQl0aGlzLl9tb3VzZURvd25FdmVudCA9IGV2ZW50Ow0KDQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCWJ0bklzTGVmdCA9ICggZXZlbnQud2hpY2ggPT09IDEgKSwNCg0KCQkJLy8gZXZlbnQudGFyZ2V0Lm5vZGVOYW1lIHdvcmtzIGFyb3VuZCBhIGJ1ZyBpbiBJRSA4IHdpdGgNCgkJCS8vIGRpc2FibGVkIGlucHV0cyAoIzc2MjApDQoJCQllbElzQ2FuY2VsID0gKCB0eXBlb2YgdGhpcy5vcHRpb25zLmNhbmNlbCA9PT0gInN0cmluZyIgJiYgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID8NCgkJCQkkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCB0aGlzLm9wdGlvbnMuY2FuY2VsICkubGVuZ3RoIDogZmFsc2UgKTsNCgkJaWYgKCAhYnRuSXNMZWZ0IHx8IGVsSXNDYW5jZWwgfHwgIXRoaXMuX21vdXNlQ2FwdHVyZSggZXZlbnQgKSApIHsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoNCgkJdGhpcy5tb3VzZURlbGF5TWV0ID0gIXRoaXMub3B0aW9ucy5kZWxheTsNCgkJaWYgKCAhdGhpcy5tb3VzZURlbGF5TWV0ICkgew0KCQkJdGhpcy5fbW91c2VEZWxheVRpbWVyID0gc2V0VGltZW91dCggZnVuY3Rpb24oKSB7DQoJCQkJdGhhdC5tb3VzZURlbGF5TWV0ID0gdHJ1ZTsNCgkJCX0sIHRoaXMub3B0aW9ucy5kZWxheSApOw0KCQl9DQoNCgkJaWYgKCB0aGlzLl9tb3VzZURpc3RhbmNlTWV0KCBldmVudCApICYmIHRoaXMuX21vdXNlRGVsYXlNZXQoIGV2ZW50ICkgKSB7DQoJCQl0aGlzLl9tb3VzZVN0YXJ0ZWQgPSAoIHRoaXMuX21vdXNlU3RhcnQoIGV2ZW50ICkgIT09IGZhbHNlICk7DQoJCQlpZiAoICF0aGlzLl9tb3VzZVN0YXJ0ZWQgKSB7DQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQlyZXR1cm4gdHJ1ZTsNCgkJCX0NCgkJfQ0KDQoJCS8vIENsaWNrIGV2ZW50IG1heSBuZXZlciBoYXZlIGZpcmVkIChHZWNrbyAmIE9wZXJhKQ0KCQlpZiAoIHRydWUgPT09ICQuZGF0YSggZXZlbnQudGFyZ2V0LCB0aGlzLndpZGdldE5hbWUgKyAiLnByZXZlbnRDbGlja0V2ZW50IiApICkgew0KCQkJJC5yZW1vdmVEYXRhKCBldmVudC50YXJnZXQsIHRoaXMud2lkZ2V0TmFtZSArICIucHJldmVudENsaWNrRXZlbnQiICk7DQoJCX0NCg0KCQkvLyBUaGVzZSBkZWxlZ2F0ZXMgYXJlIHJlcXVpcmVkIHRvIGtlZXAgY29udGV4dA0KCQl0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSA9IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXJldHVybiB0aGF0Ll9tb3VzZU1vdmUoIGV2ZW50ICk7DQoJCX07DQoJCXRoaXMuX21vdXNlVXBEZWxlZ2F0ZSA9IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXJldHVybiB0aGF0Ll9tb3VzZVVwKCBldmVudCApOw0KCQl9Ow0KDQoJCXRoaXMuZG9jdW1lbnQNCgkJCS5vbiggIm1vdXNlbW92ZS4iICsgdGhpcy53aWRnZXROYW1lLCB0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSApDQoJCQkub24oICJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSApOw0KDQoJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJbW91c2VIYW5kbGVkID0gdHJ1ZTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZU1vdmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkvLyBPbmx5IGNoZWNrIGZvciBtb3VzZXVwcyBvdXRzaWRlIHRoZSBkb2N1bWVudCBpZiB5b3UndmUgbW92ZWQgaW5zaWRlIHRoZSBkb2N1bWVudA0KCQkvLyBhdCBsZWFzdCBvbmNlLiBUaGlzIHByZXZlbnRzIHRoZSBmaXJpbmcgb2YgbW91c2V1cCBpbiB0aGUgY2FzZSBvZiBJRTw5LCB3aGljaCB3aWxsDQoJCS8vIGZpcmUgYSBtb3VzZW1vdmUgZXZlbnQgaWYgY29udGVudCBpcyBwbGFjZWQgdW5kZXIgdGhlIGN1cnNvci4gU2VlICM3Nzc4DQoJCS8vIFN1cHBvcnQ6IElFIDw5DQoJCWlmICggdGhpcy5fbW91c2VNb3ZlZCApIHsNCg0KCQkJLy8gSUUgbW91c2V1cCBjaGVjayAtIG1vdXNldXAgaGFwcGVuZWQgd2hlbiBtb3VzZSB3YXMgb3V0IG9mIHdpbmRvdw0KCQkJaWYgKCAkLnVpLmllICYmICggIWRvY3VtZW50LmRvY3VtZW50TW9kZSB8fCBkb2N1bWVudC5kb2N1bWVudE1vZGUgPCA5ICkgJiYNCgkJCQkJIWV2ZW50LmJ1dHRvbiApIHsNCgkJCQlyZXR1cm4gdGhpcy5fbW91c2VVcCggZXZlbnQgKTsNCg0KCQkJLy8gSWZyYW1lIG1vdXNldXAgY2hlY2sgLSBtb3VzZXVwIG9jY3VycmVkIGluIGFub3RoZXIgZG9jdW1lbnQNCgkJCX0gZWxzZSBpZiAoICFldmVudC53aGljaCApIHsNCg0KCQkJCS8vIFN1cHBvcnQ6IFNhZmFyaSA8PTggLSA5DQoJCQkJLy8gU2FmYXJpIHNldHMgd2hpY2ggdG8gMCBpZiB5b3UgcHJlc3MgYW55IG9mIHRoZSBmb2xsb3dpbmcga2V5cw0KCQkJCS8vIGR1cmluZyBhIGRyYWcgKCMxNDQ2MSkNCgkJCQlpZiAoIGV2ZW50Lm9yaWdpbmFsRXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm9yaWdpbmFsRXZlbnQuY3RybEtleSB8fA0KCQkJCQkJZXZlbnQub3JpZ2luYWxFdmVudC5tZXRhS2V5IHx8IGV2ZW50Lm9yaWdpbmFsRXZlbnQuc2hpZnRLZXkgKSB7DQoJCQkJCXRoaXMuaWdub3JlTWlzc2luZ1doaWNoID0gdHJ1ZTsNCgkJCQl9IGVsc2UgaWYgKCAhdGhpcy5pZ25vcmVNaXNzaW5nV2hpY2ggKSB7DQoJCQkJCXJldHVybiB0aGlzLl9tb3VzZVVwKCBldmVudCApOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCWlmICggZXZlbnQud2hpY2ggfHwgZXZlbnQuYnV0dG9uICkgew0KCQkJdGhpcy5fbW91c2VNb3ZlZCA9IHRydWU7DQoJCX0NCg0KCQlpZiAoIHRoaXMuX21vdXNlU3RhcnRlZCApIHsNCgkJCXRoaXMuX21vdXNlRHJhZyggZXZlbnQgKTsNCgkJCXJldHVybiBldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9DQoNCgkJaWYgKCB0aGlzLl9tb3VzZURpc3RhbmNlTWV0KCBldmVudCApICYmIHRoaXMuX21vdXNlRGVsYXlNZXQoIGV2ZW50ICkgKSB7DQoJCQl0aGlzLl9tb3VzZVN0YXJ0ZWQgPQ0KCQkJCSggdGhpcy5fbW91c2VTdGFydCggdGhpcy5fbW91c2VEb3duRXZlbnQsIGV2ZW50ICkgIT09IGZhbHNlICk7DQoJCQkoIHRoaXMuX21vdXNlU3RhcnRlZCA/IHRoaXMuX21vdXNlRHJhZyggZXZlbnQgKSA6IHRoaXMuX21vdXNlVXAoIGV2ZW50ICkgKTsNCgkJfQ0KDQoJCXJldHVybiAhdGhpcy5fbW91c2VTdGFydGVkOw0KCX0sDQoNCglfbW91c2VVcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzLmRvY3VtZW50DQoJCQkub2ZmKCAibW91c2Vtb3ZlLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlTW92ZURlbGVnYXRlICkNCgkJCS5vZmYoICJtb3VzZXVwLiIgKyB0aGlzLndpZGdldE5hbWUsIHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSApOw0KDQoJCWlmICggdGhpcy5fbW91c2VTdGFydGVkICkgew0KCQkJdGhpcy5fbW91c2VTdGFydGVkID0gZmFsc2U7DQoNCgkJCWlmICggZXZlbnQudGFyZ2V0ID09PSB0aGlzLl9tb3VzZURvd25FdmVudC50YXJnZXQgKSB7DQoJCQkJJC5kYXRhKCBldmVudC50YXJnZXQsIHRoaXMud2lkZ2V0TmFtZSArICIucHJldmVudENsaWNrRXZlbnQiLCB0cnVlICk7DQoJCQl9DQoNCgkJCXRoaXMuX21vdXNlU3RvcCggZXZlbnQgKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5fbW91c2VEZWxheVRpbWVyICkgew0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLl9tb3VzZURlbGF5VGltZXIgKTsNCgkJCWRlbGV0ZSB0aGlzLl9tb3VzZURlbGF5VGltZXI7DQoJCX0NCg0KCQl0aGlzLmlnbm9yZU1pc3NpbmdXaGljaCA9IGZhbHNlOw0KCQltb3VzZUhhbmRsZWQgPSBmYWxzZTsNCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgl9LA0KDQoJX21vdXNlRGlzdGFuY2VNZXQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJcmV0dXJuICggTWF0aC5tYXgoDQoJCQkJTWF0aC5hYnMoIHRoaXMuX21vdXNlRG93bkV2ZW50LnBhZ2VYIC0gZXZlbnQucGFnZVggKSwNCgkJCQlNYXRoLmFicyggdGhpcy5fbW91c2VEb3duRXZlbnQucGFnZVkgLSBldmVudC5wYWdlWSApDQoJCQkpID49IHRoaXMub3B0aW9ucy5kaXN0YW5jZQ0KCQkpOw0KCX0sDQoNCglfbW91c2VEZWxheU1ldDogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkgew0KCQlyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0Ow0KCX0sDQoNCgkvLyBUaGVzZSBhcmUgcGxhY2Vob2xkZXIgbWV0aG9kcywgdG8gYmUgb3ZlcnJpZGVuIGJ5IGV4dGVuZGluZyBwbHVnaW4NCglfbW91c2VTdGFydDogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkge30sDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkge30sDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkge30sDQoJX21vdXNlQ2FwdHVyZTogZnVuY3Rpb24oIC8qIGV2ZW50ICovICkgeyByZXR1cm4gdHJ1ZTsgfQ0KfSApOw0KDQoNCg0KDQovLyAkLnVpLnBsdWdpbiBpcyBkZXByZWNhdGVkLiBVc2UgJC53aWRnZXQoKSBleHRlbnNpb25zIGluc3RlYWQuDQp2YXIgcGx1Z2luID0gJC51aS5wbHVnaW4gPSB7DQoJYWRkOiBmdW5jdGlvbiggbW9kdWxlLCBvcHRpb24sIHNldCApIHsNCgkJdmFyIGksDQoJCQlwcm90byA9ICQudWlbIG1vZHVsZSBdLnByb3RvdHlwZTsNCgkJZm9yICggaSBpbiBzZXQgKSB7DQoJCQlwcm90by5wbHVnaW5zWyBpIF0gPSBwcm90by5wbHVnaW5zWyBpIF0gfHwgW107DQoJCQlwcm90by5wbHVnaW5zWyBpIF0ucHVzaCggWyBvcHRpb24sIHNldFsgaSBdIF0gKTsNCgkJfQ0KCX0sDQoJY2FsbDogZnVuY3Rpb24oIGluc3RhbmNlLCBuYW1lLCBhcmdzLCBhbGxvd0Rpc2Nvbm5lY3RlZCApIHsNCgkJdmFyIGksDQoJCQlzZXQgPSBpbnN0YW5jZS5wbHVnaW5zWyBuYW1lIF07DQoNCgkJaWYgKCAhc2V0ICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCAhYWxsb3dEaXNjb25uZWN0ZWQgJiYgKCAhaW5zdGFuY2UuZWxlbWVudFsgMCBdLnBhcmVudE5vZGUgfHwNCgkJCQlpbnN0YW5jZS5lbGVtZW50WyAwIF0ucGFyZW50Tm9kZS5ub2RlVHlwZSA9PT0gMTEgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWZvciAoIGkgPSAwOyBpIDwgc2V0Lmxlbmd0aDsgaSsrICkgew0KCQkJaWYgKCBpbnN0YW5jZS5vcHRpb25zWyBzZXRbIGkgXVsgMCBdIF0gKSB7DQoJCQkJc2V0WyBpIF1bIDEgXS5hcHBseSggaW5zdGFuY2UuZWxlbWVudCwgYXJncyApOw0KCQkJfQ0KCQl9DQoJfQ0KfTsNCg0KDQoNCnZhciBzYWZlQmx1ciA9ICQudWkuc2FmZUJsdXIgPSBmdW5jdGlvbiggZWxlbWVudCApIHsNCg0KCS8vIFN1cHBvcnQ6IElFOSAtIDEwIG9ubHkNCgkvLyBJZiB0aGUgPGJvZHk+IGlzIGJsdXJyZWQsIElFIHdpbGwgc3dpdGNoIHdpbmRvd3MsIHNlZSAjOTQyMA0KCWlmICggZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgIT09ICJib2R5IiApIHsNCgkJJCggZWxlbWVudCApLnRyaWdnZXIoICJibHVyIiApOw0KCX0NCn07DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRHJhZ2dhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEcmFnZ2FibGUNCi8vPj5ncm91cDogSW50ZXJhY3Rpb25zDQovLz4+ZGVzY3JpcHRpb246IEVuYWJsZXMgZHJhZ2dpbmcgZnVuY3Rpb25hbGl0eSBmb3IgYW55IGVsZW1lbnQuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZHJhZ2dhYmxlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RyYWdnYWJsZS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9kcmFnZ2FibGUuY3NzDQoNCg0KDQokLndpZGdldCggInVpLmRyYWdnYWJsZSIsICQudWkubW91c2UsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCgl3aWRnZXRFdmVudFByZWZpeDogImRyYWciLA0KCW9wdGlvbnM6IHsNCgkJYWRkQ2xhc3NlczogdHJ1ZSwNCgkJYXBwZW5kVG86ICJwYXJlbnQiLA0KCQlheGlzOiBmYWxzZSwNCgkJY29ubmVjdFRvU29ydGFibGU6IGZhbHNlLA0KCQljb250YWlubWVudDogZmFsc2UsDQoJCWN1cnNvcjogImF1dG8iLA0KCQljdXJzb3JBdDogZmFsc2UsDQoJCWdyaWQ6IGZhbHNlLA0KCQloYW5kbGU6IGZhbHNlLA0KCQloZWxwZXI6ICJvcmlnaW5hbCIsDQoJCWlmcmFtZUZpeDogZmFsc2UsDQoJCW9wYWNpdHk6IGZhbHNlLA0KCQlyZWZyZXNoUG9zaXRpb25zOiBmYWxzZSwNCgkJcmV2ZXJ0OiBmYWxzZSwNCgkJcmV2ZXJ0RHVyYXRpb246IDUwMCwNCgkJc2NvcGU6ICJkZWZhdWx0IiwNCgkJc2Nyb2xsOiB0cnVlLA0KCQlzY3JvbGxTZW5zaXRpdml0eTogMjAsDQoJCXNjcm9sbFNwZWVkOiAyMCwNCgkJc25hcDogZmFsc2UsDQoJCXNuYXBNb2RlOiAiYm90aCIsDQoJCXNuYXBUb2xlcmFuY2U6IDIwLA0KCQlzdGFjazogZmFsc2UsDQoJCXpJbmRleDogZmFsc2UsDQoNCgkJLy8gQ2FsbGJhY2tzDQoJCWRyYWc6IG51bGwsDQoJCXN0YXJ0OiBudWxsLA0KCQlzdG9wOiBudWxsDQoJfSwNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5oZWxwZXIgPT09ICJvcmlnaW5hbCIgKSB7DQoJCQl0aGlzLl9zZXRQb3NpdGlvblJlbGF0aXZlKCk7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMuYWRkQ2xhc3NlcyApIHsNCgkJCXRoaXMuX2FkZENsYXNzKCAidWktZHJhZ2dhYmxlIiApOw0KCQl9DQoJCXRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpOw0KDQoJCXRoaXMuX21vdXNlSW5pdCgpOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCgkJaWYgKCBrZXkgPT09ICJoYW5kbGUiICkgew0KCQkJdGhpcy5fcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lKCk7DQoJCQl0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKTsNCgkJfQ0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCWlmICggKCB0aGlzLmhlbHBlciB8fCB0aGlzLmVsZW1lbnQgKS5pcyggIi51aS1kcmFnZ2FibGUtZHJhZ2dpbmciICkgKSB7DQoJCQl0aGlzLmRlc3Ryb3lPbkNsZWFyID0gdHJ1ZTsNCgkJCXJldHVybjsNCgkJfQ0KCQl0aGlzLl9yZW1vdmVIYW5kbGVDbGFzc05hbWUoKTsNCgkJdGhpcy5fbW91c2VEZXN0cm95KCk7DQoJfSwNCg0KCV9tb3VzZUNhcHR1cmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIG8gPSB0aGlzLm9wdGlvbnM7DQoNCgkJLy8gQW1vbmcgb3RoZXJzLCBwcmV2ZW50IGEgZHJhZyBvbiBhIHJlc2l6YWJsZS1oYW5kbGUNCgkJaWYgKCB0aGlzLmhlbHBlciB8fCBvLmRpc2FibGVkIHx8DQoJCQkJJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1yZXNpemFibGUtaGFuZGxlIiApLmxlbmd0aCA+IDAgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQkvL1F1aXQgaWYgd2UncmUgbm90IG9uIGEgdmFsaWQgaGFuZGxlDQoJCXRoaXMuaGFuZGxlID0gdGhpcy5fZ2V0SGFuZGxlKCBldmVudCApOw0KCQlpZiAoICF0aGlzLmhhbmRsZSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuX2JsdXJBY3RpdmVFbGVtZW50KCBldmVudCApOw0KDQoJCXRoaXMuX2Jsb2NrRnJhbWVzKCBvLmlmcmFtZUZpeCA9PT0gdHJ1ZSA/ICJpZnJhbWUiIDogby5pZnJhbWVGaXggKTsNCg0KCQlyZXR1cm4gdHJ1ZTsNCg0KCX0sDQoNCglfYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHsNCgkJdGhpcy5pZnJhbWVCbG9ja3MgPSB0aGlzLmRvY3VtZW50LmZpbmQoIHNlbGVjdG9yICkubWFwKCBmdW5jdGlvbigpIHsNCgkJCXZhciBpZnJhbWUgPSAkKCB0aGlzICk7DQoNCgkJCXJldHVybiAkKCAiPGRpdj4iICkNCgkJCQkuY3NzKCAicG9zaXRpb24iLCAiYWJzb2x1dGUiICkNCgkJCQkuYXBwZW5kVG8oIGlmcmFtZS5wYXJlbnQoKSApDQoJCQkJLm91dGVyV2lkdGgoIGlmcmFtZS5vdXRlcldpZHRoKCkgKQ0KCQkJCS5vdXRlckhlaWdodCggaWZyYW1lLm91dGVySGVpZ2h0KCkgKQ0KCQkJCS5vZmZzZXQoIGlmcmFtZS5vZmZzZXQoKSApWyAwIF07DQoJCX0gKTsNCgl9LA0KDQoJX3VuYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMuaWZyYW1lQmxvY2tzICkgew0KCQkJdGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCk7DQoJCQlkZWxldGUgdGhpcy5pZnJhbWVCbG9ja3M7DQoJCX0NCgl9LA0KDQoJX2JsdXJBY3RpdmVFbGVtZW50OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBhY3RpdmVFbGVtZW50ID0gJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICksDQoJCQl0YXJnZXQgPSAkKCBldmVudC50YXJnZXQgKTsNCg0KCQkvLyBEb24ndCBibHVyIGlmIHRoZSBldmVudCBvY2N1cnJlZCBvbiBhbiBlbGVtZW50IHRoYXQgaXMgd2l0aGluDQoJCS8vIHRoZSBjdXJyZW50bHkgZm9jdXNlZCBlbGVtZW50DQoJCS8vIFNlZSAjMTA1MjcsICMxMjQ3Mg0KCQlpZiAoIHRhcmdldC5jbG9zZXN0KCBhY3RpdmVFbGVtZW50ICkubGVuZ3RoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gQmx1ciBhbnkgZWxlbWVudCB0aGF0IGN1cnJlbnRseSBoYXMgZm9jdXMsIHNlZSAjNDI2MQ0KCQkkLnVpLnNhZmVCbHVyKCBhY3RpdmVFbGVtZW50ICk7DQoJfSwNCg0KCV9tb3VzZVN0YXJ0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJdmFyIG8gPSB0aGlzLm9wdGlvbnM7DQoNCgkJLy9DcmVhdGUgYW5kIGFwcGVuZCB0aGUgdmlzaWJsZSBoZWxwZXINCgkJdGhpcy5oZWxwZXIgPSB0aGlzLl9jcmVhdGVIZWxwZXIoIGV2ZW50ICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuaGVscGVyLCAidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiApOw0KDQoJCS8vQ2FjaGUgdGhlIGhlbHBlciBzaXplDQoJCXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsNCg0KCQkvL0lmIGRkbWFuYWdlciBpcyB1c2VkIGZvciBkcm9wcGFibGVzLCBzZXQgdGhlIGdsb2JhbCBkcmFnZ2FibGUNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLmN1cnJlbnQgPSB0aGlzOw0KCQl9DQoNCgkJLyoNCgkJICogLSBQb3NpdGlvbiBnZW5lcmF0aW9uIC0NCgkJICogVGhpcyBibG9jayBnZW5lcmF0ZXMgZXZlcnl0aGluZyBwb3NpdGlvbiByZWxhdGVkIC0gaXQncyB0aGUgY29yZSBvZiBkcmFnZ2FibGVzLg0KCQkgKi8NCg0KCQkvL0NhY2hlIHRoZSBtYXJnaW5zIG9mIHRoZSBvcmlnaW5hbCBlbGVtZW50DQoJCXRoaXMuX2NhY2hlTWFyZ2lucygpOw0KDQoJCS8vU3RvcmUgdGhlIGhlbHBlcidzIGNzcyBwb3NpdGlvbg0KCQl0aGlzLmNzc1Bvc2l0aW9uID0gdGhpcy5oZWxwZXIuY3NzKCAicG9zaXRpb24iICk7DQoJCXRoaXMuc2Nyb2xsUGFyZW50ID0gdGhpcy5oZWxwZXIuc2Nyb2xsUGFyZW50KCB0cnVlICk7DQoJCXRoaXMub2Zmc2V0UGFyZW50ID0gdGhpcy5oZWxwZXIub2Zmc2V0UGFyZW50KCk7DQoJCXRoaXMuaGFzRml4ZWRBbmNlc3RvciA9IHRoaXMuaGVscGVyLnBhcmVudHMoKS5maWx0ZXIoIGZ1bmN0aW9uKCkgew0KCQkJCXJldHVybiAkKCB0aGlzICkuY3NzKCAicG9zaXRpb24iICkgPT09ICJmaXhlZCI7DQoJCQl9ICkubGVuZ3RoID4gMDsNCg0KCQkvL1RoZSBlbGVtZW50J3MgYWJzb2x1dGUgcG9zaXRpb24gb24gdGhlIHBhZ2UgbWludXMgbWFyZ2lucw0KCQl0aGlzLnBvc2l0aW9uQWJzID0gdGhpcy5lbGVtZW50Lm9mZnNldCgpOw0KCQl0aGlzLl9yZWZyZXNoT2Zmc2V0cyggZXZlbnQgKTsNCg0KCQkvL0dlbmVyYXRlIHRoZSBvcmlnaW5hbCBwb3NpdGlvbg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLnBvc2l0aW9uID0gdGhpcy5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQsIGZhbHNlICk7DQoJCXRoaXMub3JpZ2luYWxQYWdlWCA9IGV2ZW50LnBhZ2VYOw0KCQl0aGlzLm9yaWdpbmFsUGFnZVkgPSBldmVudC5wYWdlWTsNCg0KCQkvL0FkanVzdCB0aGUgbW91c2Ugb2Zmc2V0IHJlbGF0aXZlIHRvIHRoZSBoZWxwZXIgaWYgImN1cnNvckF0IiBpcyBzdXBwbGllZA0KCQkoIG8uY3Vyc29yQXQgJiYgdGhpcy5fYWRqdXN0T2Zmc2V0RnJvbUhlbHBlciggby5jdXJzb3JBdCApICk7DQoNCgkJLy9TZXQgYSBjb250YWlubWVudCBpZiBnaXZlbiBpbiB0aGUgb3B0aW9ucw0KCQl0aGlzLl9zZXRDb250YWlubWVudCgpOw0KDQoJCS8vVHJpZ2dlciBldmVudCArIGNhbGxiYWNrcw0KCQlpZiAoIHRoaXMuX3RyaWdnZXIoICJzdGFydCIsIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJdGhpcy5fY2xlYXIoKTsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCS8vUmVjYWNoZSB0aGUgaGVscGVyIHNpemUNCgkJdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpOw0KDQoJCS8vUHJlcGFyZSB0aGUgZHJvcHBhYmxlIG9mZnNldHMNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciAmJiAhby5kcm9wQmVoYXZpb3VyICkgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQkvLyBFeGVjdXRlIHRoZSBkcmFnIG9uY2UgLSB0aGlzIGNhdXNlcyB0aGUgaGVscGVyIG5vdCB0byBiZSB2aXNpYmxlIGJlZm9yZSBnZXR0aW5nIGl0cw0KCQkvLyBjb3JyZWN0IHBvc2l0aW9uDQoJCXRoaXMuX21vdXNlRHJhZyggZXZlbnQsIHRydWUgKTsNCg0KCQkvLyBJZiB0aGUgZGRtYW5hZ2VyIGlzIHVzZWQgZm9yIGRyb3BwYWJsZXMsIGluZm9ybSB0aGUgbWFuYWdlciB0aGF0IGRyYWdnaW5nIGhhcyBzdGFydGVkDQoJCS8vIChzZWUgIzUwMDMpDQoJCWlmICggJC51aS5kZG1hbmFnZXIgKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5kcmFnU3RhcnQoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQlyZXR1cm4gdHJ1ZTsNCgl9LA0KDQoJX3JlZnJlc2hPZmZzZXRzOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMub2Zmc2V0ID0gew0KCQkJdG9wOiB0aGlzLnBvc2l0aW9uQWJzLnRvcCAtIHRoaXMubWFyZ2lucy50b3AsDQoJCQlsZWZ0OiB0aGlzLnBvc2l0aW9uQWJzLmxlZnQgLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCXNjcm9sbDogZmFsc2UsDQoJCQlwYXJlbnQ6IHRoaXMuX2dldFBhcmVudE9mZnNldCgpLA0KCQkJcmVsYXRpdmU6IHRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCkNCgkJfTsNCg0KCQl0aGlzLm9mZnNldC5jbGljayA9IHsNCgkJCWxlZnQ6IGV2ZW50LnBhZ2VYIC0gdGhpcy5vZmZzZXQubGVmdCwNCgkJCXRvcDogZXZlbnQucGFnZVkgLSB0aGlzLm9mZnNldC50b3ANCgkJfTsNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIGV2ZW50LCBub1Byb3BhZ2F0aW9uICkgew0KDQoJCS8vIHJlc2V0IGFueSBuZWNlc3NhcnkgY2FjaGVkIHByb3BlcnRpZXMgKHNlZSAjNTAwOSkNCgkJaWYgKCB0aGlzLmhhc0ZpeGVkQW5jZXN0b3IgKSB7DQoJCQl0aGlzLm9mZnNldC5wYXJlbnQgPSB0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKTsNCgkJfQ0KDQoJCS8vQ29tcHV0ZSB0aGUgaGVscGVycyBwb3NpdGlvbg0KCQl0aGlzLnBvc2l0aW9uID0gdGhpcy5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQsIHRydWUgKTsNCgkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoNCgkJLy9DYWxsIHBsdWdpbnMgYW5kIGNhbGxiYWNrcyBhbmQgdXNlIHRoZSByZXN1bHRpbmcgcG9zaXRpb24gaWYgc29tZXRoaW5nIGlzIHJldHVybmVkDQoJCWlmICggIW5vUHJvcGFnYXRpb24gKSB7DQoJCQl2YXIgdWkgPSB0aGlzLl91aUhhc2goKTsNCgkJCWlmICggdGhpcy5fdHJpZ2dlciggImRyYWciLCBldmVudCwgdWkgKSA9PT0gZmFsc2UgKSB7DQoJCQkJdGhpcy5fbW91c2VVcCggbmV3ICQuRXZlbnQoICJtb3VzZXVwIiwgZXZlbnQgKSApOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXRoaXMucG9zaXRpb24gPSB1aS5wb3NpdGlvbjsNCgkJfQ0KDQoJCXRoaXMuaGVscGVyWyAwIF0uc3R5bGUubGVmdCA9IHRoaXMucG9zaXRpb24ubGVmdCArICJweCI7DQoJCXRoaXMuaGVscGVyWyAwIF0uc3R5bGUudG9wID0gdGhpcy5wb3NpdGlvbi50b3AgKyAicHgiOw0KDQoJCWlmICggJC51aS5kZG1hbmFnZXIgKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5kcmFnKCB0aGlzLCBldmVudCApOw0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfbW91c2VTdG9wOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJLy9JZiB3ZSBhcmUgdXNpbmcgZHJvcHBhYmxlcywgaW5mb3JtIHRoZSBtYW5hZ2VyIGFib3V0IHRoZSBkcm9wDQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCWRyb3BwZWQgPSBmYWxzZTsNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciAmJiAhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXIgKSB7DQoJCQlkcm9wcGVkID0gJC51aS5kZG1hbmFnZXIuZHJvcCggdGhpcywgZXZlbnQgKTsNCgkJfQ0KDQoJCS8vaWYgYSBkcm9wIGNvbWVzIGZyb20gb3V0c2lkZSAoYSBzb3J0YWJsZSkNCgkJaWYgKCB0aGlzLmRyb3BwZWQgKSB7DQoJCQlkcm9wcGVkID0gdGhpcy5kcm9wcGVkOw0KCQkJdGhpcy5kcm9wcGVkID0gZmFsc2U7DQoJCX0NCg0KCQlpZiAoICggdGhpcy5vcHRpb25zLnJldmVydCA9PT0gImludmFsaWQiICYmICFkcm9wcGVkICkgfHwNCgkJCQkoIHRoaXMub3B0aW9ucy5yZXZlcnQgPT09ICJ2YWxpZCIgJiYgZHJvcHBlZCApIHx8DQoJCQkJdGhpcy5vcHRpb25zLnJldmVydCA9PT0gdHJ1ZSB8fCAoICQuaXNGdW5jdGlvbiggdGhpcy5vcHRpb25zLnJldmVydCApICYmDQoJCQkJdGhpcy5vcHRpb25zLnJldmVydC5jYWxsKCB0aGlzLmVsZW1lbnQsIGRyb3BwZWQgKSApDQoJCSkgew0KCQkJJCggdGhpcy5oZWxwZXIgKS5hbmltYXRlKA0KCQkJCXRoaXMub3JpZ2luYWxQb3NpdGlvbiwNCgkJCQlwYXJzZUludCggdGhpcy5vcHRpb25zLnJldmVydER1cmF0aW9uLCAxMCApLA0KCQkJCWZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIHRoYXQuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQgKSAhPT0gZmFsc2UgKSB7DQoJCQkJCQl0aGF0Ll9jbGVhcigpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJKTsNCgkJfSBlbHNlIHsNCgkJCWlmICggdGhpcy5fdHJpZ2dlciggInN0b3AiLCBldmVudCApICE9PSBmYWxzZSApIHsNCgkJCQl0aGlzLl9jbGVhcigpOw0KCQkJfQ0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfbW91c2VVcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzLl91bmJsb2NrRnJhbWVzKCk7DQoNCgkJLy8gSWYgdGhlIGRkbWFuYWdlciBpcyB1c2VkIGZvciBkcm9wcGFibGVzLCBpbmZvcm0gdGhlIG1hbmFnZXIgdGhhdCBkcmFnZ2luZyBoYXMgc3RvcHBlZA0KCQkvLyAoc2VlICM1MDAzKQ0KCQlpZiAoICQudWkuZGRtYW5hZ2VyICkgew0KCQkJJC51aS5kZG1hbmFnZXIuZHJhZ1N0b3AoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQkvLyBPbmx5IG5lZWQgdG8gZm9jdXMgaWYgdGhlIGV2ZW50IG9jY3VycmVkIG9uIHRoZSBkcmFnZ2FibGUgaXRzZWxmLCBzZWUgIzEwNTI3DQoJCWlmICggdGhpcy5oYW5kbGVFbGVtZW50LmlzKCBldmVudC50YXJnZXQgKSApIHsNCg0KCQkJLy8gVGhlIGludGVyYWN0aW9uIGlzIG92ZXI7IHdoZXRoZXIgb3Igbm90IHRoZSBjbGljayByZXN1bHRlZCBpbiBhIGRyYWcsDQoJCQkvLyBmb2N1cyB0aGUgZWxlbWVudA0KCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJmb2N1cyIgKTsNCgkJfQ0KDQoJCXJldHVybiAkLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VVcC5jYWxsKCB0aGlzLCBldmVudCApOw0KCX0sDQoNCgljYW5jZWw6IGZ1bmN0aW9uKCkgew0KDQoJCWlmICggdGhpcy5oZWxwZXIuaXMoICIudWktZHJhZ2dhYmxlLWRyYWdnaW5nIiApICkgew0KCQkJdGhpcy5fbW91c2VVcCggbmV3ICQuRXZlbnQoICJtb3VzZXVwIiwgeyB0YXJnZXQ6IHRoaXMuZWxlbWVudFsgMCBdIH0gKSApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5fY2xlYXIoKTsNCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KDQoJfSwNCg0KCV9nZXRIYW5kbGU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJcmV0dXJuIHRoaXMub3B0aW9ucy5oYW5kbGUgPw0KCQkJISEkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCB0aGlzLmVsZW1lbnQuZmluZCggdGhpcy5vcHRpb25zLmhhbmRsZSApICkubGVuZ3RoIDoNCgkJCXRydWU7DQoJfSwNCg0KCV9zZXRIYW5kbGVDbGFzc05hbWU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmhhbmRsZUVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuaGFuZGxlID8NCgkJCXRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaGFuZGxlICkgOiB0aGlzLmVsZW1lbnQ7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmhhbmRsZUVsZW1lbnQsICJ1aS1kcmFnZ2FibGUtaGFuZGxlIiApOw0KCX0sDQoNCglfcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuaGFuZGxlRWxlbWVudCwgInVpLWRyYWdnYWJsZS1oYW5kbGUiICk7DQoJfSwNCg0KCV9jcmVhdGVIZWxwZXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQl2YXIgbyA9IHRoaXMub3B0aW9ucywNCgkJCWhlbHBlcklzRnVuY3Rpb24gPSAkLmlzRnVuY3Rpb24oIG8uaGVscGVyICksDQoJCQloZWxwZXIgPSBoZWxwZXJJc0Z1bmN0aW9uID8NCgkJCQkkKCBvLmhlbHBlci5hcHBseSggdGhpcy5lbGVtZW50WyAwIF0sIFsgZXZlbnQgXSApICkgOg0KCQkJCSggby5oZWxwZXIgPT09ICJjbG9uZSIgPw0KCQkJCQl0aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVBdHRyKCAiaWQiICkgOg0KCQkJCQl0aGlzLmVsZW1lbnQgKTsNCg0KCQlpZiAoICFoZWxwZXIucGFyZW50cyggImJvZHkiICkubGVuZ3RoICkgew0KCQkJaGVscGVyLmFwcGVuZFRvKCAoIG8uYXBwZW5kVG8gPT09ICJwYXJlbnQiID8NCgkJCQl0aGlzLmVsZW1lbnRbIDAgXS5wYXJlbnROb2RlIDoNCgkJCQlvLmFwcGVuZFRvICkgKTsNCgkJfQ0KDQoJCS8vIEh0dHA6Ly9idWdzLmpxdWVyeXVpLmNvbS90aWNrZXQvOTQ0Ng0KCQkvLyBhIGhlbHBlciBmdW5jdGlvbiBjYW4gcmV0dXJuIHRoZSBvcmlnaW5hbCBlbGVtZW50DQoJCS8vIHdoaWNoIHdvdWxkbid0IGhhdmUgYmVlbiBzZXQgdG8gcmVsYXRpdmUgaW4gX2NyZWF0ZQ0KCQlpZiAoIGhlbHBlcklzRnVuY3Rpb24gJiYgaGVscGVyWyAwIF0gPT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJdGhpcy5fc2V0UG9zaXRpb25SZWxhdGl2ZSgpOw0KCQl9DQoNCgkJaWYgKCBoZWxwZXJbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gJiYNCgkJCQkhKCAvKGZpeGVkfGFic29sdXRlKS8gKS50ZXN0KCBoZWxwZXIuY3NzKCAicG9zaXRpb24iICkgKSApIHsNCgkJCWhlbHBlci5jc3MoICJwb3NpdGlvbiIsICJhYnNvbHV0ZSIgKTsNCgkJfQ0KDQoJCXJldHVybiBoZWxwZXI7DQoNCgl9LA0KDQoJX3NldFBvc2l0aW9uUmVsYXRpdmU6IGZ1bmN0aW9uKCkgew0KCQlpZiAoICEoIC9eKD86cnxhfGYpLyApLnRlc3QoIHRoaXMuZWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUucG9zaXRpb24gPSAicmVsYXRpdmUiOw0KCQl9DQoJfSwNCg0KCV9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOiBmdW5jdGlvbiggb2JqICkgew0KCQlpZiAoIHR5cGVvZiBvYmogPT09ICJzdHJpbmciICkgew0KCQkJb2JqID0gb2JqLnNwbGl0KCAiICIgKTsNCgkJfQ0KCQlpZiAoICQuaXNBcnJheSggb2JqICkgKSB7DQoJCQlvYmogPSB7IGxlZnQ6ICtvYmpbIDAgXSwgdG9wOiArb2JqWyAxIF0gfHwgMCB9Ow0KCQl9DQoJCWlmICggImxlZnQiIGluIG9iaiApIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPSBvYmoubGVmdCArIHRoaXMubWFyZ2lucy5sZWZ0Ow0KCQl9DQoJCWlmICggInJpZ2h0IiBpbiBvYmogKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay5sZWZ0ID0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAtIG9iai5yaWdodCArIHRoaXMubWFyZ2lucy5sZWZ0Ow0KCQl9DQoJCWlmICggInRvcCIgaW4gb2JqICkgew0KCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wID0gb2JqLnRvcCArIHRoaXMubWFyZ2lucy50b3A7DQoJCX0NCgkJaWYgKCAiYm90dG9tIiBpbiBvYmogKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay50b3AgPSB0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAtIG9iai5ib3R0b20gKyB0aGlzLm1hcmdpbnMudG9wOw0KCQl9DQoJfSwNCg0KCV9pc1Jvb3ROb2RlOiBmdW5jdGlvbiggZWxlbWVudCApIHsNCgkJcmV0dXJuICggLyhodG1sfGJvZHkpL2kgKS50ZXN0KCBlbGVtZW50LnRhZ05hbWUgKSB8fCBlbGVtZW50ID09PSB0aGlzLmRvY3VtZW50WyAwIF07DQoJfSwNCg0KCV9nZXRQYXJlbnRPZmZzZXQ6IGZ1bmN0aW9uKCkgew0KDQoJCS8vR2V0IHRoZSBvZmZzZXRQYXJlbnQgYW5kIGNhY2hlIGl0cyBwb3NpdGlvbg0KCQl2YXIgcG8gPSB0aGlzLm9mZnNldFBhcmVudC5vZmZzZXQoKSwNCgkJCWRvY3VtZW50ID0gdGhpcy5kb2N1bWVudFsgMCBdOw0KDQoJCS8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2Ugd2hlcmUgd2UgbmVlZCB0byBtb2RpZnkgYSBvZmZzZXQgY2FsY3VsYXRlZCBvbiBzdGFydCwgc2luY2UgdGhlDQoJCS8vIGZvbGxvd2luZyBoYXBwZW5lZDoNCgkJLy8gMS4gVGhlIHBvc2l0aW9uIG9mIHRoZSBoZWxwZXIgaXMgYWJzb2x1dGUsIHNvIGl0J3MgcG9zaXRpb24gaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUNCgkJLy8gbmV4dCBwb3NpdGlvbmVkIHBhcmVudA0KCQkvLyAyLiBUaGUgYWN0dWFsIG9mZnNldCBwYXJlbnQgaXMgYSBjaGlsZCBvZiB0aGUgc2Nyb2xsIHBhcmVudCwgYW5kIHRoZSBzY3JvbGwgcGFyZW50IGlzbid0DQoJCS8vIHRoZSBkb2N1bWVudCwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgc2Nyb2xsIGlzIGluY2x1ZGVkIGluIHRoZSBpbml0aWFsIGNhbGN1bGF0aW9uIG9mIHRoZQ0KCQkvLyBvZmZzZXQgb2YgdGhlIHBhcmVudCwgYW5kIG5ldmVyIHJlY2FsY3VsYXRlZCB1cG9uIGRyYWcNCgkJaWYgKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiYWJzb2x1dGUiICYmIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gIT09IGRvY3VtZW50ICYmDQoJCQkJJC5jb250YWlucyggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSwgdGhpcy5vZmZzZXRQYXJlbnRbIDAgXSApICkgew0KCQkJcG8ubGVmdCArPSB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk7DQoJCQlwby50b3AgKz0gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk7DQoJCX0NCg0KCQlpZiAoIHRoaXMuX2lzUm9vdE5vZGUoIHRoaXMub2Zmc2V0UGFyZW50WyAwIF0gKSApIHsNCgkJCXBvID0geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6IHBvLnRvcCArICggcGFyc2VJbnQoIHRoaXMub2Zmc2V0UGFyZW50LmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSwNCgkJCWxlZnQ6IHBvLmxlZnQgKyAoIHBhcnNlSW50KCB0aGlzLm9mZnNldFBhcmVudC5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApDQoJCX07DQoNCgl9LA0KDQoJX2dldFJlbGF0aXZlT2Zmc2V0OiBmdW5jdGlvbigpIHsNCgkJaWYgKCB0aGlzLmNzc1Bvc2l0aW9uICE9PSAicmVsYXRpdmUiICkgew0KCQkJcmV0dXJuIHsgdG9wOiAwLCBsZWZ0OiAwIH07DQoJCX0NCg0KCQl2YXIgcCA9IHRoaXMuZWxlbWVudC5wb3NpdGlvbigpLA0KCQkJc2Nyb2xsSXNSb290Tm9kZSA9IHRoaXMuX2lzUm9vdE5vZGUoIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gKTsNCg0KCQlyZXR1cm4gew0KCQkJdG9wOiBwLnRvcCAtICggcGFyc2VJbnQoIHRoaXMuaGVscGVyLmNzcyggInRvcCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCSggIXNjcm9sbElzUm9vdE5vZGUgPyB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSA6IDAgKSwNCgkJCWxlZnQ6IHAubGVmdCAtICggcGFyc2VJbnQoIHRoaXMuaGVscGVyLmNzcyggImxlZnQiICksIDEwICkgfHwgMCApICsNCgkJCQkoICFzY3JvbGxJc1Jvb3ROb2RlID8gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpIDogMCApDQoJCX07DQoNCgl9LA0KDQoJX2NhY2hlTWFyZ2luczogZnVuY3Rpb24oKSB7DQoJCXRoaXMubWFyZ2lucyA9IHsNCgkJCWxlZnQ6ICggcGFyc2VJbnQoIHRoaXMuZWxlbWVudC5jc3MoICJtYXJnaW5MZWZ0IiApLCAxMCApIHx8IDAgKSwNCgkJCXRvcDogKCBwYXJzZUludCggdGhpcy5lbGVtZW50LmNzcyggIm1hcmdpblRvcCIgKSwgMTAgKSB8fCAwICksDQoJCQlyaWdodDogKCBwYXJzZUludCggdGhpcy5lbGVtZW50LmNzcyggIm1hcmdpblJpZ2h0IiApLCAxMCApIHx8IDAgKSwNCgkJCWJvdHRvbTogKCBwYXJzZUludCggdGhpcy5lbGVtZW50LmNzcyggIm1hcmdpbkJvdHRvbSIgKSwgMTAgKSB8fCAwICkNCgkJfTsNCgl9LA0KDQoJX2NhY2hlSGVscGVyUHJvcG9ydGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmhlbHBlclByb3BvcnRpb25zID0gew0KCQkJd2lkdGg6IHRoaXMuaGVscGVyLm91dGVyV2lkdGgoKSwNCgkJCWhlaWdodDogdGhpcy5oZWxwZXIub3V0ZXJIZWlnaHQoKQ0KCQl9Ow0KCX0sDQoNCglfc2V0Q29udGFpbm1lbnQ6IGZ1bmN0aW9uKCkgew0KDQoJCXZhciBpc1VzZXJTY3JvbGxhYmxlLCBjLCBjZSwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlkb2N1bWVudCA9IHRoaXMuZG9jdW1lbnRbIDAgXTsNCg0KCQl0aGlzLnJlbGF0aXZlQ29udGFpbmVyID0gbnVsbDsNCg0KCQlpZiAoICFvLmNvbnRhaW5tZW50ICkgew0KCQkJdGhpcy5jb250YWlubWVudCA9IG51bGw7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIG8uY29udGFpbm1lbnQgPT09ICJ3aW5kb3ciICkgew0KCQkJdGhpcy5jb250YWlubWVudCA9IFsNCgkJCQkkKCB3aW5kb3cgKS5zY3JvbGxMZWZ0KCkgLSB0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0gdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsDQoJCQkJJCggd2luZG93ICkuc2Nyb2xsVG9wKCkgLSB0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AgLSB0aGlzLm9mZnNldC5wYXJlbnQudG9wLA0KCQkJCSQoIHdpbmRvdyApLnNjcm9sbExlZnQoKSArICQoIHdpbmRvdyApLndpZHRoKCkgLQ0KCQkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0gdGhpcy5tYXJnaW5zLmxlZnQsDQoJCQkJJCggd2luZG93ICkuc2Nyb2xsVG9wKCkgKw0KCQkJCQkoICQoIHdpbmRvdyApLmhlaWdodCgpIHx8IGRvY3VtZW50LmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQgKSAtDQoJCQkJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC0gdGhpcy5tYXJnaW5zLnRvcA0KCQkJXTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICggby5jb250YWlubWVudCA9PT0gImRvY3VtZW50IiApIHsNCgkJCXRoaXMuY29udGFpbm1lbnQgPSBbDQoJCQkJMCwNCgkJCQkwLA0KCQkJCSQoIGRvY3VtZW50ICkud2lkdGgoKSAtIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCQkoICQoIGRvY3VtZW50ICkuaGVpZ2h0KCkgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCApIC0NCgkJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLSB0aGlzLm1hcmdpbnMudG9wDQoJCQldOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBvLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yID09PSBBcnJheSApIHsNCgkJCXRoaXMuY29udGFpbm1lbnQgPSBvLmNvbnRhaW5tZW50Ow0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBvLmNvbnRhaW5tZW50ID09PSAicGFyZW50IiApIHsNCgkJCW8uY29udGFpbm1lbnQgPSB0aGlzLmhlbHBlclsgMCBdLnBhcmVudE5vZGU7DQoJCX0NCg0KCQljID0gJCggby5jb250YWlubWVudCApOw0KCQljZSA9IGNbIDAgXTsNCg0KCQlpZiAoICFjZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlzVXNlclNjcm9sbGFibGUgPSAvKHNjcm9sbHxhdXRvKS8udGVzdCggYy5jc3MoICJvdmVyZmxvdyIgKSApOw0KDQoJCXRoaXMuY29udGFpbm1lbnQgPSBbDQoJCQkoIHBhcnNlSW50KCBjLmNzcyggImJvcmRlckxlZnRXaWR0aCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCSggcGFyc2VJbnQoIGMuY3NzKCAicGFkZGluZ0xlZnQiICksIDEwICkgfHwgMCApLA0KCQkJKCBwYXJzZUludCggYy5jc3MoICJib3JkZXJUb3BXaWR0aCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCSggcGFyc2VJbnQoIGMuY3NzKCAicGFkZGluZ1RvcCIgKSwgMTAgKSB8fCAwICksDQoJCQkoIGlzVXNlclNjcm9sbGFibGUgPyBNYXRoLm1heCggY2Uuc2Nyb2xsV2lkdGgsIGNlLm9mZnNldFdpZHRoICkgOiBjZS5vZmZzZXRXaWR0aCApIC0NCgkJCQkoIHBhcnNlSW50KCBjLmNzcyggImJvcmRlclJpZ2h0V2lkdGgiICksIDEwICkgfHwgMCApIC0NCgkJCQkoIHBhcnNlSW50KCBjLmNzcyggInBhZGRpbmdSaWdodCIgKSwgMTAgKSB8fCAwICkgLQ0KCQkJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLQ0KCQkJCXRoaXMubWFyZ2lucy5sZWZ0IC0NCgkJCQl0aGlzLm1hcmdpbnMucmlnaHQsDQoJCQkoIGlzVXNlclNjcm9sbGFibGUgPyBNYXRoLm1heCggY2Uuc2Nyb2xsSGVpZ2h0LCBjZS5vZmZzZXRIZWlnaHQgKSA6IGNlLm9mZnNldEhlaWdodCApIC0NCgkJCQkoIHBhcnNlSW50KCBjLmNzcyggImJvcmRlckJvdHRvbVdpZHRoIiApLCAxMCApIHx8IDAgKSAtDQoJCQkJKCBwYXJzZUludCggYy5jc3MoICJwYWRkaW5nQm90dG9tIiApLCAxMCApIHx8IDAgKSAtDQoJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLQ0KCQkJCXRoaXMubWFyZ2lucy50b3AgLQ0KCQkJCXRoaXMubWFyZ2lucy5ib3R0b20NCgkJXTsNCgkJdGhpcy5yZWxhdGl2ZUNvbnRhaW5lciA9IGM7DQoJfSwNCg0KCV9jb252ZXJ0UG9zaXRpb25UbzogZnVuY3Rpb24oIGQsIHBvcyApIHsNCg0KCQlpZiAoICFwb3MgKSB7DQoJCQlwb3MgPSB0aGlzLnBvc2l0aW9uOw0KCQl9DQoNCgkJdmFyIG1vZCA9IGQgPT09ICJhYnNvbHV0ZSIgPyAxIDogLTEsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gdGhpcy5faXNSb290Tm9kZSggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSApOw0KDQoJCXJldHVybiB7DQoJCQl0b3A6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBvcy50b3AJKw0KDQoJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wICogbW9kICsNCg0KCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LnRvcCAqIG1vZCAtDQoJCQkJKCAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPw0KCQkJCQktdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwudG9wICkgKSAqIG1vZCApDQoJCQkpLA0KCQkJbGVmdDogKA0KDQoJCQkJLy8gVGhlIGFic29sdXRlIG1vdXNlIHBvc2l0aW9uDQoJCQkJcG9zLmxlZnQgKw0KDQoJCQkJLy8gT25seSBmb3IgcmVsYXRpdmUgcG9zaXRpb25lZCBub2RlczogUmVsYXRpdmUgb2Zmc2V0IGZyb20gZWxlbWVudCB0byBvZmZzZXQgcGFyZW50DQoJCQkJdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCAqIG1vZCArDQoNCgkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0ICogbW9kCS0NCgkJCQkoICggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/DQoJCQkJCS10aGlzLm9mZnNldC5zY3JvbGwubGVmdCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwubGVmdCApICkgKiBtb2QgKQ0KCQkJKQ0KCQl9Ow0KDQoJfSwNCg0KCV9nZW5lcmF0ZVBvc2l0aW9uOiBmdW5jdGlvbiggZXZlbnQsIGNvbnN0cmFpblBvc2l0aW9uICkgew0KDQoJCXZhciBjb250YWlubWVudCwgY28sIHRvcCwgbGVmdCwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gdGhpcy5faXNSb290Tm9kZSggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSApLA0KCQkJcGFnZVggPSBldmVudC5wYWdlWCwNCgkJCXBhZ2VZID0gZXZlbnQucGFnZVk7DQoNCgkJLy8gQ2FjaGUgdGhlIHNjcm9sbA0KCQlpZiAoICFzY3JvbGxJc1Jvb3ROb2RlIHx8ICF0aGlzLm9mZnNldC5zY3JvbGwgKSB7DQoJCQl0aGlzLm9mZnNldC5zY3JvbGwgPSB7DQoJCQkJdG9wOiB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSwNCgkJCQlsZWZ0OiB0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCkNCgkJCX07DQoJCX0NCg0KCQkvKg0KCQkgKiAtIFBvc2l0aW9uIGNvbnN0cmFpbmluZyAtDQoJCSAqIENvbnN0cmFpbiB0aGUgcG9zaXRpb24gdG8gYSBtaXggb2YgZ3JpZCwgY29udGFpbm1lbnQuDQoJCSAqLw0KDQoJCS8vIElmIHdlIGFyZSBub3QgZHJhZ2dpbmcgeWV0LCB3ZSB3b24ndCBjaGVjayBmb3Igb3B0aW9ucw0KCQlpZiAoIGNvbnN0cmFpblBvc2l0aW9uICkgew0KCQkJaWYgKCB0aGlzLmNvbnRhaW5tZW50ICkgew0KCQkJCWlmICggdGhpcy5yZWxhdGl2ZUNvbnRhaW5lciApIHsNCgkJCQkJY28gPSB0aGlzLnJlbGF0aXZlQ29udGFpbmVyLm9mZnNldCgpOw0KCQkJCQljb250YWlubWVudCA9IFsNCgkJCQkJCXRoaXMuY29udGFpbm1lbnRbIDAgXSArIGNvLmxlZnQsDQoJCQkJCQl0aGlzLmNvbnRhaW5tZW50WyAxIF0gKyBjby50b3AsDQoJCQkJCQl0aGlzLmNvbnRhaW5tZW50WyAyIF0gKyBjby5sZWZ0LA0KCQkJCQkJdGhpcy5jb250YWlubWVudFsgMyBdICsgY28udG9wDQoJCQkJCV07DQoJCQkJfSBlbHNlIHsNCgkJCQkJY29udGFpbm1lbnQgPSB0aGlzLmNvbnRhaW5tZW50Ow0KCQkJCX0NCg0KCQkJCWlmICggZXZlbnQucGFnZVggLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0IDwgY29udGFpbm1lbnRbIDAgXSApIHsNCgkJCQkJcGFnZVggPSBjb250YWlubWVudFsgMCBdICsgdGhpcy5vZmZzZXQuY2xpY2subGVmdDsNCgkJCQl9DQoJCQkJaWYgKCBldmVudC5wYWdlWSAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA8IGNvbnRhaW5tZW50WyAxIF0gKSB7DQoJCQkJCXBhZ2VZID0gY29udGFpbm1lbnRbIDEgXSArIHRoaXMub2Zmc2V0LmNsaWNrLnRvcDsNCgkJCQl9DQoJCQkJaWYgKCBldmVudC5wYWdlWCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPiBjb250YWlubWVudFsgMiBdICkgew0KCQkJCQlwYWdlWCA9IGNvbnRhaW5tZW50WyAyIF0gKyB0aGlzLm9mZnNldC5jbGljay5sZWZ0Ow0KCQkJCX0NCgkJCQlpZiAoIGV2ZW50LnBhZ2VZIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID4gY29udGFpbm1lbnRbIDMgXSApIHsNCgkJCQkJcGFnZVkgPSBjb250YWlubWVudFsgMyBdICsgdGhpcy5vZmZzZXQuY2xpY2sudG9wOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKCBvLmdyaWQgKSB7DQoNCgkJCQkvL0NoZWNrIGZvciBncmlkIGVsZW1lbnRzIHNldCB0byAwIHRvIHByZXZlbnQgZGl2aWRlIGJ5IDAgZXJyb3IgY2F1c2luZyBpbnZhbGlkDQoJCQkJLy8gYXJndW1lbnQgZXJyb3JzIGluIElFIChzZWUgdGlja2V0ICM2OTUwKQ0KCQkJCXRvcCA9IG8uZ3JpZFsgMSBdID8gdGhpcy5vcmlnaW5hbFBhZ2VZICsgTWF0aC5yb3VuZCggKCBwYWdlWSAtDQoJCQkJCXRoaXMub3JpZ2luYWxQYWdlWSApIC8gby5ncmlkWyAxIF0gKSAqIG8uZ3JpZFsgMSBdIDogdGhpcy5vcmlnaW5hbFBhZ2VZOw0KCQkJCXBhZ2VZID0gY29udGFpbm1lbnQgPyAoICggdG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID49IGNvbnRhaW5tZW50WyAxIF0gfHwNCgkJCQkJdG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID4gY29udGFpbm1lbnRbIDMgXSApID8NCgkJCQkJCXRvcCA6DQoJCQkJCQkoICggdG9wIC0gdGhpcy5vZmZzZXQuY2xpY2sudG9wID49IGNvbnRhaW5tZW50WyAxIF0gKSA/DQoJCQkJCQkJdG9wIC0gby5ncmlkWyAxIF0gOiB0b3AgKyBvLmdyaWRbIDEgXSApICkgOiB0b3A7DQoNCgkJCQlsZWZ0ID0gby5ncmlkWyAwIF0gPyB0aGlzLm9yaWdpbmFsUGFnZVggKw0KCQkJCQlNYXRoLnJvdW5kKCAoIHBhZ2VYIC0gdGhpcy5vcmlnaW5hbFBhZ2VYICkgLyBvLmdyaWRbIDAgXSApICogby5ncmlkWyAwIF0gOg0KCQkJCQl0aGlzLm9yaWdpbmFsUGFnZVg7DQoJCQkJcGFnZVggPSBjb250YWlubWVudCA/ICggKCBsZWZ0IC0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCA+PSBjb250YWlubWVudFsgMCBdIHx8DQoJCQkJCWxlZnQgLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID4gY29udGFpbm1lbnRbIDIgXSApID8NCgkJCQkJCWxlZnQgOg0KCQkJCQkJKCAoIGxlZnQgLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID49IGNvbnRhaW5tZW50WyAwIF0gKSA/DQoJCQkJCQkJbGVmdCAtIG8uZ3JpZFsgMCBdIDogbGVmdCArIG8uZ3JpZFsgMCBdICkgKSA6IGxlZnQ7DQoJCQl9DQoNCgkJCWlmICggby5heGlzID09PSAieSIgKSB7DQoJCQkJcGFnZVggPSB0aGlzLm9yaWdpbmFsUGFnZVg7DQoJCQl9DQoNCgkJCWlmICggby5heGlzID09PSAieCIgKSB7DQoJCQkJcGFnZVkgPSB0aGlzLm9yaWdpbmFsUGFnZVk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gew0KCQkJdG9wOiAoDQoNCgkJCQkvLyBUaGUgYWJzb2x1dGUgbW91c2UgcG9zaXRpb24NCgkJCQlwYWdlWSAtDQoNCgkJCQkvLyBDbGljayBvZmZzZXQgKHJlbGF0aXZlIHRvIHRoZSBlbGVtZW50KQ0KCQkJCXRoaXMub2Zmc2V0LmNsaWNrLnRvcCAtDQoNCgkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AgLQ0KDQoJCQkJLy8gVGhlIG9mZnNldFBhcmVudCdzIG9mZnNldCB3aXRob3V0IGJvcmRlcnMgKG9mZnNldCArIGJvcmRlcikNCgkJCQl0aGlzLm9mZnNldC5wYXJlbnQudG9wICsNCgkJCQkoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPw0KCQkJCQktdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwudG9wICkgKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBhZ2VYIC0NCg0KCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2subGVmdCAtDQoNCgkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0NCg0KCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LmxlZnQgKw0KCQkJCSggdGhpcy5jc3NQb3NpdGlvbiA9PT0gImZpeGVkIiA/DQoJCQkJCS10aGlzLm9mZnNldC5zY3JvbGwubGVmdCA6DQoJCQkJCSggc2Nyb2xsSXNSb290Tm9kZSA/IDAgOiB0aGlzLm9mZnNldC5zY3JvbGwubGVmdCApICkNCgkJCSkNCgkJfTsNCg0KCX0sDQoNCglfY2xlYXI6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5oZWxwZXIsICJ1aS1kcmFnZ2FibGUtZHJhZ2dpbmciICk7DQoJCWlmICggdGhpcy5oZWxwZXJbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gJiYgIXRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbCApIHsNCgkJCXRoaXMuaGVscGVyLnJlbW92ZSgpOw0KCQl9DQoJCXRoaXMuaGVscGVyID0gbnVsbDsNCgkJdGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsID0gZmFsc2U7DQoJCWlmICggdGhpcy5kZXN0cm95T25DbGVhciApIHsNCgkJCXRoaXMuZGVzdHJveSgpOw0KCQl9DQoJfSwNCg0KCS8vIEZyb20gbm93IG9uIGJ1bGsgc3R1ZmYgLSBtYWlubHkgaGVscGVycw0KDQoJX3RyaWdnZXI6IGZ1bmN0aW9uKCB0eXBlLCBldmVudCwgdWkgKSB7DQoJCXVpID0gdWkgfHwgdGhpcy5fdWlIYXNoKCk7DQoJCSQudWkucGx1Z2luLmNhbGwoIHRoaXMsIHR5cGUsIFsgZXZlbnQsIHVpLCB0aGlzIF0sIHRydWUgKTsNCg0KCQkvLyBBYnNvbHV0ZSBwb3NpdGlvbiBhbmQgb2Zmc2V0IChzZWUgIzY4ODQgKSBoYXZlIHRvIGJlIHJlY2FsY3VsYXRlZCBhZnRlciBwbHVnaW5zDQoJCWlmICggL14oZHJhZ3xzdGFydHxzdG9wKS8udGVzdCggdHlwZSApICkgew0KCQkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoJCQl1aS5vZmZzZXQgPSB0aGlzLnBvc2l0aW9uQWJzOw0KCQl9DQoJCXJldHVybiAkLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuY2FsbCggdGhpcywgdHlwZSwgZXZlbnQsIHVpICk7DQoJfSwNCg0KCXBsdWdpbnM6IHt9LA0KDQoJX3VpSGFzaDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB7DQoJCQloZWxwZXI6IHRoaXMuaGVscGVyLA0KCQkJcG9zaXRpb246IHRoaXMucG9zaXRpb24sDQoJCQlvcmlnaW5hbFBvc2l0aW9uOiB0aGlzLm9yaWdpbmFsUG9zaXRpb24sDQoJCQlvZmZzZXQ6IHRoaXMucG9zaXRpb25BYnMNCgkJfTsNCgl9DQoNCn0gKTsNCg0KJC51aS5wbHVnaW4uYWRkKCAiZHJhZ2dhYmxlIiwgImNvbm5lY3RUb1NvcnRhYmxlIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBkcmFnZ2FibGUgKSB7DQoJCXZhciB1aVNvcnRhYmxlID0gJC5leHRlbmQoIHt9LCB1aSwgew0KCQkJaXRlbTogZHJhZ2dhYmxlLmVsZW1lbnQNCgkJfSApOw0KDQoJCWRyYWdnYWJsZS5zb3J0YWJsZXMgPSBbXTsNCgkJJCggZHJhZ2dhYmxlLm9wdGlvbnMuY29ubmVjdFRvU29ydGFibGUgKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzb3J0YWJsZSA9ICQoIHRoaXMgKS5zb3J0YWJsZSggImluc3RhbmNlIiApOw0KDQoJCQlpZiAoIHNvcnRhYmxlICYmICFzb3J0YWJsZS5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJCWRyYWdnYWJsZS5zb3J0YWJsZXMucHVzaCggc29ydGFibGUgKTsNCg0KCQkJCS8vIFJlZnJlc2hQb3NpdGlvbnMgaXMgY2FsbGVkIGF0IGRyYWcgc3RhcnQgdG8gcmVmcmVzaCB0aGUgY29udGFpbmVyQ2FjaGUNCgkJCQkvLyB3aGljaCBpcyB1c2VkIGluIGRyYWcuIFRoaXMgZW5zdXJlcyBpdCdzIGluaXRpYWxpemVkIGFuZCBzeW5jaHJvbml6ZWQNCgkJCQkvLyB3aXRoIGFueSBjaGFuZ2VzIHRoYXQgbWlnaHQgaGF2ZSBoYXBwZW5lZCBvbiB0aGUgcGFnZSBzaW5jZSBpbml0aWFsaXphdGlvbi4NCgkJCQlzb3J0YWJsZS5yZWZyZXNoUG9zaXRpb25zKCk7DQoJCQkJc29ydGFibGUuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIGV2ZW50LCB1aVNvcnRhYmxlICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCBldmVudCwgdWksIGRyYWdnYWJsZSApIHsNCgkJdmFyIHVpU29ydGFibGUgPSAkLmV4dGVuZCgge30sIHVpLCB7DQoJCQlpdGVtOiBkcmFnZ2FibGUuZWxlbWVudA0KCQl9ICk7DQoNCgkJZHJhZ2dhYmxlLmNhbmNlbEhlbHBlclJlbW92YWwgPSBmYWxzZTsNCg0KCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNvcnRhYmxlID0gdGhpczsNCg0KCQkJaWYgKCBzb3J0YWJsZS5pc092ZXIgKSB7DQoJCQkJc29ydGFibGUuaXNPdmVyID0gMDsNCg0KCQkJCS8vIEFsbG93IHRoaXMgc29ydGFibGUgdG8gaGFuZGxlIHJlbW92aW5nIHRoZSBoZWxwZXINCgkJCQlkcmFnZ2FibGUuY2FuY2VsSGVscGVyUmVtb3ZhbCA9IHRydWU7DQoJCQkJc29ydGFibGUuY2FuY2VsSGVscGVyUmVtb3ZhbCA9IGZhbHNlOw0KDQoJCQkJLy8gVXNlIF9zdG9yZWRDU1MgVG8gcmVzdG9yZSBwcm9wZXJ0aWVzIGluIHRoZSBzb3J0YWJsZSwNCgkJCQkvLyBhcyB0aGlzIGFsc28gaGFuZGxlcyByZXZlcnQgKCM5Njc1KSBzaW5jZSB0aGUgZHJhZ2dhYmxlDQoJCQkJLy8gbWF5IGhhdmUgbW9kaWZpZWQgdGhlbSBpbiB1bmV4cGVjdGVkIHdheXMgKCM4ODA5KQ0KCQkJCXNvcnRhYmxlLl9zdG9yZWRDU1MgPSB7DQoJCQkJCXBvc2l0aW9uOiBzb3J0YWJsZS5wbGFjZWhvbGRlci5jc3MoICJwb3NpdGlvbiIgKSwNCgkJCQkJdG9wOiBzb3J0YWJsZS5wbGFjZWhvbGRlci5jc3MoICJ0b3AiICksDQoJCQkJCWxlZnQ6IHNvcnRhYmxlLnBsYWNlaG9sZGVyLmNzcyggImxlZnQiICkNCgkJCQl9Ow0KDQoJCQkJc29ydGFibGUuX21vdXNlU3RvcCggZXZlbnQgKTsNCg0KCQkJCS8vIE9uY2UgZHJhZyBoYXMgZW5kZWQsIHRoZSBzb3J0YWJsZSBzaG91bGQgcmV0dXJuIHRvIHVzaW5nDQoJCQkJLy8gaXRzIG9yaWdpbmFsIGhlbHBlciwgbm90IHRoZSBzaGFyZWQgaGVscGVyIGZyb20gZHJhZ2dhYmxlDQoJCQkJc29ydGFibGUub3B0aW9ucy5oZWxwZXIgPSBzb3J0YWJsZS5vcHRpb25zLl9oZWxwZXI7DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gUHJldmVudCB0aGlzIFNvcnRhYmxlIGZyb20gcmVtb3ZpbmcgdGhlIGhlbHBlci4NCgkJCQkvLyBIb3dldmVyLCBkb24ndCBzZXQgdGhlIGRyYWdnYWJsZSB0byByZW1vdmUgdGhlIGhlbHBlcg0KCQkJCS8vIGVpdGhlciBhcyBhbm90aGVyIGNvbm5lY3RlZCBTb3J0YWJsZSBtYXkgeWV0IGhhbmRsZSB0aGUgcmVtb3ZhbC4NCgkJCQlzb3J0YWJsZS5jYW5jZWxIZWxwZXJSZW1vdmFsID0gdHJ1ZTsNCg0KCQkJCXNvcnRhYmxlLl90cmlnZ2VyKCAiZGVhY3RpdmF0ZSIsIGV2ZW50LCB1aVNvcnRhYmxlICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KCWRyYWc6IGZ1bmN0aW9uKCBldmVudCwgdWksIGRyYWdnYWJsZSApIHsNCgkJJC5lYWNoKCBkcmFnZ2FibGUuc29ydGFibGVzLCBmdW5jdGlvbigpIHsNCgkJCXZhciBpbm5lcm1vc3RJbnRlcnNlY3RpbmcgPSBmYWxzZSwNCgkJCQlzb3J0YWJsZSA9IHRoaXM7DQoNCgkJCS8vIENvcHkgb3ZlciB2YXJpYWJsZXMgdGhhdCBzb3J0YWJsZSdzIF9pbnRlcnNlY3RzV2l0aCB1c2VzDQoJCQlzb3J0YWJsZS5wb3NpdGlvbkFicyA9IGRyYWdnYWJsZS5wb3NpdGlvbkFiczsNCgkJCXNvcnRhYmxlLmhlbHBlclByb3BvcnRpb25zID0gZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zOw0KCQkJc29ydGFibGUub2Zmc2V0LmNsaWNrID0gZHJhZ2dhYmxlLm9mZnNldC5jbGljazsNCg0KCQkJaWYgKCBzb3J0YWJsZS5faW50ZXJzZWN0c1dpdGgoIHNvcnRhYmxlLmNvbnRhaW5lckNhY2hlICkgKSB7DQoJCQkJaW5uZXJtb3N0SW50ZXJzZWN0aW5nID0gdHJ1ZTsNCg0KCQkJCSQuZWFjaCggZHJhZ2dhYmxlLnNvcnRhYmxlcywgZnVuY3Rpb24oKSB7DQoNCgkJCQkJLy8gQ29weSBvdmVyIHZhcmlhYmxlcyB0aGF0IHNvcnRhYmxlJ3MgX2ludGVyc2VjdHNXaXRoIHVzZXMNCgkJCQkJdGhpcy5wb3NpdGlvbkFicyA9IGRyYWdnYWJsZS5wb3NpdGlvbkFiczsNCgkJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucyA9IGRyYWdnYWJsZS5oZWxwZXJQcm9wb3J0aW9uczsNCgkJCQkJdGhpcy5vZmZzZXQuY2xpY2sgPSBkcmFnZ2FibGUub2Zmc2V0LmNsaWNrOw0KDQoJCQkJCWlmICggdGhpcyAhPT0gc29ydGFibGUgJiYNCgkJCQkJCQl0aGlzLl9pbnRlcnNlY3RzV2l0aCggdGhpcy5jb250YWluZXJDYWNoZSApICYmDQoJCQkJCQkJJC5jb250YWlucyggc29ydGFibGUuZWxlbWVudFsgMCBdLCB0aGlzLmVsZW1lbnRbIDAgXSApICkgew0KCQkJCQkJaW5uZXJtb3N0SW50ZXJzZWN0aW5nID0gZmFsc2U7DQoJCQkJCX0NCg0KCQkJCQlyZXR1cm4gaW5uZXJtb3N0SW50ZXJzZWN0aW5nOw0KCQkJCX0gKTsNCgkJCX0NCg0KCQkJaWYgKCBpbm5lcm1vc3RJbnRlcnNlY3RpbmcgKSB7DQoNCgkJCQkvLyBJZiBpdCBpbnRlcnNlY3RzLCB3ZSB1c2UgYSBsaXR0bGUgaXNPdmVyIHZhcmlhYmxlIGFuZCBzZXQgaXQgb25jZSwNCgkJCQkvLyBzbyB0aGF0IHRoZSBtb3ZlLWluIHN0dWZmIGdldHMgZmlyZWQgb25seSBvbmNlLg0KCQkJCWlmICggIXNvcnRhYmxlLmlzT3ZlciApIHsNCgkJCQkJc29ydGFibGUuaXNPdmVyID0gMTsNCg0KCQkJCQkvLyBTdG9yZSBkcmFnZ2FibGUncyBwYXJlbnQgaW4gY2FzZSB3ZSBuZWVkIHRvIHJlYXBwZW5kIHRvIGl0IGxhdGVyLg0KCQkJCQlkcmFnZ2FibGUuX3BhcmVudCA9IHVpLmhlbHBlci5wYXJlbnQoKTsNCg0KCQkJCQlzb3J0YWJsZS5jdXJyZW50SXRlbSA9IHVpLmhlbHBlcg0KCQkJCQkJLmFwcGVuZFRvKCBzb3J0YWJsZS5lbGVtZW50ICkNCgkJCQkJCS5kYXRhKCAidWktc29ydGFibGUtaXRlbSIsIHRydWUgKTsNCg0KCQkJCQkvLyBTdG9yZSBoZWxwZXIgb3B0aW9uIHRvIGxhdGVyIHJlc3RvcmUgaXQNCgkJCQkJc29ydGFibGUub3B0aW9ucy5faGVscGVyID0gc29ydGFibGUub3B0aW9ucy5oZWxwZXI7DQoNCgkJCQkJc29ydGFibGUub3B0aW9ucy5oZWxwZXIgPSBmdW5jdGlvbigpIHsNCgkJCQkJCXJldHVybiB1aS5oZWxwZXJbIDAgXTsNCgkJCQkJfTsNCg0KCQkJCQkvLyBGaXJlIHRoZSBzdGFydCBldmVudHMgb2YgdGhlIHNvcnRhYmxlIHdpdGggb3VyIHBhc3NlZCBicm93c2VyIGV2ZW50LA0KCQkJCQkvLyBhbmQgb3VyIG93biBoZWxwZXIgKHNvIGl0IGRvZXNuJ3QgY3JlYXRlIGEgbmV3IG9uZSkNCgkJCQkJZXZlbnQudGFyZ2V0ID0gc29ydGFibGUuY3VycmVudEl0ZW1bIDAgXTsNCgkJCQkJc29ydGFibGUuX21vdXNlQ2FwdHVyZSggZXZlbnQsIHRydWUgKTsNCgkJCQkJc29ydGFibGUuX21vdXNlU3RhcnQoIGV2ZW50LCB0cnVlLCB0cnVlICk7DQoNCgkJCQkJLy8gQmVjYXVzZSB0aGUgYnJvd3NlciBldmVudCBpcyB3YXkgb2ZmIHRoZSBuZXcgYXBwZW5kZWQgcG9ydGxldCwNCgkJCQkJLy8gbW9kaWZ5IG5lY2Vzc2FyeSB2YXJpYWJsZXMgdG8gcmVmbGVjdCB0aGUgY2hhbmdlcw0KCQkJCQlzb3J0YWJsZS5vZmZzZXQuY2xpY2sudG9wID0gZHJhZ2dhYmxlLm9mZnNldC5jbGljay50b3A7DQoJCQkJCXNvcnRhYmxlLm9mZnNldC5jbGljay5sZWZ0ID0gZHJhZ2dhYmxlLm9mZnNldC5jbGljay5sZWZ0Ow0KCQkJCQlzb3J0YWJsZS5vZmZzZXQucGFyZW50LmxlZnQgLT0gZHJhZ2dhYmxlLm9mZnNldC5wYXJlbnQubGVmdCAtDQoJCQkJCQlzb3J0YWJsZS5vZmZzZXQucGFyZW50LmxlZnQ7DQoJCQkJCXNvcnRhYmxlLm9mZnNldC5wYXJlbnQudG9wIC09IGRyYWdnYWJsZS5vZmZzZXQucGFyZW50LnRvcCAtDQoJCQkJCQlzb3J0YWJsZS5vZmZzZXQucGFyZW50LnRvcDsNCg0KCQkJCQlkcmFnZ2FibGUuX3RyaWdnZXIoICJ0b1NvcnRhYmxlIiwgZXZlbnQgKTsNCg0KCQkJCQkvLyBJbmZvcm0gZHJhZ2dhYmxlIHRoYXQgdGhlIGhlbHBlciBpcyBpbiBhIHZhbGlkIGRyb3Agem9uZSwNCgkJCQkJLy8gdXNlZCBzb2xlbHkgaW4gdGhlIHJldmVydCBvcHRpb24gdG8gaGFuZGxlICJ2YWxpZC9pbnZhbGlkIi4NCgkJCQkJZHJhZ2dhYmxlLmRyb3BwZWQgPSBzb3J0YWJsZS5lbGVtZW50Ow0KDQoJCQkJCS8vIE5lZWQgdG8gcmVmcmVzaFBvc2l0aW9ucyBvZiBhbGwgc29ydGFibGVzIGluIHRoZSBjYXNlIHRoYXQNCgkJCQkJLy8gYWRkaW5nIHRvIG9uZSBzb3J0YWJsZSBjaGFuZ2VzIHRoZSBsb2NhdGlvbiBvZiB0aGUgb3RoZXIgc29ydGFibGVzICgjOTY3NSkNCgkJCQkJJC5lYWNoKCBkcmFnZ2FibGUuc29ydGFibGVzLCBmdW5jdGlvbigpIHsNCgkJCQkJCXRoaXMucmVmcmVzaFBvc2l0aW9ucygpOw0KCQkJCQl9ICk7DQoNCgkJCQkJLy8gSGFjayBzbyByZWNlaXZlL3VwZGF0ZSBjYWxsYmFja3Mgd29yayAobW9zdGx5KQ0KCQkJCQlkcmFnZ2FibGUuY3VycmVudEl0ZW0gPSBkcmFnZ2FibGUuZWxlbWVudDsNCgkJCQkJc29ydGFibGUuZnJvbU91dHNpZGUgPSBkcmFnZ2FibGU7DQoJCQkJfQ0KDQoJCQkJaWYgKCBzb3J0YWJsZS5jdXJyZW50SXRlbSApIHsNCgkJCQkJc29ydGFibGUuX21vdXNlRHJhZyggZXZlbnQgKTsNCg0KCQkJCQkvLyBDb3B5IHRoZSBzb3J0YWJsZSdzIHBvc2l0aW9uIGJlY2F1c2UgdGhlIGRyYWdnYWJsZSdzIGNhbiBwb3RlbnRpYWxseSByZWZsZWN0DQoJCQkJCS8vIGEgcmVsYXRpdmUgcG9zaXRpb24sIHdoaWxlIHNvcnRhYmxlIGlzIGFsd2F5cyBhYnNvbHV0ZSwgd2hpY2ggdGhlIGRyYWdnZWQNCgkJCQkJLy8gZWxlbWVudCBoYXMgbm93IGJlY29tZS4gKCM4ODA5KQ0KCQkJCQl1aS5wb3NpdGlvbiA9IHNvcnRhYmxlLnBvc2l0aW9uOw0KCQkJCX0NCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBJZiBpdCBkb2Vzbid0IGludGVyc2VjdCB3aXRoIHRoZSBzb3J0YWJsZSwgYW5kIGl0IGludGVyc2VjdGVkIGJlZm9yZSwNCgkJCQkvLyB3ZSBmYWtlIHRoZSBkcmFnIHN0b3Agb2YgdGhlIHNvcnRhYmxlLCBidXQgbWFrZSBzdXJlIGl0IGRvZXNuJ3QgcmVtb3ZlDQoJCQkJLy8gdGhlIGhlbHBlciBieSB1c2luZyBjYW5jZWxIZWxwZXJSZW1vdmFsLg0KCQkJCWlmICggc29ydGFibGUuaXNPdmVyICkgew0KDQoJCQkJCXNvcnRhYmxlLmlzT3ZlciA9IDA7DQoJCQkJCXNvcnRhYmxlLmNhbmNlbEhlbHBlclJlbW92YWwgPSB0cnVlOw0KDQoJCQkJCS8vIENhbGxpbmcgc29ydGFibGUncyBtb3VzZVN0b3Agd291bGQgdHJpZ2dlciBhIHJldmVydCwNCgkJCQkJLy8gc28gcmV2ZXJ0IG11c3QgYmUgdGVtcG9yYXJpbHkgZmFsc2UgdW50aWwgYWZ0ZXIgbW91c2VTdG9wIGlzIGNhbGxlZC4NCgkJCQkJc29ydGFibGUub3B0aW9ucy5fcmV2ZXJ0ID0gc29ydGFibGUub3B0aW9ucy5yZXZlcnQ7DQoJCQkJCXNvcnRhYmxlLm9wdGlvbnMucmV2ZXJ0ID0gZmFsc2U7DQoNCgkJCQkJc29ydGFibGUuX3RyaWdnZXIoICJvdXQiLCBldmVudCwgc29ydGFibGUuX3VpSGFzaCggc29ydGFibGUgKSApOw0KCQkJCQlzb3J0YWJsZS5fbW91c2VTdG9wKCBldmVudCwgdHJ1ZSApOw0KDQoJCQkJCS8vIFJlc3RvcmUgc29ydGFibGUgYmVoYXZpb3JzIHRoYXQgd2VyZSBtb2RmaWVkDQoJCQkJCS8vIHdoZW4gdGhlIGRyYWdnYWJsZSBlbnRlcmVkIHRoZSBzb3J0YWJsZSBhcmVhICgjOTQ4MSkNCgkJCQkJc29ydGFibGUub3B0aW9ucy5yZXZlcnQgPSBzb3J0YWJsZS5vcHRpb25zLl9yZXZlcnQ7DQoJCQkJCXNvcnRhYmxlLm9wdGlvbnMuaGVscGVyID0gc29ydGFibGUub3B0aW9ucy5faGVscGVyOw0KDQoJCQkJCWlmICggc29ydGFibGUucGxhY2Vob2xkZXIgKSB7DQoJCQkJCQlzb3J0YWJsZS5wbGFjZWhvbGRlci5yZW1vdmUoKTsNCgkJCQkJfQ0KDQoJCQkJCS8vIFJlc3RvcmUgYW5kIHJlY2FsY3VsYXRlIHRoZSBkcmFnZ2FibGUncyBvZmZzZXQgY29uc2lkZXJpbmcgdGhlIHNvcnRhYmxlDQoJCQkJCS8vIG1heSBoYXZlIG1vZGlmaWVkIHRoZW0gaW4gdW5leHBlY3RlZCB3YXlzLiAoIzg4MDksICMxMDY2OSkNCgkJCQkJdWkuaGVscGVyLmFwcGVuZFRvKCBkcmFnZ2FibGUuX3BhcmVudCApOw0KCQkJCQlkcmFnZ2FibGUuX3JlZnJlc2hPZmZzZXRzKCBldmVudCApOw0KCQkJCQl1aS5wb3NpdGlvbiA9IGRyYWdnYWJsZS5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQsIHRydWUgKTsNCg0KCQkJCQlkcmFnZ2FibGUuX3RyaWdnZXIoICJmcm9tU29ydGFibGUiLCBldmVudCApOw0KDQoJCQkJCS8vIEluZm9ybSBkcmFnZ2FibGUgdGhhdCB0aGUgaGVscGVyIGlzIG5vIGxvbmdlciBpbiBhIHZhbGlkIGRyb3Agem9uZQ0KCQkJCQlkcmFnZ2FibGUuZHJvcHBlZCA9IGZhbHNlOw0KDQoJCQkJCS8vIE5lZWQgdG8gcmVmcmVzaFBvc2l0aW9ucyBvZiBhbGwgc29ydGFibGVzIGp1c3QgaW4gY2FzZSByZW1vdmluZw0KCQkJCQkvLyBmcm9tIG9uZSBzb3J0YWJsZSBjaGFuZ2VzIHRoZSBsb2NhdGlvbiBvZiBvdGhlciBzb3J0YWJsZXMgKCM5Njc1KQ0KCQkJCQkkLmVhY2goIGRyYWdnYWJsZS5zb3J0YWJsZXMsIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5yZWZyZXNoUG9zaXRpb25zKCk7DQoJCQkJCX0gKTsNCgkJCQl9DQoJCQl9DQoJCX0gKTsNCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJjdXJzb3IiLCB7DQoJc3RhcnQ6IGZ1bmN0aW9uKCBldmVudCwgdWksIGluc3RhbmNlICkgew0KCQl2YXIgdCA9ICQoICJib2R5IiApLA0KCQkJbyA9IGluc3RhbmNlLm9wdGlvbnM7DQoNCgkJaWYgKCB0LmNzcyggImN1cnNvciIgKSApIHsNCgkJCW8uX2N1cnNvciA9IHQuY3NzKCAiY3Vyc29yIiApOw0KCQl9DQoJCXQuY3NzKCAiY3Vyc29yIiwgby5jdXJzb3IgKTsNCgl9LA0KCXN0b3A6IGZ1bmN0aW9uKCBldmVudCwgdWksIGluc3RhbmNlICkgew0KCQl2YXIgbyA9IGluc3RhbmNlLm9wdGlvbnM7DQoJCWlmICggby5fY3Vyc29yICkgew0KCQkJJCggImJvZHkiICkuY3NzKCAiY3Vyc29yIiwgby5fY3Vyc29yICk7DQoJCX0NCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJvcGFjaXR5Iiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIHQgPSAkKCB1aS5oZWxwZXIgKSwNCgkJCW8gPSBpbnN0YW5jZS5vcHRpb25zOw0KCQlpZiAoIHQuY3NzKCAib3BhY2l0eSIgKSApIHsNCgkJCW8uX29wYWNpdHkgPSB0LmNzcyggIm9wYWNpdHkiICk7DQoJCX0NCgkJdC5jc3MoICJvcGFjaXR5Iiwgby5vcGFjaXR5ICk7DQoJfSwNCglzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIG8gPSBpbnN0YW5jZS5vcHRpb25zOw0KCQlpZiAoIG8uX29wYWNpdHkgKSB7DQoJCQkkKCB1aS5oZWxwZXIgKS5jc3MoICJvcGFjaXR5Iiwgby5fb3BhY2l0eSApOw0KCQl9DQoJfQ0KfSApOw0KDQokLnVpLnBsdWdpbi5hZGQoICJkcmFnZ2FibGUiLCAic2Nyb2xsIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpICkgew0KCQlpZiAoICFpLnNjcm9sbFBhcmVudE5vdEhpZGRlbiApIHsNCgkJCWkuc2Nyb2xsUGFyZW50Tm90SGlkZGVuID0gaS5oZWxwZXIuc2Nyb2xsUGFyZW50KCBmYWxzZSApOw0KCQl9DQoNCgkJaWYgKCBpLnNjcm9sbFBhcmVudE5vdEhpZGRlblsgMCBdICE9PSBpLmRvY3VtZW50WyAwIF0gJiYNCgkJCQlpLnNjcm9sbFBhcmVudE5vdEhpZGRlblsgMCBdLnRhZ05hbWUgIT09ICJIVE1MIiApIHsNCgkJCWkub3ZlcmZsb3dPZmZzZXQgPSBpLnNjcm9sbFBhcmVudE5vdEhpZGRlbi5vZmZzZXQoKTsNCgkJfQ0KCX0sDQoJZHJhZzogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaSAgKSB7DQoNCgkJdmFyIG8gPSBpLm9wdGlvbnMsDQoJCQlzY3JvbGxlZCA9IGZhbHNlLA0KCQkJc2Nyb2xsUGFyZW50ID0gaS5zY3JvbGxQYXJlbnROb3RIaWRkZW5bIDAgXSwNCgkJCWRvY3VtZW50ID0gaS5kb2N1bWVudFsgMCBdOw0KDQoJCWlmICggc2Nyb2xsUGFyZW50ICE9PSBkb2N1bWVudCAmJiBzY3JvbGxQYXJlbnQudGFnTmFtZSAhPT0gIkhUTUwiICkgew0KCQkJaWYgKCAhby5heGlzIHx8IG8uYXhpcyAhPT0gIngiICkgew0KCQkJCWlmICggKCBpLm92ZXJmbG93T2Zmc2V0LnRvcCArIHNjcm9sbFBhcmVudC5vZmZzZXRIZWlnaHQgKSAtIGV2ZW50LnBhZ2VZIDwNCgkJCQkJCW8uc2Nyb2xsU2Vuc2l0aXZpdHkgKSB7DQoJCQkJCXNjcm9sbFBhcmVudC5zY3JvbGxUb3AgPSBzY3JvbGxlZCA9IHNjcm9sbFBhcmVudC5zY3JvbGxUb3AgKyBvLnNjcm9sbFNwZWVkOw0KCQkJCX0gZWxzZSBpZiAoIGV2ZW50LnBhZ2VZIC0gaS5vdmVyZmxvd09mZnNldC50b3AgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxQYXJlbnQuc2Nyb2xsVG9wID0gc2Nyb2xsZWQgPSBzY3JvbGxQYXJlbnQuc2Nyb2xsVG9wIC0gby5zY3JvbGxTcGVlZDsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggIW8uYXhpcyB8fCBvLmF4aXMgIT09ICJ5IiApIHsNCgkJCQlpZiAoICggaS5vdmVyZmxvd09mZnNldC5sZWZ0ICsgc2Nyb2xsUGFyZW50Lm9mZnNldFdpZHRoICkgLSBldmVudC5wYWdlWCA8DQoJCQkJCQlvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCA9IHNjcm9sbGVkID0gc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQgKyBvLnNjcm9sbFNwZWVkOw0KCQkJCX0gZWxzZSBpZiAoIGV2ZW50LnBhZ2VYIC0gaS5vdmVyZmxvd09mZnNldC5sZWZ0IDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQgPSBzY3JvbGxlZCA9IHNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0IC0gby5zY3JvbGxTcGVlZDsNCgkJCQl9DQoJCQl9DQoNCgkJfSBlbHNlIHsNCg0KCQkJaWYgKCAhby5heGlzIHx8IG8uYXhpcyAhPT0gIngiICkgew0KCQkJCWlmICggZXZlbnQucGFnZVkgLSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCgpIDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCggJCggZG9jdW1lbnQgKS5zY3JvbGxUb3AoKSAtIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9IGVsc2UgaWYgKCAkKCB3aW5kb3cgKS5oZWlnaHQoKSAtICggZXZlbnQucGFnZVkgLSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCgpICkgPA0KCQkJCQkJby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSAkKCBkb2N1bWVudCApLnNjcm9sbFRvcCggJCggZG9jdW1lbnQgKS5zY3JvbGxUb3AoKSArIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggIW8uYXhpcyB8fCBvLmF4aXMgIT09ICJ5IiApIHsNCgkJCQlpZiAoIGV2ZW50LnBhZ2VYIC0gJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9ICQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgNCgkJCQkJCSQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgpIC0gby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0gZWxzZSBpZiAoICQoIHdpbmRvdyApLndpZHRoKCkgLSAoIGV2ZW50LnBhZ2VYIC0gJCggZG9jdW1lbnQgKS5zY3JvbGxMZWZ0KCkgKSA8DQoJCQkJCQlvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9ICQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgNCgkJCQkJCSQoIGRvY3VtZW50ICkuc2Nyb2xsTGVmdCgpICsgby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0NCgkJCX0NCg0KCQl9DQoNCgkJaWYgKCBzY3JvbGxlZCAhPT0gZmFsc2UgJiYgJC51aS5kZG1hbmFnZXIgJiYgIW8uZHJvcEJlaGF2aW91ciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCBpLCBldmVudCApOw0KCQl9DQoNCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJzbmFwIiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpICkgew0KDQoJCXZhciBvID0gaS5vcHRpb25zOw0KDQoJCWkuc25hcEVsZW1lbnRzID0gW107DQoNCgkJJCggby5zbmFwLmNvbnN0cnVjdG9yICE9PSBTdHJpbmcgPyAoIG8uc25hcC5pdGVtcyB8fCAiOmRhdGEodWktZHJhZ2dhYmxlKSIgKSA6IG8uc25hcCApDQoJCQkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyICR0ID0gJCggdGhpcyApLA0KCQkJCQkkbyA9ICR0Lm9mZnNldCgpOw0KCQkJCWlmICggdGhpcyAhPT0gaS5lbGVtZW50WyAwIF0gKSB7DQoJCQkJCWkuc25hcEVsZW1lbnRzLnB1c2goIHsNCgkJCQkJCWl0ZW06IHRoaXMsDQoJCQkJCQl3aWR0aDogJHQub3V0ZXJXaWR0aCgpLCBoZWlnaHQ6ICR0Lm91dGVySGVpZ2h0KCksDQoJCQkJCQl0b3A6ICRvLnRvcCwgbGVmdDogJG8ubGVmdA0KCQkJCQl9ICk7DQoJCQkJfQ0KCQkJfSApOw0KDQoJfSwNCglkcmFnOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0ICkgew0KDQoJCXZhciB0cywgYnMsIGxzLCBycywgbCwgciwgdCwgYiwgaSwgZmlyc3QsDQoJCQlvID0gaW5zdC5vcHRpb25zLA0KCQkJZCA9IG8uc25hcFRvbGVyYW5jZSwNCgkJCXgxID0gdWkub2Zmc2V0LmxlZnQsIHgyID0geDEgKyBpbnN0LmhlbHBlclByb3BvcnRpb25zLndpZHRoLA0KCQkJeTEgPSB1aS5vZmZzZXQudG9wLCB5MiA9IHkxICsgaW5zdC5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQ7DQoNCgkJZm9yICggaSA9IGluc3Quc25hcEVsZW1lbnRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KDQoJCQlsID0gaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5sZWZ0IC0gaW5zdC5tYXJnaW5zLmxlZnQ7DQoJCQlyID0gbCArIGluc3Quc25hcEVsZW1lbnRzWyBpIF0ud2lkdGg7DQoJCQl0ID0gaW5zdC5zbmFwRWxlbWVudHNbIGkgXS50b3AgLSBpbnN0Lm1hcmdpbnMudG9wOw0KCQkJYiA9IHQgKyBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLmhlaWdodDsNCg0KCQkJaWYgKCB4MiA8IGwgLSBkIHx8IHgxID4gciArIGQgfHwgeTIgPCB0IC0gZCB8fCB5MSA+IGIgKyBkIHx8DQoJCQkJCSEkLmNvbnRhaW5zKCBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLml0ZW0ub3duZXJEb2N1bWVudCwNCgkJCQkJaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5pdGVtICkgKSB7DQoJCQkJaWYgKCBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLnNuYXBwaW5nICkgew0KCQkJCQkoIGluc3Qub3B0aW9ucy5zbmFwLnJlbGVhc2UgJiYNCgkJCQkJCWluc3Qub3B0aW9ucy5zbmFwLnJlbGVhc2UuY2FsbCgNCgkJCQkJCQlpbnN0LmVsZW1lbnQsDQoJCQkJCQkJZXZlbnQsDQoJCQkJCQkJJC5leHRlbmQoIGluc3QuX3VpSGFzaCgpLCB7IHNuYXBJdGVtOiBpbnN0LnNuYXBFbGVtZW50c1sgaSBdLml0ZW0gfSApDQoJCQkJCQkpICk7DQoJCQkJfQ0KCQkJCWluc3Quc25hcEVsZW1lbnRzWyBpIF0uc25hcHBpbmcgPSBmYWxzZTsNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJaWYgKCBvLnNuYXBNb2RlICE9PSAiaW5uZXIiICkgew0KCQkJCXRzID0gTWF0aC5hYnMoIHQgLSB5MiApIDw9IGQ7DQoJCQkJYnMgPSBNYXRoLmFicyggYiAtIHkxICkgPD0gZDsNCgkJCQlscyA9IE1hdGguYWJzKCBsIC0geDIgKSA8PSBkOw0KCQkJCXJzID0gTWF0aC5hYnMoIHIgLSB4MSApIDw9IGQ7DQoJCQkJaWYgKCB0cyApIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogdCAtIGluc3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LA0KCQkJCQkJbGVmdDogMA0KCQkJCQl9ICkudG9wOw0KCQkJCX0NCgkJCQlpZiAoIGJzICkgew0KCQkJCQl1aS5wb3NpdGlvbi50b3AgPSBpbnN0Ll9jb252ZXJ0UG9zaXRpb25UbyggInJlbGF0aXZlIiwgew0KCQkJCQkJdG9wOiBiLA0KCQkJCQkJbGVmdDogMA0KCQkJCQl9ICkudG9wOw0KCQkJCX0NCgkJCQlpZiAoIGxzICkgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogMCwNCgkJCQkJCWxlZnQ6IGwgLSBpbnN0LmhlbHBlclByb3BvcnRpb25zLndpZHRoDQoJCQkJCX0gKS5sZWZ0Ow0KCQkJCX0NCgkJCQlpZiAoIHJzICkgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogMCwNCgkJCQkJCWxlZnQ6IHINCgkJCQkJfSApLmxlZnQ7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlmaXJzdCA9ICggdHMgfHwgYnMgfHwgbHMgfHwgcnMgKTsNCg0KCQkJaWYgKCBvLnNuYXBNb2RlICE9PSAib3V0ZXIiICkgew0KCQkJCXRzID0gTWF0aC5hYnMoIHQgLSB5MSApIDw9IGQ7DQoJCQkJYnMgPSBNYXRoLmFicyggYiAtIHkyICkgPD0gZDsNCgkJCQlscyA9IE1hdGguYWJzKCBsIC0geDEgKSA8PSBkOw0KCQkJCXJzID0gTWF0aC5hYnMoIHIgLSB4MiApIDw9IGQ7DQoJCQkJaWYgKCB0cyApIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogdCwNCgkJCQkJCWxlZnQ6IDANCgkJCQkJfSApLnRvcDsNCgkJCQl9DQoJCQkJaWYgKCBicyApIHsNCgkJCQkJdWkucG9zaXRpb24udG9wID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogYiAtIGluc3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LA0KCQkJCQkJbGVmdDogMA0KCQkJCQl9ICkudG9wOw0KCQkJCX0NCgkJCQlpZiAoIGxzICkgew0KCQkJCQl1aS5wb3NpdGlvbi5sZWZ0ID0gaW5zdC5fY29udmVydFBvc2l0aW9uVG8oICJyZWxhdGl2ZSIsIHsNCgkJCQkJCXRvcDogMCwNCgkJCQkJCWxlZnQ6IGwNCgkJCQkJfSApLmxlZnQ7DQoJCQkJfQ0KCQkJCWlmICggcnMgKSB7DQoJCQkJCXVpLnBvc2l0aW9uLmxlZnQgPSBpbnN0Ll9jb252ZXJ0UG9zaXRpb25UbyggInJlbGF0aXZlIiwgew0KCQkJCQkJdG9wOiAwLA0KCQkJCQkJbGVmdDogciAtIGluc3QuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgNCgkJCQkJfSApLmxlZnQ7DQoJCQkJfQ0KCQkJfQ0KDQoJCQlpZiAoICFpbnN0LnNuYXBFbGVtZW50c1sgaSBdLnNuYXBwaW5nICYmICggdHMgfHwgYnMgfHwgbHMgfHwgcnMgfHwgZmlyc3QgKSApIHsNCgkJCQkoIGluc3Qub3B0aW9ucy5zbmFwLnNuYXAgJiYNCgkJCQkJaW5zdC5vcHRpb25zLnNuYXAuc25hcC5jYWxsKA0KCQkJCQkJaW5zdC5lbGVtZW50LA0KCQkJCQkJZXZlbnQsDQoJCQkJCQkkLmV4dGVuZCggaW5zdC5fdWlIYXNoKCksIHsNCgkJCQkJCQlzbmFwSXRlbTogaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5pdGVtDQoJCQkJCQl9ICkgKSApOw0KCQkJfQ0KCQkJaW5zdC5zbmFwRWxlbWVudHNbIGkgXS5zbmFwcGluZyA9ICggdHMgfHwgYnMgfHwgbHMgfHwgcnMgfHwgZmlyc3QgKTsNCg0KCQl9DQoNCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggImRyYWdnYWJsZSIsICJzdGFjayIsIHsNCglzdGFydDogZnVuY3Rpb24oIGV2ZW50LCB1aSwgaW5zdGFuY2UgKSB7DQoJCXZhciBtaW4sDQoJCQlvID0gaW5zdGFuY2Uub3B0aW9ucywNCgkJCWdyb3VwID0gJC5tYWtlQXJyYXkoICQoIG8uc3RhY2sgKSApLnNvcnQoIGZ1bmN0aW9uKCBhLCBiICkgew0KCQkJCXJldHVybiAoIHBhcnNlSW50KCAkKCBhICkuY3NzKCAiekluZGV4IiApLCAxMCApIHx8IDAgKSAtDQoJCQkJCSggcGFyc2VJbnQoICQoIGIgKS5jc3MoICJ6SW5kZXgiICksIDEwICkgfHwgMCApOw0KCQkJfSApOw0KDQoJCWlmICggIWdyb3VwLmxlbmd0aCApIHsgcmV0dXJuOyB9DQoNCgkJbWluID0gcGFyc2VJbnQoICQoIGdyb3VwWyAwIF0gKS5jc3MoICJ6SW5kZXgiICksIDEwICkgfHwgMDsNCgkJJCggZ3JvdXAgKS5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCSQoIHRoaXMgKS5jc3MoICJ6SW5kZXgiLCBtaW4gKyBpICk7DQoJCX0gKTsNCgkJdGhpcy5jc3MoICJ6SW5kZXgiLCAoIG1pbiArIGdyb3VwLmxlbmd0aCApICk7DQoJfQ0KfSApOw0KDQokLnVpLnBsdWdpbi5hZGQoICJkcmFnZ2FibGUiLCAiekluZGV4Iiwgew0KCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIHQgPSAkKCB1aS5oZWxwZXIgKSwNCgkJCW8gPSBpbnN0YW5jZS5vcHRpb25zOw0KDQoJCWlmICggdC5jc3MoICJ6SW5kZXgiICkgKSB7DQoJCQlvLl96SW5kZXggPSB0LmNzcyggInpJbmRleCIgKTsNCgkJfQ0KCQl0LmNzcyggInpJbmRleCIsIG8uekluZGV4ICk7DQoJfSwNCglzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpLCBpbnN0YW5jZSApIHsNCgkJdmFyIG8gPSBpbnN0YW5jZS5vcHRpb25zOw0KDQoJCWlmICggby5fekluZGV4ICkgew0KCQkJJCggdWkuaGVscGVyICkuY3NzKCAiekluZGV4Iiwgby5fekluZGV4ICk7DQoJCX0NCgl9DQp9ICk7DQoNCnZhciB3aWRnZXRzRHJhZ2dhYmxlID0gJC51aS5kcmFnZ2FibGU7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgUmVzaXphYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBSZXNpemFibGUNCi8vPj5ncm91cDogSW50ZXJhY3Rpb25zDQovLz4+ZGVzY3JpcHRpb246IEVuYWJsZXMgcmVzaXplIGZ1bmN0aW9uYWxpdHkgZm9yIGFueSBlbGVtZW50Lg0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Jlc2l6YWJsZS8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNpemFibGUvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9yZXNpemFibGUuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCiQud2lkZ2V0KCAidWkucmVzaXphYmxlIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAicmVzaXplIiwNCglvcHRpb25zOiB7DQoJCWFsc29SZXNpemU6IGZhbHNlLA0KCQlhbmltYXRlOiBmYWxzZSwNCgkJYW5pbWF0ZUR1cmF0aW9uOiAic2xvdyIsDQoJCWFuaW1hdGVFYXNpbmc6ICJzd2luZyIsDQoJCWFzcGVjdFJhdGlvOiBmYWxzZSwNCgkJYXV0b0hpZGU6IGZhbHNlLA0KCQljbGFzc2VzOiB7DQoJCQkidWktcmVzaXphYmxlLXNlIjogInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiDQoJCX0sDQoJCWNvbnRhaW5tZW50OiBmYWxzZSwNCgkJZ2hvc3Q6IGZhbHNlLA0KCQlncmlkOiBmYWxzZSwNCgkJaGFuZGxlczogImUscyxzZSIsDQoJCWhlbHBlcjogZmFsc2UsDQoJCW1heEhlaWdodDogbnVsbCwNCgkJbWF4V2lkdGg6IG51bGwsDQoJCW1pbkhlaWdodDogMTAsDQoJCW1pbldpZHRoOiAxMCwNCg0KCQkvLyBTZWUgIzc5NjANCgkJekluZGV4OiA5MCwNCg0KCQkvLyBDYWxsYmFja3MNCgkJcmVzaXplOiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbA0KCX0sDQoNCglfbnVtOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXJldHVybiBwYXJzZUZsb2F0KCB2YWx1ZSApIHx8IDA7DQoJfSwNCg0KCV9pc051bWJlcjogZnVuY3Rpb24oIHZhbHVlICkgew0KCQlyZXR1cm4gIWlzTmFOKCBwYXJzZUZsb2F0KCB2YWx1ZSApICk7DQoJfSwNCg0KCV9oYXNTY3JvbGw6IGZ1bmN0aW9uKCBlbCwgYSApIHsNCg0KCQlpZiAoICQoIGVsICkuY3NzKCAib3ZlcmZsb3ciICkgPT09ICJoaWRkZW4iICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmFyIHNjcm9sbCA9ICggYSAmJiBhID09PSAibGVmdCIgKSA/ICJzY3JvbGxMZWZ0IiA6ICJzY3JvbGxUb3AiLA0KCQkJaGFzID0gZmFsc2U7DQoNCgkJaWYgKCBlbFsgc2Nyb2xsIF0gPiAwICkgew0KCQkJcmV0dXJuIHRydWU7DQoJCX0NCg0KCQkvLyBUT0RPOiBkZXRlcm1pbmUgd2hpY2ggY2FzZXMgYWN0dWFsbHkgY2F1c2UgdGhpcyB0byBoYXBwZW4NCgkJLy8gaWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIHRoZSBzY3JvbGwgc2V0LCBzZWUgaWYgaXQncyBwb3NzaWJsZSB0bw0KCQkvLyBzZXQgdGhlIHNjcm9sbA0KCQllbFsgc2Nyb2xsIF0gPSAxOw0KCQloYXMgPSAoIGVsWyBzY3JvbGwgXSA+IDAgKTsNCgkJZWxbIHNjcm9sbCBdID0gMDsNCgkJcmV0dXJuIGhhczsNCgl9LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIG1hcmdpbnMsDQoJCQlvID0gdGhpcy5vcHRpb25zLA0KCQkJdGhhdCA9IHRoaXM7DQoJCXRoaXMuX2FkZENsYXNzKCAidWktcmVzaXphYmxlIiApOw0KDQoJCSQuZXh0ZW5kKCB0aGlzLCB7DQoJCQlfYXNwZWN0UmF0aW86ICEhKCBvLmFzcGVjdFJhdGlvICksDQoJCQlhc3BlY3RSYXRpbzogby5hc3BlY3RSYXRpbywNCgkJCW9yaWdpbmFsRWxlbWVudDogdGhpcy5lbGVtZW50LA0KCQkJX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHM6IFtdLA0KCQkJX2hlbHBlcjogby5oZWxwZXIgfHwgby5naG9zdCB8fCBvLmFuaW1hdGUgPyBvLmhlbHBlciB8fCAidWktcmVzaXphYmxlLWhlbHBlciIgOiBudWxsDQoJCX0gKTsNCg0KCQkvLyBXcmFwIHRoZSBlbGVtZW50IGlmIGl0IGNhbm5vdCBob2xkIGNoaWxkIG5vZGVzDQoJCWlmICggdGhpcy5lbGVtZW50WyAwIF0ubm9kZU5hbWUubWF0Y2goIC9eKGNhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZykkL2kgKSApIHsNCg0KCQkJdGhpcy5lbGVtZW50LndyYXAoDQoJCQkJJCggIjxkaXYgY2xhc3M9J3VpLXdyYXBwZXInIHN0eWxlPSdvdmVyZmxvdzogaGlkZGVuOyc+PC9kaXY+IiApLmNzcyggew0KCQkJCQlwb3NpdGlvbjogdGhpcy5lbGVtZW50LmNzcyggInBvc2l0aW9uIiApLA0KCQkJCQl3aWR0aDogdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCQkJaGVpZ2h0OiB0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKSwNCgkJCQkJdG9wOiB0aGlzLmVsZW1lbnQuY3NzKCAidG9wIiApLA0KCQkJCQlsZWZ0OiB0aGlzLmVsZW1lbnQuY3NzKCAibGVmdCIgKQ0KCQkJCX0gKQ0KCQkJKTsNCg0KCQkJdGhpcy5lbGVtZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudCgpLmRhdGEoDQoJCQkJInVpLXJlc2l6YWJsZSIsIHRoaXMuZWxlbWVudC5yZXNpemFibGUoICJpbnN0YW5jZSIgKQ0KCQkJKTsNCg0KCQkJdGhpcy5lbGVtZW50SXNXcmFwcGVyID0gdHJ1ZTsNCg0KCQkJbWFyZ2lucyA9IHsNCgkJCQltYXJnaW5Ub3A6IHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyggIm1hcmdpblRvcCIgKSwNCgkJCQltYXJnaW5SaWdodDogdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAibWFyZ2luUmlnaHQiICksDQoJCQkJbWFyZ2luQm90dG9tOiB0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoICJtYXJnaW5Cb3R0b20iICksDQoJCQkJbWFyZ2luTGVmdDogdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAibWFyZ2luTGVmdCIgKQ0KCQkJfTsNCg0KCQkJdGhpcy5lbGVtZW50LmNzcyggbWFyZ2lucyApOw0KCQkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAibWFyZ2luIiwgMCApOw0KDQoJCQkvLyBzdXBwb3J0OiBTYWZhcmkNCgkJCS8vIFByZXZlbnQgU2FmYXJpIHRleHRhcmVhIHJlc2l6ZQ0KCQkJdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlID0gdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAicmVzaXplIiApOw0KCQkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAicmVzaXplIiwgIm5vbmUiICk7DQoNCgkJCXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMucHVzaCggdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCB7DQoJCQkJcG9zaXRpb246ICJzdGF0aWMiLA0KCQkJCXpvb206IDEsDQoJCQkJZGlzcGxheTogImJsb2NrIg0KCQkJfSApICk7DQoNCgkJCS8vIFN1cHBvcnQ6IElFOQ0KCQkJLy8gYXZvaWQgSUUganVtcCAoaGFyZCBzZXQgdGhlIG1hcmdpbikNCgkJCXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyggbWFyZ2lucyApOw0KDQoJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQl9DQoNCgkJdGhpcy5fc2V0dXBIYW5kbGVzKCk7DQoNCgkJaWYgKCBvLmF1dG9IaWRlICkgew0KCQkJJCggdGhpcy5lbGVtZW50ICkNCgkJCQkub24oICJtb3VzZWVudGVyIiwgZnVuY3Rpb24oKSB7DQoJCQkJCWlmICggby5kaXNhYmxlZCApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIgKTsNCgkJCQkJdGhhdC5faGFuZGxlcy5zaG93KCk7DQoJCQkJfSApDQoJCQkJLm9uKCAibW91c2VsZWF2ZSIsIGZ1bmN0aW9uKCkgew0KCQkJCQlpZiAoIG8uZGlzYWJsZWQgKSB7DQoJCQkJCQlyZXR1cm47DQoJCQkJCX0NCgkJCQkJaWYgKCAhdGhhdC5yZXNpemluZyApIHsNCgkJCQkJCXRoYXQuX2FkZENsYXNzKCAidWktcmVzaXphYmxlLWF1dG9oaWRlIiApOw0KCQkJCQkJdGhhdC5faGFuZGxlcy5oaWRlKCk7DQoJCQkJCX0NCgkJCQl9ICk7DQoJCX0NCg0KCQl0aGlzLl9tb3VzZUluaXQoKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KDQoJCXRoaXMuX21vdXNlRGVzdHJveSgpOw0KDQoJCXZhciB3cmFwcGVyLA0KCQkJX2Rlc3Ryb3kgPSBmdW5jdGlvbiggZXhwICkgew0KCQkJCSQoIGV4cCApDQoJCQkJCS5yZW1vdmVEYXRhKCAicmVzaXphYmxlIiApDQoJCQkJCS5yZW1vdmVEYXRhKCAidWktcmVzaXphYmxlIiApDQoJCQkJCS5vZmYoICIucmVzaXphYmxlIiApDQoJCQkJCS5maW5kKCAiLnVpLXJlc2l6YWJsZS1oYW5kbGUiICkNCgkJCQkJCS5yZW1vdmUoKTsNCgkJCX07DQoNCgkJLy8gVE9ETzogVW53cmFwIGF0IHNhbWUgRE9NIHBvc2l0aW9uDQoJCWlmICggdGhpcy5lbGVtZW50SXNXcmFwcGVyICkgew0KCQkJX2Rlc3Ryb3koIHRoaXMuZWxlbWVudCApOw0KCQkJd3JhcHBlciA9IHRoaXMuZWxlbWVudDsNCgkJCXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyggew0KCQkJCXBvc2l0aW9uOiB3cmFwcGVyLmNzcyggInBvc2l0aW9uIiApLA0KCQkJCXdpZHRoOiB3cmFwcGVyLm91dGVyV2lkdGgoKSwNCgkJCQloZWlnaHQ6IHdyYXBwZXIub3V0ZXJIZWlnaHQoKSwNCgkJCQl0b3A6IHdyYXBwZXIuY3NzKCAidG9wIiApLA0KCQkJCWxlZnQ6IHdyYXBwZXIuY3NzKCAibGVmdCIgKQ0KCQkJfSApLmluc2VydEFmdGVyKCB3cmFwcGVyICk7DQoJCQl3cmFwcGVyLnJlbW92ZSgpOw0KCQl9DQoNCgkJdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCAicmVzaXplIiwgdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlICk7DQoJCV9kZXN0cm95KCB0aGlzLm9yaWdpbmFsRWxlbWVudCApOw0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlzd2l0Y2ggKCBrZXkgKSB7DQoJCWNhc2UgImhhbmRsZXMiOg0KCQkJdGhpcy5fcmVtb3ZlSGFuZGxlcygpOw0KCQkJdGhpcy5fc2V0dXBIYW5kbGVzKCk7DQoJCQlicmVhazsNCgkJZGVmYXVsdDoNCgkJCWJyZWFrOw0KCQl9DQoJfSwNCg0KCV9zZXR1cEhhbmRsZXM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgbyA9IHRoaXMub3B0aW9ucywgaGFuZGxlLCBpLCBuLCBobmFtZSwgYXhpcywgdGhhdCA9IHRoaXM7DQoJCXRoaXMuaGFuZGxlcyA9IG8uaGFuZGxlcyB8fA0KCQkJKCAhJCggIi51aS1yZXNpemFibGUtaGFuZGxlIiwgdGhpcy5lbGVtZW50ICkubGVuZ3RoID8NCgkJCQkiZSxzLHNlIiA6IHsNCgkJCQkJbjogIi51aS1yZXNpemFibGUtbiIsDQoJCQkJCWU6ICIudWktcmVzaXphYmxlLWUiLA0KCQkJCQlzOiAiLnVpLXJlc2l6YWJsZS1zIiwNCgkJCQkJdzogIi51aS1yZXNpemFibGUtdyIsDQoJCQkJCXNlOiAiLnVpLXJlc2l6YWJsZS1zZSIsDQoJCQkJCXN3OiAiLnVpLXJlc2l6YWJsZS1zdyIsDQoJCQkJCW5lOiAiLnVpLXJlc2l6YWJsZS1uZSIsDQoJCQkJCW53OiAiLnVpLXJlc2l6YWJsZS1udyINCgkJCQl9ICk7DQoNCgkJdGhpcy5faGFuZGxlcyA9ICQoKTsNCgkJaWYgKCB0aGlzLmhhbmRsZXMuY29uc3RydWN0b3IgPT09IFN0cmluZyApIHsNCg0KCQkJaWYgKCB0aGlzLmhhbmRsZXMgPT09ICJhbGwiICkgew0KCQkJCXRoaXMuaGFuZGxlcyA9ICJuLGUscyx3LHNlLHN3LG5lLG53IjsNCgkJCX0NCg0KCQkJbiA9IHRoaXMuaGFuZGxlcy5zcGxpdCggIiwiICk7DQoJCQl0aGlzLmhhbmRsZXMgPSB7fTsNCg0KCQkJZm9yICggaSA9IDA7IGkgPCBuLmxlbmd0aDsgaSsrICkgew0KDQoJCQkJaGFuZGxlID0gJC50cmltKCBuWyBpIF0gKTsNCgkJCQlobmFtZSA9ICJ1aS1yZXNpemFibGUtIiArIGhhbmRsZTsNCgkJCQlheGlzID0gJCggIjxkaXY+IiApOw0KCQkJCXRoaXMuX2FkZENsYXNzKCBheGlzLCAidWktcmVzaXphYmxlLWhhbmRsZSAiICsgaG5hbWUgKTsNCg0KCQkJCWF4aXMuY3NzKCB7IHpJbmRleDogby56SW5kZXggfSApOw0KDQoJCQkJdGhpcy5oYW5kbGVzWyBoYW5kbGUgXSA9ICIudWktcmVzaXphYmxlLSIgKyBoYW5kbGU7DQoJCQkJdGhpcy5lbGVtZW50LmFwcGVuZCggYXhpcyApOw0KCQkJfQ0KDQoJCX0NCg0KCQl0aGlzLl9yZW5kZXJBeGlzID0gZnVuY3Rpb24oIHRhcmdldCApIHsNCg0KCQkJdmFyIGksIGF4aXMsIHBhZFBvcywgcGFkV3JhcHBlcjsNCg0KCQkJdGFyZ2V0ID0gdGFyZ2V0IHx8IHRoaXMuZWxlbWVudDsNCg0KCQkJZm9yICggaSBpbiB0aGlzLmhhbmRsZXMgKSB7DQoNCgkJCQlpZiAoIHRoaXMuaGFuZGxlc1sgaSBdLmNvbnN0cnVjdG9yID09PSBTdHJpbmcgKSB7DQoJCQkJCXRoaXMuaGFuZGxlc1sgaSBdID0gdGhpcy5lbGVtZW50LmNoaWxkcmVuKCB0aGlzLmhhbmRsZXNbIGkgXSApLmZpcnN0KCkuc2hvdygpOw0KCQkJCX0gZWxzZSBpZiAoIHRoaXMuaGFuZGxlc1sgaSBdLmpxdWVyeSB8fCB0aGlzLmhhbmRsZXNbIGkgXS5ub2RlVHlwZSApIHsNCgkJCQkJdGhpcy5oYW5kbGVzWyBpIF0gPSAkKCB0aGlzLmhhbmRsZXNbIGkgXSApOw0KCQkJCQl0aGlzLl9vbiggdGhpcy5oYW5kbGVzWyBpIF0sIHsgIm1vdXNlZG93biI6IHRoYXQuX21vdXNlRG93biB9ICk7DQoJCQkJfQ0KDQoJCQkJaWYgKCB0aGlzLmVsZW1lbnRJc1dyYXBwZXIgJiYNCgkJCQkJCXRoaXMub3JpZ2luYWxFbGVtZW50WyAwIF0NCgkJCQkJCQkubm9kZU5hbWUNCgkJCQkJCQkubWF0Y2goIC9eKHRleHRhcmVhfGlucHV0fHNlbGVjdHxidXR0b24pJC9pICkgKSB7DQoJCQkJCWF4aXMgPSAkKCB0aGlzLmhhbmRsZXNbIGkgXSwgdGhpcy5lbGVtZW50ICk7DQoNCgkJCQkJcGFkV3JhcHBlciA9IC9zd3xuZXxud3xzZXxufHMvLnRlc3QoIGkgKSA/DQoJCQkJCQlheGlzLm91dGVySGVpZ2h0KCkgOg0KCQkJCQkJYXhpcy5vdXRlcldpZHRoKCk7DQoNCgkJCQkJcGFkUG9zID0gWyAicGFkZGluZyIsDQoJCQkJCQkvbmV8bnd8bi8udGVzdCggaSApID8gIlRvcCIgOg0KCQkJCQkJL3NlfHN3fHMvLnRlc3QoIGkgKSA/ICJCb3R0b20iIDoNCgkJCQkJCS9eZSQvLnRlc3QoIGkgKSA/ICJSaWdodCIgOiAiTGVmdCIgXS5qb2luKCAiIiApOw0KDQoJCQkJCXRhcmdldC5jc3MoIHBhZFBvcywgcGFkV3JhcHBlciApOw0KDQoJCQkJCXRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCk7DQoJCQkJfQ0KDQoJCQkJdGhpcy5faGFuZGxlcyA9IHRoaXMuX2hhbmRsZXMuYWRkKCB0aGlzLmhhbmRsZXNbIGkgXSApOw0KCQkJfQ0KCQl9Ow0KDQoJCS8vIFRPRE86IG1ha2UgcmVuZGVyQXhpcyBhIHByb3RvdHlwZSBmdW5jdGlvbg0KCQl0aGlzLl9yZW5kZXJBeGlzKCB0aGlzLmVsZW1lbnQgKTsNCg0KCQl0aGlzLl9oYW5kbGVzID0gdGhpcy5faGFuZGxlcy5hZGQoIHRoaXMuZWxlbWVudC5maW5kKCAiLnVpLXJlc2l6YWJsZS1oYW5kbGUiICkgKTsNCgkJdGhpcy5faGFuZGxlcy5kaXNhYmxlU2VsZWN0aW9uKCk7DQoNCgkJdGhpcy5faGFuZGxlcy5vbiggIm1vdXNlb3ZlciIsIGZ1bmN0aW9uKCkgew0KCQkJaWYgKCAhdGhhdC5yZXNpemluZyApIHsNCgkJCQlpZiAoIHRoaXMuY2xhc3NOYW1lICkgew0KCQkJCQlheGlzID0gdGhpcy5jbGFzc05hbWUubWF0Y2goIC91aS1yZXNpemFibGUtKHNlfHN3fG5lfG53fG58ZXxzfHcpL2kgKTsNCgkJCQl9DQoJCQkJdGhhdC5heGlzID0gYXhpcyAmJiBheGlzWyAxIF0gPyBheGlzWyAxIF0gOiAic2UiOw0KCQkJfQ0KCQl9ICk7DQoNCgkJaWYgKCBvLmF1dG9IaWRlICkgew0KCQkJdGhpcy5faGFuZGxlcy5oaWRlKCk7DQoJCQl0aGlzLl9hZGRDbGFzcyggInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIgKTsNCgkJfQ0KCX0sDQoNCglfcmVtb3ZlSGFuZGxlczogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX2hhbmRsZXMucmVtb3ZlKCk7DQoJfSwNCg0KCV9tb3VzZUNhcHR1cmU6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGksIGhhbmRsZSwNCgkJCWNhcHR1cmUgPSBmYWxzZTsNCg0KCQlmb3IgKCBpIGluIHRoaXMuaGFuZGxlcyApIHsNCgkJCWhhbmRsZSA9ICQoIHRoaXMuaGFuZGxlc1sgaSBdIClbIDAgXTsNCgkJCWlmICggaGFuZGxlID09PSBldmVudC50YXJnZXQgfHwgJC5jb250YWlucyggaGFuZGxlLCBldmVudC50YXJnZXQgKSApIHsNCgkJCQljYXB0dXJlID0gdHJ1ZTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIGNhcHR1cmU7DQoJfSwNCg0KCV9tb3VzZVN0YXJ0OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJdmFyIGN1cmxlZnQsIGN1cnRvcCwgY3Vyc29yLA0KCQkJbyA9IHRoaXMub3B0aW9ucywNCgkJCWVsID0gdGhpcy5lbGVtZW50Ow0KDQoJCXRoaXMucmVzaXppbmcgPSB0cnVlOw0KDQoJCXRoaXMuX3JlbmRlclByb3h5KCk7DQoNCgkJY3VybGVmdCA9IHRoaXMuX251bSggdGhpcy5oZWxwZXIuY3NzKCAibGVmdCIgKSApOw0KCQljdXJ0b3AgPSB0aGlzLl9udW0oIHRoaXMuaGVscGVyLmNzcyggInRvcCIgKSApOw0KDQoJCWlmICggby5jb250YWlubWVudCApIHsNCgkJCWN1cmxlZnQgKz0gJCggby5jb250YWlubWVudCApLnNjcm9sbExlZnQoKSB8fCAwOw0KCQkJY3VydG9wICs9ICQoIG8uY29udGFpbm1lbnQgKS5zY3JvbGxUb3AoKSB8fCAwOw0KCQl9DQoNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmhlbHBlci5vZmZzZXQoKTsNCgkJdGhpcy5wb3NpdGlvbiA9IHsgbGVmdDogY3VybGVmdCwgdG9wOiBjdXJ0b3AgfTsNCg0KCQl0aGlzLnNpemUgPSB0aGlzLl9oZWxwZXIgPyB7DQoJCQkJd2lkdGg6IHRoaXMuaGVscGVyLndpZHRoKCksDQoJCQkJaGVpZ2h0OiB0aGlzLmhlbHBlci5oZWlnaHQoKQ0KCQkJfSA6IHsNCgkJCQl3aWR0aDogZWwud2lkdGgoKSwNCgkJCQloZWlnaHQ6IGVsLmhlaWdodCgpDQoJCQl9Ow0KDQoJCXRoaXMub3JpZ2luYWxTaXplID0gdGhpcy5faGVscGVyID8gew0KCQkJCXdpZHRoOiBlbC5vdXRlcldpZHRoKCksDQoJCQkJaGVpZ2h0OiBlbC5vdXRlckhlaWdodCgpDQoJCQl9IDogew0KCQkJCXdpZHRoOiBlbC53aWR0aCgpLA0KCQkJCWhlaWdodDogZWwuaGVpZ2h0KCkNCgkJCX07DQoNCgkJdGhpcy5zaXplRGlmZiA9IHsNCgkJCXdpZHRoOiBlbC5vdXRlcldpZHRoKCkgLSBlbC53aWR0aCgpLA0KCQkJaGVpZ2h0OiBlbC5vdXRlckhlaWdodCgpIC0gZWwuaGVpZ2h0KCkNCgkJfTsNCg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB7IGxlZnQ6IGN1cmxlZnQsIHRvcDogY3VydG9wIH07DQoJCXRoaXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uID0geyBsZWZ0OiBldmVudC5wYWdlWCwgdG9wOiBldmVudC5wYWdlWSB9Ow0KDQoJCXRoaXMuYXNwZWN0UmF0aW8gPSAoIHR5cGVvZiBvLmFzcGVjdFJhdGlvID09PSAibnVtYmVyIiApID8NCgkJCW8uYXNwZWN0UmF0aW8gOg0KCQkJKCAoIHRoaXMub3JpZ2luYWxTaXplLndpZHRoIC8gdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0ICkgfHwgMSApOw0KDQoJCWN1cnNvciA9ICQoICIudWktcmVzaXphYmxlLSIgKyB0aGlzLmF4aXMgKS5jc3MoICJjdXJzb3IiICk7DQoJCSQoICJib2R5IiApLmNzcyggImN1cnNvciIsIGN1cnNvciA9PT0gImF1dG8iID8gdGhpcy5heGlzICsgIi1yZXNpemUiIDogY3Vyc29yICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1yZXNpemFibGUtcmVzaXppbmciICk7DQoJCXRoaXMuX3Byb3BhZ2F0ZSggInN0YXJ0IiwgZXZlbnQgKTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZURyYWc6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQl2YXIgZGF0YSwgcHJvcHMsDQoJCQlzbXAgPSB0aGlzLm9yaWdpbmFsTW91c2VQb3NpdGlvbiwNCgkJCWEgPSB0aGlzLmF4aXMsDQoJCQlkeCA9ICggZXZlbnQucGFnZVggLSBzbXAubGVmdCApIHx8IDAsDQoJCQlkeSA9ICggZXZlbnQucGFnZVkgLSBzbXAudG9wICkgfHwgMCwNCgkJCXRyaWdnZXIgPSB0aGlzLl9jaGFuZ2VbIGEgXTsNCg0KCQl0aGlzLl91cGRhdGVQcmV2UHJvcGVydGllcygpOw0KDQoJCWlmICggIXRyaWdnZXIgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQlkYXRhID0gdHJpZ2dlci5hcHBseSggdGhpcywgWyBldmVudCwgZHgsIGR5IF0gKTsNCg0KCQl0aGlzLl91cGRhdGVWaXJ0dWFsQm91bmRhcmllcyggZXZlbnQuc2hpZnRLZXkgKTsNCgkJaWYgKCB0aGlzLl9hc3BlY3RSYXRpbyB8fCBldmVudC5zaGlmdEtleSApIHsNCgkJCWRhdGEgPSB0aGlzLl91cGRhdGVSYXRpbyggZGF0YSwgZXZlbnQgKTsNCgkJfQ0KDQoJCWRhdGEgPSB0aGlzLl9yZXNwZWN0U2l6ZSggZGF0YSwgZXZlbnQgKTsNCg0KCQl0aGlzLl91cGRhdGVDYWNoZSggZGF0YSApOw0KDQoJCXRoaXMuX3Byb3BhZ2F0ZSggInJlc2l6ZSIsIGV2ZW50ICk7DQoNCgkJcHJvcHMgPSB0aGlzLl9hcHBseUNoYW5nZXMoKTsNCg0KCQlpZiAoICF0aGlzLl9oZWxwZXIgJiYgdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGggKSB7DQoJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQl9DQoNCgkJaWYgKCAhJC5pc0VtcHR5T2JqZWN0KCBwcm9wcyApICkgew0KCQkJdGhpcy5fdXBkYXRlUHJldlByb3BlcnRpZXMoKTsNCgkJCXRoaXMuX3RyaWdnZXIoICJyZXNpemUiLCBldmVudCwgdGhpcy51aSgpICk7DQoJCQl0aGlzLl9hcHBseUNoYW5nZXMoKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXRoaXMucmVzaXppbmcgPSBmYWxzZTsNCgkJdmFyIHByLCBpc3RhLCBzb2Zmc2V0aCwgc29mZnNldHcsIHMsIGxlZnQsIHRvcCwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsIHRoYXQgPSB0aGlzOw0KDQoJCWlmICggdGhpcy5faGVscGVyICkgew0KDQoJCQlwciA9IHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHM7DQoJCQlpc3RhID0gcHIubGVuZ3RoICYmICggL3RleHRhcmVhL2kgKS50ZXN0KCBwclsgMCBdLm5vZGVOYW1lICk7DQoJCQlzb2Zmc2V0aCA9IGlzdGEgJiYgdGhpcy5faGFzU2Nyb2xsKCBwclsgMCBdLCAibGVmdCIgKSA/IDAgOiB0aGF0LnNpemVEaWZmLmhlaWdodDsNCgkJCXNvZmZzZXR3ID0gaXN0YSA/IDAgOiB0aGF0LnNpemVEaWZmLndpZHRoOw0KDQoJCQlzID0gew0KCQkJCXdpZHRoOiAoIHRoYXQuaGVscGVyLndpZHRoKCkgIC0gc29mZnNldHcgKSwNCgkJCQloZWlnaHQ6ICggdGhhdC5oZWxwZXIuaGVpZ2h0KCkgLSBzb2Zmc2V0aCApDQoJCQl9Ow0KCQkJbGVmdCA9ICggcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggImxlZnQiICkgKSArDQoJCQkJKCB0aGF0LnBvc2l0aW9uLmxlZnQgLSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24ubGVmdCApICkgfHwgbnVsbDsNCgkJCXRvcCA9ICggcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggInRvcCIgKSApICsNCgkJCQkoIHRoYXQucG9zaXRpb24udG9wIC0gdGhhdC5vcmlnaW5hbFBvc2l0aW9uLnRvcCApICkgfHwgbnVsbDsNCg0KCQkJaWYgKCAhby5hbmltYXRlICkgew0KCQkJCXRoaXMuZWxlbWVudC5jc3MoICQuZXh0ZW5kKCBzLCB7IHRvcDogdG9wLCBsZWZ0OiBsZWZ0IH0gKSApOw0KCQkJfQ0KDQoJCQl0aGF0LmhlbHBlci5oZWlnaHQoIHRoYXQuc2l6ZS5oZWlnaHQgKTsNCgkJCXRoYXQuaGVscGVyLndpZHRoKCB0aGF0LnNpemUud2lkdGggKTsNCg0KCQkJaWYgKCB0aGlzLl9oZWxwZXIgJiYgIW8uYW5pbWF0ZSApIHsNCgkJCQl0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpOw0KCQkJfQ0KCQl9DQoNCgkJJCggImJvZHkiICkuY3NzKCAiY3Vyc29yIiwgImF1dG8iICk7DQoNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoICJ1aS1yZXNpemFibGUtcmVzaXppbmciICk7DQoNCgkJdGhpcy5fcHJvcGFnYXRlKCAic3RvcCIsIGV2ZW50ICk7DQoNCgkJaWYgKCB0aGlzLl9oZWxwZXIgKSB7DQoJCQl0aGlzLmhlbHBlci5yZW1vdmUoKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCg0KCX0sDQoNCglfdXBkYXRlUHJldlByb3BlcnRpZXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLnByZXZQb3NpdGlvbiA9IHsNCgkJCXRvcDogdGhpcy5wb3NpdGlvbi50b3AsDQoJCQlsZWZ0OiB0aGlzLnBvc2l0aW9uLmxlZnQNCgkJfTsNCgkJdGhpcy5wcmV2U2l6ZSA9IHsNCgkJCXdpZHRoOiB0aGlzLnNpemUud2lkdGgsDQoJCQloZWlnaHQ6IHRoaXMuc2l6ZS5oZWlnaHQNCgkJfTsNCgl9LA0KDQoJX2FwcGx5Q2hhbmdlczogZnVuY3Rpb24oKSB7DQoJCXZhciBwcm9wcyA9IHt9Ow0KDQoJCWlmICggdGhpcy5wb3NpdGlvbi50b3AgIT09IHRoaXMucHJldlBvc2l0aW9uLnRvcCApIHsNCgkJCXByb3BzLnRvcCA9IHRoaXMucG9zaXRpb24udG9wICsgInB4IjsNCgkJfQ0KCQlpZiAoIHRoaXMucG9zaXRpb24ubGVmdCAhPT0gdGhpcy5wcmV2UG9zaXRpb24ubGVmdCApIHsNCgkJCXByb3BzLmxlZnQgPSB0aGlzLnBvc2l0aW9uLmxlZnQgKyAicHgiOw0KCQl9DQoJCWlmICggdGhpcy5zaXplLndpZHRoICE9PSB0aGlzLnByZXZTaXplLndpZHRoICkgew0KCQkJcHJvcHMud2lkdGggPSB0aGlzLnNpemUud2lkdGggKyAicHgiOw0KCQl9DQoJCWlmICggdGhpcy5zaXplLmhlaWdodCAhPT0gdGhpcy5wcmV2U2l6ZS5oZWlnaHQgKSB7DQoJCQlwcm9wcy5oZWlnaHQgPSB0aGlzLnNpemUuaGVpZ2h0ICsgInB4IjsNCgkJfQ0KDQoJCXRoaXMuaGVscGVyLmNzcyggcHJvcHMgKTsNCg0KCQlyZXR1cm4gcHJvcHM7DQoJfSwNCg0KCV91cGRhdGVWaXJ0dWFsQm91bmRhcmllczogZnVuY3Rpb24oIGZvcmNlQXNwZWN0UmF0aW8gKSB7DQoJCXZhciBwTWluV2lkdGgsIHBNYXhXaWR0aCwgcE1pbkhlaWdodCwgcE1heEhlaWdodCwgYiwNCgkJCW8gPSB0aGlzLm9wdGlvbnM7DQoNCgkJYiA9IHsNCgkJCW1pbldpZHRoOiB0aGlzLl9pc051bWJlciggby5taW5XaWR0aCApID8gby5taW5XaWR0aCA6IDAsDQoJCQltYXhXaWR0aDogdGhpcy5faXNOdW1iZXIoIG8ubWF4V2lkdGggKSA/IG8ubWF4V2lkdGggOiBJbmZpbml0eSwNCgkJCW1pbkhlaWdodDogdGhpcy5faXNOdW1iZXIoIG8ubWluSGVpZ2h0ICkgPyBvLm1pbkhlaWdodCA6IDAsDQoJCQltYXhIZWlnaHQ6IHRoaXMuX2lzTnVtYmVyKCBvLm1heEhlaWdodCApID8gby5tYXhIZWlnaHQgOiBJbmZpbml0eQ0KCQl9Ow0KDQoJCWlmICggdGhpcy5fYXNwZWN0UmF0aW8gfHwgZm9yY2VBc3BlY3RSYXRpbyApIHsNCgkJCXBNaW5XaWR0aCA9IGIubWluSGVpZ2h0ICogdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNaW5IZWlnaHQgPSBiLm1pbldpZHRoIC8gdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNYXhXaWR0aCA9IGIubWF4SGVpZ2h0ICogdGhpcy5hc3BlY3RSYXRpbzsNCgkJCXBNYXhIZWlnaHQgPSBiLm1heFdpZHRoIC8gdGhpcy5hc3BlY3RSYXRpbzsNCg0KCQkJaWYgKCBwTWluV2lkdGggPiBiLm1pbldpZHRoICkgew0KCQkJCWIubWluV2lkdGggPSBwTWluV2lkdGg7DQoJCQl9DQoJCQlpZiAoIHBNaW5IZWlnaHQgPiBiLm1pbkhlaWdodCApIHsNCgkJCQliLm1pbkhlaWdodCA9IHBNaW5IZWlnaHQ7DQoJCQl9DQoJCQlpZiAoIHBNYXhXaWR0aCA8IGIubWF4V2lkdGggKSB7DQoJCQkJYi5tYXhXaWR0aCA9IHBNYXhXaWR0aDsNCgkJCX0NCgkJCWlmICggcE1heEhlaWdodCA8IGIubWF4SGVpZ2h0ICkgew0KCQkJCWIubWF4SGVpZ2h0ID0gcE1heEhlaWdodDsNCgkJCX0NCgkJfQ0KCQl0aGlzLl92Qm91bmRhcmllcyA9IGI7DQoJfSwNCg0KCV91cGRhdGVDYWNoZTogZnVuY3Rpb24oIGRhdGEgKSB7DQoJCXRoaXMub2Zmc2V0ID0gdGhpcy5oZWxwZXIub2Zmc2V0KCk7DQoJCWlmICggdGhpcy5faXNOdW1iZXIoIGRhdGEubGVmdCApICkgew0KCQkJdGhpcy5wb3NpdGlvbi5sZWZ0ID0gZGF0YS5sZWZ0Ow0KCQl9DQoJCWlmICggdGhpcy5faXNOdW1iZXIoIGRhdGEudG9wICkgKSB7DQoJCQl0aGlzLnBvc2l0aW9uLnRvcCA9IGRhdGEudG9wOw0KCQl9DQoJCWlmICggdGhpcy5faXNOdW1iZXIoIGRhdGEuaGVpZ2h0ICkgKSB7DQoJCQl0aGlzLnNpemUuaGVpZ2h0ID0gZGF0YS5oZWlnaHQ7DQoJCX0NCgkJaWYgKCB0aGlzLl9pc051bWJlciggZGF0YS53aWR0aCApICkgew0KCQkJdGhpcy5zaXplLndpZHRoID0gZGF0YS53aWR0aDsNCgkJfQ0KCX0sDQoNCglfdXBkYXRlUmF0aW86IGZ1bmN0aW9uKCBkYXRhICkgew0KDQoJCXZhciBjcG9zID0gdGhpcy5wb3NpdGlvbiwNCgkJCWNzaXplID0gdGhpcy5zaXplLA0KCQkJYSA9IHRoaXMuYXhpczsNCg0KCQlpZiAoIHRoaXMuX2lzTnVtYmVyKCBkYXRhLmhlaWdodCApICkgew0KCQkJZGF0YS53aWR0aCA9ICggZGF0YS5oZWlnaHQgKiB0aGlzLmFzcGVjdFJhdGlvICk7DQoJCX0gZWxzZSBpZiAoIHRoaXMuX2lzTnVtYmVyKCBkYXRhLndpZHRoICkgKSB7DQoJCQlkYXRhLmhlaWdodCA9ICggZGF0YS53aWR0aCAvIHRoaXMuYXNwZWN0UmF0aW8gKTsNCgkJfQ0KDQoJCWlmICggYSA9PT0gInN3IiApIHsNCgkJCWRhdGEubGVmdCA9IGNwb3MubGVmdCArICggY3NpemUud2lkdGggLSBkYXRhLndpZHRoICk7DQoJCQlkYXRhLnRvcCA9IG51bGw7DQoJCX0NCgkJaWYgKCBhID09PSAibnciICkgew0KCQkJZGF0YS50b3AgPSBjcG9zLnRvcCArICggY3NpemUuaGVpZ2h0IC0gZGF0YS5oZWlnaHQgKTsNCgkJCWRhdGEubGVmdCA9IGNwb3MubGVmdCArICggY3NpemUud2lkdGggLSBkYXRhLndpZHRoICk7DQoJCX0NCg0KCQlyZXR1cm4gZGF0YTsNCgl9LA0KDQoJX3Jlc3BlY3RTaXplOiBmdW5jdGlvbiggZGF0YSApIHsNCg0KCQl2YXIgbyA9IHRoaXMuX3ZCb3VuZGFyaWVzLA0KCQkJYSA9IHRoaXMuYXhpcywNCgkJCWlzbWF4dyA9IHRoaXMuX2lzTnVtYmVyKCBkYXRhLndpZHRoICkgJiYgby5tYXhXaWR0aCAmJiAoIG8ubWF4V2lkdGggPCBkYXRhLndpZHRoICksDQoJCQlpc21heGggPSB0aGlzLl9pc051bWJlciggZGF0YS5oZWlnaHQgKSAmJiBvLm1heEhlaWdodCAmJiAoIG8ubWF4SGVpZ2h0IDwgZGF0YS5oZWlnaHQgKSwNCgkJCWlzbWludyA9IHRoaXMuX2lzTnVtYmVyKCBkYXRhLndpZHRoICkgJiYgby5taW5XaWR0aCAmJiAoIG8ubWluV2lkdGggPiBkYXRhLndpZHRoICksDQoJCQlpc21pbmggPSB0aGlzLl9pc051bWJlciggZGF0YS5oZWlnaHQgKSAmJiBvLm1pbkhlaWdodCAmJiAoIG8ubWluSGVpZ2h0ID4gZGF0YS5oZWlnaHQgKSwNCgkJCWR3ID0gdGhpcy5vcmlnaW5hbFBvc2l0aW9uLmxlZnQgKyB0aGlzLm9yaWdpbmFsU2l6ZS53aWR0aCwNCgkJCWRoID0gdGhpcy5vcmlnaW5hbFBvc2l0aW9uLnRvcCArIHRoaXMub3JpZ2luYWxTaXplLmhlaWdodCwNCgkJCWN3ID0gL3N3fG53fHcvLnRlc3QoIGEgKSwgY2ggPSAvbnd8bmV8bi8udGVzdCggYSApOw0KCQlpZiAoIGlzbWludyApIHsNCgkJCWRhdGEud2lkdGggPSBvLm1pbldpZHRoOw0KCQl9DQoJCWlmICggaXNtaW5oICkgew0KCQkJZGF0YS5oZWlnaHQgPSBvLm1pbkhlaWdodDsNCgkJfQ0KCQlpZiAoIGlzbWF4dyApIHsNCgkJCWRhdGEud2lkdGggPSBvLm1heFdpZHRoOw0KCQl9DQoJCWlmICggaXNtYXhoICkgew0KCQkJZGF0YS5oZWlnaHQgPSBvLm1heEhlaWdodDsNCgkJfQ0KDQoJCWlmICggaXNtaW53ICYmIGN3ICkgew0KCQkJZGF0YS5sZWZ0ID0gZHcgLSBvLm1pbldpZHRoOw0KCQl9DQoJCWlmICggaXNtYXh3ICYmIGN3ICkgew0KCQkJZGF0YS5sZWZ0ID0gZHcgLSBvLm1heFdpZHRoOw0KCQl9DQoJCWlmICggaXNtaW5oICYmIGNoICkgew0KCQkJZGF0YS50b3AgPSBkaCAtIG8ubWluSGVpZ2h0Ow0KCQl9DQoJCWlmICggaXNtYXhoICYmIGNoICkgew0KCQkJZGF0YS50b3AgPSBkaCAtIG8ubWF4SGVpZ2h0Ow0KCQl9DQoNCgkJLy8gRml4aW5nIGp1bXAgZXJyb3Igb24gdG9wL2xlZnQgLSBidWcgIzIzMzANCgkJaWYgKCAhZGF0YS53aWR0aCAmJiAhZGF0YS5oZWlnaHQgJiYgIWRhdGEubGVmdCAmJiBkYXRhLnRvcCApIHsNCgkJCWRhdGEudG9wID0gbnVsbDsNCgkJfSBlbHNlIGlmICggIWRhdGEud2lkdGggJiYgIWRhdGEuaGVpZ2h0ICYmICFkYXRhLnRvcCAmJiBkYXRhLmxlZnQgKSB7DQoJCQlkYXRhLmxlZnQgPSBudWxsOw0KCQl9DQoNCgkJcmV0dXJuIGRhdGE7DQoJfSwNCg0KCV9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnM6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl2YXIgaSA9IDAsDQoJCQl3aWR0aHMgPSBbXSwNCgkJCWJvcmRlcnMgPSBbDQoJCQkJZWxlbWVudC5jc3MoICJib3JkZXJUb3BXaWR0aCIgKSwNCgkJCQllbGVtZW50LmNzcyggImJvcmRlclJpZ2h0V2lkdGgiICksDQoJCQkJZWxlbWVudC5jc3MoICJib3JkZXJCb3R0b21XaWR0aCIgKSwNCgkJCQllbGVtZW50LmNzcyggImJvcmRlckxlZnRXaWR0aCIgKQ0KCQkJXSwNCgkJCXBhZGRpbmdzID0gWw0KCQkJCWVsZW1lbnQuY3NzKCAicGFkZGluZ1RvcCIgKSwNCgkJCQllbGVtZW50LmNzcyggInBhZGRpbmdSaWdodCIgKSwNCgkJCQllbGVtZW50LmNzcyggInBhZGRpbmdCb3R0b20iICksDQoJCQkJZWxlbWVudC5jc3MoICJwYWRkaW5nTGVmdCIgKQ0KCQkJXTsNCg0KCQlmb3IgKCA7IGkgPCA0OyBpKysgKSB7DQoJCQl3aWR0aHNbIGkgXSA9ICggcGFyc2VGbG9hdCggYm9yZGVyc1sgaSBdICkgfHwgMCApOw0KCQkJd2lkdGhzWyBpIF0gKz0gKCBwYXJzZUZsb2F0KCBwYWRkaW5nc1sgaSBdICkgfHwgMCApOw0KCQl9DQoNCgkJcmV0dXJuIHsNCgkJCWhlaWdodDogd2lkdGhzWyAwIF0gKyB3aWR0aHNbIDIgXSwNCgkJCXdpZHRoOiB3aWR0aHNbIDEgXSArIHdpZHRoc1sgMyBdDQoJCX07DQoJfSwNCg0KCV9wcm9wb3J0aW9uYWxseVJlc2l6ZTogZnVuY3Rpb24oKSB7DQoNCgkJaWYgKCAhdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5sZW5ndGggKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgcHJlbCwNCgkJCWkgPSAwLA0KCQkJZWxlbWVudCA9IHRoaXMuaGVscGVyIHx8IHRoaXMuZWxlbWVudDsNCg0KCQlmb3IgKCA7IGkgPCB0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLmxlbmd0aDsgaSsrICkgew0KDQoJCQlwcmVsID0gdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50c1sgaSBdOw0KDQoJCQkvLyBUT0RPOiBTZWVtcyBsaWtlIGEgYnVnIHRvIGNhY2hlIHRoaXMub3V0ZXJEaW1lbnNpb25zDQoJCQkvLyBjb25zaWRlcmluZyB0aGF0IHdlIGFyZSBpbiBhIGxvb3AuDQoJCQlpZiAoICF0aGlzLm91dGVyRGltZW5zaW9ucyApIHsNCgkJCQl0aGlzLm91dGVyRGltZW5zaW9ucyA9IHRoaXMuX2dldFBhZGRpbmdQbHVzQm9yZGVyRGltZW5zaW9ucyggcHJlbCApOw0KCQkJfQ0KDQoJCQlwcmVsLmNzcyggew0KCQkJCWhlaWdodDogKCBlbGVtZW50LmhlaWdodCgpIC0gdGhpcy5vdXRlckRpbWVuc2lvbnMuaGVpZ2h0ICkgfHwgMCwNCgkJCQl3aWR0aDogKCBlbGVtZW50LndpZHRoKCkgLSB0aGlzLm91dGVyRGltZW5zaW9ucy53aWR0aCApIHx8IDANCgkJCX0gKTsNCg0KCQl9DQoNCgl9LA0KDQoJX3JlbmRlclByb3h5OiBmdW5jdGlvbigpIHsNCg0KCQl2YXIgZWwgPSB0aGlzLmVsZW1lbnQsIG8gPSB0aGlzLm9wdGlvbnM7DQoJCXRoaXMuZWxlbWVudE9mZnNldCA9IGVsLm9mZnNldCgpOw0KDQoJCWlmICggdGhpcy5faGVscGVyICkgew0KDQoJCQl0aGlzLmhlbHBlciA9IHRoaXMuaGVscGVyIHx8ICQoICI8ZGl2IHN0eWxlPSdvdmVyZmxvdzpoaWRkZW47Jz48L2Rpdj4iICk7DQoNCgkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmhlbHBlciwgdGhpcy5faGVscGVyICk7DQoJCQl0aGlzLmhlbHBlci5jc3MoIHsNCgkJCQl3aWR0aDogdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCQloZWlnaHQ6IHRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLA0KCQkJCXBvc2l0aW9uOiAiYWJzb2x1dGUiLA0KCQkJCWxlZnQ6IHRoaXMuZWxlbWVudE9mZnNldC5sZWZ0ICsgInB4IiwNCgkJCQl0b3A6IHRoaXMuZWxlbWVudE9mZnNldC50b3AgKyAicHgiLA0KCQkJCXpJbmRleDogKytvLnpJbmRleCAvL1RPRE86IERvbid0IG1vZGlmeSBvcHRpb24NCgkJCX0gKTsNCg0KCQkJdGhpcy5oZWxwZXINCgkJCQkuYXBwZW5kVG8oICJib2R5IiApDQoJCQkJLmRpc2FibGVTZWxlY3Rpb24oKTsNCg0KCQl9IGVsc2Ugew0KCQkJdGhpcy5oZWxwZXIgPSB0aGlzLmVsZW1lbnQ7DQoJCX0NCg0KCX0sDQoNCglfY2hhbmdlOiB7DQoJCWU6IGZ1bmN0aW9uKCBldmVudCwgZHggKSB7DQoJCQlyZXR1cm4geyB3aWR0aDogdGhpcy5vcmlnaW5hbFNpemUud2lkdGggKyBkeCB9Ow0KCQl9LA0KCQl3OiBmdW5jdGlvbiggZXZlbnQsIGR4ICkgew0KCQkJdmFyIGNzID0gdGhpcy5vcmlnaW5hbFNpemUsIHNwID0gdGhpcy5vcmlnaW5hbFBvc2l0aW9uOw0KCQkJcmV0dXJuIHsgbGVmdDogc3AubGVmdCArIGR4LCB3aWR0aDogY3Mud2lkdGggLSBkeCB9Ow0KCQl9LA0KCQluOiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXZhciBjcyA9IHRoaXMub3JpZ2luYWxTaXplLCBzcCA9IHRoaXMub3JpZ2luYWxQb3NpdGlvbjsNCgkJCXJldHVybiB7IHRvcDogc3AudG9wICsgZHksIGhlaWdodDogY3MuaGVpZ2h0IC0gZHkgfTsNCgkJfSwNCgkJczogZnVuY3Rpb24oIGV2ZW50LCBkeCwgZHkgKSB7DQoJCQlyZXR1cm4geyBoZWlnaHQ6IHRoaXMub3JpZ2luYWxTaXplLmhlaWdodCArIGR5IH07DQoJCX0sDQoJCXNlOiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLnMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS5lLmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0sDQoJCXN3OiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLnMuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS53LmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0sDQoJCW5lOiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS5lLmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0sDQoJCW53OiBmdW5jdGlvbiggZXZlbnQsIGR4LCBkeSApIHsNCgkJCXJldHVybiAkLmV4dGVuZCggdGhpcy5fY2hhbmdlLm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApLA0KCQkJCXRoaXMuX2NoYW5nZS53LmFwcGx5KCB0aGlzLCBbIGV2ZW50LCBkeCwgZHkgXSApICk7DQoJCX0NCgl9LA0KDQoJX3Byb3BhZ2F0ZTogZnVuY3Rpb24oIG4sIGV2ZW50ICkgew0KCQkkLnVpLnBsdWdpbi5jYWxsKCB0aGlzLCBuLCBbIGV2ZW50LCB0aGlzLnVpKCkgXSApOw0KCQkoIG4gIT09ICJyZXNpemUiICYmIHRoaXMuX3RyaWdnZXIoIG4sIGV2ZW50LCB0aGlzLnVpKCkgKSApOw0KCX0sDQoNCglwbHVnaW5zOiB7fSwNCg0KCXVpOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHsNCgkJCW9yaWdpbmFsRWxlbWVudDogdGhpcy5vcmlnaW5hbEVsZW1lbnQsDQoJCQllbGVtZW50OiB0aGlzLmVsZW1lbnQsDQoJCQloZWxwZXI6IHRoaXMuaGVscGVyLA0KCQkJcG9zaXRpb246IHRoaXMucG9zaXRpb24sDQoJCQlzaXplOiB0aGlzLnNpemUsDQoJCQlvcmlnaW5hbFNpemU6IHRoaXMub3JpZ2luYWxTaXplLA0KCQkJb3JpZ2luYWxQb3NpdGlvbjogdGhpcy5vcmlnaW5hbFBvc2l0aW9uDQoJCX07DQoJfQ0KDQp9ICk7DQoNCi8qDQogKiBSZXNpemFibGUgRXh0ZW5zaW9ucw0KICovDQoNCiQudWkucGx1Z2luLmFkZCggInJlc2l6YWJsZSIsICJhbmltYXRlIiwgew0KDQoJc3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnMsDQoJCQlwciA9IHRoYXQuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMsDQoJCQlpc3RhID0gcHIubGVuZ3RoICYmICggL3RleHRhcmVhL2kgKS50ZXN0KCBwclsgMCBdLm5vZGVOYW1lICksDQoJCQlzb2Zmc2V0aCA9IGlzdGEgJiYgdGhhdC5faGFzU2Nyb2xsKCBwclsgMCBdLCAibGVmdCIgKSA/IDAgOiB0aGF0LnNpemVEaWZmLmhlaWdodCwNCgkJCXNvZmZzZXR3ID0gaXN0YSA/IDAgOiB0aGF0LnNpemVEaWZmLndpZHRoLA0KCQkJc3R5bGUgPSB7DQoJCQkJd2lkdGg6ICggdGhhdC5zaXplLndpZHRoIC0gc29mZnNldHcgKSwNCgkJCQloZWlnaHQ6ICggdGhhdC5zaXplLmhlaWdodCAtIHNvZmZzZXRoICkNCgkJCX0sDQoJCQlsZWZ0ID0gKCBwYXJzZUZsb2F0KCB0aGF0LmVsZW1lbnQuY3NzKCAibGVmdCIgKSApICsNCgkJCQkoIHRoYXQucG9zaXRpb24ubGVmdCAtIHRoYXQub3JpZ2luYWxQb3NpdGlvbi5sZWZ0ICkgKSB8fCBudWxsLA0KCQkJdG9wID0gKCBwYXJzZUZsb2F0KCB0aGF0LmVsZW1lbnQuY3NzKCAidG9wIiApICkgKw0KCQkJCSggdGhhdC5wb3NpdGlvbi50b3AgLSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24udG9wICkgKSB8fCBudWxsOw0KDQoJCXRoYXQuZWxlbWVudC5hbmltYXRlKA0KCQkJJC5leHRlbmQoIHN0eWxlLCB0b3AgJiYgbGVmdCA/IHsgdG9wOiB0b3AsIGxlZnQ6IGxlZnQgfSA6IHt9ICksIHsNCgkJCQlkdXJhdGlvbjogby5hbmltYXRlRHVyYXRpb24sDQoJCQkJZWFzaW5nOiBvLmFuaW1hdGVFYXNpbmcsDQoJCQkJc3RlcDogZnVuY3Rpb24oKSB7DQoNCgkJCQkJdmFyIGRhdGEgPSB7DQoJCQkJCQl3aWR0aDogcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggIndpZHRoIiApICksDQoJCQkJCQloZWlnaHQ6IHBhcnNlRmxvYXQoIHRoYXQuZWxlbWVudC5jc3MoICJoZWlnaHQiICkgKSwNCgkJCQkJCXRvcDogcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggInRvcCIgKSApLA0KCQkJCQkJbGVmdDogcGFyc2VGbG9hdCggdGhhdC5lbGVtZW50LmNzcyggImxlZnQiICkgKQ0KCQkJCQl9Ow0KDQoJCQkJCWlmICggcHIgJiYgcHIubGVuZ3RoICkgew0KCQkJCQkJJCggcHJbIDAgXSApLmNzcyggeyB3aWR0aDogZGF0YS53aWR0aCwgaGVpZ2h0OiBkYXRhLmhlaWdodCB9ICk7DQoJCQkJCX0NCg0KCQkJCQkvLyBQcm9wYWdhdGluZyByZXNpemUsIGFuZCB1cGRhdGluZyB2YWx1ZXMgZm9yIGVhY2ggYW5pbWF0aW9uIHN0ZXANCgkJCQkJdGhhdC5fdXBkYXRlQ2FjaGUoIGRhdGEgKTsNCgkJCQkJdGhhdC5fcHJvcGFnYXRlKCAicmVzaXplIiwgZXZlbnQgKTsNCg0KCQkJCX0NCgkJCX0NCgkJKTsNCgl9DQoNCn0gKTsNCg0KJC51aS5wbHVnaW4uYWRkKCAicmVzaXphYmxlIiwgImNvbnRhaW5tZW50Iiwgew0KDQoJc3RhcnQ6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZWxlbWVudCwgcCwgY28sIGNoLCBjdywgd2lkdGgsIGhlaWdodCwNCgkJCXRoYXQgPSAkKCB0aGlzICkucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJZWwgPSB0aGF0LmVsZW1lbnQsDQoJCQlvYyA9IG8uY29udGFpbm1lbnQsDQoNCgkJCWNlID0gKCBvYyBpbnN0YW5jZW9mICQgKSA/DQoJCQkJb2MuZ2V0KCAwICkgOg0KCQkJCSggL3BhcmVudC8udGVzdCggb2MgKSApID8gZWwucGFyZW50KCkuZ2V0KCAwICkgOiBvYzsNCg0KCQlpZiAoICFjZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoYXQuY29udGFpbmVyRWxlbWVudCA9ICQoIGNlICk7DQoNCgkJaWYgKCAvZG9jdW1lbnQvLnRlc3QoIG9jICkgfHwgb2MgPT09IGRvY3VtZW50ICkgew0KCQkJdGhhdC5jb250YWluZXJPZmZzZXQgPSB7DQoJCQkJbGVmdDogMCwNCgkJCQl0b3A6IDANCgkJCX07DQoJCQl0aGF0LmNvbnRhaW5lclBvc2l0aW9uID0gew0KCQkJCWxlZnQ6IDAsDQoJCQkJdG9wOiAwDQoJCQl9Ow0KDQoJCQl0aGF0LnBhcmVudERhdGEgPSB7DQoJCQkJZWxlbWVudDogJCggZG9jdW1lbnQgKSwNCgkJCQlsZWZ0OiAwLA0KCQkJCXRvcDogMCwNCgkJCQl3aWR0aDogJCggZG9jdW1lbnQgKS53aWR0aCgpLA0KCQkJCWhlaWdodDogJCggZG9jdW1lbnQgKS5oZWlnaHQoKSB8fCBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0DQoJCQl9Ow0KCQl9IGVsc2Ugew0KCQkJZWxlbWVudCA9ICQoIGNlICk7DQoJCQlwID0gW107DQoJCQkkKCBbICJUb3AiLCAiUmlnaHQiLCAiTGVmdCIsICJCb3R0b20iIF0gKS5lYWNoKCBmdW5jdGlvbiggaSwgbmFtZSApIHsNCgkJCQlwWyBpIF0gPSB0aGF0Ll9udW0oIGVsZW1lbnQuY3NzKCAicGFkZGluZyIgKyBuYW1lICkgKTsNCgkJCX0gKTsNCg0KCQkJdGhhdC5jb250YWluZXJPZmZzZXQgPSBlbGVtZW50Lm9mZnNldCgpOw0KCQkJdGhhdC5jb250YWluZXJQb3NpdGlvbiA9IGVsZW1lbnQucG9zaXRpb24oKTsNCgkJCXRoYXQuY29udGFpbmVyU2l6ZSA9IHsNCgkJCQloZWlnaHQ6ICggZWxlbWVudC5pbm5lckhlaWdodCgpIC0gcFsgMyBdICksDQoJCQkJd2lkdGg6ICggZWxlbWVudC5pbm5lcldpZHRoKCkgLSBwWyAxIF0gKQ0KCQkJfTsNCg0KCQkJY28gPSB0aGF0LmNvbnRhaW5lck9mZnNldDsNCgkJCWNoID0gdGhhdC5jb250YWluZXJTaXplLmhlaWdodDsNCgkJCWN3ID0gdGhhdC5jb250YWluZXJTaXplLndpZHRoOw0KCQkJd2lkdGggPSAoIHRoYXQuX2hhc1Njcm9sbCAoIGNlLCAibGVmdCIgKSA/IGNlLnNjcm9sbFdpZHRoIDogY3cgKTsNCgkJCWhlaWdodCA9ICggdGhhdC5faGFzU2Nyb2xsICggY2UgKSA/IGNlLnNjcm9sbEhlaWdodCA6IGNoICkgOw0KDQoJCQl0aGF0LnBhcmVudERhdGEgPSB7DQoJCQkJZWxlbWVudDogY2UsDQoJCQkJbGVmdDogY28ubGVmdCwNCgkJCQl0b3A6IGNvLnRvcCwNCgkJCQl3aWR0aDogd2lkdGgsDQoJCQkJaGVpZ2h0OiBoZWlnaHQNCgkJCX07DQoJCX0NCgl9LA0KDQoJcmVzaXplOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciB3b3NldCwgaG9zZXQsIGlzUGFyZW50LCBpc09mZnNldFJlbGF0aXZlLA0KCQkJdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnMsDQoJCQljbyA9IHRoYXQuY29udGFpbmVyT2Zmc2V0LA0KCQkJY3AgPSB0aGF0LnBvc2l0aW9uLA0KCQkJcFJhdGlvID0gdGhhdC5fYXNwZWN0UmF0aW8gfHwgZXZlbnQuc2hpZnRLZXksDQoJCQljb3AgPSB7DQoJCQkJdG9wOiAwLA0KCQkJCWxlZnQ6IDANCgkJCX0sDQoJCQljZSA9IHRoYXQuY29udGFpbmVyRWxlbWVudCwNCgkJCWNvbnRpbnVlUmVzaXplID0gdHJ1ZTsNCg0KCQlpZiAoIGNlWyAwIF0gIT09IGRvY3VtZW50ICYmICggL3N0YXRpYy8gKS50ZXN0KCBjZS5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJY29wID0gY287DQoJCX0NCg0KCQlpZiAoIGNwLmxlZnQgPCAoIHRoYXQuX2hlbHBlciA/IGNvLmxlZnQgOiAwICkgKSB7DQoJCQl0aGF0LnNpemUud2lkdGggPSB0aGF0LnNpemUud2lkdGggKw0KCQkJCSggdGhhdC5faGVscGVyID8NCgkJCQkJKCB0aGF0LnBvc2l0aW9uLmxlZnQgLSBjby5sZWZ0ICkgOg0KCQkJCQkoIHRoYXQucG9zaXRpb24ubGVmdCAtIGNvcC5sZWZ0ICkgKTsNCg0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQuc2l6ZS53aWR0aCAvIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJCXRoYXQucG9zaXRpb24ubGVmdCA9IG8uaGVscGVyID8gY28ubGVmdCA6IDA7DQoJCX0NCg0KCQlpZiAoIGNwLnRvcCA8ICggdGhhdC5faGVscGVyID8gY28udG9wIDogMCApICkgew0KCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQuc2l6ZS5oZWlnaHQgKw0KCQkJCSggdGhhdC5faGVscGVyID8NCgkJCQkJKCB0aGF0LnBvc2l0aW9uLnRvcCAtIGNvLnRvcCApIDoNCgkJCQkJdGhhdC5wb3NpdGlvbi50b3AgKTsNCg0KCQkJaWYgKCBwUmF0aW8gKSB7DQoJCQkJdGhhdC5zaXplLndpZHRoID0gdGhhdC5zaXplLmhlaWdodCAqIHRoYXQuYXNwZWN0UmF0aW87DQoJCQkJY29udGludWVSZXNpemUgPSBmYWxzZTsNCgkJCX0NCgkJCXRoYXQucG9zaXRpb24udG9wID0gdGhhdC5faGVscGVyID8gY28udG9wIDogMDsNCgkJfQ0KDQoJCWlzUGFyZW50ID0gdGhhdC5jb250YWluZXJFbGVtZW50LmdldCggMCApID09PSB0aGF0LmVsZW1lbnQucGFyZW50KCkuZ2V0KCAwICk7DQoJCWlzT2Zmc2V0UmVsYXRpdmUgPSAvcmVsYXRpdmV8YWJzb2x1dGUvLnRlc3QoIHRoYXQuY29udGFpbmVyRWxlbWVudC5jc3MoICJwb3NpdGlvbiIgKSApOw0KDQoJCWlmICggaXNQYXJlbnQgJiYgaXNPZmZzZXRSZWxhdGl2ZSApIHsNCgkJCXRoYXQub2Zmc2V0LmxlZnQgPSB0aGF0LnBhcmVudERhdGEubGVmdCArIHRoYXQucG9zaXRpb24ubGVmdDsNCgkJCXRoYXQub2Zmc2V0LnRvcCA9IHRoYXQucGFyZW50RGF0YS50b3AgKyB0aGF0LnBvc2l0aW9uLnRvcDsNCgkJfSBlbHNlIHsNCgkJCXRoYXQub2Zmc2V0LmxlZnQgPSB0aGF0LmVsZW1lbnQub2Zmc2V0KCkubGVmdDsNCgkJCXRoYXQub2Zmc2V0LnRvcCA9IHRoYXQuZWxlbWVudC5vZmZzZXQoKS50b3A7DQoJCX0NCg0KCQl3b3NldCA9IE1hdGguYWJzKCB0aGF0LnNpemVEaWZmLndpZHRoICsNCgkJCSggdGhhdC5faGVscGVyID8NCgkJCQl0aGF0Lm9mZnNldC5sZWZ0IC0gY29wLmxlZnQgOg0KCQkJCSggdGhhdC5vZmZzZXQubGVmdCAtIGNvLmxlZnQgKSApICk7DQoNCgkJaG9zZXQgPSBNYXRoLmFicyggdGhhdC5zaXplRGlmZi5oZWlnaHQgKw0KCQkJKCB0aGF0Ll9oZWxwZXIgPw0KCQkJCXRoYXQub2Zmc2V0LnRvcCAtIGNvcC50b3AgOg0KCQkJCSggdGhhdC5vZmZzZXQudG9wIC0gY28udG9wICkgKSApOw0KDQoJCWlmICggd29zZXQgKyB0aGF0LnNpemUud2lkdGggPj0gdGhhdC5wYXJlbnREYXRhLndpZHRoICkgew0KCQkJdGhhdC5zaXplLndpZHRoID0gdGhhdC5wYXJlbnREYXRhLndpZHRoIC0gd29zZXQ7DQoJCQlpZiAoIHBSYXRpbyApIHsNCgkJCQl0aGF0LnNpemUuaGVpZ2h0ID0gdGhhdC5zaXplLndpZHRoIC8gdGhhdC5hc3BlY3RSYXRpbzsNCgkJCQljb250aW51ZVJlc2l6ZSA9IGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCBob3NldCArIHRoYXQuc2l6ZS5oZWlnaHQgPj0gdGhhdC5wYXJlbnREYXRhLmhlaWdodCApIHsNCgkJCXRoYXQuc2l6ZS5oZWlnaHQgPSB0aGF0LnBhcmVudERhdGEuaGVpZ2h0IC0gaG9zZXQ7DQoJCQlpZiAoIHBSYXRpbyApIHsNCgkJCQl0aGF0LnNpemUud2lkdGggPSB0aGF0LnNpemUuaGVpZ2h0ICogdGhhdC5hc3BlY3RSYXRpbzsNCgkJCQljb250aW51ZVJlc2l6ZSA9IGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCAhY29udGludWVSZXNpemUgKSB7DQoJCQl0aGF0LnBvc2l0aW9uLmxlZnQgPSB0aGF0LnByZXZQb3NpdGlvbi5sZWZ0Ow0KCQkJdGhhdC5wb3NpdGlvbi50b3AgPSB0aGF0LnByZXZQb3NpdGlvbi50b3A7DQoJCQl0aGF0LnNpemUud2lkdGggPSB0aGF0LnByZXZTaXplLndpZHRoOw0KCQkJdGhhdC5zaXplLmhlaWdodCA9IHRoYXQucHJldlNpemUuaGVpZ2h0Ow0KCQl9DQoJfSwNCg0KCXN0b3A6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnMsDQoJCQljbyA9IHRoYXQuY29udGFpbmVyT2Zmc2V0LA0KCQkJY29wID0gdGhhdC5jb250YWluZXJQb3NpdGlvbiwNCgkJCWNlID0gdGhhdC5jb250YWluZXJFbGVtZW50LA0KCQkJaGVscGVyID0gJCggdGhhdC5oZWxwZXIgKSwNCgkJCWhvID0gaGVscGVyLm9mZnNldCgpLA0KCQkJdyA9IGhlbHBlci5vdXRlcldpZHRoKCkgLSB0aGF0LnNpemVEaWZmLndpZHRoLA0KCQkJaCA9IGhlbHBlci5vdXRlckhlaWdodCgpIC0gdGhhdC5zaXplRGlmZi5oZWlnaHQ7DQoNCgkJaWYgKCB0aGF0Ll9oZWxwZXIgJiYgIW8uYW5pbWF0ZSAmJiAoIC9yZWxhdGl2ZS8gKS50ZXN0KCBjZS5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJJCggdGhpcyApLmNzcyggew0KCQkJCWxlZnQ6IGhvLmxlZnQgLSBjb3AubGVmdCAtIGNvLmxlZnQsDQoJCQkJd2lkdGg6IHcsDQoJCQkJaGVpZ2h0OiBoDQoJCQl9ICk7DQoJCX0NCg0KCQlpZiAoIHRoYXQuX2hlbHBlciAmJiAhby5hbmltYXRlICYmICggL3N0YXRpYy8gKS50ZXN0KCBjZS5jc3MoICJwb3NpdGlvbiIgKSApICkgew0KCQkJJCggdGhpcyApLmNzcyggew0KCQkJCWxlZnQ6IGhvLmxlZnQgLSBjb3AubGVmdCAtIGNvLmxlZnQsDQoJCQkJd2lkdGg6IHcsDQoJCQkJaGVpZ2h0OiBoDQoJCQl9ICk7DQoJCX0NCgl9DQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggInJlc2l6YWJsZSIsICJhbHNvUmVzaXplIiwgew0KDQoJc3RhcnQ6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9ICQoIHRoaXMgKS5yZXNpemFibGUoICJpbnN0YW5jZSIgKSwNCgkJCW8gPSB0aGF0Lm9wdGlvbnM7DQoNCgkJJCggby5hbHNvUmVzaXplICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgZWwgPSAkKCB0aGlzICk7DQoJCQllbC5kYXRhKCAidWktcmVzaXphYmxlLWFsc29yZXNpemUiLCB7DQoJCQkJd2lkdGg6IHBhcnNlRmxvYXQoIGVsLndpZHRoKCkgKSwgaGVpZ2h0OiBwYXJzZUZsb2F0KCBlbC5oZWlnaHQoKSApLA0KCQkJCWxlZnQ6IHBhcnNlRmxvYXQoIGVsLmNzcyggImxlZnQiICkgKSwgdG9wOiBwYXJzZUZsb2F0KCBlbC5jc3MoICJ0b3AiICkgKQ0KCQkJfSApOw0KCQl9ICk7DQoJfSwNCg0KCXJlc2l6ZTogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJdmFyIHRoYXQgPSAkKCB0aGlzICkucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJb3MgPSB0aGF0Lm9yaWdpbmFsU2l6ZSwNCgkJCW9wID0gdGhhdC5vcmlnaW5hbFBvc2l0aW9uLA0KCQkJZGVsdGEgPSB7DQoJCQkJaGVpZ2h0OiAoIHRoYXQuc2l6ZS5oZWlnaHQgLSBvcy5oZWlnaHQgKSB8fCAwLA0KCQkJCXdpZHRoOiAoIHRoYXQuc2l6ZS53aWR0aCAtIG9zLndpZHRoICkgfHwgMCwNCgkJCQl0b3A6ICggdGhhdC5wb3NpdGlvbi50b3AgLSBvcC50b3AgKSB8fCAwLA0KCQkJCWxlZnQ6ICggdGhhdC5wb3NpdGlvbi5sZWZ0IC0gb3AubGVmdCApIHx8IDANCgkJCX07DQoNCgkJCSQoIG8uYWxzb1Jlc2l6ZSApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBlbCA9ICQoIHRoaXMgKSwgc3RhcnQgPSAkKCB0aGlzICkuZGF0YSggInVpLXJlc2l6YWJsZS1hbHNvcmVzaXplIiApLCBzdHlsZSA9IHt9LA0KCQkJCQljc3MgPSBlbC5wYXJlbnRzKCB1aS5vcmlnaW5hbEVsZW1lbnRbIDAgXSApLmxlbmd0aCA/DQoJCQkJCQkJWyAid2lkdGgiLCAiaGVpZ2h0IiBdIDoNCgkJCQkJCQlbICJ3aWR0aCIsICJoZWlnaHQiLCAidG9wIiwgImxlZnQiIF07DQoNCgkJCQkkLmVhY2goIGNzcywgZnVuY3Rpb24oIGksIHByb3AgKSB7DQoJCQkJCXZhciBzdW0gPSAoIHN0YXJ0WyBwcm9wIF0gfHwgMCApICsgKCBkZWx0YVsgcHJvcCBdIHx8IDAgKTsNCgkJCQkJaWYgKCBzdW0gJiYgc3VtID49IDAgKSB7DQoJCQkJCQlzdHlsZVsgcHJvcCBdID0gc3VtIHx8IG51bGw7DQoJCQkJCX0NCgkJCQl9ICk7DQoNCgkJCQllbC5jc3MoIHN0eWxlICk7DQoJCQl9ICk7DQoJfSwNCg0KCXN0b3A6IGZ1bmN0aW9uKCkgew0KCQkkKCB0aGlzICkucmVtb3ZlRGF0YSggInVpLXJlc2l6YWJsZS1hbHNvcmVzaXplIiApOw0KCX0NCn0gKTsNCg0KJC51aS5wbHVnaW4uYWRkKCAicmVzaXphYmxlIiwgImdob3N0Iiwgew0KDQoJc3RhcnQ6IGZ1bmN0aW9uKCkgew0KDQoJCXZhciB0aGF0ID0gJCggdGhpcyApLnJlc2l6YWJsZSggImluc3RhbmNlIiApLCBjcyA9IHRoYXQuc2l6ZTsNCg0KCQl0aGF0Lmdob3N0ID0gdGhhdC5vcmlnaW5hbEVsZW1lbnQuY2xvbmUoKTsNCgkJdGhhdC5naG9zdC5jc3MoIHsNCgkJCW9wYWNpdHk6IDAuMjUsDQoJCQlkaXNwbGF5OiAiYmxvY2siLA0KCQkJcG9zaXRpb246ICJyZWxhdGl2ZSIsDQoJCQloZWlnaHQ6IGNzLmhlaWdodCwNCgkJCXdpZHRoOiBjcy53aWR0aCwNCgkJCW1hcmdpbjogMCwNCgkJCWxlZnQ6IDAsDQoJCQl0b3A6IDANCgkJfSApOw0KDQoJCXRoYXQuX2FkZENsYXNzKCB0aGF0Lmdob3N0LCAidWktcmVzaXphYmxlLWdob3N0IiApOw0KDQoJCS8vIERFUFJFQ0FURUQNCgkJLy8gVE9ETzogcmVtb3ZlIGFmdGVyIDEuMTINCgkJaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgJiYgdHlwZW9mIHRoYXQub3B0aW9ucy5naG9zdCA9PT0gInN0cmluZyIgKSB7DQoNCgkJCS8vIEdob3N0IG9wdGlvbg0KCQkJdGhhdC5naG9zdC5hZGRDbGFzcyggdGhpcy5vcHRpb25zLmdob3N0ICk7DQoJCX0NCg0KCQl0aGF0Lmdob3N0LmFwcGVuZFRvKCB0aGF0LmhlbHBlciApOw0KDQoJfSwNCg0KCXJlc2l6ZTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gJCggdGhpcyApLnJlc2l6YWJsZSggImluc3RhbmNlIiApOw0KCQlpZiAoIHRoYXQuZ2hvc3QgKSB7DQoJCQl0aGF0Lmdob3N0LmNzcyggew0KCQkJCXBvc2l0aW9uOiAicmVsYXRpdmUiLA0KCQkJCWhlaWdodDogdGhhdC5zaXplLmhlaWdodCwNCgkJCQl3aWR0aDogdGhhdC5zaXplLndpZHRoDQoJCQl9ICk7DQoJCX0NCgl9LA0KDQoJc3RvcDogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gJCggdGhpcyApLnJlc2l6YWJsZSggImluc3RhbmNlIiApOw0KCQlpZiAoIHRoYXQuZ2hvc3QgJiYgdGhhdC5oZWxwZXIgKSB7DQoJCQl0aGF0LmhlbHBlci5nZXQoIDAgKS5yZW1vdmVDaGlsZCggdGhhdC5naG9zdC5nZXQoIDAgKSApOw0KCQl9DQoJfQ0KDQp9ICk7DQoNCiQudWkucGx1Z2luLmFkZCggInJlc2l6YWJsZSIsICJncmlkIiwgew0KDQoJcmVzaXplOiBmdW5jdGlvbigpIHsNCgkJdmFyIG91dGVyRGltZW5zaW9ucywNCgkJCXRoYXQgPSAkKCB0aGlzICkucmVzaXphYmxlKCAiaW5zdGFuY2UiICksDQoJCQlvID0gdGhhdC5vcHRpb25zLA0KCQkJY3MgPSB0aGF0LnNpemUsDQoJCQlvcyA9IHRoYXQub3JpZ2luYWxTaXplLA0KCQkJb3AgPSB0aGF0Lm9yaWdpbmFsUG9zaXRpb24sDQoJCQlhID0gdGhhdC5heGlzLA0KCQkJZ3JpZCA9IHR5cGVvZiBvLmdyaWQgPT09ICJudW1iZXIiID8gWyBvLmdyaWQsIG8uZ3JpZCBdIDogby5ncmlkLA0KCQkJZ3JpZFggPSAoIGdyaWRbIDAgXSB8fCAxICksDQoJCQlncmlkWSA9ICggZ3JpZFsgMSBdIHx8IDEgKSwNCgkJCW94ID0gTWF0aC5yb3VuZCggKCBjcy53aWR0aCAtIG9zLndpZHRoICkgLyBncmlkWCApICogZ3JpZFgsDQoJCQlveSA9IE1hdGgucm91bmQoICggY3MuaGVpZ2h0IC0gb3MuaGVpZ2h0ICkgLyBncmlkWSApICogZ3JpZFksDQoJCQluZXdXaWR0aCA9IG9zLndpZHRoICsgb3gsDQoJCQluZXdIZWlnaHQgPSBvcy5oZWlnaHQgKyBveSwNCgkJCWlzTWF4V2lkdGggPSBvLm1heFdpZHRoICYmICggby5tYXhXaWR0aCA8IG5ld1dpZHRoICksDQoJCQlpc01heEhlaWdodCA9IG8ubWF4SGVpZ2h0ICYmICggby5tYXhIZWlnaHQgPCBuZXdIZWlnaHQgKSwNCgkJCWlzTWluV2lkdGggPSBvLm1pbldpZHRoICYmICggby5taW5XaWR0aCA+IG5ld1dpZHRoICksDQoJCQlpc01pbkhlaWdodCA9IG8ubWluSGVpZ2h0ICYmICggby5taW5IZWlnaHQgPiBuZXdIZWlnaHQgKTsNCg0KCQlvLmdyaWQgPSBncmlkOw0KDQoJCWlmICggaXNNaW5XaWR0aCApIHsNCgkJCW5ld1dpZHRoICs9IGdyaWRYOw0KCQl9DQoJCWlmICggaXNNaW5IZWlnaHQgKSB7DQoJCQluZXdIZWlnaHQgKz0gZ3JpZFk7DQoJCX0NCgkJaWYgKCBpc01heFdpZHRoICkgew0KCQkJbmV3V2lkdGggLT0gZ3JpZFg7DQoJCX0NCgkJaWYgKCBpc01heEhlaWdodCApIHsNCgkJCW5ld0hlaWdodCAtPSBncmlkWTsNCgkJfQ0KDQoJCWlmICggL14oc2V8c3xlKSQvLnRlc3QoIGEgKSApIHsNCgkJCXRoYXQuc2l6ZS53aWR0aCA9IG5ld1dpZHRoOw0KCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJfSBlbHNlIGlmICggL14obmUpJC8udGVzdCggYSApICkgew0KCQkJdGhhdC5zaXplLndpZHRoID0gbmV3V2lkdGg7DQoJCQl0aGF0LnNpemUuaGVpZ2h0ID0gbmV3SGVpZ2h0Ow0KCQkJdGhhdC5wb3NpdGlvbi50b3AgPSBvcC50b3AgLSBveTsNCgkJfSBlbHNlIGlmICggL14oc3cpJC8udGVzdCggYSApICkgew0KCQkJdGhhdC5zaXplLndpZHRoID0gbmV3V2lkdGg7DQoJCQl0aGF0LnNpemUuaGVpZ2h0ID0gbmV3SGVpZ2h0Ow0KCQkJdGhhdC5wb3NpdGlvbi5sZWZ0ID0gb3AubGVmdCAtIG94Ow0KCQl9IGVsc2Ugew0KCQkJaWYgKCBuZXdIZWlnaHQgLSBncmlkWSA8PSAwIHx8IG5ld1dpZHRoIC0gZ3JpZFggPD0gMCApIHsNCgkJCQlvdXRlckRpbWVuc2lvbnMgPSB0aGF0Ll9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnMoIHRoaXMgKTsNCgkJCX0NCg0KCQkJaWYgKCBuZXdIZWlnaHQgLSBncmlkWSA+IDAgKSB7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJCQl0aGF0LnBvc2l0aW9uLnRvcCA9IG9wLnRvcCAtIG95Ow0KCQkJfSBlbHNlIHsNCgkJCQluZXdIZWlnaHQgPSBncmlkWSAtIG91dGVyRGltZW5zaW9ucy5oZWlnaHQ7DQoJCQkJdGhhdC5zaXplLmhlaWdodCA9IG5ld0hlaWdodDsNCgkJCQl0aGF0LnBvc2l0aW9uLnRvcCA9IG9wLnRvcCArIG9zLmhlaWdodCAtIG5ld0hlaWdodDsNCgkJCX0NCgkJCWlmICggbmV3V2lkdGggLSBncmlkWCA+IDAgKSB7DQoJCQkJdGhhdC5zaXplLndpZHRoID0gbmV3V2lkdGg7DQoJCQkJdGhhdC5wb3NpdGlvbi5sZWZ0ID0gb3AubGVmdCAtIG94Ow0KCQkJfSBlbHNlIHsNCgkJCQluZXdXaWR0aCA9IGdyaWRYIC0gb3V0ZXJEaW1lbnNpb25zLndpZHRoOw0KCQkJCXRoYXQuc2l6ZS53aWR0aCA9IG5ld1dpZHRoOw0KCQkJCXRoYXQucG9zaXRpb24ubGVmdCA9IG9wLmxlZnQgKyBvcy53aWR0aCAtIG5ld1dpZHRoOw0KCQkJfQ0KCQl9DQoJfQ0KDQp9ICk7DQoNCnZhciB3aWRnZXRzUmVzaXphYmxlID0gJC51aS5yZXNpemFibGU7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRGlhbG9nIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEaWFsb2cNCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBEaXNwbGF5cyBjdXN0b21pemFibGUgZGlhbG9nIHdpbmRvd3MuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZGlhbG9nLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RpYWxvZy8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9jb3JlLmNzcw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2RpYWxvZy5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS5kaWFsb2ciLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJb3B0aW9uczogew0KCQlhcHBlbmRUbzogImJvZHkiLA0KCQlhdXRvT3BlbjogdHJ1ZSwNCgkJYnV0dG9uczogW10sDQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS1kaWFsb2ciOiAidWktY29ybmVyLWFsbCIsDQoJCQkidWktZGlhbG9nLXRpdGxlYmFyIjogInVpLWNvcm5lci1hbGwiDQoJCX0sDQoJCWNsb3NlT25Fc2NhcGU6IHRydWUsDQoJCWNsb3NlVGV4dDogIkNsb3NlIiwNCgkJZHJhZ2dhYmxlOiB0cnVlLA0KCQloaWRlOiBudWxsLA0KCQloZWlnaHQ6ICJhdXRvIiwNCgkJbWF4SGVpZ2h0OiBudWxsLA0KCQltYXhXaWR0aDogbnVsbCwNCgkJbWluSGVpZ2h0OiAxNTAsDQoJCW1pbldpZHRoOiAxNTAsDQoJCW1vZGFsOiBmYWxzZSwNCgkJcG9zaXRpb246IHsNCgkJCW15OiAiY2VudGVyIiwNCgkJCWF0OiAiY2VudGVyIiwNCgkJCW9mOiB3aW5kb3csDQoJCQljb2xsaXNpb246ICJmaXQiLA0KDQoJCQkvLyBFbnN1cmUgdGhlIHRpdGxlYmFyIGlzIGFsd2F5cyB2aXNpYmxlDQoJCQl1c2luZzogZnVuY3Rpb24oIHBvcyApIHsNCgkJCQl2YXIgdG9wT2Zmc2V0ID0gJCggdGhpcyApLmNzcyggcG9zICkub2Zmc2V0KCkudG9wOw0KCQkJCWlmICggdG9wT2Zmc2V0IDwgMCApIHsNCgkJCQkJJCggdGhpcyApLmNzcyggInRvcCIsIHBvcy50b3AgLSB0b3BPZmZzZXQgKTsNCgkJCQl9DQoJCQl9DQoJCX0sDQoJCXJlc2l6YWJsZTogdHJ1ZSwNCgkJc2hvdzogbnVsbCwNCgkJdGl0bGU6IG51bGwsDQoJCXdpZHRoOiAzMDAsDQoNCgkJLy8gQ2FsbGJhY2tzDQoJCWJlZm9yZUNsb3NlOiBudWxsLA0KCQljbG9zZTogbnVsbCwNCgkJZHJhZzogbnVsbCwNCgkJZHJhZ1N0YXJ0OiBudWxsLA0KCQlkcmFnU3RvcDogbnVsbCwNCgkJZm9jdXM6IG51bGwsDQoJCW9wZW46IG51bGwsDQoJCXJlc2l6ZTogbnVsbCwNCgkJcmVzaXplU3RhcnQ6IG51bGwsDQoJCXJlc2l6ZVN0b3A6IG51bGwNCgl9LA0KDQoJc2l6ZVJlbGF0ZWRPcHRpb25zOiB7DQoJCWJ1dHRvbnM6IHRydWUsDQoJCWhlaWdodDogdHJ1ZSwNCgkJbWF4SGVpZ2h0OiB0cnVlLA0KCQltYXhXaWR0aDogdHJ1ZSwNCgkJbWluSGVpZ2h0OiB0cnVlLA0KCQltaW5XaWR0aDogdHJ1ZSwNCgkJd2lkdGg6IHRydWUNCgl9LA0KDQoJcmVzaXphYmxlUmVsYXRlZE9wdGlvbnM6IHsNCgkJbWF4SGVpZ2h0OiB0cnVlLA0KCQltYXhXaWR0aDogdHJ1ZSwNCgkJbWluSGVpZ2h0OiB0cnVlLA0KCQltaW5XaWR0aDogdHJ1ZQ0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5vcmlnaW5hbENzcyA9IHsNCgkJCWRpc3BsYXk6IHRoaXMuZWxlbWVudFsgMCBdLnN0eWxlLmRpc3BsYXksDQoJCQl3aWR0aDogdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUud2lkdGgsDQoJCQltaW5IZWlnaHQ6IHRoaXMuZWxlbWVudFsgMCBdLnN0eWxlLm1pbkhlaWdodCwNCgkJCW1heEhlaWdodDogdGhpcy5lbGVtZW50WyAwIF0uc3R5bGUubWF4SGVpZ2h0LA0KCQkJaGVpZ2h0OiB0aGlzLmVsZW1lbnRbIDAgXS5zdHlsZS5oZWlnaHQNCgkJfTsNCgkJdGhpcy5vcmlnaW5hbFBvc2l0aW9uID0gew0KCQkJcGFyZW50OiB0aGlzLmVsZW1lbnQucGFyZW50KCksDQoJCQlpbmRleDogdGhpcy5lbGVtZW50LnBhcmVudCgpLmNoaWxkcmVuKCkuaW5kZXgoIHRoaXMuZWxlbWVudCApDQoJCX07DQoJCXRoaXMub3JpZ2luYWxUaXRsZSA9IHRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiICk7DQoJCWlmICggdGhpcy5vcHRpb25zLnRpdGxlID09IG51bGwgJiYgdGhpcy5vcmlnaW5hbFRpdGxlICE9IG51bGwgKSB7DQoJCQl0aGlzLm9wdGlvbnMudGl0bGUgPSB0aGlzLm9yaWdpbmFsVGl0bGU7DQoJCX0NCg0KCQkvLyBEaWFsb2dzIGNhbid0IGJlIGRpc2FibGVkDQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gZmFsc2U7DQoJCX0NCg0KCQl0aGlzLl9jcmVhdGVXcmFwcGVyKCk7DQoNCgkJdGhpcy5lbGVtZW50DQoJCQkuc2hvdygpDQoJCQkucmVtb3ZlQXR0ciggInRpdGxlIiApDQoJCQkuYXBwZW5kVG8oIHRoaXMudWlEaWFsb2cgKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggInVpLWRpYWxvZy1jb250ZW50IiwgInVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCXRoaXMuX2NyZWF0ZVRpdGxlYmFyKCk7DQoJCXRoaXMuX2NyZWF0ZUJ1dHRvblBhbmUoKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5kcmFnZ2FibGUgJiYgJC5mbi5kcmFnZ2FibGUgKSB7DQoJCQl0aGlzLl9tYWtlRHJhZ2dhYmxlKCk7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMucmVzaXphYmxlICYmICQuZm4ucmVzaXphYmxlICkgew0KCQkJdGhpcy5fbWFrZVJlc2l6YWJsZSgpOw0KCQl9DQoNCgkJdGhpcy5faXNPcGVuID0gZmFsc2U7DQoNCgkJdGhpcy5fdHJhY2tGb2N1cygpOw0KCX0sDQoNCglfaW5pdDogZnVuY3Rpb24oKSB7DQoJCWlmICggdGhpcy5vcHRpb25zLmF1dG9PcGVuICkgew0KCQkJdGhpcy5vcGVuKCk7DQoJCX0NCgl9LA0KDQoJX2FwcGVuZFRvOiBmdW5jdGlvbigpIHsNCgkJdmFyIGVsZW1lbnQgPSB0aGlzLm9wdGlvbnMuYXBwZW5kVG87DQoJCWlmICggZWxlbWVudCAmJiAoIGVsZW1lbnQuanF1ZXJ5IHx8IGVsZW1lbnQubm9kZVR5cGUgKSApIHsNCgkJCXJldHVybiAkKCBlbGVtZW50ICk7DQoJCX0NCgkJcmV0dXJuIHRoaXMuZG9jdW1lbnQuZmluZCggZWxlbWVudCB8fCAiYm9keSIgKS5lcSggMCApOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciBuZXh0LA0KCQkJb3JpZ2luYWxQb3NpdGlvbiA9IHRoaXMub3JpZ2luYWxQb3NpdGlvbjsNCg0KCQl0aGlzLl91bnRyYWNrSW5zdGFuY2UoKTsNCgkJdGhpcy5fZGVzdHJveU92ZXJsYXkoKTsNCg0KCQl0aGlzLmVsZW1lbnQNCgkJCS5yZW1vdmVVbmlxdWVJZCgpDQoJCQkuY3NzKCB0aGlzLm9yaWdpbmFsQ3NzICkNCg0KCQkJLy8gV2l0aG91dCBkZXRhY2hpbmcgZmlyc3QsIHRoZSBmb2xsb3dpbmcgYmVjb21lcyByZWFsbHkgc2xvdw0KCQkJLmRldGFjaCgpOw0KDQoJCXRoaXMudWlEaWFsb2cucmVtb3ZlKCk7DQoNCgkJaWYgKCB0aGlzLm9yaWdpbmFsVGl0bGUgKSB7DQoJCQl0aGlzLmVsZW1lbnQuYXR0ciggInRpdGxlIiwgdGhpcy5vcmlnaW5hbFRpdGxlICk7DQoJCX0NCg0KCQluZXh0ID0gb3JpZ2luYWxQb3NpdGlvbi5wYXJlbnQuY2hpbGRyZW4oKS5lcSggb3JpZ2luYWxQb3NpdGlvbi5pbmRleCApOw0KDQoJCS8vIERvbid0IHRyeSB0byBwbGFjZSB0aGUgZGlhbG9nIG5leHQgdG8gaXRzZWxmICgjODYxMykNCgkJaWYgKCBuZXh0Lmxlbmd0aCAmJiBuZXh0WyAwIF0gIT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJbmV4dC5iZWZvcmUoIHRoaXMuZWxlbWVudCApOw0KCQl9IGVsc2Ugew0KCQkJb3JpZ2luYWxQb3NpdGlvbi5wYXJlbnQuYXBwZW5kKCB0aGlzLmVsZW1lbnQgKTsNCgkJfQ0KCX0sDQoNCgl3aWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy51aURpYWxvZzsNCgl9LA0KDQoJZGlzYWJsZTogJC5ub29wLA0KCWVuYWJsZTogJC5ub29wLA0KDQoJY2xvc2U6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCWlmICggIXRoaXMuX2lzT3BlbiB8fCB0aGlzLl90cmlnZ2VyKCAiYmVmb3JlQ2xvc2UiLCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX2lzT3BlbiA9IGZhbHNlOw0KCQl0aGlzLl9mb2N1c2VkRWxlbWVudCA9IG51bGw7DQoJCXRoaXMuX2Rlc3Ryb3lPdmVybGF5KCk7DQoJCXRoaXMuX3VudHJhY2tJbnN0YW5jZSgpOw0KDQoJCWlmICggIXRoaXMub3BlbmVyLmZpbHRlciggIjpmb2N1c2FibGUiICkudHJpZ2dlciggImZvY3VzIiApLmxlbmd0aCApIHsNCg0KCQkJLy8gSGlkaW5nIGEgZm9jdXNlZCBlbGVtZW50IGRvZXNuJ3QgdHJpZ2dlciBibHVyIGluIFdlYktpdA0KCQkJLy8gc28gaW4gY2FzZSB3ZSBoYXZlIG5vdGhpbmcgdG8gZm9jdXMgb24sIGV4cGxpY2l0bHkgYmx1ciB0aGUgYWN0aXZlIGVsZW1lbnQNCgkJCS8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzE4Mg0KCQkJJC51aS5zYWZlQmx1ciggJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkgKTsNCgkJfQ0KDQoJCXRoaXMuX2hpZGUoIHRoaXMudWlEaWFsb2csIHRoaXMub3B0aW9ucy5oaWRlLCBmdW5jdGlvbigpIHsNCgkJCXRoYXQuX3RyaWdnZXIoICJjbG9zZSIsIGV2ZW50ICk7DQoJCX0gKTsNCgl9LA0KDQoJaXNPcGVuOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMuX2lzT3BlbjsNCgl9LA0KDQoJbW92ZVRvVG9wOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fbW92ZVRvVG9wKCk7DQoJfSwNCg0KCV9tb3ZlVG9Ub3A6IGZ1bmN0aW9uKCBldmVudCwgc2lsZW50ICkgew0KCQl2YXIgbW92ZWQgPSBmYWxzZSwNCgkJCXpJbmRpY2VzID0gdGhpcy51aURpYWxvZy5zaWJsaW5ncyggIi51aS1mcm9udDp2aXNpYmxlIiApLm1hcCggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICskKCB0aGlzICkuY3NzKCAiei1pbmRleCIgKTsNCgkJCX0gKS5nZXQoKSwNCgkJCXpJbmRleE1heCA9IE1hdGgubWF4LmFwcGx5KCBudWxsLCB6SW5kaWNlcyApOw0KDQoJCWlmICggekluZGV4TWF4ID49ICt0aGlzLnVpRGlhbG9nLmNzcyggInotaW5kZXgiICkgKSB7DQoJCQl0aGlzLnVpRGlhbG9nLmNzcyggInotaW5kZXgiLCB6SW5kZXhNYXggKyAxICk7DQoJCQltb3ZlZCA9IHRydWU7DQoJCX0NCg0KCQlpZiAoIG1vdmVkICYmICFzaWxlbnQgKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiZm9jdXMiLCBldmVudCApOw0KCQl9DQoJCXJldHVybiBtb3ZlZDsNCgl9LA0KDQoJb3BlbjogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJaWYgKCB0aGlzLl9pc09wZW4gKSB7DQoJCQlpZiAoIHRoaXMuX21vdmVUb1RvcCgpICkgew0KCQkJCXRoaXMuX2ZvY3VzVGFiYmFibGUoKTsNCgkJCX0NCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX2lzT3BlbiA9IHRydWU7DQoJCXRoaXMub3BlbmVyID0gJCggJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkgKTsNCg0KCQl0aGlzLl9zaXplKCk7DQoJCXRoaXMuX3Bvc2l0aW9uKCk7DQoJCXRoaXMuX2NyZWF0ZU92ZXJsYXkoKTsNCgkJdGhpcy5fbW92ZVRvVG9wKCBudWxsLCB0cnVlICk7DQoNCgkJLy8gRW5zdXJlIHRoZSBvdmVybGF5IGlzIG1vdmVkIHRvIHRoZSB0b3Agd2l0aCB0aGUgZGlhbG9nLCBidXQgb25seSB3aGVuDQoJCS8vIG9wZW5pbmcuIFRoZSBvdmVybGF5IHNob3VsZG4ndCBtb3ZlIGFmdGVyIHRoZSBkaWFsb2cgaXMgb3BlbiBzbyB0aGF0DQoJCS8vIG1vZGVsZXNzIGRpYWxvZ3Mgb3BlbmVkIGFmdGVyIHRoZSBtb2RhbCBkaWFsb2cgc3RhY2sgcHJvcGVybHkuDQoJCWlmICggdGhpcy5vdmVybGF5ICkgew0KCQkJdGhpcy5vdmVybGF5LmNzcyggInotaW5kZXgiLCB0aGlzLnVpRGlhbG9nLmNzcyggInotaW5kZXgiICkgLSAxICk7DQoJCX0NCg0KCQl0aGlzLl9zaG93KCB0aGlzLnVpRGlhbG9nLCB0aGlzLm9wdGlvbnMuc2hvdywgZnVuY3Rpb24oKSB7DQoJCQl0aGF0Ll9mb2N1c1RhYmJhYmxlKCk7DQoJCQl0aGF0Ll90cmlnZ2VyKCAiZm9jdXMiICk7DQoJCX0gKTsNCg0KCQkvLyBUcmFjayB0aGUgZGlhbG9nIGltbWVkaWF0ZWx5IHVwb24gb3BlbmVuaW5nIGluIGNhc2UgYSBmb2N1cyBldmVudA0KCQkvLyBzb21laG93IG9jY3VycyBvdXRzaWRlIG9mIHRoZSBkaWFsb2cgYmVmb3JlIGFuIGVsZW1lbnQgaW5zaWRlIHRoZQ0KCQkvLyBkaWFsb2cgaXMgZm9jdXNlZCAoIzEwMTUyKQ0KCQl0aGlzLl9tYWtlRm9jdXNUYXJnZXQoKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAib3BlbiIgKTsNCgl9LA0KDQoJX2ZvY3VzVGFiYmFibGU6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIFNldCBmb2N1cyB0byB0aGUgZmlyc3QgbWF0Y2g6DQoJCS8vIDEuIEFuIGVsZW1lbnQgdGhhdCB3YXMgZm9jdXNlZCBwcmV2aW91c2x5DQoJCS8vIDIuIEZpcnN0IGVsZW1lbnQgaW5zaWRlIHRoZSBkaWFsb2cgbWF0Y2hpbmcgW2F1dG9mb2N1c10NCgkJLy8gMy4gVGFiYmFibGUgZWxlbWVudCBpbnNpZGUgdGhlIGNvbnRlbnQgZWxlbWVudA0KCQkvLyA0LiBUYWJiYWJsZSBlbGVtZW50IGluc2lkZSB0aGUgYnV0dG9ucGFuZQ0KCQkvLyA1LiBUaGUgY2xvc2UgYnV0dG9uDQoJCS8vIDYuIFRoZSBkaWFsb2cgaXRzZWxmDQoJCXZhciBoYXNGb2N1cyA9IHRoaXMuX2ZvY3VzZWRFbGVtZW50Ow0KCQlpZiAoICFoYXNGb2N1cyApIHsNCgkJCWhhc0ZvY3VzID0gdGhpcy5lbGVtZW50LmZpbmQoICJbYXV0b2ZvY3VzXSIgKTsNCgkJfQ0KCQlpZiAoICFoYXNGb2N1cy5sZW5ndGggKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMuZWxlbWVudC5maW5kKCAiOnRhYmJhYmxlIiApOw0KCQl9DQoJCWlmICggIWhhc0ZvY3VzLmxlbmd0aCApIHsNCgkJCWhhc0ZvY3VzID0gdGhpcy51aURpYWxvZ0J1dHRvblBhbmUuZmluZCggIjp0YWJiYWJsZSIgKTsNCgkJfQ0KCQlpZiAoICFoYXNGb2N1cy5sZW5ndGggKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLmZpbHRlciggIjp0YWJiYWJsZSIgKTsNCgkJfQ0KCQlpZiAoICFoYXNGb2N1cy5sZW5ndGggKSB7DQoJCQloYXNGb2N1cyA9IHRoaXMudWlEaWFsb2c7DQoJCX0NCgkJaGFzRm9jdXMuZXEoIDAgKS50cmlnZ2VyKCAiZm9jdXMiICk7DQoJfSwNCg0KCV9rZWVwRm9jdXM6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJZnVuY3Rpb24gY2hlY2tGb2N1cygpIHsNCgkJCXZhciBhY3RpdmVFbGVtZW50ID0gJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICksDQoJCQkJaXNBY3RpdmUgPSB0aGlzLnVpRGlhbG9nWyAwIF0gPT09IGFjdGl2ZUVsZW1lbnQgfHwNCgkJCQkJJC5jb250YWlucyggdGhpcy51aURpYWxvZ1sgMCBdLCBhY3RpdmVFbGVtZW50ICk7DQoJCQlpZiAoICFpc0FjdGl2ZSApIHsNCgkJCQl0aGlzLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQl9DQoJCX0NCgkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJY2hlY2tGb2N1cy5jYWxsKCB0aGlzICk7DQoNCgkJLy8gc3VwcG9ydDogSUUNCgkJLy8gSUUgPD0gOCBkb2Vzbid0IHByZXZlbnQgbW92aW5nIGZvY3VzIGV2ZW4gd2l0aCBldmVudC5wcmV2ZW50RGVmYXVsdCgpDQoJCS8vIHNvIHdlIGNoZWNrIGFnYWluIGxhdGVyDQoJCXRoaXMuX2RlbGF5KCBjaGVja0ZvY3VzICk7DQoJfSwNCg0KCV9jcmVhdGVXcmFwcGVyOiBmdW5jdGlvbigpIHsNCgkJdGhpcy51aURpYWxvZyA9ICQoICI8ZGl2PiIgKQ0KCQkJLmhpZGUoKQ0KCQkJLmF0dHIoIHsNCg0KCQkJCS8vIFNldHRpbmcgdGFiSW5kZXggbWFrZXMgdGhlIGRpdiBmb2N1c2FibGUNCgkJCQl0YWJJbmRleDogLTEsDQoJCQkJcm9sZTogImRpYWxvZyINCgkJCX0gKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMudWlEaWFsb2csICJ1aS1kaWFsb2ciLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWZyb250IiApOw0KCQl0aGlzLl9vbiggdGhpcy51aURpYWxvZywgew0KCQkJa2V5ZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdGhpcy5vcHRpb25zLmNsb3NlT25Fc2NhcGUgJiYgIWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICYmIGV2ZW50LmtleUNvZGUgJiYNCgkJCQkJCWV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5FU0NBUEUgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoNCgkJCQkvLyBQcmV2ZW50IHRhYmJpbmcgb3V0IG9mIGRpYWxvZ3MNCgkJCQlpZiAoIGV2ZW50LmtleUNvZGUgIT09ICQudWkua2V5Q29kZS5UQUIgfHwgZXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJdmFyIHRhYmJhYmxlcyA9IHRoaXMudWlEaWFsb2cuZmluZCggIjp0YWJiYWJsZSIgKSwNCgkJCQkJZmlyc3QgPSB0YWJiYWJsZXMuZmlsdGVyKCAiOmZpcnN0IiApLA0KCQkJCQlsYXN0ID0gdGFiYmFibGVzLmZpbHRlciggIjpsYXN0IiApOw0KDQoJCQkJaWYgKCAoIGV2ZW50LnRhcmdldCA9PT0gbGFzdFsgMCBdIHx8IGV2ZW50LnRhcmdldCA9PT0gdGhpcy51aURpYWxvZ1sgMCBdICkgJiYNCgkJCQkJCSFldmVudC5zaGlmdEtleSApIHsNCgkJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQkJZmlyc3QudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCQl9ICk7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfSBlbHNlIGlmICggKCBldmVudC50YXJnZXQgPT09IGZpcnN0WyAwIF0gfHwNCgkJCQkJCWV2ZW50LnRhcmdldCA9PT0gdGhpcy51aURpYWxvZ1sgMCBdICkgJiYgZXZlbnQuc2hpZnRLZXkgKSB7DQoJCQkJCXRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCQkJCWxhc3QudHJpZ2dlciggImZvY3VzIiApOw0KCQkJCQl9ICk7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQkJfQ0KCQkJfSwNCgkJCW1vdXNlZG93bjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggdGhpcy5fbW92ZVRvVG9wKCBldmVudCApICkgew0KCQkJCQl0aGlzLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ICk7DQoNCgkJLy8gV2UgYXNzdW1lIHRoYXQgYW55IGV4aXN0aW5nIGFyaWEtZGVzY3JpYmVkYnkgYXR0cmlidXRlIG1lYW5zDQoJCS8vIHRoYXQgdGhlIGRpYWxvZyBjb250ZW50IGlzIG1hcmtlZCB1cCBwcm9wZXJseQ0KCQkvLyBvdGhlcndpc2Ugd2UgYnJ1dGUgZm9yY2UgdGhlIGNvbnRlbnQgYXMgdGhlIGRlc2NyaXB0aW9uDQoJCWlmICggIXRoaXMuZWxlbWVudC5maW5kKCAiW2FyaWEtZGVzY3JpYmVkYnldIiApLmxlbmd0aCApIHsNCgkJCXRoaXMudWlEaWFsb2cuYXR0ciggew0KCQkJCSJhcmlhLWRlc2NyaWJlZGJ5IjogdGhpcy5lbGVtZW50LnVuaXF1ZUlkKCkuYXR0ciggImlkIiApDQoJCQl9ICk7DQoJCX0NCgl9LA0KDQoJX2NyZWF0ZVRpdGxlYmFyOiBmdW5jdGlvbigpIHsNCgkJdmFyIHVpRGlhbG9nVGl0bGU7DQoNCgkJdGhpcy51aURpYWxvZ1RpdGxlYmFyID0gJCggIjxkaXY+IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZ1RpdGxlYmFyLA0KCQkJInVpLWRpYWxvZy10aXRsZWJhciIsICJ1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCIgKTsNCgkJdGhpcy5fb24oIHRoaXMudWlEaWFsb2dUaXRsZWJhciwgew0KCQkJbW91c2Vkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJCQkvLyBEb24ndCBwcmV2ZW50IGNsaWNrIG9uIGNsb3NlIGJ1dHRvbiAoIzg4MzgpDQoJCQkJLy8gRm9jdXNpbmcgYSBkaWFsb2cgdGhhdCBpcyBwYXJ0aWFsbHkgc2Nyb2xsZWQgb3V0IG9mIHZpZXcNCgkJCQkvLyBjYXVzZXMgdGhlIGJyb3dzZXIgdG8gc2Nyb2xsIGl0IGludG8gdmlldywgcHJldmVudGluZyB0aGUgY2xpY2sgZXZlbnQNCgkJCQlpZiAoICEkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIgKSApIHsNCg0KCQkJCQkvLyBEaWFsb2cgaXNuJ3QgZ2V0dGluZyBmb2N1cyB3aGVuIGRyYWdnaW5nICgjODA2MykNCgkJCQkJdGhpcy51aURpYWxvZy50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCQkJfQ0KCQkJfQ0KCQl9ICk7DQoNCgkJLy8gU3VwcG9ydDogSUUNCgkJLy8gVXNlIHR5cGU9ImJ1dHRvbiIgdG8gcHJldmVudCBlbnRlciBrZXlwcmVzc2VzIGluIHRleHRib3hlcyBmcm9tIGNsb3NpbmcgdGhlDQoJCS8vIGRpYWxvZyBpbiBJRSAoIzkzMTIpDQoJCXRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlID0gJCggIjxidXR0b24gdHlwZT0nYnV0dG9uJz48L2J1dHRvbj4iICkNCgkJCS5idXR0b24oIHsNCgkJCQlsYWJlbDogJCggIjxhPiIgKS50ZXh0KCB0aGlzLm9wdGlvbnMuY2xvc2VUZXh0ICkuaHRtbCgpLA0KCQkJCWljb246ICJ1aS1pY29uLWNsb3NldGhpY2siLA0KCQkJCXNob3dMYWJlbDogZmFsc2UNCgkJCX0gKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLnVpRGlhbG9nVGl0bGViYXIgKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZ1RpdGxlYmFyQ2xvc2UsICJ1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiICk7DQoJCXRoaXMuX29uKCB0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZSwgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQl9DQoJCX0gKTsNCg0KCQl1aURpYWxvZ1RpdGxlID0gJCggIjxzcGFuPiIgKS51bmlxdWVJZCgpLnByZXBlbmRUbyggdGhpcy51aURpYWxvZ1RpdGxlYmFyICk7DQoJCXRoaXMuX2FkZENsYXNzKCB1aURpYWxvZ1RpdGxlLCAidWktZGlhbG9nLXRpdGxlIiApOw0KCQl0aGlzLl90aXRsZSggdWlEaWFsb2dUaXRsZSApOw0KDQoJCXRoaXMudWlEaWFsb2dUaXRsZWJhci5wcmVwZW5kVG8oIHRoaXMudWlEaWFsb2cgKTsNCg0KCQl0aGlzLnVpRGlhbG9nLmF0dHIoIHsNCgkJCSJhcmlhLWxhYmVsbGVkYnkiOiB1aURpYWxvZ1RpdGxlLmF0dHIoICJpZCIgKQ0KCQl9ICk7DQoJfSwNCg0KCV90aXRsZTogZnVuY3Rpb24oIHRpdGxlICkgew0KCQlpZiAoIHRoaXMub3B0aW9ucy50aXRsZSApIHsNCgkJCXRpdGxlLnRleHQoIHRoaXMub3B0aW9ucy50aXRsZSApOw0KCQl9IGVsc2Ugew0KCQkJdGl0bGUuaHRtbCggIiYjMTYwOyIgKTsNCgkJfQ0KCX0sDQoNCglfY3JlYXRlQnV0dG9uUGFuZTogZnVuY3Rpb24oKSB7DQoJCXRoaXMudWlEaWFsb2dCdXR0b25QYW5lID0gJCggIjxkaXY+IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZ0J1dHRvblBhbmUsICJ1aS1kaWFsb2ctYnV0dG9ucGFuZSIsDQoJCQkidWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IiApOw0KDQoJCXRoaXMudWlCdXR0b25TZXQgPSAkKCAiPGRpdj4iICkNCgkJCS5hcHBlbmRUbyggdGhpcy51aURpYWxvZ0J1dHRvblBhbmUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMudWlCdXR0b25TZXQsICJ1aS1kaWFsb2ctYnV0dG9uc2V0IiApOw0KDQoJCXRoaXMuX2NyZWF0ZUJ1dHRvbnMoKTsNCgl9LA0KDQoJX2NyZWF0ZUJ1dHRvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQlidXR0b25zID0gdGhpcy5vcHRpb25zLmJ1dHRvbnM7DQoNCgkJLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgYnV0dG9uIHBhbmUsIHJlbW92ZSBpdA0KCQl0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5yZW1vdmUoKTsNCgkJdGhpcy51aUJ1dHRvblNldC5lbXB0eSgpOw0KDQoJCWlmICggJC5pc0VtcHR5T2JqZWN0KCBidXR0b25zICkgfHwgKCAkLmlzQXJyYXkoIGJ1dHRvbnMgKSAmJiAhYnV0dG9ucy5sZW5ndGggKSApIHsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCB0aGlzLnVpRGlhbG9nLCAidWktZGlhbG9nLWJ1dHRvbnMiICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkkLmVhY2goIGJ1dHRvbnMsIGZ1bmN0aW9uKCBuYW1lLCBwcm9wcyApIHsNCgkJCXZhciBjbGljaywgYnV0dG9uT3B0aW9uczsNCgkJCXByb3BzID0gJC5pc0Z1bmN0aW9uKCBwcm9wcyApID8NCgkJCQl7IGNsaWNrOiBwcm9wcywgdGV4dDogbmFtZSB9IDoNCgkJCQlwcm9wczsNCg0KCQkJLy8gRGVmYXVsdCB0byBhIG5vbi1zdWJtaXR0aW5nIGJ1dHRvbg0KCQkJcHJvcHMgPSAkLmV4dGVuZCggeyB0eXBlOiAiYnV0dG9uIiB9LCBwcm9wcyApOw0KDQoJCQkvLyBDaGFuZ2UgdGhlIGNvbnRleHQgZm9yIHRoZSBjbGljayBjYWxsYmFjayB0byBiZSB0aGUgbWFpbiBlbGVtZW50DQoJCQljbGljayA9IHByb3BzLmNsaWNrOw0KCQkJYnV0dG9uT3B0aW9ucyA9IHsNCgkJCQlpY29uOiBwcm9wcy5pY29uLA0KCQkJCWljb25Qb3NpdGlvbjogcHJvcHMuaWNvblBvc2l0aW9uLA0KCQkJCXNob3dMYWJlbDogcHJvcHMuc2hvd0xhYmVsLA0KDQoJCQkJLy8gRGVwcmVjYXRlZCBvcHRpb25zDQoJCQkJaWNvbnM6IHByb3BzLmljb25zLA0KCQkJCXRleHQ6IHByb3BzLnRleHQNCgkJCX07DQoNCgkJCWRlbGV0ZSBwcm9wcy5jbGljazsNCgkJCWRlbGV0ZSBwcm9wcy5pY29uOw0KCQkJZGVsZXRlIHByb3BzLmljb25Qb3NpdGlvbjsNCgkJCWRlbGV0ZSBwcm9wcy5zaG93TGFiZWw7DQoNCgkJCS8vIERlcHJlY2F0ZWQgb3B0aW9ucw0KCQkJZGVsZXRlIHByb3BzLmljb25zOw0KCQkJaWYgKCB0eXBlb2YgcHJvcHMudGV4dCA9PT0gImJvb2xlYW4iICkgew0KCQkJCWRlbGV0ZSBwcm9wcy50ZXh0Ow0KCQkJfQ0KDQoJCQkkKCAiPGJ1dHRvbj48L2J1dHRvbj4iLCBwcm9wcyApDQoJCQkJLmJ1dHRvbiggYnV0dG9uT3B0aW9ucyApDQoJCQkJLmFwcGVuZFRvKCB0aGF0LnVpQnV0dG9uU2V0ICkNCgkJCQkub24oICJjbGljayIsIGZ1bmN0aW9uKCkgew0KCQkJCQljbGljay5hcHBseSggdGhhdC5lbGVtZW50WyAwIF0sIGFyZ3VtZW50cyApOw0KCQkJCX0gKTsNCgkJfSApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy51aURpYWxvZywgInVpLWRpYWxvZy1idXR0b25zIiApOw0KCQl0aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5hcHBlbmRUbyggdGhpcy51aURpYWxvZyApOw0KCX0sDQoNCglfbWFrZURyYWdnYWJsZTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoNCgkJZnVuY3Rpb24gZmlsdGVyZWRVaSggdWkgKSB7DQoJCQlyZXR1cm4gew0KCQkJCXBvc2l0aW9uOiB1aS5wb3NpdGlvbiwNCgkJCQlvZmZzZXQ6IHVpLm9mZnNldA0KCQkJfTsNCgkJfQ0KDQoJCXRoaXMudWlEaWFsb2cuZHJhZ2dhYmxlKCB7DQoJCQljYW5jZWw6ICIudWktZGlhbG9nLWNvbnRlbnQsIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiLA0KCQkJaGFuZGxlOiAiLnVpLWRpYWxvZy10aXRsZWJhciIsDQoJCQljb250YWlubWVudDogImRvY3VtZW50IiwNCgkJCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXRoYXQuX2FkZENsYXNzKCAkKCB0aGlzICksICJ1aS1kaWFsb2ctZHJhZ2dpbmciICk7DQoJCQkJdGhhdC5fYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAiZHJhZ1N0YXJ0IiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0sDQoJCQlkcmFnOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXRoYXQuX3RyaWdnZXIoICJkcmFnIiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0sDQoJCQlzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBsZWZ0ID0gdWkub2Zmc2V0LmxlZnQgLSB0aGF0LmRvY3VtZW50LnNjcm9sbExlZnQoKSwNCgkJCQkJdG9wID0gdWkub2Zmc2V0LnRvcCAtIHRoYXQuZG9jdW1lbnQuc2Nyb2xsVG9wKCk7DQoNCgkJCQlvcHRpb25zLnBvc2l0aW9uID0gew0KCQkJCQlteTogImxlZnQgdG9wIiwNCgkJCQkJYXQ6ICJsZWZ0IiArICggbGVmdCA+PSAwID8gIisiIDogIiIgKSArIGxlZnQgKyAiICIgKw0KCQkJCQkJInRvcCIgKyAoIHRvcCA+PSAwID8gIisiIDogIiIgKSArIHRvcCwNCgkJCQkJb2Y6IHRoYXQud2luZG93DQoJCQkJfTsNCgkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggJCggdGhpcyApLCAidWktZGlhbG9nLWRyYWdnaW5nIiApOw0KCQkJCXRoYXQuX3VuYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAiZHJhZ1N0b3AiLCBldmVudCwgZmlsdGVyZWRVaSggdWkgKSApOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9tYWtlUmVzaXphYmxlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9ucywNCgkJCWhhbmRsZXMgPSBvcHRpb25zLnJlc2l6YWJsZSwNCg0KCQkJLy8gLnVpLXJlc2l6YWJsZSBoYXMgcG9zaXRpb246IHJlbGF0aXZlIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQNCgkJCS8vIGJ1dCBkaWFsb2dzIGhhdmUgdG8gdXNlIGFic29sdXRlIG9yIGZpeGVkIHBvc2l0aW9uaW5nDQoJCQlwb3NpdGlvbiA9IHRoaXMudWlEaWFsb2cuY3NzKCAicG9zaXRpb24iICksDQoJCQlyZXNpemVIYW5kbGVzID0gdHlwZW9mIGhhbmRsZXMgPT09ICJzdHJpbmciID8NCgkJCQloYW5kbGVzIDoNCgkJCQkibixlLHMsdyxzZSxzdyxuZSxudyI7DQoNCgkJZnVuY3Rpb24gZmlsdGVyZWRVaSggdWkgKSB7DQoJCQlyZXR1cm4gew0KCQkJCW9yaWdpbmFsUG9zaXRpb246IHVpLm9yaWdpbmFsUG9zaXRpb24sDQoJCQkJb3JpZ2luYWxTaXplOiB1aS5vcmlnaW5hbFNpemUsDQoJCQkJcG9zaXRpb246IHVpLnBvc2l0aW9uLA0KCQkJCXNpemU6IHVpLnNpemUNCgkJCX07DQoJCX0NCg0KCQl0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSggew0KCQkJY2FuY2VsOiAiLnVpLWRpYWxvZy1jb250ZW50IiwNCgkJCWNvbnRhaW5tZW50OiAiZG9jdW1lbnQiLA0KCQkJYWxzb1Jlc2l6ZTogdGhpcy5lbGVtZW50LA0KCQkJbWF4V2lkdGg6IG9wdGlvbnMubWF4V2lkdGgsDQoJCQltYXhIZWlnaHQ6IG9wdGlvbnMubWF4SGVpZ2h0LA0KCQkJbWluV2lkdGg6IG9wdGlvbnMubWluV2lkdGgsDQoJCQltaW5IZWlnaHQ6IHRoaXMuX21pbkhlaWdodCgpLA0KCQkJaGFuZGxlczogcmVzaXplSGFuZGxlcywNCgkJCXN0YXJ0OiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXRoYXQuX2FkZENsYXNzKCAkKCB0aGlzICksICJ1aS1kaWFsb2ctcmVzaXppbmciICk7DQoJCQkJdGhhdC5fYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAicmVzaXplU3RhcnQiLCBldmVudCwgZmlsdGVyZWRVaSggdWkgKSApOw0KCQkJfSwNCgkJCXJlc2l6ZTogZnVuY3Rpb24oIGV2ZW50LCB1aSApIHsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAicmVzaXplIiwgZXZlbnQsIGZpbHRlcmVkVWkoIHVpICkgKTsNCgkJCX0sDQoJCQlzdG9wOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KCQkJCXZhciBvZmZzZXQgPSB0aGF0LnVpRGlhbG9nLm9mZnNldCgpLA0KCQkJCQlsZWZ0ID0gb2Zmc2V0LmxlZnQgLSB0aGF0LmRvY3VtZW50LnNjcm9sbExlZnQoKSwNCgkJCQkJdG9wID0gb2Zmc2V0LnRvcCAtIHRoYXQuZG9jdW1lbnQuc2Nyb2xsVG9wKCk7DQoNCgkJCQlvcHRpb25zLmhlaWdodCA9IHRoYXQudWlEaWFsb2cuaGVpZ2h0KCk7DQoJCQkJb3B0aW9ucy53aWR0aCA9IHRoYXQudWlEaWFsb2cud2lkdGgoKTsNCgkJCQlvcHRpb25zLnBvc2l0aW9uID0gew0KCQkJCQlteTogImxlZnQgdG9wIiwNCgkJCQkJYXQ6ICJsZWZ0IiArICggbGVmdCA+PSAwID8gIisiIDogIiIgKSArIGxlZnQgKyAiICIgKw0KCQkJCQkJInRvcCIgKyAoIHRvcCA+PSAwID8gIisiIDogIiIgKSArIHRvcCwNCgkJCQkJb2Y6IHRoYXQud2luZG93DQoJCQkJfTsNCgkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggJCggdGhpcyApLCAidWktZGlhbG9nLXJlc2l6aW5nIiApOw0KCQkJCXRoYXQuX3VuYmxvY2tGcmFtZXMoKTsNCgkJCQl0aGF0Ll90cmlnZ2VyKCAicmVzaXplU3RvcCIsIGV2ZW50LCBmaWx0ZXJlZFVpKCB1aSApICk7DQoJCQl9DQoJCX0gKQ0KCQkJLmNzcyggInBvc2l0aW9uIiwgcG9zaXRpb24gKTsNCgl9LA0KDQoJX3RyYWNrRm9jdXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9vbiggdGhpcy53aWRnZXQoKSwgew0KCQkJZm9jdXNpbjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCXRoaXMuX21ha2VGb2N1c1RhcmdldCgpOw0KCQkJCXRoaXMuX2ZvY3VzZWRFbGVtZW50ID0gJCggZXZlbnQudGFyZ2V0ICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX21ha2VGb2N1c1RhcmdldDogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX3VudHJhY2tJbnN0YW5jZSgpOw0KCQl0aGlzLl90cmFja2luZ0luc3RhbmNlcygpLnVuc2hpZnQoIHRoaXMgKTsNCgl9LA0KDQoJX3VudHJhY2tJbnN0YW5jZTogZnVuY3Rpb24oKSB7DQoJCXZhciBpbnN0YW5jZXMgPSB0aGlzLl90cmFja2luZ0luc3RhbmNlcygpLA0KCQkJZXhpc3RzID0gJC5pbkFycmF5KCB0aGlzLCBpbnN0YW5jZXMgKTsNCgkJaWYgKCBleGlzdHMgIT09IC0xICkgew0KCQkJaW5zdGFuY2VzLnNwbGljZSggZXhpc3RzLCAxICk7DQoJCX0NCgl9LA0KDQoJX3RyYWNraW5nSW5zdGFuY2VzOiBmdW5jdGlvbigpIHsNCgkJdmFyIGluc3RhbmNlcyA9IHRoaXMuZG9jdW1lbnQuZGF0YSggInVpLWRpYWxvZy1pbnN0YW5jZXMiICk7DQoJCWlmICggIWluc3RhbmNlcyApIHsNCgkJCWluc3RhbmNlcyA9IFtdOw0KCQkJdGhpcy5kb2N1bWVudC5kYXRhKCAidWktZGlhbG9nLWluc3RhbmNlcyIsIGluc3RhbmNlcyApOw0KCQl9DQoJCXJldHVybiBpbnN0YW5jZXM7DQoJfSwNCg0KCV9taW5IZWlnaHQ6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQlyZXR1cm4gb3B0aW9ucy5oZWlnaHQgPT09ICJhdXRvIiA/DQoJCQlvcHRpb25zLm1pbkhlaWdodCA6DQoJCQlNYXRoLm1pbiggb3B0aW9ucy5taW5IZWlnaHQsIG9wdGlvbnMuaGVpZ2h0ICk7DQoJfSwNCg0KCV9wb3NpdGlvbjogZnVuY3Rpb24oKSB7DQoNCgkJLy8gTmVlZCB0byBzaG93IHRoZSBkaWFsb2cgdG8gZ2V0IHRoZSBhY3R1YWwgb2Zmc2V0IGluIHRoZSBwb3NpdGlvbiBwbHVnaW4NCgkJdmFyIGlzVmlzaWJsZSA9IHRoaXMudWlEaWFsb2cuaXMoICI6dmlzaWJsZSIgKTsNCgkJaWYgKCAhaXNWaXNpYmxlICkgew0KCQkJdGhpcy51aURpYWxvZy5zaG93KCk7DQoJCX0NCgkJdGhpcy51aURpYWxvZy5wb3NpdGlvbiggdGhpcy5vcHRpb25zLnBvc2l0aW9uICk7DQoJCWlmICggIWlzVmlzaWJsZSApIHsNCgkJCXRoaXMudWlEaWFsb2cuaGlkZSgpOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJcmVzaXplID0gZmFsc2UsDQoJCQlyZXNpemFibGVPcHRpb25zID0ge307DQoNCgkJJC5lYWNoKCBvcHRpb25zLCBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJCXRoYXQuX3NldE9wdGlvbigga2V5LCB2YWx1ZSApOw0KDQoJCQlpZiAoIGtleSBpbiB0aGF0LnNpemVSZWxhdGVkT3B0aW9ucyApIHsNCgkJCQlyZXNpemUgPSB0cnVlOw0KCQkJfQ0KCQkJaWYgKCBrZXkgaW4gdGhhdC5yZXNpemFibGVSZWxhdGVkT3B0aW9ucyApIHsNCgkJCQlyZXNpemFibGVPcHRpb25zWyBrZXkgXSA9IHZhbHVlOw0KCQkJfQ0KCQl9ICk7DQoNCgkJaWYgKCByZXNpemUgKSB7DQoJCQl0aGlzLl9zaXplKCk7DQoJCQl0aGlzLl9wb3NpdGlvbigpOw0KCQl9DQoJCWlmICggdGhpcy51aURpYWxvZy5pcyggIjpkYXRhKHVpLXJlc2l6YWJsZSkiICkgKSB7DQoJCQl0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSggIm9wdGlvbiIsIHJlc2l6YWJsZU9wdGlvbnMgKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIGlzRHJhZ2dhYmxlLCBpc1Jlc2l6YWJsZSwNCgkJCXVpRGlhbG9nID0gdGhpcy51aURpYWxvZzsNCg0KCQlpZiAoIGtleSA9PT0gImRpc2FibGVkIiApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJhcHBlbmRUbyIgKSB7DQoJCQl0aGlzLnVpRGlhbG9nLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImJ1dHRvbnMiICkgew0KCQkJdGhpcy5fY3JlYXRlQnV0dG9ucygpOw0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJjbG9zZVRleHQiICkgew0KCQkJdGhpcy51aURpYWxvZ1RpdGxlYmFyQ2xvc2UuYnV0dG9uKCB7DQoNCgkJCQkvLyBFbnN1cmUgdGhhdCB3ZSBhbHdheXMgcGFzcyBhIHN0cmluZw0KCQkJCWxhYmVsOiAkKCAiPGE+IiApLnRleHQoICIiICsgdGhpcy5vcHRpb25zLmNsb3NlVGV4dCApLmh0bWwoKQ0KCQkJfSApOw0KCQl9DQoNCgkJaWYgKCBrZXkgPT09ICJkcmFnZ2FibGUiICkgew0KCQkJaXNEcmFnZ2FibGUgPSB1aURpYWxvZy5pcyggIjpkYXRhKHVpLWRyYWdnYWJsZSkiICk7DQoJCQlpZiAoIGlzRHJhZ2dhYmxlICYmICF2YWx1ZSApIHsNCgkJCQl1aURpYWxvZy5kcmFnZ2FibGUoICJkZXN0cm95IiApOw0KCQkJfQ0KDQoJCQlpZiAoICFpc0RyYWdnYWJsZSAmJiB2YWx1ZSApIHsNCgkJCQl0aGlzLl9tYWtlRHJhZ2dhYmxlKCk7DQoJCQl9DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gInBvc2l0aW9uIiApIHsNCgkJCXRoaXMuX3Bvc2l0aW9uKCk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gInJlc2l6YWJsZSIgKSB7DQoNCgkJCS8vIGN1cnJlbnRseSByZXNpemFibGUsIGJlY29taW5nIG5vbi1yZXNpemFibGUNCgkJCWlzUmVzaXphYmxlID0gdWlEaWFsb2cuaXMoICI6ZGF0YSh1aS1yZXNpemFibGUpIiApOw0KCQkJaWYgKCBpc1Jlc2l6YWJsZSAmJiAhdmFsdWUgKSB7DQoJCQkJdWlEaWFsb2cucmVzaXphYmxlKCAiZGVzdHJveSIgKTsNCgkJCX0NCg0KCQkJLy8gQ3VycmVudGx5IHJlc2l6YWJsZSwgY2hhbmdpbmcgaGFuZGxlcw0KCQkJaWYgKCBpc1Jlc2l6YWJsZSAmJiB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICkgew0KCQkJCXVpRGlhbG9nLnJlc2l6YWJsZSggIm9wdGlvbiIsICJoYW5kbGVzIiwgdmFsdWUgKTsNCgkJCX0NCg0KCQkJLy8gQ3VycmVudGx5IG5vbi1yZXNpemFibGUsIGJlY29taW5nIHJlc2l6YWJsZQ0KCQkJaWYgKCAhaXNSZXNpemFibGUgJiYgdmFsdWUgIT09IGZhbHNlICkgew0KCQkJCXRoaXMuX21ha2VSZXNpemFibGUoKTsNCgkJCX0NCgkJfQ0KDQoJCWlmICgga2V5ID09PSAidGl0bGUiICkgew0KCQkJdGhpcy5fdGl0bGUoIHRoaXMudWlEaWFsb2dUaXRsZWJhci5maW5kKCAiLnVpLWRpYWxvZy10aXRsZSIgKSApOw0KCQl9DQoJfSwNCg0KCV9zaXplOiBmdW5jdGlvbigpIHsNCg0KCQkvLyBJZiB0aGUgdXNlciBoYXMgcmVzaXplZCB0aGUgZGlhbG9nLCB0aGUgLnVpLWRpYWxvZyBhbmQgLnVpLWRpYWxvZy1jb250ZW50DQoJCS8vIGRpdnMgd2lsbCBib3RoIGhhdmUgd2lkdGggYW5kIGhlaWdodCBzZXQsIHNvIHdlIG5lZWQgdG8gcmVzZXQgdGhlbQ0KCQl2YXIgbm9uQ29udGVudEhlaWdodCwgbWluQ29udGVudEhlaWdodCwgbWF4Q29udGVudEhlaWdodCwNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoNCgkJLy8gUmVzZXQgY29udGVudCBzaXppbmcNCgkJdGhpcy5lbGVtZW50LnNob3coKS5jc3MoIHsNCgkJCXdpZHRoOiAiYXV0byIsDQoJCQltaW5IZWlnaHQ6IDAsDQoJCQltYXhIZWlnaHQ6ICJub25lIiwNCgkJCWhlaWdodDogMA0KCQl9ICk7DQoNCgkJaWYgKCBvcHRpb25zLm1pbldpZHRoID4gb3B0aW9ucy53aWR0aCApIHsNCgkJCW9wdGlvbnMud2lkdGggPSBvcHRpb25zLm1pbldpZHRoOw0KCQl9DQoNCgkJLy8gUmVzZXQgd3JhcHBlciBzaXppbmcNCgkJLy8gZGV0ZXJtaW5lIHRoZSBoZWlnaHQgb2YgYWxsIHRoZSBub24tY29udGVudCBlbGVtZW50cw0KCQlub25Db250ZW50SGVpZ2h0ID0gdGhpcy51aURpYWxvZy5jc3MoIHsNCgkJCWhlaWdodDogImF1dG8iLA0KCQkJd2lkdGg6IG9wdGlvbnMud2lkdGgNCgkJfSApDQoJCQkub3V0ZXJIZWlnaHQoKTsNCgkJbWluQ29udGVudEhlaWdodCA9IE1hdGgubWF4KCAwLCBvcHRpb25zLm1pbkhlaWdodCAtIG5vbkNvbnRlbnRIZWlnaHQgKTsNCgkJbWF4Q29udGVudEhlaWdodCA9IHR5cGVvZiBvcHRpb25zLm1heEhlaWdodCA9PT0gIm51bWJlciIgPw0KCQkJTWF0aC5tYXgoIDAsIG9wdGlvbnMubWF4SGVpZ2h0IC0gbm9uQ29udGVudEhlaWdodCApIDoNCgkJCSJub25lIjsNCg0KCQlpZiAoIG9wdGlvbnMuaGVpZ2h0ID09PSAiYXV0byIgKSB7DQoJCQl0aGlzLmVsZW1lbnQuY3NzKCB7DQoJCQkJbWluSGVpZ2h0OiBtaW5Db250ZW50SGVpZ2h0LA0KCQkJCW1heEhlaWdodDogbWF4Q29udGVudEhlaWdodCwNCgkJCQloZWlnaHQ6ICJhdXRvIg0KCQkJfSApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy5lbGVtZW50LmhlaWdodCggTWF0aC5tYXgoIDAsIG9wdGlvbnMuaGVpZ2h0IC0gbm9uQ29udGVudEhlaWdodCApICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMudWlEaWFsb2cuaXMoICI6ZGF0YSh1aS1yZXNpemFibGUpIiApICkgew0KCQkJdGhpcy51aURpYWxvZy5yZXNpemFibGUoICJvcHRpb24iLCAibWluSGVpZ2h0IiwgdGhpcy5fbWluSGVpZ2h0KCkgKTsNCgkJfQ0KCX0sDQoNCglfYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmlmcmFtZUJsb2NrcyA9IHRoaXMuZG9jdW1lbnQuZmluZCggImlmcmFtZSIgKS5tYXAoIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGlmcmFtZSA9ICQoIHRoaXMgKTsNCg0KCQkJcmV0dXJuICQoICI8ZGl2PiIgKQ0KCQkJCS5jc3MoIHsNCgkJCQkJcG9zaXRpb246ICJhYnNvbHV0ZSIsDQoJCQkJCXdpZHRoOiBpZnJhbWUub3V0ZXJXaWR0aCgpLA0KCQkJCQloZWlnaHQ6IGlmcmFtZS5vdXRlckhlaWdodCgpDQoJCQkJfSApDQoJCQkJLmFwcGVuZFRvKCBpZnJhbWUucGFyZW50KCkgKQ0KCQkJCS5vZmZzZXQoIGlmcmFtZS5vZmZzZXQoKSApWyAwIF07DQoJCX0gKTsNCgl9LA0KDQoJX3VuYmxvY2tGcmFtZXM6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMuaWZyYW1lQmxvY2tzICkgew0KCQkJdGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCk7DQoJCQlkZWxldGUgdGhpcy5pZnJhbWVCbG9ja3M7DQoJCX0NCgl9LA0KDQoJX2FsbG93SW50ZXJhY3Rpb246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCAkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLWRpYWxvZyIgKS5sZW5ndGggKSB7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KDQoJCS8vIFRPRE86IFJlbW92ZSBoYWNrIHdoZW4gZGF0ZXBpY2tlciBpbXBsZW1lbnRzDQoJCS8vIHRoZSAudWktZnJvbnQgbG9naWMgKCM4OTg5KQ0KCQlyZXR1cm4gISEkKCBldmVudC50YXJnZXQgKS5jbG9zZXN0KCAiLnVpLWRhdGVwaWNrZXIiICkubGVuZ3RoOw0KCX0sDQoNCglfY3JlYXRlT3ZlcmxheTogZnVuY3Rpb24oKSB7DQoJCWlmICggIXRoaXMub3B0aW9ucy5tb2RhbCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIFdlIHVzZSBhIGRlbGF5IGluIGNhc2UgdGhlIG92ZXJsYXkgaXMgY3JlYXRlZCBmcm9tIGFuDQoJCS8vIGV2ZW50IHRoYXQgd2UncmUgZ29pbmcgdG8gYmUgY2FuY2VsbGluZyAoIzI4MDQpDQoJCXZhciBpc09wZW5pbmcgPSB0cnVlOw0KCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQlpc09wZW5pbmcgPSBmYWxzZTsNCgkJfSApOw0KDQoJCWlmICggIXRoaXMuZG9jdW1lbnQuZGF0YSggInVpLWRpYWxvZy1vdmVybGF5cyIgKSApIHsNCg0KCQkJLy8gUHJldmVudCB1c2Ugb2YgYW5jaG9ycyBhbmQgaW5wdXRzDQoJCQkvLyBVc2luZyBfb24oKSBmb3IgYW4gZXZlbnQgaGFuZGxlciBzaGFyZWQgYWNyb3NzIG1hbnkgaW5zdGFuY2VzIGlzDQoJCQkvLyBzYWZlIGJlY2F1c2UgdGhlIGRpYWxvZ3Mgc3RhY2sgYW5kIG11c3QgYmUgY2xvc2VkIGluIHJldmVyc2Ugb3JkZXINCgkJCXRoaXMuX29uKCB0aGlzLmRvY3VtZW50LCB7DQoJCQkJZm9jdXNpbjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQlpZiAoIGlzT3BlbmluZyApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KDQoJCQkJCWlmICggIXRoaXMuX2FsbG93SW50ZXJhY3Rpb24oIGV2ZW50ICkgKSB7DQoJCQkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJCQkJdGhpcy5fdHJhY2tpbmdJbnN0YW5jZXMoKVsgMCBdLl9mb2N1c1RhYmJhYmxlKCk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9ICk7DQoJCX0NCg0KCQl0aGlzLm92ZXJsYXkgPSAkKCAiPGRpdj4iICkNCgkJCS5hcHBlbmRUbyggdGhpcy5fYXBwZW5kVG8oKSApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLm92ZXJsYXksIG51bGwsICJ1aS13aWRnZXQtb3ZlcmxheSB1aS1mcm9udCIgKTsNCgkJdGhpcy5fb24oIHRoaXMub3ZlcmxheSwgew0KCQkJbW91c2Vkb3duOiAiX2tlZXBGb2N1cyINCgkJfSApOw0KCQl0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiLA0KCQkJKCB0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiICkgfHwgMCApICsgMSApOw0KCX0sDQoNCglfZGVzdHJveU92ZXJsYXk6IGZ1bmN0aW9uKCkgew0KCQlpZiAoICF0aGlzLm9wdGlvbnMubW9kYWwgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRoaXMub3ZlcmxheSApIHsNCgkJCXZhciBvdmVybGF5cyA9IHRoaXMuZG9jdW1lbnQuZGF0YSggInVpLWRpYWxvZy1vdmVybGF5cyIgKSAtIDE7DQoNCgkJCWlmICggIW92ZXJsYXlzICkgew0KCQkJCXRoaXMuX29mZiggdGhpcy5kb2N1bWVudCwgImZvY3VzaW4iICk7DQoJCQkJdGhpcy5kb2N1bWVudC5yZW1vdmVEYXRhKCAidWktZGlhbG9nLW92ZXJsYXlzIiApOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLmRvY3VtZW50LmRhdGEoICJ1aS1kaWFsb2ctb3ZlcmxheXMiLCBvdmVybGF5cyApOw0KCQkJfQ0KDQoJCQl0aGlzLm92ZXJsYXkucmVtb3ZlKCk7DQoJCQl0aGlzLm92ZXJsYXkgPSBudWxsOw0KCQl9DQoJfQ0KfSApOw0KDQovLyBERVBSRUNBVEVEDQovLyBUT0RPOiBzd2l0Y2ggcmV0dXJuIGJhY2sgdG8gd2lkZ2V0IGRlY2xhcmF0aW9uIGF0IHRvcCBvZiBmaWxlIHdoZW4gdGhpcyBpcyByZW1vdmVkDQppZiAoICQudWlCYWNrQ29tcGF0ICE9PSBmYWxzZSApIHsNCg0KCS8vIEJhY2tjb21wYXQgZm9yIGRpYWxvZ0NsYXNzIG9wdGlvbg0KCSQud2lkZ2V0KCAidWkuZGlhbG9nIiwgJC51aS5kaWFsb2csIHsNCgkJb3B0aW9uczogew0KCQkJZGlhbG9nQ2xhc3M6ICIiDQoJCX0sDQoJCV9jcmVhdGVXcmFwcGVyOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyKCk7DQoJCQl0aGlzLnVpRGlhbG9nLmFkZENsYXNzKCB0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MgKTsNCgkJfSwNCgkJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCQlpZiAoIGtleSA9PT0gImRpYWxvZ0NsYXNzIiApIHsNCgkJCQl0aGlzLnVpRGlhbG9nDQoJCQkJCS5yZW1vdmVDbGFzcyggdGhpcy5vcHRpb25zLmRpYWxvZ0NsYXNzICkNCgkJCQkJLmFkZENsYXNzKCB2YWx1ZSApOw0KCQkJfQ0KCQkJdGhpcy5fc3VwZXJBcHBseSggYXJndW1lbnRzICk7DQoJCX0NCgl9ICk7DQp9DQoNCnZhciB3aWRnZXRzRGlhbG9nID0gJC51aS5kaWFsb2c7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgRHJvcHBhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBEcm9wcGFibGUNCi8vPj5ncm91cDogSW50ZXJhY3Rpb25zDQovLz4+ZGVzY3JpcHRpb246IEVuYWJsZXMgZHJvcCB0YXJnZXRzIGZvciBkcmFnZ2FibGUgZWxlbWVudHMuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vZHJvcHBhYmxlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL2Ryb3BwYWJsZS8NCg0KDQoNCiQud2lkZ2V0KCAidWkuZHJvcHBhYmxlIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAiZHJvcCIsDQoJb3B0aW9uczogew0KCQlhY2NlcHQ6ICIqIiwNCgkJYWRkQ2xhc3NlczogdHJ1ZSwNCgkJZ3JlZWR5OiBmYWxzZSwNCgkJc2NvcGU6ICJkZWZhdWx0IiwNCgkJdG9sZXJhbmNlOiAiaW50ZXJzZWN0IiwNCg0KCQkvLyBDYWxsYmFja3MNCgkJYWN0aXZhdGU6IG51bGwsDQoJCWRlYWN0aXZhdGU6IG51bGwsDQoJCWRyb3A6IG51bGwsDQoJCW91dDogbnVsbCwNCgkJb3ZlcjogbnVsbA0KCX0sDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIHByb3BvcnRpb25zLA0KCQkJbyA9IHRoaXMub3B0aW9ucywNCgkJCWFjY2VwdCA9IG8uYWNjZXB0Ow0KDQoJCXRoaXMuaXNvdmVyID0gZmFsc2U7DQoJCXRoaXMuaXNvdXQgPSB0cnVlOw0KDQoJCXRoaXMuYWNjZXB0ID0gJC5pc0Z1bmN0aW9uKCBhY2NlcHQgKSA/IGFjY2VwdCA6IGZ1bmN0aW9uKCBkICkgew0KCQkJcmV0dXJuIGQuaXMoIGFjY2VwdCApOw0KCQl9Ow0KDQoJCXRoaXMucHJvcG9ydGlvbnMgPSBmdW5jdGlvbiggLyogdmFsdWVUb1dyaXRlICovICkgew0KCQkJaWYgKCBhcmd1bWVudHMubGVuZ3RoICkgew0KDQoJCQkJLy8gU3RvcmUgdGhlIGRyb3BwYWJsZSdzIHByb3BvcnRpb25zDQoJCQkJcHJvcG9ydGlvbnMgPSBhcmd1bWVudHNbIDAgXTsNCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBSZXRyaWV2ZSBvciBkZXJpdmUgdGhlIGRyb3BwYWJsZSdzIHByb3BvcnRpb25zDQoJCQkJcmV0dXJuIHByb3BvcnRpb25zID8NCgkJCQkJcHJvcG9ydGlvbnMgOg0KCQkJCQlwcm9wb3J0aW9ucyA9IHsNCgkJCQkJCXdpZHRoOiB0aGlzLmVsZW1lbnRbIDAgXS5vZmZzZXRXaWR0aCwNCgkJCQkJCWhlaWdodDogdGhpcy5lbGVtZW50WyAwIF0ub2Zmc2V0SGVpZ2h0DQoJCQkJCX07DQoJCQl9DQoJCX07DQoNCgkJdGhpcy5fYWRkVG9NYW5hZ2VyKCBvLnNjb3BlICk7DQoNCgkJby5hZGRDbGFzc2VzICYmIHRoaXMuX2FkZENsYXNzKCAidWktZHJvcHBhYmxlIiApOw0KDQoJfSwNCg0KCV9hZGRUb01hbmFnZXI6IGZ1bmN0aW9uKCBzY29wZSApIHsNCg0KCQkvLyBBZGQgdGhlIHJlZmVyZW5jZSBhbmQgcG9zaXRpb25zIHRvIHRoZSBtYW5hZ2VyDQoJCSQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHNjb3BlIF0gPSAkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBzY29wZSBdIHx8IFtdOw0KCQkkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBzY29wZSBdLnB1c2goIHRoaXMgKTsNCgl9LA0KDQoJX3NwbGljZTogZnVuY3Rpb24oIGRyb3AgKSB7DQoJCXZhciBpID0gMDsNCgkJZm9yICggOyBpIDwgZHJvcC5sZW5ndGg7IGkrKyApIHsNCgkJCWlmICggZHJvcFsgaSBdID09PSB0aGlzICkgew0KCQkJCWRyb3Auc3BsaWNlKCBpLCAxICk7DQoJCQl9DQoJCX0NCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl2YXIgZHJvcCA9ICQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHRoaXMub3B0aW9ucy5zY29wZSBdOw0KDQoJCXRoaXMuX3NwbGljZSggZHJvcCApOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCg0KCQlpZiAoIGtleSA9PT0gImFjY2VwdCIgKSB7DQoJCQl0aGlzLmFjY2VwdCA9ICQuaXNGdW5jdGlvbiggdmFsdWUgKSA/IHZhbHVlIDogZnVuY3Rpb24oIGQgKSB7DQoJCQkJcmV0dXJuIGQuaXMoIHZhbHVlICk7DQoJCQl9Ow0KCQl9IGVsc2UgaWYgKCBrZXkgPT09ICJzY29wZSIgKSB7DQoJCQl2YXIgZHJvcCA9ICQudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbIHRoaXMub3B0aW9ucy5zY29wZSBdOw0KDQoJCQl0aGlzLl9zcGxpY2UoIGRyb3AgKTsNCgkJCXRoaXMuX2FkZFRvTWFuYWdlciggdmFsdWUgKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJfSwNCg0KCV9hY3RpdmF0ZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgZHJhZ2dhYmxlID0gJC51aS5kZG1hbmFnZXIuY3VycmVudDsNCg0KCQl0aGlzLl9hZGRBY3RpdmVDbGFzcygpOw0KCQlpZiAoIGRyYWdnYWJsZSApIHsNCgkJCXRoaXMuX3RyaWdnZXIoICJhY3RpdmF0ZSIsIGV2ZW50LCB0aGlzLnVpKCBkcmFnZ2FibGUgKSApOw0KCQl9DQoJfSwNCg0KCV9kZWFjdGl2YXRlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KDQoJCXRoaXMuX3JlbW92ZUFjdGl2ZUNsYXNzKCk7DQoJCWlmICggZHJhZ2dhYmxlICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImRlYWN0aXZhdGUiLCBldmVudCwgdGhpcy51aSggZHJhZ2dhYmxlICkgKTsNCgkJfQ0KCX0sDQoNCglfb3ZlcjogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KDQoJCS8vIEJhaWwgaWYgZHJhZ2dhYmxlIGFuZCBkcm9wcGFibGUgYXJlIHNhbWUgZWxlbWVudA0KCQlpZiAoICFkcmFnZ2FibGUgfHwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApWyAwIF0gPT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApICkgKSB7DQoJCQl0aGlzLl9hZGRIb3ZlckNsYXNzKCk7DQoJCQl0aGlzLl90cmlnZ2VyKCAib3ZlciIsIGV2ZW50LCB0aGlzLnVpKCBkcmFnZ2FibGUgKSApOw0KCQl9DQoNCgl9LA0KDQoJX291dDogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXZhciBkcmFnZ2FibGUgPSAkLnVpLmRkbWFuYWdlci5jdXJyZW50Ow0KDQoJCS8vIEJhaWwgaWYgZHJhZ2dhYmxlIGFuZCBkcm9wcGFibGUgYXJlIHNhbWUgZWxlbWVudA0KCQlpZiAoICFkcmFnZ2FibGUgfHwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApWyAwIF0gPT09IHRoaXMuZWxlbWVudFsgMCBdICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwgKCBkcmFnZ2FibGUuY3VycmVudEl0ZW0gfHwNCgkJCQlkcmFnZ2FibGUuZWxlbWVudCApICkgKSB7DQoJCQl0aGlzLl9yZW1vdmVIb3ZlckNsYXNzKCk7DQoJCQl0aGlzLl90cmlnZ2VyKCAib3V0IiwgZXZlbnQsIHRoaXMudWkoIGRyYWdnYWJsZSApICk7DQoJCX0NCg0KCX0sDQoNCglfZHJvcDogZnVuY3Rpb24oIGV2ZW50LCBjdXN0b20gKSB7DQoNCgkJdmFyIGRyYWdnYWJsZSA9IGN1c3RvbSB8fCAkLnVpLmRkbWFuYWdlci5jdXJyZW50LA0KCQkJY2hpbGRyZW5JbnRlcnNlY3Rpb24gPSBmYWxzZTsNCg0KCQkvLyBCYWlsIGlmIGRyYWdnYWJsZSBhbmQgZHJvcHBhYmxlIGFyZSBzYW1lIGVsZW1lbnQNCgkJaWYgKCAhZHJhZ2dhYmxlIHx8ICggZHJhZ2dhYmxlLmN1cnJlbnRJdGVtIHx8DQoJCQkJZHJhZ2dhYmxlLmVsZW1lbnQgKVsgMCBdID09PSB0aGlzLmVsZW1lbnRbIDAgXSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuZWxlbWVudA0KCQkJLmZpbmQoICI6ZGF0YSh1aS1kcm9wcGFibGUpIiApDQoJCQkubm90KCAiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIgKQ0KCQkJLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBpbnN0ID0gJCggdGhpcyApLmRyb3BwYWJsZSggImluc3RhbmNlIiApOw0KCQkJCWlmICgNCgkJCQkJaW5zdC5vcHRpb25zLmdyZWVkeSAmJg0KCQkJCQkhaW5zdC5vcHRpb25zLmRpc2FibGVkICYmDQoJCQkJCWluc3Qub3B0aW9ucy5zY29wZSA9PT0gZHJhZ2dhYmxlLm9wdGlvbnMuc2NvcGUgJiYNCgkJCQkJaW5zdC5hY2NlcHQuY2FsbCgNCgkJCQkJCWluc3QuZWxlbWVudFsgMCBdLCAoIGRyYWdnYWJsZS5jdXJyZW50SXRlbSB8fCBkcmFnZ2FibGUuZWxlbWVudCApDQoJCQkJCSkgJiYNCgkJCQkJaW50ZXJzZWN0KA0KCQkJCQkJZHJhZ2dhYmxlLA0KCQkJCQkJJC5leHRlbmQoIGluc3QsIHsgb2Zmc2V0OiBpbnN0LmVsZW1lbnQub2Zmc2V0KCkgfSApLA0KCQkJCQkJaW5zdC5vcHRpb25zLnRvbGVyYW5jZSwgZXZlbnQNCgkJCQkJKQ0KCQkJCSkgew0KCQkJCQljaGlsZHJlbkludGVyc2VjdGlvbiA9IHRydWU7DQoJCQkJCXJldHVybiBmYWxzZTsgfQ0KCQkJfSApOw0KCQlpZiAoIGNoaWxkcmVuSW50ZXJzZWN0aW9uICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJaWYgKCB0aGlzLmFjY2VwdC5jYWxsKCB0aGlzLmVsZW1lbnRbIDAgXSwNCgkJCQkoIGRyYWdnYWJsZS5jdXJyZW50SXRlbSB8fCBkcmFnZ2FibGUuZWxlbWVudCApICkgKSB7DQoJCQl0aGlzLl9yZW1vdmVBY3RpdmVDbGFzcygpOw0KCQkJdGhpcy5fcmVtb3ZlSG92ZXJDbGFzcygpOw0KDQoJCQl0aGlzLl90cmlnZ2VyKCAiZHJvcCIsIGV2ZW50LCB0aGlzLnVpKCBkcmFnZ2FibGUgKSApOw0KCQkJcmV0dXJuIHRoaXMuZWxlbWVudDsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCg0KCX0sDQoNCgl1aTogZnVuY3Rpb24oIGMgKSB7DQoJCXJldHVybiB7DQoJCQlkcmFnZ2FibGU6ICggYy5jdXJyZW50SXRlbSB8fCBjLmVsZW1lbnQgKSwNCgkJCWhlbHBlcjogYy5oZWxwZXIsDQoJCQlwb3NpdGlvbjogYy5wb3NpdGlvbiwNCgkJCW9mZnNldDogYy5wb3NpdGlvbkFicw0KCQl9Ow0KCX0sDQoNCgkvLyBFeHRlbnNpb24gcG9pbnRzIGp1c3QgdG8gbWFrZSBiYWNrY29tcGF0IHNhbmUgYW5kIGF2b2lkIGR1cGxpY2F0aW5nIGxvZ2ljDQoJLy8gVE9ETzogUmVtb3ZlIGluIDEuMTMgYWxvbmcgd2l0aCBjYWxsIHRvIGl0IGJlbG93DQoJX2FkZEhvdmVyQ2xhc3M6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9hZGRDbGFzcyggInVpLWRyb3BwYWJsZS1ob3ZlciIgKTsNCgl9LA0KDQoJX3JlbW92ZUhvdmVyQ2xhc3M6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggInVpLWRyb3BwYWJsZS1ob3ZlciIgKTsNCgl9LA0KDQoJX2FkZEFjdGl2ZUNsYXNzOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fYWRkQ2xhc3MoICJ1aS1kcm9wcGFibGUtYWN0aXZlIiApOw0KCX0sDQoNCglfcmVtb3ZlQWN0aXZlQ2xhc3M6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9yZW1vdmVDbGFzcyggInVpLWRyb3BwYWJsZS1hY3RpdmUiICk7DQoJfQ0KfSApOw0KDQp2YXIgaW50ZXJzZWN0ID0gJC51aS5pbnRlcnNlY3QgPSAoIGZ1bmN0aW9uKCkgew0KCWZ1bmN0aW9uIGlzT3ZlckF4aXMoIHgsIHJlZmVyZW5jZSwgc2l6ZSApIHsNCgkJcmV0dXJuICggeCA+PSByZWZlcmVuY2UgKSAmJiAoIHggPCAoIHJlZmVyZW5jZSArIHNpemUgKSApOw0KCX0NCg0KCXJldHVybiBmdW5jdGlvbiggZHJhZ2dhYmxlLCBkcm9wcGFibGUsIHRvbGVyYW5jZU1vZGUsIGV2ZW50ICkgew0KDQoJCWlmICggIWRyb3BwYWJsZS5vZmZzZXQgKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCg0KCQl2YXIgeDEgPSAoIGRyYWdnYWJsZS5wb3NpdGlvbkFicyB8fA0KCQkJCWRyYWdnYWJsZS5wb3NpdGlvbi5hYnNvbHV0ZSApLmxlZnQgKyBkcmFnZ2FibGUubWFyZ2lucy5sZWZ0LA0KCQkJeTEgPSAoIGRyYWdnYWJsZS5wb3NpdGlvbkFicyB8fA0KCQkJCWRyYWdnYWJsZS5wb3NpdGlvbi5hYnNvbHV0ZSApLnRvcCArIGRyYWdnYWJsZS5tYXJnaW5zLnRvcCwNCgkJCXgyID0geDEgKyBkcmFnZ2FibGUuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsDQoJCQl5MiA9IHkxICsgZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCwNCgkJCWwgPSBkcm9wcGFibGUub2Zmc2V0LmxlZnQsDQoJCQl0ID0gZHJvcHBhYmxlLm9mZnNldC50b3AsDQoJCQlyID0gbCArIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLndpZHRoLA0KCQkJYiA9IHQgKyBkcm9wcGFibGUucHJvcG9ydGlvbnMoKS5oZWlnaHQ7DQoNCgkJc3dpdGNoICggdG9sZXJhbmNlTW9kZSApIHsNCgkJY2FzZSAiZml0IjoNCgkJCXJldHVybiAoIGwgPD0geDEgJiYgeDIgPD0gciAmJiB0IDw9IHkxICYmIHkyIDw9IGIgKTsNCgkJY2FzZSAiaW50ZXJzZWN0IjoNCgkJCXJldHVybiAoIGwgPCB4MSArICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC8gMiApICYmIC8vIFJpZ2h0IEhhbGYNCgkJCQl4MiAtICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC8gMiApIDwgciAmJiAvLyBMZWZ0IEhhbGYNCgkJCQl0IDwgeTEgKyAoIGRyYWdnYWJsZS5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLyAyICkgJiYgLy8gQm90dG9tIEhhbGYNCgkJCQl5MiAtICggZHJhZ2dhYmxlLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAvIDIgKSA8IGIgKTsgLy8gVG9wIEhhbGYNCgkJY2FzZSAicG9pbnRlciI6DQoJCQlyZXR1cm4gaXNPdmVyQXhpcyggZXZlbnQucGFnZVksIHQsIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLmhlaWdodCApICYmDQoJCQkJaXNPdmVyQXhpcyggZXZlbnQucGFnZVgsIGwsIGRyb3BwYWJsZS5wcm9wb3J0aW9ucygpLndpZHRoICk7DQoJCWNhc2UgInRvdWNoIjoNCgkJCXJldHVybiAoDQoJCQkJKCB5MSA+PSB0ICYmIHkxIDw9IGIgKSB8fCAvLyBUb3AgZWRnZSB0b3VjaGluZw0KCQkJCSggeTIgPj0gdCAmJiB5MiA8PSBiICkgfHwgLy8gQm90dG9tIGVkZ2UgdG91Y2hpbmcNCgkJCQkoIHkxIDwgdCAmJiB5MiA+IGIgKSAvLyBTdXJyb3VuZGVkIHZlcnRpY2FsbHkNCgkJCSkgJiYgKA0KCQkJCSggeDEgPj0gbCAmJiB4MSA8PSByICkgfHwgLy8gTGVmdCBlZGdlIHRvdWNoaW5nDQoJCQkJKCB4MiA+PSBsICYmIHgyIDw9IHIgKSB8fCAvLyBSaWdodCBlZGdlIHRvdWNoaW5nDQoJCQkJKCB4MSA8IGwgJiYgeDIgPiByICkgLy8gU3Vycm91bmRlZCBob3Jpem9udGFsbHkNCgkJCSk7DQoJCWRlZmF1bHQ6DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgl9Ow0KfSApKCk7DQoNCi8qDQoJVGhpcyBtYW5hZ2VyIHRyYWNrcyBvZmZzZXRzIG9mIGRyYWdnYWJsZXMgYW5kIGRyb3BwYWJsZXMNCiovDQokLnVpLmRkbWFuYWdlciA9IHsNCgljdXJyZW50OiBudWxsLA0KCWRyb3BwYWJsZXM6IHsgImRlZmF1bHQiOiBbXSB9LA0KCXByZXBhcmVPZmZzZXRzOiBmdW5jdGlvbiggdCwgZXZlbnQgKSB7DQoNCgkJdmFyIGksIGosDQoJCQltID0gJC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1sgdC5vcHRpb25zLnNjb3BlIF0gfHwgW10sDQoJCQl0eXBlID0gZXZlbnQgPyBldmVudC50eXBlIDogbnVsbCwgLy8gd29ya2Fyb3VuZCBmb3IgIzIzMTcNCgkJCWxpc3QgPSAoIHQuY3VycmVudEl0ZW0gfHwgdC5lbGVtZW50ICkuZmluZCggIjpkYXRhKHVpLWRyb3BwYWJsZSkiICkuYWRkQmFjaygpOw0KDQoJCWRyb3BwYWJsZXNMb29wOiBmb3IgKCBpID0gMDsgaSA8IG0ubGVuZ3RoOyBpKysgKSB7DQoNCgkJCS8vIE5vIGRpc2FibGVkIGFuZCBub24tYWNjZXB0ZWQNCgkJCWlmICggbVsgaSBdLm9wdGlvbnMuZGlzYWJsZWQgfHwgKCB0ICYmICFtWyBpIF0uYWNjZXB0LmNhbGwoIG1bIGkgXS5lbGVtZW50WyAwIF0sDQoJCQkJCSggdC5jdXJyZW50SXRlbSB8fCB0LmVsZW1lbnQgKSApICkgKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoNCgkJCS8vIEZpbHRlciBvdXQgZWxlbWVudHMgaW4gdGhlIGN1cnJlbnQgZHJhZ2dlZCBpdGVtDQoJCQlmb3IgKCBqID0gMDsgaiA8IGxpc3QubGVuZ3RoOyBqKysgKSB7DQoJCQkJaWYgKCBsaXN0WyBqIF0gPT09IG1bIGkgXS5lbGVtZW50WyAwIF0gKSB7DQoJCQkJCW1bIGkgXS5wcm9wb3J0aW9ucygpLmhlaWdodCA9IDA7DQoJCQkJCWNvbnRpbnVlIGRyb3BwYWJsZXNMb29wOw0KCQkJCX0NCgkJCX0NCg0KCQkJbVsgaSBdLnZpc2libGUgPSBtWyBpIF0uZWxlbWVudC5jc3MoICJkaXNwbGF5IiApICE9PSAibm9uZSI7DQoJCQlpZiAoICFtWyBpIF0udmlzaWJsZSApIHsNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJLy8gQWN0aXZhdGUgdGhlIGRyb3BwYWJsZSBpZiB1c2VkIGRpcmVjdGx5IGZyb20gZHJhZ2dhYmxlcw0KCQkJaWYgKCB0eXBlID09PSAibW91c2Vkb3duIiApIHsNCgkJCQltWyBpIF0uX2FjdGl2YXRlLmNhbGwoIG1bIGkgXSwgZXZlbnQgKTsNCgkJCX0NCg0KCQkJbVsgaSBdLm9mZnNldCA9IG1bIGkgXS5lbGVtZW50Lm9mZnNldCgpOw0KCQkJbVsgaSBdLnByb3BvcnRpb25zKCB7DQoJCQkJd2lkdGg6IG1bIGkgXS5lbGVtZW50WyAwIF0ub2Zmc2V0V2lkdGgsDQoJCQkJaGVpZ2h0OiBtWyBpIF0uZWxlbWVudFsgMCBdLm9mZnNldEhlaWdodA0KCQkJfSApOw0KDQoJCX0NCg0KCX0sDQoJZHJvcDogZnVuY3Rpb24oIGRyYWdnYWJsZSwgZXZlbnQgKSB7DQoNCgkJdmFyIGRyb3BwZWQgPSBmYWxzZTsNCg0KCQkvLyBDcmVhdGUgYSBjb3B5IG9mIHRoZSBkcm9wcGFibGVzIGluIGNhc2UgdGhlIGxpc3QgY2hhbmdlcyBkdXJpbmcgdGhlIGRyb3AgKCM5MTE2KQ0KCQkkLmVhY2goICggJC51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1sgZHJhZ2dhYmxlLm9wdGlvbnMuc2NvcGUgXSB8fCBbXSApLnNsaWNlKCksIGZ1bmN0aW9uKCkgew0KDQoJCQlpZiAoICF0aGlzLm9wdGlvbnMgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5vcHRpb25zLmRpc2FibGVkICYmIHRoaXMudmlzaWJsZSAmJg0KCQkJCQlpbnRlcnNlY3QoIGRyYWdnYWJsZSwgdGhpcywgdGhpcy5vcHRpb25zLnRvbGVyYW5jZSwgZXZlbnQgKSApIHsNCgkJCQlkcm9wcGVkID0gdGhpcy5fZHJvcC5jYWxsKCB0aGlzLCBldmVudCApIHx8IGRyb3BwZWQ7DQoJCQl9DQoNCgkJCWlmICggIXRoaXMub3B0aW9ucy5kaXNhYmxlZCAmJiB0aGlzLnZpc2libGUgJiYgdGhpcy5hY2NlcHQuY2FsbCggdGhpcy5lbGVtZW50WyAwIF0sDQoJCQkJCSggZHJhZ2dhYmxlLmN1cnJlbnRJdGVtIHx8IGRyYWdnYWJsZS5lbGVtZW50ICkgKSApIHsNCgkJCQl0aGlzLmlzb3V0ID0gdHJ1ZTsNCgkJCQl0aGlzLmlzb3ZlciA9IGZhbHNlOw0KCQkJCXRoaXMuX2RlYWN0aXZhdGUuY2FsbCggdGhpcywgZXZlbnQgKTsNCgkJCX0NCg0KCQl9ICk7DQoJCXJldHVybiBkcm9wcGVkOw0KDQoJfSwNCglkcmFnU3RhcnQ6IGZ1bmN0aW9uKCBkcmFnZ2FibGUsIGV2ZW50ICkgew0KDQoJCS8vIExpc3RlbiBmb3Igc2Nyb2xsaW5nIHNvIHRoYXQgaWYgdGhlIGRyYWdnaW5nIGNhdXNlcyBzY3JvbGxpbmcgdGhlIHBvc2l0aW9uIG9mIHRoZQ0KCQkvLyBkcm9wcGFibGVzIGNhbiBiZSByZWNhbGN1bGF0ZWQgKHNlZSAjNTAwMykNCgkJZHJhZ2dhYmxlLmVsZW1lbnQucGFyZW50c1VudGlsKCAiYm9keSIgKS5vbiggInNjcm9sbC5kcm9wcGFibGUiLCBmdW5jdGlvbigpIHsNCgkJCWlmICggIWRyYWdnYWJsZS5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMgKSB7DQoJCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIGRyYWdnYWJsZSwgZXZlbnQgKTsNCgkJCX0NCgkJfSApOw0KCX0sDQoJZHJhZzogZnVuY3Rpb24oIGRyYWdnYWJsZSwgZXZlbnQgKSB7DQoNCgkJLy8gSWYgeW91IGhhdmUgYSBoaWdobHkgZHluYW1pYyBwYWdlLCB5b3UgbWlnaHQgdHJ5IHRoaXMgb3B0aW9uLiBJdCByZW5kZXJzIHBvc2l0aW9ucw0KCQkvLyBldmVyeSB0aW1lIHlvdSBtb3ZlIHRoZSBtb3VzZS4NCgkJaWYgKCBkcmFnZ2FibGUub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zICkgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIGRyYWdnYWJsZSwgZXZlbnQgKTsNCgkJfQ0KDQoJCS8vIFJ1biB0aHJvdWdoIGFsbCBkcm9wcGFibGVzIGFuZCBjaGVjayB0aGVpciBwb3NpdGlvbnMgYmFzZWQgb24gc3BlY2lmaWMgdG9sZXJhbmNlIG9wdGlvbnMNCgkJJC5lYWNoKCAkLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzWyBkcmFnZ2FibGUub3B0aW9ucy5zY29wZSBdIHx8IFtdLCBmdW5jdGlvbigpIHsNCg0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5ncmVlZHlDaGlsZCB8fCAhdGhpcy52aXNpYmxlICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJdmFyIHBhcmVudEluc3RhbmNlLCBzY29wZSwgcGFyZW50LA0KCQkJCWludGVyc2VjdHMgPSBpbnRlcnNlY3QoIGRyYWdnYWJsZSwgdGhpcywgdGhpcy5vcHRpb25zLnRvbGVyYW5jZSwgZXZlbnQgKSwNCgkJCQljID0gIWludGVyc2VjdHMgJiYgdGhpcy5pc292ZXIgPw0KCQkJCQkiaXNvdXQiIDoNCgkJCQkJKCBpbnRlcnNlY3RzICYmICF0aGlzLmlzb3ZlciA/ICJpc292ZXIiIDogbnVsbCApOw0KCQkJaWYgKCAhYyApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdGhpcy5vcHRpb25zLmdyZWVkeSApIHsNCg0KCQkJCS8vIGZpbmQgZHJvcHBhYmxlIHBhcmVudHMgd2l0aCBzYW1lIHNjb3BlDQoJCQkJc2NvcGUgPSB0aGlzLm9wdGlvbnMuc2NvcGU7DQoJCQkJcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudHMoICI6ZGF0YSh1aS1kcm9wcGFibGUpIiApLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJCXJldHVybiAkKCB0aGlzICkuZHJvcHBhYmxlKCAiaW5zdGFuY2UiICkub3B0aW9ucy5zY29wZSA9PT0gc2NvcGU7DQoJCQkJfSApOw0KDQoJCQkJaWYgKCBwYXJlbnQubGVuZ3RoICkgew0KCQkJCQlwYXJlbnRJbnN0YW5jZSA9ICQoIHBhcmVudFsgMCBdICkuZHJvcHBhYmxlKCAiaW5zdGFuY2UiICk7DQoJCQkJCXBhcmVudEluc3RhbmNlLmdyZWVkeUNoaWxkID0gKCBjID09PSAiaXNvdmVyIiApOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy8gV2UganVzdCBtb3ZlZCBpbnRvIGEgZ3JlZWR5IGNoaWxkDQoJCQlpZiAoIHBhcmVudEluc3RhbmNlICYmIGMgPT09ICJpc292ZXIiICkgew0KCQkJCXBhcmVudEluc3RhbmNlLmlzb3ZlciA9IGZhbHNlOw0KCQkJCXBhcmVudEluc3RhbmNlLmlzb3V0ID0gdHJ1ZTsNCgkJCQlwYXJlbnRJbnN0YW5jZS5fb3V0LmNhbGwoIHBhcmVudEluc3RhbmNlLCBldmVudCApOw0KCQkJfQ0KDQoJCQl0aGlzWyBjIF0gPSB0cnVlOw0KCQkJdGhpc1sgYyA9PT0gImlzb3V0IiA/ICJpc292ZXIiIDogImlzb3V0IiBdID0gZmFsc2U7DQoJCQl0aGlzWyBjID09PSAiaXNvdmVyIiA/ICJfb3ZlciIgOiAiX291dCIgXS5jYWxsKCB0aGlzLCBldmVudCApOw0KDQoJCQkvLyBXZSBqdXN0IG1vdmVkIG91dCBvZiBhIGdyZWVkeSBjaGlsZA0KCQkJaWYgKCBwYXJlbnRJbnN0YW5jZSAmJiBjID09PSAiaXNvdXQiICkgew0KCQkJCXBhcmVudEluc3RhbmNlLmlzb3V0ID0gZmFsc2U7DQoJCQkJcGFyZW50SW5zdGFuY2UuaXNvdmVyID0gdHJ1ZTsNCgkJCQlwYXJlbnRJbnN0YW5jZS5fb3Zlci5jYWxsKCBwYXJlbnRJbnN0YW5jZSwgZXZlbnQgKTsNCgkJCX0NCgkJfSApOw0KDQoJfSwNCglkcmFnU3RvcDogZnVuY3Rpb24oIGRyYWdnYWJsZSwgZXZlbnQgKSB7DQoJCWRyYWdnYWJsZS5lbGVtZW50LnBhcmVudHNVbnRpbCggImJvZHkiICkub2ZmKCAic2Nyb2xsLmRyb3BwYWJsZSIgKTsNCg0KCQkvLyBDYWxsIHByZXBhcmVPZmZzZXRzIG9uZSBmaW5hbCB0aW1lIHNpbmNlIElFIGRvZXMgbm90IGZpcmUgcmV0dXJuIHNjcm9sbCBldmVudHMgd2hlbg0KCQkvLyBvdmVyZmxvdyB3YXMgY2F1c2VkIGJ5IGRyYWcgKHNlZSAjNTAwMykNCgkJaWYgKCAhZHJhZ2dhYmxlLm9wdGlvbnMucmVmcmVzaFBvc2l0aW9ucyApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCBkcmFnZ2FibGUsIGV2ZW50ICk7DQoJCX0NCgl9DQp9Ow0KDQovLyBERVBSRUNBVEVEDQovLyBUT0RPOiBzd2l0Y2ggcmV0dXJuIGJhY2sgdG8gd2lkZ2V0IGRlY2xhcmF0aW9uIGF0IHRvcCBvZiBmaWxlIHdoZW4gdGhpcyBpcyByZW1vdmVkDQppZiAoICQudWlCYWNrQ29tcGF0ICE9PSBmYWxzZSApIHsNCg0KCS8vIEJhY2tjb21wYXQgZm9yIGFjdGl2ZUNsYXNzIGFuZCBob3ZlckNsYXNzIG9wdGlvbnMNCgkkLndpZGdldCggInVpLmRyb3BwYWJsZSIsICQudWkuZHJvcHBhYmxlLCB7DQoJCW9wdGlvbnM6IHsNCgkJCWhvdmVyQ2xhc3M6IGZhbHNlLA0KCQkJYWN0aXZlQ2xhc3M6IGZhbHNlDQoJCX0sDQoJCV9hZGRBY3RpdmVDbGFzczogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9zdXBlcigpOw0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MgKSB7DQoJCQkJdGhpcy5lbGVtZW50LmFkZENsYXNzKCB0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MgKTsNCgkJCX0NCgkJfSwNCgkJX3JlbW92ZUFjdGl2ZUNsYXNzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyKCk7DQoJCQlpZiAoIHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyApIHsNCgkJCQl0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoIHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyApOw0KCQkJfQ0KCQl9LA0KCQlfYWRkSG92ZXJDbGFzczogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9zdXBlcigpOw0KCQkJaWYgKCB0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyApIHsNCgkJCQl0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoIHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzICk7DQoJCQl9DQoJCX0sDQoJCV9yZW1vdmVIb3ZlckNsYXNzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyKCk7DQoJCQlpZiAoIHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzICkgew0KCQkJCXRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyggdGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MgKTsNCgkJCX0NCgkJfQ0KCX0gKTsNCn0NCg0KdmFyIHdpZGdldHNEcm9wcGFibGUgPSAkLnVpLmRyb3BwYWJsZTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBQcm9ncmVzc2JhciAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogUHJvZ3Jlc3NiYXINCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8ganNjczpkaXNhYmxlIG1heGltdW1MaW5lTGVuZ3RoDQovLz4+ZGVzY3JpcHRpb246IERpc3BsYXlzIGEgc3RhdHVzIGluZGljYXRvciBmb3IgbG9hZGluZyBzdGF0ZSwgc3RhbmRhcmQgcGVyY2VudGFnZSwgYW5kIG90aGVyIHByb2dyZXNzIGluZGljYXRvcnMuDQovLyBqc2NzOmVuYWJsZSBtYXhpbXVtTGluZUxlbmd0aA0KLy8+PmRvY3M6IGh0dHA6Ly9hcGkuanF1ZXJ5dWkuY29tL3Byb2dyZXNzYmFyLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Byb2dyZXNzYmFyLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvcHJvZ3Jlc3NiYXIuY3NzDQovLz4+Y3NzLnRoZW1lOiAuLi8uLi90aGVtZXMvYmFzZS90aGVtZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzUHJvZ3Jlc3NiYXIgPSAkLndpZGdldCggInVpLnByb2dyZXNzYmFyIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCW9wdGlvbnM6IHsNCgkJY2xhc3Nlczogew0KCQkJInVpLXByb2dyZXNzYmFyIjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLXByb2dyZXNzYmFyLXZhbHVlIjogInVpLWNvcm5lci1sZWZ0IiwNCgkJCSJ1aS1wcm9ncmVzc2Jhci1jb21wbGV0ZSI6ICJ1aS1jb3JuZXItcmlnaHQiDQoJCX0sDQoJCW1heDogMTAwLA0KCQl2YWx1ZTogMCwNCg0KCQljaGFuZ2U6IG51bGwsDQoJCWNvbXBsZXRlOiBudWxsDQoJfSwNCg0KCW1pbjogMCwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIENvbnN0cmFpbiBpbml0aWFsIHZhbHVlDQoJCXRoaXMub2xkVmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl9jb25zdHJhaW5lZFZhbHVlKCk7DQoNCgkJdGhpcy5lbGVtZW50LmF0dHIoIHsNCg0KCQkJLy8gT25seSBzZXQgc3RhdGljIHZhbHVlczsgYXJpYS12YWx1ZW5vdyBhbmQgYXJpYS12YWx1ZW1heCBhcmUNCgkJCS8vIHNldCBpbnNpZGUgX3JlZnJlc2hWYWx1ZSgpDQoJCQlyb2xlOiAicHJvZ3Jlc3NiYXIiLA0KCQkJImFyaWEtdmFsdWVtaW4iOiB0aGlzLm1pbg0KCQl9ICk7DQoJCXRoaXMuX2FkZENsYXNzKCAidWktcHJvZ3Jlc3NiYXIiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCXRoaXMudmFsdWVEaXYgPSAkKCAiPGRpdj4iICkuYXBwZW5kVG8oIHRoaXMuZWxlbWVudCApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy52YWx1ZURpdiwgInVpLXByb2dyZXNzYmFyLXZhbHVlIiwgInVpLXdpZGdldC1oZWFkZXIiICk7DQoJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCAicm9sZSBhcmlhLXZhbHVlbWluIGFyaWEtdmFsdWVtYXggYXJpYS12YWx1ZW5vdyIgKTsNCg0KCQl0aGlzLnZhbHVlRGl2LnJlbW92ZSgpOw0KCX0sDQoNCgl2YWx1ZTogZnVuY3Rpb24oIG5ld1ZhbHVlICkgew0KCQlpZiAoIG5ld1ZhbHVlID09PSB1bmRlZmluZWQgKSB7DQoJCQlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlOw0KCQl9DQoNCgkJdGhpcy5vcHRpb25zLnZhbHVlID0gdGhpcy5fY29uc3RyYWluZWRWYWx1ZSggbmV3VmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJfSwNCg0KCV9jb25zdHJhaW5lZFZhbHVlOiBmdW5jdGlvbiggbmV3VmFsdWUgKSB7DQoJCWlmICggbmV3VmFsdWUgPT09IHVuZGVmaW5lZCApIHsNCgkJCW5ld1ZhbHVlID0gdGhpcy5vcHRpb25zLnZhbHVlOw0KCQl9DQoNCgkJdGhpcy5pbmRldGVybWluYXRlID0gbmV3VmFsdWUgPT09IGZhbHNlOw0KDQoJCS8vIFNhbml0aXplIHZhbHVlDQoJCWlmICggdHlwZW9mIG5ld1ZhbHVlICE9PSAibnVtYmVyIiApIHsNCgkJCW5ld1ZhbHVlID0gMDsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLmluZGV0ZXJtaW5hdGUgPyBmYWxzZSA6DQoJCQlNYXRoLm1pbiggdGhpcy5vcHRpb25zLm1heCwgTWF0aC5tYXgoIHRoaXMubWluLCBuZXdWYWx1ZSApICk7DQoJfSwNCg0KCV9zZXRPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCg0KCQkvLyBFbnN1cmUgInZhbHVlIiBvcHRpb24gaXMgc2V0IGFmdGVyIG90aGVyIHZhbHVlcyAobGlrZSBtYXgpDQoJCXZhciB2YWx1ZSA9IG9wdGlvbnMudmFsdWU7DQoJCWRlbGV0ZSBvcHRpb25zLnZhbHVlOw0KDQoJCXRoaXMuX3N1cGVyKCBvcHRpb25zICk7DQoNCgkJdGhpcy5vcHRpb25zLnZhbHVlID0gdGhpcy5fY29uc3RyYWluZWRWYWx1ZSggdmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gIm1heCIgKSB7DQoNCgkJCS8vIERvbid0IGFsbG93IGEgbWF4IGxlc3MgdGhhbiBtaW4NCgkJCXZhbHVlID0gTWF0aC5tYXgoIHRoaXMubWluLCB2YWx1ZSApOw0KCQl9DQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoJfSwNCg0KCV9zZXRPcHRpb25EaXNhYmxlZDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl0aGlzLl9zdXBlciggdmFsdWUgKTsNCg0KCQl0aGlzLmVsZW1lbnQuYXR0ciggImFyaWEtZGlzYWJsZWQiLCB2YWx1ZSApOw0KCQl0aGlzLl90b2dnbGVDbGFzcyggbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiwgISF2YWx1ZSApOw0KCX0sDQoNCglfcGVyY2VudGFnZTogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLmluZGV0ZXJtaW5hdGUgPw0KCQkJMTAwIDoNCgkJCTEwMCAqICggdGhpcy5vcHRpb25zLnZhbHVlIC0gdGhpcy5taW4gKSAvICggdGhpcy5vcHRpb25zLm1heCAtIHRoaXMubWluICk7DQoJfSwNCg0KCV9yZWZyZXNoVmFsdWU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdmFsdWUgPSB0aGlzLm9wdGlvbnMudmFsdWUsDQoJCQlwZXJjZW50YWdlID0gdGhpcy5fcGVyY2VudGFnZSgpOw0KDQoJCXRoaXMudmFsdWVEaXYNCgkJCS50b2dnbGUoIHRoaXMuaW5kZXRlcm1pbmF0ZSB8fCB2YWx1ZSA+IHRoaXMubWluICkNCgkJCS53aWR0aCggcGVyY2VudGFnZS50b0ZpeGVkKCAwICkgKyAiJSIgKTsNCg0KCQl0aGlzDQoJCQkuX3RvZ2dsZUNsYXNzKCB0aGlzLnZhbHVlRGl2LCAidWktcHJvZ3Jlc3NiYXItY29tcGxldGUiLCBudWxsLA0KCQkJCXZhbHVlID09PSB0aGlzLm9wdGlvbnMubWF4ICkNCgkJCS5fdG9nZ2xlQ2xhc3MoICJ1aS1wcm9ncmVzc2Jhci1pbmRldGVybWluYXRlIiwgbnVsbCwgdGhpcy5pbmRldGVybWluYXRlICk7DQoNCgkJaWYgKCB0aGlzLmluZGV0ZXJtaW5hdGUgKSB7DQoJCQl0aGlzLmVsZW1lbnQucmVtb3ZlQXR0ciggImFyaWEtdmFsdWVub3ciICk7DQoJCQlpZiAoICF0aGlzLm92ZXJsYXlEaXYgKSB7DQoJCQkJdGhpcy5vdmVybGF5RGl2ID0gJCggIjxkaXY+IiApLmFwcGVuZFRvKCB0aGlzLnZhbHVlRGl2ICk7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMub3ZlcmxheURpdiwgInVpLXByb2dyZXNzYmFyLW92ZXJsYXkiICk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmVsZW1lbnQuYXR0ciggew0KCQkJCSJhcmlhLXZhbHVlbWF4IjogdGhpcy5vcHRpb25zLm1heCwNCgkJCQkiYXJpYS12YWx1ZW5vdyI6IHZhbHVlDQoJCQl9ICk7DQoJCQlpZiAoIHRoaXMub3ZlcmxheURpdiApIHsNCgkJCQl0aGlzLm92ZXJsYXlEaXYucmVtb3ZlKCk7DQoJCQkJdGhpcy5vdmVybGF5RGl2ID0gbnVsbDsNCgkJCX0NCgkJfQ0KDQoJCWlmICggdGhpcy5vbGRWYWx1ZSAhPT0gdmFsdWUgKSB7DQoJCQl0aGlzLm9sZFZhbHVlID0gdmFsdWU7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiApOw0KCQl9DQoJCWlmICggdmFsdWUgPT09IHRoaXMub3B0aW9ucy5tYXggKSB7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY29tcGxldGUiICk7DQoJCX0NCgl9DQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2VsZWN0YWJsZSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2VsZWN0YWJsZQ0KLy8+Pmdyb3VwOiBJbnRlcmFjdGlvbnMNCi8vPj5kZXNjcmlwdGlvbjogQWxsb3dzIGdyb3VwcyBvZiBlbGVtZW50cyB0byBiZSBzZWxlY3RlZCB3aXRoIHRoZSBtb3VzZS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zZWxlY3RhYmxlLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3NlbGVjdGFibGUvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2Uvc2VsZWN0YWJsZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzU2VsZWN0YWJsZSA9ICQud2lkZ2V0KCAidWkuc2VsZWN0YWJsZSIsICQudWkubW91c2UsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiAiYm9keSIsDQoJCWF1dG9SZWZyZXNoOiB0cnVlLA0KCQlkaXN0YW5jZTogMCwNCgkJZmlsdGVyOiAiKiIsDQoJCXRvbGVyYW5jZTogInRvdWNoIiwNCg0KCQkvLyBDYWxsYmFja3MNCgkJc2VsZWN0ZWQ6IG51bGwsDQoJCXNlbGVjdGluZzogbnVsbCwNCgkJc3RhcnQ6IG51bGwsDQoJCXN0b3A6IG51bGwsDQoJCXVuc2VsZWN0ZWQ6IG51bGwsDQoJCXVuc2VsZWN0aW5nOiBudWxsDQoJfSwNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktc2VsZWN0YWJsZSIgKTsNCg0KCQl0aGlzLmRyYWdnZWQgPSBmYWxzZTsNCg0KCQkvLyBDYWNoZSBzZWxlY3RlZSBjaGlsZHJlbiBiYXNlZCBvbiBmaWx0ZXINCgkJdGhpcy5yZWZyZXNoID0gZnVuY3Rpb24oKSB7DQoJCQl0aGF0LmVsZW1lbnRQb3MgPSAkKCB0aGF0LmVsZW1lbnRbIDAgXSApLm9mZnNldCgpOw0KCQkJdGhhdC5zZWxlY3RlZXMgPSAkKCB0aGF0Lm9wdGlvbnMuZmlsdGVyLCB0aGF0LmVsZW1lbnRbIDAgXSApOw0KCQkJdGhhdC5fYWRkQ2xhc3MoIHRoYXQuc2VsZWN0ZWVzLCAidWktc2VsZWN0ZWUiICk7DQoJCQl0aGF0LnNlbGVjdGVlcy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCQl2YXIgJHRoaXMgPSAkKCB0aGlzICksDQoJCQkJCXNlbGVjdGVlT2Zmc2V0ID0gJHRoaXMub2Zmc2V0KCksDQoJCQkJCXBvcyA9IHsNCgkJCQkJCWxlZnQ6IHNlbGVjdGVlT2Zmc2V0LmxlZnQgLSB0aGF0LmVsZW1lbnRQb3MubGVmdCwNCgkJCQkJCXRvcDogc2VsZWN0ZWVPZmZzZXQudG9wIC0gdGhhdC5lbGVtZW50UG9zLnRvcA0KCQkJCQl9Ow0KCQkJCSQuZGF0YSggdGhpcywgInNlbGVjdGFibGUtaXRlbSIsIHsNCgkJCQkJZWxlbWVudDogdGhpcywNCgkJCQkJJGVsZW1lbnQ6ICR0aGlzLA0KCQkJCQlsZWZ0OiBwb3MubGVmdCwNCgkJCQkJdG9wOiBwb3MudG9wLA0KCQkJCQlyaWdodDogcG9zLmxlZnQgKyAkdGhpcy5vdXRlcldpZHRoKCksDQoJCQkJCWJvdHRvbTogcG9zLnRvcCArICR0aGlzLm91dGVySGVpZ2h0KCksDQoJCQkJCXN0YXJ0c2VsZWN0ZWQ6IGZhbHNlLA0KCQkJCQlzZWxlY3RlZDogJHRoaXMuaGFzQ2xhc3MoICJ1aS1zZWxlY3RlZCIgKSwNCgkJCQkJc2VsZWN0aW5nOiAkdGhpcy5oYXNDbGFzcyggInVpLXNlbGVjdGluZyIgKSwNCgkJCQkJdW5zZWxlY3Rpbmc6ICR0aGlzLmhhc0NsYXNzKCAidWktdW5zZWxlY3RpbmciICkNCgkJCQl9ICk7DQoJCQl9ICk7DQoJCX07DQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCXRoaXMuX21vdXNlSW5pdCgpOw0KDQoJCXRoaXMuaGVscGVyID0gJCggIjxkaXY+IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5oZWxwZXIsICJ1aS1zZWxlY3RhYmxlLWhlbHBlciIgKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLnNlbGVjdGVlcy5yZW1vdmVEYXRhKCAic2VsZWN0YWJsZS1pdGVtIiApOw0KCQl0aGlzLl9tb3VzZURlc3Ryb3koKTsNCgl9LA0KDQoJX21vdXNlU3RhcnQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQl0aGlzLm9wb3MgPSBbIGV2ZW50LnBhZ2VYLCBldmVudC5wYWdlWSBdOw0KCQl0aGlzLmVsZW1lbnRQb3MgPSAkKCB0aGlzLmVsZW1lbnRbIDAgXSApLm9mZnNldCgpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5zZWxlY3RlZXMgPSAkKCBvcHRpb25zLmZpbHRlciwgdGhpcy5lbGVtZW50WyAwIF0gKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAic3RhcnQiLCBldmVudCApOw0KDQoJCSQoIG9wdGlvbnMuYXBwZW5kVG8gKS5hcHBlbmQoIHRoaXMuaGVscGVyICk7DQoNCgkJLy8gcG9zaXRpb24gaGVscGVyIChsYXNzbykNCgkJdGhpcy5oZWxwZXIuY3NzKCB7DQoJCQkibGVmdCI6IGV2ZW50LnBhZ2VYLA0KCQkJInRvcCI6IGV2ZW50LnBhZ2VZLA0KCQkJIndpZHRoIjogMCwNCgkJCSJoZWlnaHQiOiAwDQoJCX0gKTsNCg0KCQlpZiAoIG9wdGlvbnMuYXV0b1JlZnJlc2ggKSB7DQoJCQl0aGlzLnJlZnJlc2goKTsNCgkJfQ0KDQoJCXRoaXMuc2VsZWN0ZWVzLmZpbHRlciggIi51aS1zZWxlY3RlZCIgKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzZWxlY3RlZSA9ICQuZGF0YSggdGhpcywgInNlbGVjdGFibGUtaXRlbSIgKTsNCgkJCXNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgPSB0cnVlOw0KCQkJaWYgKCAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSApIHsNCgkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS1zZWxlY3RlZCIgKTsNCgkJCQlzZWxlY3RlZS5zZWxlY3RlZCA9IGZhbHNlOw0KCQkJCXRoYXQuX2FkZENsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXVuc2VsZWN0aW5nIiApOw0KCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gdHJ1ZTsNCg0KCQkJCS8vIHNlbGVjdGFibGUgVU5TRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQl0aGF0Ll90cmlnZ2VyKCAidW5zZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQl1bnNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCX0gKTsNCgkJCX0NCgkJfSApOw0KDQoJCSQoIGV2ZW50LnRhcmdldCApLnBhcmVudHMoKS5hZGRCYWNrKCkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgZG9TZWxlY3QsDQoJCQkJc2VsZWN0ZWUgPSAkLmRhdGEoIHRoaXMsICJzZWxlY3RhYmxlLWl0ZW0iICk7DQoJCQlpZiAoIHNlbGVjdGVlICkgew0KCQkJCWRvU2VsZWN0ID0gKCAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSApIHx8DQoJCQkJCSFzZWxlY3RlZS4kZWxlbWVudC5oYXNDbGFzcyggInVpLXNlbGVjdGVkIiApOw0KCQkJCXRoYXQuX3JlbW92ZUNsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgZG9TZWxlY3QgPyAidWktdW5zZWxlY3RpbmciIDogInVpLXNlbGVjdGVkIiApDQoJCQkJCS5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCBkb1NlbGVjdCA/ICJ1aS1zZWxlY3RpbmciIDogInVpLXVuc2VsZWN0aW5nIiApOw0KCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gIWRvU2VsZWN0Ow0KCQkJCXNlbGVjdGVlLnNlbGVjdGluZyA9IGRvU2VsZWN0Ow0KCQkJCXNlbGVjdGVlLnNlbGVjdGVkID0gZG9TZWxlY3Q7DQoNCgkJCQkvLyBzZWxlY3RhYmxlIChVTilTRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQlpZiAoIGRvU2VsZWN0ICkgew0KCQkJCQl0aGF0Ll90cmlnZ2VyKCAic2VsZWN0aW5nIiwgZXZlbnQsIHsNCgkJCQkJCXNlbGVjdGluZzogc2VsZWN0ZWUuZWxlbWVudA0KCQkJCQl9ICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhhdC5fdHJpZ2dlciggInVuc2VsZWN0aW5nIiwgZXZlbnQsIHsNCgkJCQkJCXVuc2VsZWN0aW5nOiBzZWxlY3RlZS5lbGVtZW50DQoJCQkJCX0gKTsNCgkJCQl9DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9ICk7DQoNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXRoaXMuZHJhZ2dlZCA9IHRydWU7DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl2YXIgdG1wLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJeDEgPSB0aGlzLm9wb3NbIDAgXSwNCgkJCXkxID0gdGhpcy5vcG9zWyAxIF0sDQoJCQl4MiA9IGV2ZW50LnBhZ2VYLA0KCQkJeTIgPSBldmVudC5wYWdlWTsNCg0KCQlpZiAoIHgxID4geDIgKSB7IHRtcCA9IHgyOyB4MiA9IHgxOyB4MSA9IHRtcDsgfQ0KCQlpZiAoIHkxID4geTIgKSB7IHRtcCA9IHkyOyB5MiA9IHkxOyB5MSA9IHRtcDsgfQ0KCQl0aGlzLmhlbHBlci5jc3MoIHsgbGVmdDogeDEsIHRvcDogeTEsIHdpZHRoOiB4MiAtIHgxLCBoZWlnaHQ6IHkyIC0geTEgfSApOw0KDQoJCXRoaXMuc2VsZWN0ZWVzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNlbGVjdGVlID0gJC5kYXRhKCB0aGlzLCAic2VsZWN0YWJsZS1pdGVtIiApLA0KCQkJCWhpdCA9IGZhbHNlLA0KCQkJCW9mZnNldCA9IHt9Ow0KDQoJCQkvL3ByZXZlbnQgaGVscGVyIGZyb20gYmVpbmcgc2VsZWN0ZWQgaWYgYXBwZW5kVG86IHNlbGVjdGFibGUNCgkJCWlmICggIXNlbGVjdGVlIHx8IHNlbGVjdGVlLmVsZW1lbnQgPT09IHRoYXQuZWxlbWVudFsgMCBdICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJb2Zmc2V0LmxlZnQgICA9IHNlbGVjdGVlLmxlZnQgICArIHRoYXQuZWxlbWVudFBvcy5sZWZ0Ow0KCQkJb2Zmc2V0LnJpZ2h0ICA9IHNlbGVjdGVlLnJpZ2h0ICArIHRoYXQuZWxlbWVudFBvcy5sZWZ0Ow0KCQkJb2Zmc2V0LnRvcCAgICA9IHNlbGVjdGVlLnRvcCAgICArIHRoYXQuZWxlbWVudFBvcy50b3A7DQoJCQlvZmZzZXQuYm90dG9tID0gc2VsZWN0ZWUuYm90dG9tICsgdGhhdC5lbGVtZW50UG9zLnRvcDsNCg0KCQkJaWYgKCBvcHRpb25zLnRvbGVyYW5jZSA9PT0gInRvdWNoIiApIHsNCgkJCQloaXQgPSAoICEoIG9mZnNldC5sZWZ0ID4geDIgfHwgb2Zmc2V0LnJpZ2h0IDwgeDEgfHwgb2Zmc2V0LnRvcCA+IHkyIHx8DQogICAgICAgICAgICAgICAgICAgIG9mZnNldC5ib3R0b20gPCB5MSApICk7DQoJCQl9IGVsc2UgaWYgKCBvcHRpb25zLnRvbGVyYW5jZSA9PT0gImZpdCIgKSB7DQoJCQkJaGl0ID0gKCBvZmZzZXQubGVmdCA+IHgxICYmIG9mZnNldC5yaWdodCA8IHgyICYmIG9mZnNldC50b3AgPiB5MSAmJg0KICAgICAgICAgICAgICAgICAgICBvZmZzZXQuYm90dG9tIDwgeTIgKTsNCgkJCX0NCg0KCQkJaWYgKCBoaXQgKSB7DQoNCgkJCQkvLyBTRUxFQ1QNCgkJCQlpZiAoIHNlbGVjdGVlLnNlbGVjdGVkICkgew0KCQkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS1zZWxlY3RlZCIgKTsNCgkJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSBmYWxzZTsNCgkJCQl9DQoJCQkJaWYgKCBzZWxlY3RlZS51bnNlbGVjdGluZyApIHsNCgkJCQkJdGhhdC5fcmVtb3ZlQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktdW5zZWxlY3RpbmciICk7DQoJCQkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQkJfQ0KCQkJCWlmICggIXNlbGVjdGVlLnNlbGVjdGluZyApIHsNCgkJCQkJdGhhdC5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktc2VsZWN0aW5nIiApOw0KCQkJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSB0cnVlOw0KDQoJCQkJCS8vIHNlbGVjdGFibGUgU0VMRUNUSU5HIGNhbGxiYWNrDQoJCQkJCXRoYXQuX3RyaWdnZXIoICJzZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQkJc2VsZWN0aW5nOiBzZWxlY3RlZS5lbGVtZW50DQoJCQkJCX0gKTsNCgkJCQl9DQoJCQl9IGVsc2Ugew0KDQoJCQkJLy8gVU5TRUxFQ1QNCgkJCQlpZiAoIHNlbGVjdGVlLnNlbGVjdGluZyApIHsNCgkJCQkJaWYgKCAoIGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSApICYmIHNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgKSB7DQoJCQkJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS1zZWxlY3RpbmciICk7DQoJCQkJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSBmYWxzZTsNCgkJCQkJCXRoYXQuX2FkZENsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXNlbGVjdGVkIiApOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSB0cnVlOw0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJdGhhdC5fcmVtb3ZlQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktc2VsZWN0aW5nIiApOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQkJCQlpZiAoIHNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgKSB7DQoJCQkJCQkJdGhhdC5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktdW5zZWxlY3RpbmciICk7DQoJCQkJCQkJc2VsZWN0ZWUudW5zZWxlY3RpbmcgPSB0cnVlOw0KCQkJCQkJfQ0KDQoJCQkJCQkvLyBzZWxlY3RhYmxlIFVOU0VMRUNUSU5HIGNhbGxiYWNrDQoJCQkJCQl0aGF0Ll90cmlnZ2VyKCAidW5zZWxlY3RpbmciLCBldmVudCwgew0KCQkJCQkJCXVuc2VsZWN0aW5nOiBzZWxlY3RlZS5lbGVtZW50DQoJCQkJCQl9ICk7DQoJCQkJCX0NCgkJCQl9DQoJCQkJaWYgKCBzZWxlY3RlZS5zZWxlY3RlZCApIHsNCgkJCQkJaWYgKCAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAhc2VsZWN0ZWUuc3RhcnRzZWxlY3RlZCApIHsNCgkJCQkJCXRoYXQuX3JlbW92ZUNsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXNlbGVjdGVkIiApOw0KCQkJCQkJc2VsZWN0ZWUuc2VsZWN0ZWQgPSBmYWxzZTsNCg0KCQkJCQkJdGhhdC5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktdW5zZWxlY3RpbmciICk7DQoJCQkJCQlzZWxlY3RlZS51bnNlbGVjdGluZyA9IHRydWU7DQoNCgkJCQkJCS8vIHNlbGVjdGFibGUgVU5TRUxFQ1RJTkcgY2FsbGJhY2sNCgkJCQkJCXRoYXQuX3RyaWdnZXIoICJ1bnNlbGVjdGluZyIsIGV2ZW50LCB7DQoJCQkJCQkJdW5zZWxlY3Rpbmc6IHNlbGVjdGVlLmVsZW1lbnQNCgkJCQkJCX0gKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfSApOw0KDQoJCXJldHVybiBmYWxzZTsNCgl9LA0KDQoJX21vdXNlU3RvcDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgdGhhdCA9IHRoaXM7DQoNCgkJdGhpcy5kcmFnZ2VkID0gZmFsc2U7DQoNCgkJJCggIi51aS11bnNlbGVjdGluZyIsIHRoaXMuZWxlbWVudFsgMCBdICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgc2VsZWN0ZWUgPSAkLmRhdGEoIHRoaXMsICJzZWxlY3RhYmxlLWl0ZW0iICk7DQoJCQl0aGF0Ll9yZW1vdmVDbGFzcyggc2VsZWN0ZWUuJGVsZW1lbnQsICJ1aS11bnNlbGVjdGluZyIgKTsNCgkJCXNlbGVjdGVlLnVuc2VsZWN0aW5nID0gZmFsc2U7DQoJCQlzZWxlY3RlZS5zdGFydHNlbGVjdGVkID0gZmFsc2U7DQoJCQl0aGF0Ll90cmlnZ2VyKCAidW5zZWxlY3RlZCIsIGV2ZW50LCB7DQoJCQkJdW5zZWxlY3RlZDogc2VsZWN0ZWUuZWxlbWVudA0KCQkJfSApOw0KCQl9ICk7DQoJCSQoICIudWktc2VsZWN0aW5nIiwgdGhpcy5lbGVtZW50WyAwIF0gKS5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBzZWxlY3RlZSA9ICQuZGF0YSggdGhpcywgInNlbGVjdGFibGUtaXRlbSIgKTsNCgkJCXRoYXQuX3JlbW92ZUNsYXNzKCBzZWxlY3RlZS4kZWxlbWVudCwgInVpLXNlbGVjdGluZyIgKQ0KCQkJCS5fYWRkQ2xhc3MoIHNlbGVjdGVlLiRlbGVtZW50LCAidWktc2VsZWN0ZWQiICk7DQoJCQlzZWxlY3RlZS5zZWxlY3RpbmcgPSBmYWxzZTsNCgkJCXNlbGVjdGVlLnNlbGVjdGVkID0gdHJ1ZTsNCgkJCXNlbGVjdGVlLnN0YXJ0c2VsZWN0ZWQgPSB0cnVlOw0KCQkJdGhhdC5fdHJpZ2dlciggInNlbGVjdGVkIiwgZXZlbnQsIHsNCgkJCQlzZWxlY3RlZDogc2VsZWN0ZWUuZWxlbWVudA0KCQkJfSApOw0KCQl9ICk7DQoJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQgKTsNCg0KCQl0aGlzLmhlbHBlci5yZW1vdmUoKTsNCg0KCQlyZXR1cm4gZmFsc2U7DQoJfQ0KDQp9ICk7DQoNCg0KLyohDQogKiBqUXVlcnkgVUkgU2VsZWN0bWVudSAxLjEyLjENCiAqIGh0dHA6Ly9qcXVlcnl1aS5jb20NCiAqDQogKiBDb3B5cmlnaHQgalF1ZXJ5IEZvdW5kYXRpb24gYW5kIG90aGVyIGNvbnRyaWJ1dG9ycw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KICogaHR0cDovL2pxdWVyeS5vcmcvbGljZW5zZQ0KICovDQoNCi8vPj5sYWJlbDogU2VsZWN0bWVudQ0KLy8+Pmdyb3VwOiBXaWRnZXRzDQovLyBqc2NzOmRpc2FibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8vPj5kZXNjcmlwdGlvbjogRHVwbGljYXRlcyBhbmQgZXh0ZW5kcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiBhIG5hdGl2ZSBIVE1MIHNlbGVjdCBlbGVtZW50LCBhbGxvd2luZyBpdCB0byBiZSBjdXN0b21pemFibGUgaW4gYmVoYXZpb3IgYW5kIGFwcGVhcmFuY2UgZmFyIGJleW9uZCB0aGUgbGltaXRhdGlvbnMgb2YgYSBuYXRpdmUgc2VsZWN0Lg0KLy8ganNjczplbmFibGUgbWF4aW11bUxpbmVMZW5ndGgNCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zZWxlY3RtZW51Lw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3NlbGVjdG1lbnUvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9zZWxlY3RtZW51LmNzcywgLi4vLi4vdGhlbWVzL2Jhc2UvYnV0dG9uLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQp2YXIgd2lkZ2V0c1NlbGVjdG1lbnUgPSAkLndpZGdldCggInVpLnNlbGVjdG1lbnUiLCBbICQudWkuZm9ybVJlc2V0TWl4aW4sIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjxzZWxlY3Q+IiwNCglvcHRpb25zOiB7DQoJCWFwcGVuZFRvOiBudWxsLA0KCQljbGFzc2VzOiB7DQoJCQkidWktc2VsZWN0bWVudS1idXR0b24tb3BlbiI6ICJ1aS1jb3JuZXItdG9wIiwNCgkJCSJ1aS1zZWxlY3RtZW51LWJ1dHRvbi1jbG9zZWQiOiAidWktY29ybmVyLWFsbCINCgkJfSwNCgkJZGlzYWJsZWQ6IG51bGwsDQoJCWljb25zOiB7DQoJCQlidXR0b246ICJ1aS1pY29uLXRyaWFuZ2xlLTEtcyINCgkJfSwNCgkJcG9zaXRpb246IHsNCgkJCW15OiAibGVmdCB0b3AiLA0KCQkJYXQ6ICJsZWZ0IGJvdHRvbSIsDQoJCQljb2xsaXNpb246ICJub25lIg0KCQl9LA0KCQl3aWR0aDogZmFsc2UsDQoNCgkJLy8gQ2FsbGJhY2tzDQoJCWNoYW5nZTogbnVsbCwNCgkJY2xvc2U6IG51bGwsDQoJCWZvY3VzOiBudWxsLA0KCQlvcGVuOiBudWxsLA0KCQlzZWxlY3Q6IG51bGwNCgl9LA0KDQoJX2NyZWF0ZTogZnVuY3Rpb24oKSB7DQoJCXZhciBzZWxlY3RtZW51SWQgPSB0aGlzLmVsZW1lbnQudW5pcXVlSWQoKS5hdHRyKCAiaWQiICk7DQoJCXRoaXMuaWRzID0gew0KCQkJZWxlbWVudDogc2VsZWN0bWVudUlkLA0KCQkJYnV0dG9uOiBzZWxlY3RtZW51SWQgKyAiLWJ1dHRvbiIsDQoJCQltZW51OiBzZWxlY3RtZW51SWQgKyAiLW1lbnUiDQoJCX07DQoNCgkJdGhpcy5fZHJhd0J1dHRvbigpOw0KCQl0aGlzLl9kcmF3TWVudSgpOw0KCQl0aGlzLl9iaW5kRm9ybVJlc2V0SGFuZGxlcigpOw0KDQoJCXRoaXMuX3JlbmRlcmVkID0gZmFsc2U7DQoJCXRoaXMubWVudUl0ZW1zID0gJCgpOw0KCX0sDQoNCglfZHJhd0J1dHRvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBpY29uLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlpdGVtID0gdGhpcy5fcGFyc2VPcHRpb24oDQoJCQkJdGhpcy5lbGVtZW50LmZpbmQoICJvcHRpb246c2VsZWN0ZWQiICksDQoJCQkJdGhpcy5lbGVtZW50WyAwIF0uc2VsZWN0ZWRJbmRleA0KCQkJKTsNCg0KCQkvLyBBc3NvY2lhdGUgZXhpc3RpbmcgbGFiZWwgd2l0aCB0aGUgbmV3IGJ1dHRvbg0KCQl0aGlzLmxhYmVscyA9IHRoaXMuZWxlbWVudC5sYWJlbHMoKS5hdHRyKCAiZm9yIiwgdGhpcy5pZHMuYnV0dG9uICk7DQoJCXRoaXMuX29uKCB0aGlzLmxhYmVscywgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQl0aGlzLmJ1dHRvbi5mb2N1cygpOw0KCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoJCQl9DQoJCX0gKTsNCg0KCQkvLyBIaWRlIG9yaWdpbmFsIHNlbGVjdCBlbGVtZW50DQoJCXRoaXMuZWxlbWVudC5oaWRlKCk7DQoNCgkJLy8gQ3JlYXRlIGJ1dHRvbg0KCQl0aGlzLmJ1dHRvbiA9ICQoICI8c3Bhbj4iLCB7DQoJCQl0YWJpbmRleDogdGhpcy5vcHRpb25zLmRpc2FibGVkID8gLTEgOiAwLA0KCQkJaWQ6IHRoaXMuaWRzLmJ1dHRvbiwNCgkJCXJvbGU6ICJjb21ib2JveCIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1hdXRvY29tcGxldGUiOiAibGlzdCIsDQoJCQkiYXJpYS1vd25zIjogdGhpcy5pZHMubWVudSwNCgkJCSJhcmlhLWhhc3BvcHVwIjogInRydWUiLA0KCQkJdGl0bGU6IHRoaXMuZWxlbWVudC5hdHRyKCAidGl0bGUiICkNCgkJfSApDQoJCQkuaW5zZXJ0QWZ0ZXIoIHRoaXMuZWxlbWVudCApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLmJ1dHRvbiwgInVpLXNlbGVjdG1lbnUtYnV0dG9uIHVpLXNlbGVjdG1lbnUtYnV0dG9uLWNsb3NlZCIsDQoJCQkidWktYnV0dG9uIHVpLXdpZGdldCIgKTsNCg0KCQlpY29uID0gJCggIjxzcGFuPiIgKS5hcHBlbmRUbyggdGhpcy5idXR0b24gKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIGljb24sICJ1aS1zZWxlY3RtZW51LWljb24iLCAidWktaWNvbiAiICsgdGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbiApOw0KCQl0aGlzLmJ1dHRvbkl0ZW0gPSB0aGlzLl9yZW5kZXJCdXR0b25JdGVtKCBpdGVtICkNCgkJCS5hcHBlbmRUbyggdGhpcy5idXR0b24gKTsNCg0KCQlpZiAoIHRoaXMub3B0aW9ucy53aWR0aCAhPT0gZmFsc2UgKSB7DQoJCQl0aGlzLl9yZXNpemVCdXR0b24oKTsNCgkJfQ0KDQoJCXRoaXMuX29uKCB0aGlzLmJ1dHRvbiwgdGhpcy5fYnV0dG9uRXZlbnRzICk7DQoJCXRoaXMuYnV0dG9uLm9uZSggImZvY3VzaW4iLCBmdW5jdGlvbigpIHsNCg0KCQkJLy8gRGVsYXkgcmVuZGVyaW5nIHRoZSBtZW51IGl0ZW1zIHVudGlsIHRoZSBidXR0b24gcmVjZWl2ZXMgZm9jdXMuDQoJCQkvLyBUaGUgbWVudSBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gcmVuZGVyZWQgdmlhIGEgcHJvZ3JhbW1hdGljIG9wZW4uDQoJCQlpZiAoICF0aGF0Ll9yZW5kZXJlZCApIHsNCgkJCQl0aGF0Ll9yZWZyZXNoTWVudSgpOw0KCQkJfQ0KCQl9ICk7DQoJfSwNCg0KCV9kcmF3TWVudTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQkvLyBDcmVhdGUgbWVudQ0KCQl0aGlzLm1lbnUgPSAkKCAiPHVsPiIsIHsNCgkJCSJhcmlhLWhpZGRlbiI6ICJ0cnVlIiwNCgkJCSJhcmlhLWxhYmVsbGVkYnkiOiB0aGlzLmlkcy5idXR0b24sDQoJCQlpZDogdGhpcy5pZHMubWVudQ0KCQl9ICk7DQoNCgkJLy8gV3JhcCBtZW51DQoJCXRoaXMubWVudVdyYXAgPSAkKCAiPGRpdj4iICkuYXBwZW5kKCB0aGlzLm1lbnUgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMubWVudVdyYXAsICJ1aS1zZWxlY3RtZW51LW1lbnUiLCAidWktZnJvbnQiICk7DQoJCXRoaXMubWVudVdyYXAuYXBwZW5kVG8oIHRoaXMuX2FwcGVuZFRvKCkgKTsNCg0KCQkvLyBJbml0aWFsaXplIG1lbnUgd2lkZ2V0DQoJCXRoaXMubWVudUluc3RhbmNlID0gdGhpcy5tZW51DQoJCQkubWVudSggew0KCQkJCWNsYXNzZXM6IHsNCgkJCQkJInVpLW1lbnUiOiAidWktY29ybmVyLWJvdHRvbSINCgkJCQl9LA0KCQkJCXJvbGU6ICJsaXN0Ym94IiwNCgkJCQlzZWxlY3Q6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7DQoJCQkJCWV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQoNCgkJCQkJLy8gU3VwcG9ydDogSUU4DQoJCQkJCS8vIElmIHRoZSBpdGVtIHdhcyBzZWxlY3RlZCB2aWEgYSBjbGljaywgdGhlIHRleHQgc2VsZWN0aW9uDQoJCQkJCS8vIHdpbGwgYmUgZGVzdHJveWVkIGluIElFDQoJCQkJCXRoYXQuX3NldFNlbGVjdGlvbigpOw0KDQoJCQkJCXRoYXQuX3NlbGVjdCggdWkuaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApLCBldmVudCApOw0KCQkJCX0sDQoJCQkJZm9jdXM6IGZ1bmN0aW9uKCBldmVudCwgdWkgKSB7DQoJCQkJCXZhciBpdGVtID0gdWkuaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApOw0KDQoJCQkJCS8vIFByZXZlbnQgaW5pdGFsIGZvY3VzIGZyb20gZmlyaW5nIGFuZCBjaGVjayBpZiBpdHMgYSBuZXdseSBmb2N1c2VkIGl0ZW0NCgkJCQkJaWYgKCB0aGF0LmZvY3VzSW5kZXggIT0gbnVsbCAmJiBpdGVtLmluZGV4ICE9PSB0aGF0LmZvY3VzSW5kZXggKSB7DQoJCQkJCQl0aGF0Ll90cmlnZ2VyKCAiZm9jdXMiLCBldmVudCwgeyBpdGVtOiBpdGVtIH0gKTsNCgkJCQkJCWlmICggIXRoYXQuaXNPcGVuICkgew0KCQkJCQkJCXRoYXQuX3NlbGVjdCggaXRlbSwgZXZlbnQgKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQl0aGF0LmZvY3VzSW5kZXggPSBpdGVtLmluZGV4Ow0KDQoJCQkJCXRoYXQuYnV0dG9uLmF0dHIoICJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLA0KCQkJCQkJdGhhdC5tZW51SXRlbXMuZXEoIGl0ZW0uaW5kZXggKS5hdHRyKCAiaWQiICkgKTsNCgkJCQl9DQoJCQl9ICkNCgkJCS5tZW51KCAiaW5zdGFuY2UiICk7DQoNCgkJLy8gRG9uJ3QgY2xvc2UgdGhlIG1lbnUgb24gbW91c2VsZWF2ZQ0KCQl0aGlzLm1lbnVJbnN0YW5jZS5fb2ZmKCB0aGlzLm1lbnUsICJtb3VzZWxlYXZlIiApOw0KDQoJCS8vIENhbmNlbCB0aGUgbWVudSdzIGNvbGxhcHNlQWxsIG9uIGRvY3VtZW50IGNsaWNrDQoJCXRoaXMubWVudUluc3RhbmNlLl9jbG9zZU9uRG9jdW1lbnRDbGljayA9IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9Ow0KDQoJCS8vIFNlbGVjdHMgb2Z0ZW4gY29udGFpbiBlbXB0eSBpdGVtcywgYnV0IG5ldmVyIGNvbnRhaW4gZGl2aWRlcnMNCgkJdGhpcy5tZW51SW5zdGFuY2UuX2lzRGl2aWRlciA9IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9Ow0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fcmVmcmVzaE1lbnUoKTsNCgkJdGhpcy5idXR0b25JdGVtLnJlcGxhY2VXaXRoKA0KCQkJdGhpcy5idXR0b25JdGVtID0gdGhpcy5fcmVuZGVyQnV0dG9uSXRlbSgNCg0KCQkJCS8vIEZhbGwgYmFjayB0byBhbiBlbXB0eSBvYmplY3QgaW4gY2FzZSB0aGVyZSBhcmUgbm8gb3B0aW9ucw0KCQkJCXRoaXMuX2dldFNlbGVjdGVkSXRlbSgpLmRhdGEoICJ1aS1zZWxlY3RtZW51LWl0ZW0iICkgfHwge30NCgkJCSkNCgkJKTsNCgkJaWYgKCB0aGlzLm9wdGlvbnMud2lkdGggPT09IG51bGwgKSB7DQoJCQl0aGlzLl9yZXNpemVCdXR0b24oKTsNCgkJfQ0KCX0sDQoNCglfcmVmcmVzaE1lbnU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgaXRlbSwNCgkJCW9wdGlvbnMgPSB0aGlzLmVsZW1lbnQuZmluZCggIm9wdGlvbiIgKTsNCg0KCQl0aGlzLm1lbnUuZW1wdHkoKTsNCg0KCQl0aGlzLl9wYXJzZU9wdGlvbnMoIG9wdGlvbnMgKTsNCgkJdGhpcy5fcmVuZGVyTWVudSggdGhpcy5tZW51LCB0aGlzLml0ZW1zICk7DQoNCgkJdGhpcy5tZW51SW5zdGFuY2UucmVmcmVzaCgpOw0KCQl0aGlzLm1lbnVJdGVtcyA9IHRoaXMubWVudS5maW5kKCAibGkiICkNCgkJCS5ub3QoICIudWktc2VsZWN0bWVudS1vcHRncm91cCIgKQ0KCQkJCS5maW5kKCAiLnVpLW1lbnUtaXRlbS13cmFwcGVyIiApOw0KDQoJCXRoaXMuX3JlbmRlcmVkID0gdHJ1ZTsNCg0KCQlpZiAoICFvcHRpb25zLmxlbmd0aCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWl0ZW0gPSB0aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKTsNCg0KCQkvLyBVcGRhdGUgdGhlIG1lbnUgdG8gaGF2ZSB0aGUgY29ycmVjdCBpdGVtIGZvY3VzZWQNCgkJdGhpcy5tZW51SW5zdGFuY2UuZm9jdXMoIG51bGwsIGl0ZW0gKTsNCgkJdGhpcy5fc2V0QXJpYSggaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApICk7DQoNCgkJLy8gU2V0IGRpc2FibGVkIHN0YXRlDQoJCXRoaXMuX3NldE9wdGlvbiggImRpc2FibGVkIiwgdGhpcy5lbGVtZW50LnByb3AoICJkaXNhYmxlZCIgKSApOw0KCX0sDQoNCglvcGVuOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggdGhpcy5vcHRpb25zLmRpc2FibGVkICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gSWYgdGhpcyBpcyB0aGUgZmlyc3QgdGltZSB0aGUgbWVudSBpcyBiZWluZyBvcGVuZWQsIHJlbmRlciB0aGUgaXRlbXMNCgkJaWYgKCAhdGhpcy5fcmVuZGVyZWQgKSB7DQoJCQl0aGlzLl9yZWZyZXNoTWVudSgpOw0KCQl9IGVsc2Ugew0KDQoJCQkvLyBNZW51IGNsZWFycyBmb2N1cyBvbiBjbG9zZSwgcmVzZXQgZm9jdXMgdG8gc2VsZWN0ZWQgaXRlbQ0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMubWVudS5maW5kKCAiLnVpLXN0YXRlLWFjdGl2ZSIgKSwgbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCXRoaXMubWVudUluc3RhbmNlLmZvY3VzKCBudWxsLCB0aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKSApOw0KCQl9DQoNCgkJLy8gSWYgdGhlcmUgYXJlIG5vIG9wdGlvbnMsIGRvbid0IG9wZW4gdGhlIG1lbnUNCgkJaWYgKCAhdGhpcy5tZW51SXRlbXMubGVuZ3RoICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5pc09wZW4gPSB0cnVlOw0KCQl0aGlzLl90b2dnbGVBdHRyKCk7DQoJCXRoaXMuX3Jlc2l6ZU1lbnUoKTsNCgkJdGhpcy5fcG9zaXRpb24oKTsNCg0KCQl0aGlzLl9vbiggdGhpcy5kb2N1bWVudCwgdGhpcy5fZG9jdW1lbnRDbGljayApOw0KDQoJCXRoaXMuX3RyaWdnZXIoICJvcGVuIiwgZXZlbnQgKTsNCgl9LA0KDQoJX3Bvc2l0aW9uOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5tZW51V3JhcC5wb3NpdGlvbiggJC5leHRlbmQoIHsgb2Y6IHRoaXMuYnV0dG9uIH0sIHRoaXMub3B0aW9ucy5wb3NpdGlvbiApICk7DQoJfSwNCg0KCWNsb3NlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggIXRoaXMuaXNPcGVuICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5pc09wZW4gPSBmYWxzZTsNCgkJdGhpcy5fdG9nZ2xlQXR0cigpOw0KDQoJCXRoaXMucmFuZ2UgPSBudWxsOw0KCQl0aGlzLl9vZmYoIHRoaXMuZG9jdW1lbnQgKTsNCg0KCQl0aGlzLl90cmlnZ2VyKCAiY2xvc2UiLCBldmVudCApOw0KCX0sDQoNCgl3aWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5idXR0b247DQoJfSwNCg0KCW1lbnVXaWRnZXQ6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tZW51Ow0KCX0sDQoNCglfcmVuZGVyQnV0dG9uSXRlbTogZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCXZhciBidXR0b25JdGVtID0gJCggIjxzcGFuPiIgKTsNCg0KCQl0aGlzLl9zZXRUZXh0KCBidXR0b25JdGVtLCBpdGVtLmxhYmVsICk7DQoJCXRoaXMuX2FkZENsYXNzKCBidXR0b25JdGVtLCAidWktc2VsZWN0bWVudS10ZXh0IiApOw0KDQoJCXJldHVybiBidXR0b25JdGVtOw0KCX0sDQoNCglfcmVuZGVyTWVudTogZnVuY3Rpb24oIHVsLCBpdGVtcyApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJY3VycmVudE9wdGdyb3VwID0gIiI7DQoNCgkJJC5lYWNoKCBpdGVtcywgZnVuY3Rpb24oIGluZGV4LCBpdGVtICkgew0KCQkJdmFyIGxpOw0KDQoJCQlpZiAoIGl0ZW0ub3B0Z3JvdXAgIT09IGN1cnJlbnRPcHRncm91cCApIHsNCgkJCQlsaSA9ICQoICI8bGk+Iiwgew0KCQkJCQl0ZXh0OiBpdGVtLm9wdGdyb3VwDQoJCQkJfSApOw0KCQkJCXRoYXQuX2FkZENsYXNzKCBsaSwgInVpLXNlbGVjdG1lbnUtb3B0Z3JvdXAiLCAidWktbWVudS1kaXZpZGVyIiArDQoJCQkJCSggaXRlbS5lbGVtZW50LnBhcmVudCggIm9wdGdyb3VwIiApLnByb3AoICJkaXNhYmxlZCIgKSA/DQoJCQkJCQkiIHVpLXN0YXRlLWRpc2FibGVkIiA6DQoJCQkJCQkiIiApICk7DQoNCgkJCQlsaS5hcHBlbmRUbyggdWwgKTsNCg0KCQkJCWN1cnJlbnRPcHRncm91cCA9IGl0ZW0ub3B0Z3JvdXA7DQoJCQl9DQoNCgkJCXRoYXQuX3JlbmRlckl0ZW1EYXRhKCB1bCwgaXRlbSApOw0KCQl9ICk7DQoJfSwNCg0KCV9yZW5kZXJJdGVtRGF0YTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQlyZXR1cm4gdGhpcy5fcmVuZGVySXRlbSggdWwsIGl0ZW0gKS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiwgaXRlbSApOw0KCX0sDQoNCglfcmVuZGVySXRlbTogZnVuY3Rpb24oIHVsLCBpdGVtICkgew0KCQl2YXIgbGkgPSAkKCAiPGxpPiIgKSwNCgkJCXdyYXBwZXIgPSAkKCAiPGRpdj4iLCB7DQoJCQkJdGl0bGU6IGl0ZW0uZWxlbWVudC5hdHRyKCAidGl0bGUiICkNCgkJCX0gKTsNCg0KCQlpZiAoIGl0ZW0uZGlzYWJsZWQgKSB7DQoJCQl0aGlzLl9hZGRDbGFzcyggbGksIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKTsNCgkJfQ0KCQl0aGlzLl9zZXRUZXh0KCB3cmFwcGVyLCBpdGVtLmxhYmVsICk7DQoNCgkJcmV0dXJuIGxpLmFwcGVuZCggd3JhcHBlciApLmFwcGVuZFRvKCB1bCApOw0KCX0sDQoNCglfc2V0VGV4dDogZnVuY3Rpb24oIGVsZW1lbnQsIHZhbHVlICkgew0KCQlpZiAoIHZhbHVlICkgew0KCQkJZWxlbWVudC50ZXh0KCB2YWx1ZSApOw0KCQl9IGVsc2Ugew0KCQkJZWxlbWVudC5odG1sKCAiJiMxNjA7IiApOw0KCQl9DQoJfSwNCg0KCV9tb3ZlOiBmdW5jdGlvbiggZGlyZWN0aW9uLCBldmVudCApIHsNCgkJdmFyIGl0ZW0sIG5leHQsDQoJCQlmaWx0ZXIgPSAiLnVpLW1lbnUtaXRlbSI7DQoNCgkJaWYgKCB0aGlzLmlzT3BlbiApIHsNCgkJCWl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5lcSggdGhpcy5mb2N1c0luZGV4ICkucGFyZW50KCAibGkiICk7DQoJCX0gZWxzZSB7DQoJCQlpdGVtID0gdGhpcy5tZW51SXRlbXMuZXEoIHRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggKS5wYXJlbnQoICJsaSIgKTsNCgkJCWZpbHRlciArPSAiOm5vdCgudWktc3RhdGUtZGlzYWJsZWQpIjsNCgkJfQ0KDQoJCWlmICggZGlyZWN0aW9uID09PSAiZmlyc3QiIHx8IGRpcmVjdGlvbiA9PT0gImxhc3QiICkgew0KCQkJbmV4dCA9IGl0ZW1bIGRpcmVjdGlvbiA9PT0gImZpcnN0IiA/ICJwcmV2QWxsIiA6ICJuZXh0QWxsIiBdKCBmaWx0ZXIgKS5lcSggLTEgKTsNCgkJfSBlbHNlIHsNCgkJCW5leHQgPSBpdGVtWyBkaXJlY3Rpb24gKyAiQWxsIiBdKCBmaWx0ZXIgKS5lcSggMCApOw0KCQl9DQoNCgkJaWYgKCBuZXh0Lmxlbmd0aCApIHsNCgkJCXRoaXMubWVudUluc3RhbmNlLmZvY3VzKCBldmVudCwgbmV4dCApOw0KCQl9DQoJfSwNCg0KCV9nZXRTZWxlY3RlZEl0ZW06IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy5tZW51SXRlbXMuZXEoIHRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggKS5wYXJlbnQoICJsaSIgKTsNCgl9LA0KDQoJX3RvZ2dsZTogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl0aGlzWyB0aGlzLmlzT3BlbiA/ICJjbG9zZSIgOiAib3BlbiIgXSggZXZlbnQgKTsNCgl9LA0KDQoJX3NldFNlbGVjdGlvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBzZWxlY3Rpb247DQoNCgkJaWYgKCAhdGhpcy5yYW5nZSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICggd2luZG93LmdldFNlbGVjdGlvbiApIHsNCgkJCXNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsNCgkJCXNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTsNCgkJCXNlbGVjdGlvbi5hZGRSYW5nZSggdGhpcy5yYW5nZSApOw0KDQoJCS8vIFN1cHBvcnQ6IElFOA0KCQl9IGVsc2Ugew0KCQkJdGhpcy5yYW5nZS5zZWxlY3QoKTsNCgkJfQ0KDQoJCS8vIFN1cHBvcnQ6IElFDQoJCS8vIFNldHRpbmcgdGhlIHRleHQgc2VsZWN0aW9uIGtpbGxzIHRoZSBidXR0b24gZm9jdXMgaW4gSUUsIGJ1dA0KCQkvLyByZXN0b3JpbmcgdGhlIGZvY3VzIGRvZXNuJ3Qga2lsbCB0aGUgc2VsZWN0aW9uLg0KCQl0aGlzLmJ1dHRvbi5mb2N1cygpOw0KCX0sDQoNCglfZG9jdW1lbnRDbGljazogew0KCQltb3VzZWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCWlmICggIXRoaXMuaXNPcGVuICkgew0KCQkJCXJldHVybjsNCgkJCX0NCg0KCQkJaWYgKCAhJCggZXZlbnQudGFyZ2V0ICkuY2xvc2VzdCggIi51aS1zZWxlY3RtZW51LW1lbnUsICMiICsNCgkJCQkJJC51aS5lc2NhcGVTZWxlY3RvciggdGhpcy5pZHMuYnV0dG9uICkgKS5sZW5ndGggKSB7DQoJCQkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglfYnV0dG9uRXZlbnRzOiB7DQoNCgkJLy8gUHJldmVudCB0ZXh0IHNlbGVjdGlvbiBmcm9tIGJlaW5nIHJlc2V0IHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgc2VsZWN0bWVudSAoIzEwMTQ0KQ0KCQltb3VzZWRvd246IGZ1bmN0aW9uKCkgew0KCQkJdmFyIHNlbGVjdGlvbjsNCg0KCQkJaWYgKCB3aW5kb3cuZ2V0U2VsZWN0aW9uICkgew0KCQkJCXNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsNCgkJCQlpZiAoIHNlbGVjdGlvbi5yYW5nZUNvdW50ICkgew0KCQkJCQl0aGlzLnJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoIDAgKTsNCgkJCQl9DQoNCgkJCS8vIFN1cHBvcnQ6IElFOA0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLnJhbmdlID0gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7DQoJCQl9DQoJCX0sDQoNCgkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXRoaXMuX3NldFNlbGVjdGlvbigpOw0KCQkJdGhpcy5fdG9nZ2xlKCBldmVudCApOw0KCQl9LA0KDQoJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBwcmV2ZW50RGVmYXVsdCA9IHRydWU7DQoJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJY2FzZSAkLnVpLmtleUNvZGUuVEFCOg0KCQkJY2FzZSAkLnVpLmtleUNvZGUuRVNDQVBFOg0KCQkJCXRoaXMuY2xvc2UoIGV2ZW50ICk7DQoJCQkJcHJldmVudERlZmF1bHQgPSBmYWxzZTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkVOVEVSOg0KCQkJCWlmICggdGhpcy5pc09wZW4gKSB7DQoJCQkJCXRoaXMuX3NlbGVjdEZvY3VzZWRJdGVtKCBldmVudCApOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLlVQOg0KCQkJCWlmICggZXZlbnQuYWx0S2V5ICkgew0KCQkJCQl0aGlzLl90b2dnbGUoIGV2ZW50ICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhpcy5fbW92ZSggInByZXYiLCBldmVudCApOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkRPV046DQoJCQkJaWYgKCBldmVudC5hbHRLZXkgKSB7DQoJCQkJCXRoaXMuX3RvZ2dsZSggZXZlbnQgKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQl0aGlzLl9tb3ZlKCAibmV4dCIsIGV2ZW50ICk7DQoJCQkJfQ0KCQkJCWJyZWFrOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuU1BBQ0U6DQoJCQkJaWYgKCB0aGlzLmlzT3BlbiApIHsNCgkJCQkJdGhpcy5fc2VsZWN0Rm9jdXNlZEl0ZW0oIGV2ZW50ICk7DQoJCQkJfSBlbHNlIHsNCgkJCQkJdGhpcy5fdG9nZ2xlKCBldmVudCApOw0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQkJdGhpcy5fbW92ZSggInByZXYiLCBldmVudCApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuUklHSFQ6DQoJCQkJdGhpcy5fbW92ZSggIm5leHQiLCBldmVudCApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAkLnVpLmtleUNvZGUuSE9NRToNCgkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfVVA6DQoJCQkJdGhpcy5fbW92ZSggImZpcnN0IiwgZXZlbnQgKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgJC51aS5rZXlDb2RlLkVORDoNCgkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfRE9XTjoNCgkJCQl0aGlzLl9tb3ZlKCAibGFzdCIsIGV2ZW50ICk7DQoJCQkJYnJlYWs7DQoJCQlkZWZhdWx0Og0KCQkJCXRoaXMubWVudS50cmlnZ2VyKCBldmVudCApOw0KCQkJCXByZXZlbnREZWZhdWx0ID0gZmFsc2U7DQoJCQl9DQoNCgkJCWlmICggcHJldmVudERlZmF1bHQgKSB7DQoJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglfc2VsZWN0Rm9jdXNlZEl0ZW06IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGl0ZW0gPSB0aGlzLm1lbnVJdGVtcy5lcSggdGhpcy5mb2N1c0luZGV4ICkucGFyZW50KCAibGkiICk7DQoJCWlmICggIWl0ZW0uaGFzQ2xhc3MoICJ1aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCXRoaXMuX3NlbGVjdCggaXRlbS5kYXRhKCAidWktc2VsZWN0bWVudS1pdGVtIiApLCBldmVudCApOw0KCQl9DQoJfSwNCg0KCV9zZWxlY3Q6IGZ1bmN0aW9uKCBpdGVtLCBldmVudCApIHsNCgkJdmFyIG9sZEluZGV4ID0gdGhpcy5lbGVtZW50WyAwIF0uc2VsZWN0ZWRJbmRleDsNCg0KCQkvLyBDaGFuZ2UgbmF0aXZlIHNlbGVjdCBlbGVtZW50DQoJCXRoaXMuZWxlbWVudFsgMCBdLnNlbGVjdGVkSW5kZXggPSBpdGVtLmluZGV4Ow0KCQl0aGlzLmJ1dHRvbkl0ZW0ucmVwbGFjZVdpdGgoIHRoaXMuYnV0dG9uSXRlbSA9IHRoaXMuX3JlbmRlckJ1dHRvbkl0ZW0oIGl0ZW0gKSApOw0KCQl0aGlzLl9zZXRBcmlhKCBpdGVtICk7DQoJCXRoaXMuX3RyaWdnZXIoICJzZWxlY3QiLCBldmVudCwgeyBpdGVtOiBpdGVtIH0gKTsNCg0KCQlpZiAoIGl0ZW0uaW5kZXggIT09IG9sZEluZGV4ICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImNoYW5nZSIsIGV2ZW50LCB7IGl0ZW06IGl0ZW0gfSApOw0KCQl9DQoNCgkJdGhpcy5jbG9zZSggZXZlbnQgKTsNCgl9LA0KDQoJX3NldEFyaWE6IGZ1bmN0aW9uKCBpdGVtICkgew0KCQl2YXIgaWQgPSB0aGlzLm1lbnVJdGVtcy5lcSggaXRlbS5pbmRleCApLmF0dHIoICJpZCIgKTsNCg0KCQl0aGlzLmJ1dHRvbi5hdHRyKCB7DQoJCQkiYXJpYS1sYWJlbGxlZGJ5IjogaWQsDQoJCQkiYXJpYS1hY3RpdmVkZXNjZW5kYW50IjogaWQNCgkJfSApOw0KCQl0aGlzLm1lbnUuYXR0ciggImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsIGlkICk7DQoJfSwNCg0KCV9zZXRPcHRpb246IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkgew0KCQlpZiAoIGtleSA9PT0gImljb25zIiApIHsNCgkJCXZhciBpY29uID0gdGhpcy5idXR0b24uZmluZCggInNwYW4udWktaWNvbiIgKTsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBpY29uLCBudWxsLCB0aGlzLm9wdGlvbnMuaWNvbnMuYnV0dG9uICkNCgkJCQkuX2FkZENsYXNzKCBpY29uLCBudWxsLCB2YWx1ZS5idXR0b24gKTsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJhcHBlbmRUbyIgKSB7DQoJCQl0aGlzLm1lbnVXcmFwLmFwcGVuZFRvKCB0aGlzLl9hcHBlbmRUbygpICk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gIndpZHRoIiApIHsNCgkJCXRoaXMuX3Jlc2l6ZUJ1dHRvbigpOw0KCQl9DQoJfSwNCg0KCV9zZXRPcHRpb25EaXNhYmxlZDogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl0aGlzLl9zdXBlciggdmFsdWUgKTsNCg0KCQl0aGlzLm1lbnVJbnN0YW5jZS5vcHRpb24oICJkaXNhYmxlZCIsIHZhbHVlICk7DQoJCXRoaXMuYnV0dG9uLmF0dHIoICJhcmlhLWRpc2FibGVkIiwgdmFsdWUgKTsNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMuYnV0dG9uLCBudWxsLCAidWktc3RhdGUtZGlzYWJsZWQiLCB2YWx1ZSApOw0KDQoJCXRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiLCB2YWx1ZSApOw0KCQlpZiAoIHZhbHVlICkgew0KCQkJdGhpcy5idXR0b24uYXR0ciggInRhYmluZGV4IiwgLTEgKTsNCgkJCXRoaXMuY2xvc2UoKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYnV0dG9uLmF0dHIoICJ0YWJpbmRleCIsIDAgKTsNCgkJfQ0KCX0sDQoNCglfYXBwZW5kVG86IGZ1bmN0aW9uKCkgew0KCQl2YXIgZWxlbWVudCA9IHRoaXMub3B0aW9ucy5hcHBlbmRUbzsNCg0KCQlpZiAoIGVsZW1lbnQgKSB7DQoJCQllbGVtZW50ID0gZWxlbWVudC5qcXVlcnkgfHwgZWxlbWVudC5ub2RlVHlwZSA/DQoJCQkJJCggZWxlbWVudCApIDoNCgkJCQl0aGlzLmRvY3VtZW50LmZpbmQoIGVsZW1lbnQgKS5lcSggMCApOw0KCQl9DQoNCgkJaWYgKCAhZWxlbWVudCB8fCAhZWxlbWVudFsgMCBdICkgew0KCQkJZWxlbWVudCA9IHRoaXMuZWxlbWVudC5jbG9zZXN0KCAiLnVpLWZyb250LCBkaWFsb2ciICk7DQoJCX0NCg0KCQlpZiAoICFlbGVtZW50Lmxlbmd0aCApIHsNCgkJCWVsZW1lbnQgPSB0aGlzLmRvY3VtZW50WyAwIF0uYm9keTsNCgkJfQ0KDQoJCXJldHVybiBlbGVtZW50Ow0KCX0sDQoNCglfdG9nZ2xlQXR0cjogZnVuY3Rpb24oKSB7DQoJCXRoaXMuYnV0dG9uLmF0dHIoICJhcmlhLWV4cGFuZGVkIiwgdGhpcy5pc09wZW4gKTsNCg0KCQkvLyBXZSBjYW4ndCB1c2UgdHdvIF90b2dnbGVDbGFzcygpIGNhbGxzIGhlcmUsIGJlY2F1c2Ugd2UgbmVlZCB0byBtYWtlIHN1cmUNCgkJLy8gd2UgYWx3YXlzIHJlbW92ZSBjbGFzc2VzIGZpcnN0IGFuZCBhZGQgdGhlbSBzZWNvbmQsIG90aGVyd2lzZSBpZiBib3RoIGNsYXNzZXMgaGF2ZSB0aGUNCgkJLy8gc2FtZSB0aGVtZSBjbGFzcywgaXQgd2lsbCBiZSByZW1vdmVkIGFmdGVyIHdlIGFkZCBpdC4NCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuYnV0dG9uLCAidWktc2VsZWN0bWVudS1idXR0b24tIiArDQoJCQkoIHRoaXMuaXNPcGVuID8gImNsb3NlZCIgOiAib3BlbiIgKSApDQoJCQkuX2FkZENsYXNzKCB0aGlzLmJ1dHRvbiwgInVpLXNlbGVjdG1lbnUtYnV0dG9uLSIgKw0KCQkJCSggdGhpcy5pc09wZW4gPyAib3BlbiIgOiAiY2xvc2VkIiApICkNCgkJCS5fdG9nZ2xlQ2xhc3MoIHRoaXMubWVudVdyYXAsICJ1aS1zZWxlY3RtZW51LW9wZW4iLCBudWxsLCB0aGlzLmlzT3BlbiApOw0KDQoJCXRoaXMubWVudS5hdHRyKCAiYXJpYS1oaWRkZW4iLCAhdGhpcy5pc09wZW4gKTsNCgl9LA0KDQoJX3Jlc2l6ZUJ1dHRvbjogZnVuY3Rpb24oKSB7DQoJCXZhciB3aWR0aCA9IHRoaXMub3B0aW9ucy53aWR0aDsNCg0KCQkvLyBGb3IgYHdpZHRoOiBmYWxzZWAsIGp1c3QgcmVtb3ZlIGlubGluZSBzdHlsZSBhbmQgc3RvcA0KCQlpZiAoIHdpZHRoID09PSBmYWxzZSApIHsNCgkJCXRoaXMuYnV0dG9uLmNzcyggIndpZHRoIiwgIiIgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEZvciBgd2lkdGg6IG51bGxgLCBtYXRjaCB0aGUgd2lkdGggb2YgdGhlIG9yaWdpbmFsIGVsZW1lbnQNCgkJaWYgKCB3aWR0aCA9PT0gbnVsbCApIHsNCgkJCXdpZHRoID0gdGhpcy5lbGVtZW50LnNob3coKS5vdXRlcldpZHRoKCk7DQoJCQl0aGlzLmVsZW1lbnQuaGlkZSgpOw0KCQl9DQoNCgkJdGhpcy5idXR0b24ub3V0ZXJXaWR0aCggd2lkdGggKTsNCgl9LA0KDQoJX3Jlc2l6ZU1lbnU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLm1lbnUub3V0ZXJXaWR0aCggTWF0aC5tYXgoDQoJCQl0aGlzLmJ1dHRvbi5vdXRlcldpZHRoKCksDQoNCgkJCS8vIFN1cHBvcnQ6IElFMTANCgkJCS8vIElFMTAgd3JhcHMgbG9uZyB0ZXh0IChwb3NzaWJseSBhIHJvdW5kaW5nIGJ1ZykNCgkJCS8vIHNvIHdlIGFkZCAxcHggdG8gYXZvaWQgdGhlIHdyYXBwaW5nDQoJCQl0aGlzLm1lbnUud2lkdGgoICIiICkub3V0ZXJXaWR0aCgpICsgMQ0KCQkpICk7DQoJfSwNCg0KCV9nZXRDcmVhdGVPcHRpb25zOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLl9zdXBlcigpOw0KDQoJCW9wdGlvbnMuZGlzYWJsZWQgPSB0aGlzLmVsZW1lbnQucHJvcCggImRpc2FibGVkIiApOw0KDQoJCXJldHVybiBvcHRpb25zOw0KCX0sDQoNCglfcGFyc2VPcHRpb25zOiBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJZGF0YSA9IFtdOw0KCQlvcHRpb25zLmVhY2goIGZ1bmN0aW9uKCBpbmRleCwgaXRlbSApIHsNCgkJCWRhdGEucHVzaCggdGhhdC5fcGFyc2VPcHRpb24oICQoIGl0ZW0gKSwgaW5kZXggKSApOw0KCQl9ICk7DQoJCXRoaXMuaXRlbXMgPSBkYXRhOw0KCX0sDQoNCglfcGFyc2VPcHRpb246IGZ1bmN0aW9uKCBvcHRpb24sIGluZGV4ICkgew0KCQl2YXIgb3B0Z3JvdXAgPSBvcHRpb24ucGFyZW50KCAib3B0Z3JvdXAiICk7DQoNCgkJcmV0dXJuIHsNCgkJCWVsZW1lbnQ6IG9wdGlvbiwNCgkJCWluZGV4OiBpbmRleCwNCgkJCXZhbHVlOiBvcHRpb24udmFsKCksDQoJCQlsYWJlbDogb3B0aW9uLnRleHQoKSwNCgkJCW9wdGdyb3VwOiBvcHRncm91cC5hdHRyKCAibGFiZWwiICkgfHwgIiIsDQoJCQlkaXNhYmxlZDogb3B0Z3JvdXAucHJvcCggImRpc2FibGVkIiApIHx8IG9wdGlvbi5wcm9wKCAiZGlzYWJsZWQiICkNCgkJfTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl91bmJpbmRGb3JtUmVzZXRIYW5kbGVyKCk7DQoJCXRoaXMubWVudVdyYXAucmVtb3ZlKCk7DQoJCXRoaXMuYnV0dG9uLnJlbW92ZSgpOw0KCQl0aGlzLmVsZW1lbnQuc2hvdygpOw0KCQl0aGlzLmVsZW1lbnQucmVtb3ZlVW5pcXVlSWQoKTsNCgkJdGhpcy5sYWJlbHMuYXR0ciggImZvciIsIHRoaXMuaWRzLmVsZW1lbnQgKTsNCgl9DQp9IF0gKTsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBTbGlkZXIgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNsaWRlcg0KLy8+Pmdyb3VwOiBXaWRnZXRzDQovLz4+ZGVzY3JpcHRpb246IERpc3BsYXlzIGEgZmxleGlibGUgc2xpZGVyIHdpdGggcmFuZ2VzIGFuZCBhY2Nlc3NpYmlsaXR5IHZpYSBrZXlib2FyZC4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zbGlkZXIvDQovLz4+ZGVtb3M6IGh0dHA6Ly9qcXVlcnl1aS5jb20vc2xpZGVyLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2Uvc2xpZGVyLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQp2YXIgd2lkZ2V0c1NsaWRlciA9ICQud2lkZ2V0KCAidWkuc2xpZGVyIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic2xpZGUiLA0KDQoJb3B0aW9uczogew0KCQlhbmltYXRlOiBmYWxzZSwNCgkJY2xhc3Nlczogew0KCQkJInVpLXNsaWRlciI6ICJ1aS1jb3JuZXItYWxsIiwNCgkJCSJ1aS1zbGlkZXItaGFuZGxlIjogInVpLWNvcm5lci1hbGwiLA0KDQoJCQkvLyBOb3RlOiB1aS13aWRnZXQtaGVhZGVyIGlzbid0IHRoZSBtb3N0IGZpdHRpbmdseSBzZW1hbnRpYyBmcmFtZXdvcmsgY2xhc3MgZm9yIHRoaXMNCgkJCS8vIGVsZW1lbnQsIGJ1dCB3b3JrZWQgYmVzdCB2aXN1YWxseSB3aXRoIGEgdmFyaWV0eSBvZiB0aGVtZXMNCgkJCSJ1aS1zbGlkZXItcmFuZ2UiOiAidWktY29ybmVyLWFsbCB1aS13aWRnZXQtaGVhZGVyIg0KCQl9LA0KCQlkaXN0YW5jZTogMCwNCgkJbWF4OiAxMDAsDQoJCW1pbjogMCwNCgkJb3JpZW50YXRpb246ICJob3Jpem9udGFsIiwNCgkJcmFuZ2U6IGZhbHNlLA0KCQlzdGVwOiAxLA0KCQl2YWx1ZTogMCwNCgkJdmFsdWVzOiBudWxsLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljaGFuZ2U6IG51bGwsDQoJCXNsaWRlOiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbA0KCX0sDQoNCgkvLyBOdW1iZXIgb2YgcGFnZXMgaW4gYSBzbGlkZXINCgkvLyAoaG93IG1hbnkgdGltZXMgY2FuIHlvdSBwYWdlIHVwL2Rvd24gdG8gZ28gdGhyb3VnaCB0aGUgd2hvbGUgcmFuZ2UpDQoJbnVtUGFnZXM6IDUsDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fa2V5U2xpZGluZyA9IGZhbHNlOw0KCQl0aGlzLl9tb3VzZVNsaWRpbmcgPSBmYWxzZTsNCgkJdGhpcy5fYW5pbWF0ZU9mZiA9IHRydWU7DQoJCXRoaXMuX2hhbmRsZUluZGV4ID0gbnVsbDsNCgkJdGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKTsNCgkJdGhpcy5fbW91c2VJbml0KCk7DQoJCXRoaXMuX2NhbGN1bGF0ZU5ld01heCgpOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktc2xpZGVyIHVpLXNsaWRlci0iICsgdGhpcy5vcmllbnRhdGlvbiwNCgkJCSJ1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQiICk7DQoNCgkJdGhpcy5fcmVmcmVzaCgpOw0KDQoJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9jcmVhdGVSYW5nZSgpOw0KCQl0aGlzLl9jcmVhdGVIYW5kbGVzKCk7DQoJCXRoaXMuX3NldHVwRXZlbnRzKCk7DQoJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCX0sDQoNCglfY3JlYXRlSGFuZGxlczogZnVuY3Rpb24oKSB7DQoJCXZhciBpLCBoYW5kbGVDb3VudCwNCgkJCW9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsDQoJCQlleGlzdGluZ0hhbmRsZXMgPSB0aGlzLmVsZW1lbnQuZmluZCggIi51aS1zbGlkZXItaGFuZGxlIiApLA0KCQkJaGFuZGxlID0gIjxzcGFuIHRhYmluZGV4PScwJz48L3NwYW4+IiwNCgkJCWhhbmRsZXMgPSBbXTsNCg0KCQloYW5kbGVDb3VudCA9ICggb3B0aW9ucy52YWx1ZXMgJiYgb3B0aW9ucy52YWx1ZXMubGVuZ3RoICkgfHwgMTsNCg0KCQlpZiAoIGV4aXN0aW5nSGFuZGxlcy5sZW5ndGggPiBoYW5kbGVDb3VudCApIHsNCgkJCWV4aXN0aW5nSGFuZGxlcy5zbGljZSggaGFuZGxlQ291bnQgKS5yZW1vdmUoKTsNCgkJCWV4aXN0aW5nSGFuZGxlcyA9IGV4aXN0aW5nSGFuZGxlcy5zbGljZSggMCwgaGFuZGxlQ291bnQgKTsNCgkJfQ0KDQoJCWZvciAoIGkgPSBleGlzdGluZ0hhbmRsZXMubGVuZ3RoOyBpIDwgaGFuZGxlQ291bnQ7IGkrKyApIHsNCgkJCWhhbmRsZXMucHVzaCggaGFuZGxlICk7DQoJCX0NCg0KCQl0aGlzLmhhbmRsZXMgPSBleGlzdGluZ0hhbmRsZXMuYWRkKCAkKCBoYW5kbGVzLmpvaW4oICIiICkgKS5hcHBlbmRUbyggdGhpcy5lbGVtZW50ICkgKTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5oYW5kbGVzLCAidWktc2xpZGVyLWhhbmRsZSIsICJ1aS1zdGF0ZS1kZWZhdWx0IiApOw0KDQoJCXRoaXMuaGFuZGxlID0gdGhpcy5oYW5kbGVzLmVxKCAwICk7DQoNCgkJdGhpcy5oYW5kbGVzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJJCggdGhpcyApDQoJCQkJLmRhdGEoICJ1aS1zbGlkZXItaGFuZGxlLWluZGV4IiwgaSApDQoJCQkJLmF0dHIoICJ0YWJJbmRleCIsIDAgKTsNCgkJfSApOw0KCX0sDQoNCglfY3JlYXRlUmFuZ2U6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMub3B0aW9uczsNCg0KCQlpZiAoIG9wdGlvbnMucmFuZ2UgKSB7DQoJCQlpZiAoIG9wdGlvbnMucmFuZ2UgPT09IHRydWUgKSB7DQoJCQkJaWYgKCAhb3B0aW9ucy52YWx1ZXMgKSB7DQoJCQkJCW9wdGlvbnMudmFsdWVzID0gWyB0aGlzLl92YWx1ZU1pbigpLCB0aGlzLl92YWx1ZU1pbigpIF07DQoJCQkJfSBlbHNlIGlmICggb3B0aW9ucy52YWx1ZXMubGVuZ3RoICYmIG9wdGlvbnMudmFsdWVzLmxlbmd0aCAhPT0gMiApIHsNCgkJCQkJb3B0aW9ucy52YWx1ZXMgPSBbIG9wdGlvbnMudmFsdWVzWyAwIF0sIG9wdGlvbnMudmFsdWVzWyAwIF0gXTsNCgkJCQl9IGVsc2UgaWYgKCAkLmlzQXJyYXkoIG9wdGlvbnMudmFsdWVzICkgKSB7DQoJCQkJCW9wdGlvbnMudmFsdWVzID0gb3B0aW9ucy52YWx1ZXMuc2xpY2UoIDAgKTsNCgkJCQl9DQoJCQl9DQoNCgkJCWlmICggIXRoaXMucmFuZ2UgfHwgIXRoaXMucmFuZ2UubGVuZ3RoICkgew0KCQkJCXRoaXMucmFuZ2UgPSAkKCAiPGRpdj4iICkNCgkJCQkJLmFwcGVuZFRvKCB0aGlzLmVsZW1lbnQgKTsNCg0KCQkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnJhbmdlLCAidWktc2xpZGVyLXJhbmdlIiApOw0KCQkJfSBlbHNlIHsNCgkJCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5yYW5nZSwgInVpLXNsaWRlci1yYW5nZS1taW4gdWktc2xpZGVyLXJhbmdlLW1heCIgKTsNCg0KCQkJCS8vIEhhbmRsZSByYW5nZSBzd2l0Y2hpbmcgZnJvbSB0cnVlIHRvIG1pbi9tYXgNCgkJCQl0aGlzLnJhbmdlLmNzcyggew0KCQkJCQkibGVmdCI6ICIiLA0KCQkJCQkiYm90dG9tIjogIiINCgkJCQl9ICk7DQoJCQl9DQoJCQlpZiAoIG9wdGlvbnMucmFuZ2UgPT09ICJtaW4iIHx8IG9wdGlvbnMucmFuZ2UgPT09ICJtYXgiICkgew0KCQkJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnJhbmdlLCAidWktc2xpZGVyLXJhbmdlLSIgKyBvcHRpb25zLnJhbmdlICk7DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlpZiAoIHRoaXMucmFuZ2UgKSB7DQoJCQkJdGhpcy5yYW5nZS5yZW1vdmUoKTsNCgkJCX0NCgkJCXRoaXMucmFuZ2UgPSBudWxsOw0KCQl9DQoJfSwNCg0KCV9zZXR1cEV2ZW50czogZnVuY3Rpb24oKSB7DQoJCXRoaXMuX29mZiggdGhpcy5oYW5kbGVzICk7DQoJCXRoaXMuX29uKCB0aGlzLmhhbmRsZXMsIHRoaXMuX2hhbmRsZUV2ZW50cyApOw0KCQl0aGlzLl9ob3ZlcmFibGUoIHRoaXMuaGFuZGxlcyApOw0KCQl0aGlzLl9mb2N1c2FibGUoIHRoaXMuaGFuZGxlcyApOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuaGFuZGxlcy5yZW1vdmUoKTsNCgkJaWYgKCB0aGlzLnJhbmdlICkgew0KCQkJdGhpcy5yYW5nZS5yZW1vdmUoKTsNCgkJfQ0KDQoJCXRoaXMuX21vdXNlRGVzdHJveSgpOw0KCX0sDQoNCglfbW91c2VDYXB0dXJlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBwb3NpdGlvbiwgbm9ybVZhbHVlLCBkaXN0YW5jZSwgY2xvc2VzdEhhbmRsZSwgaW5kZXgsIGFsbG93ZWQsIG9mZnNldCwgbW91c2VPdmVySGFuZGxlLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQlvID0gdGhpcy5vcHRpb25zOw0KDQoJCWlmICggby5kaXNhYmxlZCApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCXRoaXMuZWxlbWVudFNpemUgPSB7DQoJCQl3aWR0aDogdGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSwNCgkJCWhlaWdodDogdGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCkNCgkJfTsNCgkJdGhpcy5lbGVtZW50T2Zmc2V0ID0gdGhpcy5lbGVtZW50Lm9mZnNldCgpOw0KDQoJCXBvc2l0aW9uID0geyB4OiBldmVudC5wYWdlWCwgeTogZXZlbnQucGFnZVkgfTsNCgkJbm9ybVZhbHVlID0gdGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKCBwb3NpdGlvbiApOw0KCQlkaXN0YW5jZSA9IHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpICsgMTsNCgkJdGhpcy5oYW5kbGVzLmVhY2goIGZ1bmN0aW9uKCBpICkgew0KCQkJdmFyIHRoaXNEaXN0YW5jZSA9IE1hdGguYWJzKCBub3JtVmFsdWUgLSB0aGF0LnZhbHVlcyggaSApICk7DQoJCQlpZiAoICggZGlzdGFuY2UgPiB0aGlzRGlzdGFuY2UgKSB8fA0KCQkJCSggZGlzdGFuY2UgPT09IHRoaXNEaXN0YW5jZSAmJg0KCQkJCQkoIGkgPT09IHRoYXQuX2xhc3RDaGFuZ2VkVmFsdWUgfHwgdGhhdC52YWx1ZXMoIGkgKSA9PT0gby5taW4gKSApICkgew0KCQkJCWRpc3RhbmNlID0gdGhpc0Rpc3RhbmNlOw0KCQkJCWNsb3Nlc3RIYW5kbGUgPSAkKCB0aGlzICk7DQoJCQkJaW5kZXggPSBpOw0KCQkJfQ0KCQl9ICk7DQoNCgkJYWxsb3dlZCA9IHRoaXMuX3N0YXJ0KCBldmVudCwgaW5kZXggKTsNCgkJaWYgKCBhbGxvd2VkID09PSBmYWxzZSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCQl0aGlzLl9tb3VzZVNsaWRpbmcgPSB0cnVlOw0KDQoJCXRoaXMuX2hhbmRsZUluZGV4ID0gaW5kZXg7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIGNsb3Nlc3RIYW5kbGUsIG51bGwsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCWNsb3Nlc3RIYW5kbGUudHJpZ2dlciggImZvY3VzIiApOw0KDQoJCW9mZnNldCA9IGNsb3Nlc3RIYW5kbGUub2Zmc2V0KCk7DQoJCW1vdXNlT3ZlckhhbmRsZSA9ICEkKCBldmVudC50YXJnZXQgKS5wYXJlbnRzKCkuYWRkQmFjaygpLmlzKCAiLnVpLXNsaWRlci1oYW5kbGUiICk7DQoJCXRoaXMuX2NsaWNrT2Zmc2V0ID0gbW91c2VPdmVySGFuZGxlID8geyBsZWZ0OiAwLCB0b3A6IDAgfSA6IHsNCgkJCWxlZnQ6IGV2ZW50LnBhZ2VYIC0gb2Zmc2V0LmxlZnQgLSAoIGNsb3Nlc3RIYW5kbGUud2lkdGgoKSAvIDIgKSwNCgkJCXRvcDogZXZlbnQucGFnZVkgLSBvZmZzZXQudG9wIC0NCgkJCQkoIGNsb3Nlc3RIYW5kbGUuaGVpZ2h0KCkgLyAyICkgLQ0KCQkJCSggcGFyc2VJbnQoIGNsb3Nlc3RIYW5kbGUuY3NzKCAiYm9yZGVyVG9wV2lkdGgiICksIDEwICkgfHwgMCApIC0NCgkJCQkoIHBhcnNlSW50KCBjbG9zZXN0SGFuZGxlLmNzcyggImJvcmRlckJvdHRvbVdpZHRoIiApLCAxMCApIHx8IDAgKSArDQoJCQkJKCBwYXJzZUludCggY2xvc2VzdEhhbmRsZS5jc3MoICJtYXJnaW5Ub3AiICksIDEwICkgfHwgMCApDQoJCX07DQoNCgkJaWYgKCAhdGhpcy5oYW5kbGVzLmhhc0NsYXNzKCAidWktc3RhdGUtaG92ZXIiICkgKSB7DQoJCQl0aGlzLl9zbGlkZSggZXZlbnQsIGluZGV4LCBub3JtVmFsdWUgKTsNCgkJfQ0KCQl0aGlzLl9hbmltYXRlT2ZmID0gdHJ1ZTsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZVN0YXJ0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRydWU7DQoJfSwNCg0KCV9tb3VzZURyYWc6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHBvc2l0aW9uID0geyB4OiBldmVudC5wYWdlWCwgeTogZXZlbnQucGFnZVkgfSwNCgkJCW5vcm1WYWx1ZSA9IHRoaXMuX25vcm1WYWx1ZUZyb21Nb3VzZSggcG9zaXRpb24gKTsNCg0KCQl0aGlzLl9zbGlkZSggZXZlbnQsIHRoaXMuX2hhbmRsZUluZGV4LCBub3JtVmFsdWUgKTsNCg0KCQlyZXR1cm4gZmFsc2U7DQoJfSwNCg0KCV9tb3VzZVN0b3A6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuaGFuZGxlcywgbnVsbCwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJdGhpcy5fbW91c2VTbGlkaW5nID0gZmFsc2U7DQoNCgkJdGhpcy5fc3RvcCggZXZlbnQsIHRoaXMuX2hhbmRsZUluZGV4ICk7DQoJCXRoaXMuX2NoYW5nZSggZXZlbnQsIHRoaXMuX2hhbmRsZUluZGV4ICk7DQoNCgkJdGhpcy5faGFuZGxlSW5kZXggPSBudWxsOw0KCQl0aGlzLl9jbGlja09mZnNldCA9IG51bGw7DQoJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCg0KCQlyZXR1cm4gZmFsc2U7DQoJfSwNCg0KCV9kZXRlY3RPcmllbnRhdGlvbjogZnVuY3Rpb24oKSB7DQoJCXRoaXMub3JpZW50YXRpb24gPSAoIHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbiA9PT0gInZlcnRpY2FsIiApID8gInZlcnRpY2FsIiA6ICJob3Jpem9udGFsIjsNCgl9LA0KDQoJX25vcm1WYWx1ZUZyb21Nb3VzZTogZnVuY3Rpb24oIHBvc2l0aW9uICkgew0KCQl2YXIgcGl4ZWxUb3RhbCwNCgkJCXBpeGVsTW91c2UsDQoJCQlwZXJjZW50TW91c2UsDQoJCQl2YWx1ZVRvdGFsLA0KCQkJdmFsdWVNb3VzZTsNCg0KCQlpZiAoIHRoaXMub3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiApIHsNCgkJCXBpeGVsVG90YWwgPSB0aGlzLmVsZW1lbnRTaXplLndpZHRoOw0KCQkJcGl4ZWxNb3VzZSA9IHBvc2l0aW9uLnggLSB0aGlzLmVsZW1lbnRPZmZzZXQubGVmdCAtDQoJCQkJKCB0aGlzLl9jbGlja09mZnNldCA/IHRoaXMuX2NsaWNrT2Zmc2V0LmxlZnQgOiAwICk7DQoJCX0gZWxzZSB7DQoJCQlwaXhlbFRvdGFsID0gdGhpcy5lbGVtZW50U2l6ZS5oZWlnaHQ7DQoJCQlwaXhlbE1vdXNlID0gcG9zaXRpb24ueSAtIHRoaXMuZWxlbWVudE9mZnNldC50b3AgLQ0KCQkJCSggdGhpcy5fY2xpY2tPZmZzZXQgPyB0aGlzLl9jbGlja09mZnNldC50b3AgOiAwICk7DQoJCX0NCg0KCQlwZXJjZW50TW91c2UgPSAoIHBpeGVsTW91c2UgLyBwaXhlbFRvdGFsICk7DQoJCWlmICggcGVyY2VudE1vdXNlID4gMSApIHsNCgkJCXBlcmNlbnRNb3VzZSA9IDE7DQoJCX0NCgkJaWYgKCBwZXJjZW50TW91c2UgPCAwICkgew0KCQkJcGVyY2VudE1vdXNlID0gMDsNCgkJfQ0KCQlpZiAoIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQlwZXJjZW50TW91c2UgPSAxIC0gcGVyY2VudE1vdXNlOw0KCQl9DQoNCgkJdmFsdWVUb3RhbCA9IHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpOw0KCQl2YWx1ZU1vdXNlID0gdGhpcy5fdmFsdWVNaW4oKSArIHBlcmNlbnRNb3VzZSAqIHZhbHVlVG90YWw7DQoNCgkJcmV0dXJuIHRoaXMuX3RyaW1BbGlnblZhbHVlKCB2YWx1ZU1vdXNlICk7DQoJfSwNCg0KCV91aUhhc2g6IGZ1bmN0aW9uKCBpbmRleCwgdmFsdWUsIHZhbHVlcyApIHsNCgkJdmFyIHVpSGFzaCA9IHsNCgkJCWhhbmRsZTogdGhpcy5oYW5kbGVzWyBpbmRleCBdLA0KCQkJaGFuZGxlSW5kZXg6IGluZGV4LA0KCQkJdmFsdWU6IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHRoaXMudmFsdWUoKQ0KCQl9Ow0KDQoJCWlmICggdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSApIHsNCgkJCXVpSGFzaC52YWx1ZSA9IHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IHRoaXMudmFsdWVzKCBpbmRleCApOw0KCQkJdWlIYXNoLnZhbHVlcyA9IHZhbHVlcyB8fCB0aGlzLnZhbHVlcygpOw0KCQl9DQoNCgkJcmV0dXJuIHVpSGFzaDsNCgl9LA0KDQoJX2hhc011bHRpcGxlVmFsdWVzOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMgJiYgdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg7DQoJfSwNCg0KCV9zdGFydDogZnVuY3Rpb24oIGV2ZW50LCBpbmRleCApIHsNCgkJcmV0dXJuIHRoaXMuX3RyaWdnZXIoICJzdGFydCIsIGV2ZW50LCB0aGlzLl91aUhhc2goIGluZGV4ICkgKTsNCgl9LA0KDQoJX3NsaWRlOiBmdW5jdGlvbiggZXZlbnQsIGluZGV4LCBuZXdWYWwgKSB7DQoJCXZhciBhbGxvd2VkLCBvdGhlclZhbCwNCgkJCWN1cnJlbnRWYWx1ZSA9IHRoaXMudmFsdWUoKSwNCgkJCW5ld1ZhbHVlcyA9IHRoaXMudmFsdWVzKCk7DQoNCgkJaWYgKCB0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpICkgew0KCQkJb3RoZXJWYWwgPSB0aGlzLnZhbHVlcyggaW5kZXggPyAwIDogMSApOw0KCQkJY3VycmVudFZhbHVlID0gdGhpcy52YWx1ZXMoIGluZGV4ICk7DQoNCgkJCWlmICggdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGggPT09IDIgJiYgdGhpcy5vcHRpb25zLnJhbmdlID09PSB0cnVlICkgew0KCQkJCW5ld1ZhbCA9ICBpbmRleCA9PT0gMCA/IE1hdGgubWluKCBvdGhlclZhbCwgbmV3VmFsICkgOiBNYXRoLm1heCggb3RoZXJWYWwsIG5ld1ZhbCApOw0KCQkJfQ0KDQoJCQluZXdWYWx1ZXNbIGluZGV4IF0gPSBuZXdWYWw7DQoJCX0NCg0KCQlpZiAoIG5ld1ZhbCA9PT0gY3VycmVudFZhbHVlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJYWxsb3dlZCA9IHRoaXMuX3RyaWdnZXIoICJzbGlkZSIsIGV2ZW50LCB0aGlzLl91aUhhc2goIGluZGV4LCBuZXdWYWwsIG5ld1ZhbHVlcyApICk7DQoNCgkJLy8gQSBzbGlkZSBjYW4gYmUgY2FuY2VsZWQgYnkgcmV0dXJuaW5nIGZhbHNlIGZyb20gdGhlIHNsaWRlIGNhbGxiYWNrDQoJCWlmICggYWxsb3dlZCA9PT0gZmFsc2UgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRoaXMuX2hhc011bHRpcGxlVmFsdWVzKCkgKSB7DQoJCQl0aGlzLnZhbHVlcyggaW5kZXgsIG5ld1ZhbCApOw0KCQl9IGVsc2Ugew0KCQkJdGhpcy52YWx1ZSggbmV3VmFsICk7DQoJCX0NCgl9LA0KDQoJX3N0b3A6IGZ1bmN0aW9uKCBldmVudCwgaW5kZXggKSB7DQoJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCggaW5kZXggKSApOw0KCX0sDQoNCglfY2hhbmdlOiBmdW5jdGlvbiggZXZlbnQsIGluZGV4ICkgew0KCQlpZiAoICF0aGlzLl9rZXlTbGlkaW5nICYmICF0aGlzLl9tb3VzZVNsaWRpbmcgKSB7DQoNCgkJCS8vc3RvcmUgdGhlIGxhc3QgY2hhbmdlZCB2YWx1ZSBpbmRleCBmb3IgcmVmZXJlbmNlIHdoZW4gaGFuZGxlcyBvdmVybGFwDQoJCQl0aGlzLl9sYXN0Q2hhbmdlZFZhbHVlID0gaW5kZXg7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCggaW5kZXggKSApOw0KCQl9DQoJfSwNCg0KCXZhbHVlOiBmdW5jdGlvbiggbmV3VmFsdWUgKSB7DQoJCWlmICggYXJndW1lbnRzLmxlbmd0aCApIHsNCgkJCXRoaXMub3B0aW9ucy52YWx1ZSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZSApOw0KCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIDAgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCXJldHVybiB0aGlzLl92YWx1ZSgpOw0KCX0sDQoNCgl2YWx1ZXM6IGZ1bmN0aW9uKCBpbmRleCwgbmV3VmFsdWUgKSB7DQoJCXZhciB2YWxzLA0KCQkJbmV3VmFsdWVzLA0KCQkJaTsNCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggPiAxICkgew0KCQkJdGhpcy5vcHRpb25zLnZhbHVlc1sgaW5kZXggXSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZSApOw0KCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGluZGV4ICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQlpZiAoICQuaXNBcnJheSggYXJndW1lbnRzWyAwIF0gKSApIHsNCgkJCQl2YWxzID0gdGhpcy5vcHRpb25zLnZhbHVlczsNCgkJCQluZXdWYWx1ZXMgPSBhcmd1bWVudHNbIDAgXTsNCgkJCQlmb3IgKCBpID0gMDsgaSA8IHZhbHMubGVuZ3RoOyBpICs9IDEgKSB7DQoJCQkJCXZhbHNbIGkgXSA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBuZXdWYWx1ZXNbIGkgXSApOw0KCQkJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGkgKTsNCgkJCQl9DQoJCQkJdGhpcy5fcmVmcmVzaFZhbHVlKCk7DQoJCQl9IGVsc2Ugew0KCQkJCWlmICggdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSApIHsNCgkJCQkJcmV0dXJuIHRoaXMuX3ZhbHVlcyggaW5kZXggKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlyZXR1cm4gdGhpcy52YWx1ZSgpOw0KCQkJCX0NCgkJCX0NCgkJfSBlbHNlIHsNCgkJCXJldHVybiB0aGlzLl92YWx1ZXMoKTsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIGksDQoJCQl2YWxzTGVuZ3RoID0gMDsNCg0KCQlpZiAoIGtleSA9PT0gInJhbmdlIiAmJiB0aGlzLm9wdGlvbnMucmFuZ2UgPT09IHRydWUgKSB7DQoJCQlpZiAoIHZhbHVlID09PSAibWluIiApIHsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl92YWx1ZXMoIDAgKTsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWVzID0gbnVsbDsNCgkJCX0gZWxzZSBpZiAoIHZhbHVlID09PSAibWF4IiApIHsNCgkJCQl0aGlzLm9wdGlvbnMudmFsdWUgPSB0aGlzLl92YWx1ZXMoIHRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoIC0gMSApOw0KCQkJCXRoaXMub3B0aW9ucy52YWx1ZXMgPSBudWxsOw0KCQkJfQ0KCQl9DQoNCgkJaWYgKCAkLmlzQXJyYXkoIHRoaXMub3B0aW9ucy52YWx1ZXMgKSApIHsNCgkJCXZhbHNMZW5ndGggPSB0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aDsNCgkJfQ0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJc3dpdGNoICgga2V5ICkgew0KCQkJY2FzZSAib3JpZW50YXRpb24iOg0KCQkJCXRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCk7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiICkNCgkJCQkJLl9hZGRDbGFzcyggInVpLXNsaWRlci0iICsgdGhpcy5vcmllbnRhdGlvbiApOw0KCQkJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KCQkJCWlmICggdGhpcy5vcHRpb25zLnJhbmdlICkgew0KCQkJCQl0aGlzLl9yZWZyZXNoUmFuZ2UoIHZhbHVlICk7DQoJCQkJfQ0KDQoJCQkJLy8gUmVzZXQgcG9zaXRpb25pbmcgZnJvbSBwcmV2aW91cyBvcmllbnRhdGlvbg0KCQkJCXRoaXMuaGFuZGxlcy5jc3MoIHZhbHVlID09PSAiaG9yaXpvbnRhbCIgPyAiYm90dG9tIiA6ICJsZWZ0IiwgIiIgKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgInZhbHVlIjoNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gdHJ1ZTsNCgkJCQl0aGlzLl9yZWZyZXNoVmFsdWUoKTsNCgkJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIDAgKTsNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gZmFsc2U7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJ2YWx1ZXMiOg0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSB0cnVlOw0KCQkJCXRoaXMuX3JlZnJlc2hWYWx1ZSgpOw0KDQoJCQkJLy8gU3RhcnQgZnJvbSB0aGUgbGFzdCBoYW5kbGUgdG8gcHJldmVudCB1bnJlYWNoYWJsZSBoYW5kbGVzICgjOTA0NikNCgkJCQlmb3IgKCBpID0gdmFsc0xlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJCQl0aGlzLl9jaGFuZ2UoIG51bGwsIGkgKTsNCgkJCQl9DQoJCQkJdGhpcy5fYW5pbWF0ZU9mZiA9IGZhbHNlOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAic3RlcCI6DQoJCQljYXNlICJtaW4iOg0KCQkJY2FzZSAibWF4IjoNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gdHJ1ZTsNCgkJCQl0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKTsNCgkJCQl0aGlzLl9yZWZyZXNoVmFsdWUoKTsNCgkJCQl0aGlzLl9hbmltYXRlT2ZmID0gZmFsc2U7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJyYW5nZSI6DQoJCQkJdGhpcy5fYW5pbWF0ZU9mZiA9IHRydWU7DQoJCQkJdGhpcy5fcmVmcmVzaCgpOw0KCQkJCXRoaXMuX2FuaW1hdGVPZmYgPSBmYWxzZTsNCgkJCQlicmVhazsNCgkJfQ0KCX0sDQoNCglfc2V0T3B0aW9uRGlzYWJsZWQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIHZhbHVlICk7DQoNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIG51bGwsICJ1aS1zdGF0ZS1kaXNhYmxlZCIsICEhdmFsdWUgKTsNCgl9LA0KDQoJLy9pbnRlcm5hbCB2YWx1ZSBnZXR0ZXINCgkvLyBfdmFsdWUoKSByZXR1cm5zIHZhbHVlIHRyaW1tZWQgYnkgbWluIGFuZCBtYXgsIGFsaWduZWQgYnkgc3RlcA0KCV92YWx1ZTogZnVuY3Rpb24oKSB7DQoJCXZhciB2YWwgPSB0aGlzLm9wdGlvbnMudmFsdWU7DQoJCXZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCB2YWwgKTsNCg0KCQlyZXR1cm4gdmFsOw0KCX0sDQoNCgkvL2ludGVybmFsIHZhbHVlcyBnZXR0ZXINCgkvLyBfdmFsdWVzKCkgcmV0dXJucyBhcnJheSBvZiB2YWx1ZXMgdHJpbW1lZCBieSBtaW4gYW5kIG1heCwgYWxpZ25lZCBieSBzdGVwDQoJLy8gX3ZhbHVlcyggaW5kZXggKSByZXR1cm5zIHNpbmdsZSB2YWx1ZSB0cmltbWVkIGJ5IG1pbiBhbmQgbWF4LCBhbGlnbmVkIGJ5IHN0ZXANCglfdmFsdWVzOiBmdW5jdGlvbiggaW5kZXggKSB7DQoJCXZhciB2YWwsDQoJCQl2YWxzLA0KCQkJaTsNCg0KCQlpZiAoIGFyZ3VtZW50cy5sZW5ndGggKSB7DQoJCQl2YWwgPSB0aGlzLm9wdGlvbnMudmFsdWVzWyBpbmRleCBdOw0KCQkJdmFsID0gdGhpcy5fdHJpbUFsaWduVmFsdWUoIHZhbCApOw0KDQoJCQlyZXR1cm4gdmFsOw0KCQl9IGVsc2UgaWYgKCB0aGlzLl9oYXNNdWx0aXBsZVZhbHVlcygpICkgew0KDQoJCQkvLyAuc2xpY2UoKSBjcmVhdGVzIGEgY29weSBvZiB0aGUgYXJyYXkNCgkJCS8vIHRoaXMgY29weSBnZXRzIHRyaW1tZWQgYnkgbWluIGFuZCBtYXggYW5kIHRoZW4gcmV0dXJuZWQNCgkJCXZhbHMgPSB0aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCk7DQoJCQlmb3IgKCBpID0gMDsgaSA8IHZhbHMubGVuZ3RoOyBpICs9IDEgKSB7DQoJCQkJdmFsc1sgaSBdID0gdGhpcy5fdHJpbUFsaWduVmFsdWUoIHZhbHNbIGkgXSApOw0KCQkJfQ0KDQoJCQlyZXR1cm4gdmFsczsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiBbXTsNCgkJfQ0KCX0sDQoNCgkvLyBSZXR1cm5zIHRoZSBzdGVwLWFsaWduZWQgdmFsdWUgdGhhdCB2YWwgaXMgY2xvc2VzdCB0bywgYmV0d2VlbiAoaW5jbHVzaXZlKSBtaW4gYW5kIG1heA0KCV90cmltQWxpZ25WYWx1ZTogZnVuY3Rpb24oIHZhbCApIHsNCgkJaWYgKCB2YWwgPD0gdGhpcy5fdmFsdWVNaW4oKSApIHsNCgkJCXJldHVybiB0aGlzLl92YWx1ZU1pbigpOw0KCQl9DQoJCWlmICggdmFsID49IHRoaXMuX3ZhbHVlTWF4KCkgKSB7DQoJCQlyZXR1cm4gdGhpcy5fdmFsdWVNYXgoKTsNCgkJfQ0KCQl2YXIgc3RlcCA9ICggdGhpcy5vcHRpb25zLnN0ZXAgPiAwICkgPyB0aGlzLm9wdGlvbnMuc3RlcCA6IDEsDQoJCQl2YWxNb2RTdGVwID0gKCB2YWwgLSB0aGlzLl92YWx1ZU1pbigpICkgJSBzdGVwLA0KCQkJYWxpZ25WYWx1ZSA9IHZhbCAtIHZhbE1vZFN0ZXA7DQoNCgkJaWYgKCBNYXRoLmFicyggdmFsTW9kU3RlcCApICogMiA+PSBzdGVwICkgew0KCQkJYWxpZ25WYWx1ZSArPSAoIHZhbE1vZFN0ZXAgPiAwICkgPyBzdGVwIDogKCAtc3RlcCApOw0KCQl9DQoNCgkJLy8gU2luY2UgSmF2YVNjcmlwdCBoYXMgcHJvYmxlbXMgd2l0aCBsYXJnZSBmbG9hdHMsIHJvdW5kDQoJCS8vIHRoZSBmaW5hbCB2YWx1ZSB0byA1IGRpZ2l0cyBhZnRlciB0aGUgZGVjaW1hbCBwb2ludCAoc2VlICM0MTI0KQ0KCQlyZXR1cm4gcGFyc2VGbG9hdCggYWxpZ25WYWx1ZS50b0ZpeGVkKCA1ICkgKTsNCgl9LA0KDQoJX2NhbGN1bGF0ZU5ld01heDogZnVuY3Rpb24oKSB7DQoJCXZhciBtYXggPSB0aGlzLm9wdGlvbnMubWF4LA0KCQkJbWluID0gdGhpcy5fdmFsdWVNaW4oKSwNCgkJCXN0ZXAgPSB0aGlzLm9wdGlvbnMuc3RlcCwNCgkJCWFib3ZlTWluID0gTWF0aC5yb3VuZCggKCBtYXggLSBtaW4gKSAvIHN0ZXAgKSAqIHN0ZXA7DQoJCW1heCA9IGFib3ZlTWluICsgbWluOw0KCQlpZiAoIG1heCA+IHRoaXMub3B0aW9ucy5tYXggKSB7DQoNCgkJCS8vSWYgbWF4IGlzIG5vdCBkaXZpc2libGUgYnkgc3RlcCwgcm91bmRpbmcgb2ZmIG1heSBpbmNyZWFzZSBpdHMgdmFsdWUNCgkJCW1heCAtPSBzdGVwOw0KCQl9DQoJCXRoaXMubWF4ID0gcGFyc2VGbG9hdCggbWF4LnRvRml4ZWQoIHRoaXMuX3ByZWNpc2lvbigpICkgKTsNCgl9LA0KDQoJX3ByZWNpc2lvbjogZnVuY3Rpb24oKSB7DQoJCXZhciBwcmVjaXNpb24gPSB0aGlzLl9wcmVjaXNpb25PZiggdGhpcy5vcHRpb25zLnN0ZXAgKTsNCgkJaWYgKCB0aGlzLm9wdGlvbnMubWluICE9PSBudWxsICkgew0KCQkJcHJlY2lzaW9uID0gTWF0aC5tYXgoIHByZWNpc2lvbiwgdGhpcy5fcHJlY2lzaW9uT2YoIHRoaXMub3B0aW9ucy5taW4gKSApOw0KCQl9DQoJCXJldHVybiBwcmVjaXNpb247DQoJfSwNCg0KCV9wcmVjaXNpb25PZjogZnVuY3Rpb24oIG51bSApIHsNCgkJdmFyIHN0ciA9IG51bS50b1N0cmluZygpLA0KCQkJZGVjaW1hbCA9IHN0ci5pbmRleE9mKCAiLiIgKTsNCgkJcmV0dXJuIGRlY2ltYWwgPT09IC0xID8gMCA6IHN0ci5sZW5ndGggLSBkZWNpbWFsIC0gMTsNCgl9LA0KDQoJX3ZhbHVlTWluOiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMub3B0aW9ucy5taW47DQoJfSwNCg0KCV92YWx1ZU1heDogZnVuY3Rpb24oKSB7DQoJCXJldHVybiB0aGlzLm1heDsNCgl9LA0KDQoJX3JlZnJlc2hSYW5nZTogZnVuY3Rpb24oIG9yaWVudGF0aW9uICkgew0KCQlpZiAoIG9yaWVudGF0aW9uID09PSAidmVydGljYWwiICkgew0KCQkJdGhpcy5yYW5nZS5jc3MoIHsgIndpZHRoIjogIiIsICJsZWZ0IjogIiIgfSApOw0KCQl9DQoJCWlmICggb3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiApIHsNCgkJCXRoaXMucmFuZ2UuY3NzKCB7ICJoZWlnaHQiOiAiIiwgImJvdHRvbSI6ICIiIH0gKTsNCgkJfQ0KCX0sDQoNCglfcmVmcmVzaFZhbHVlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGxhc3RWYWxQZXJjZW50LCB2YWxQZXJjZW50LCB2YWx1ZSwgdmFsdWVNaW4sIHZhbHVlTWF4LA0KCQkJb1JhbmdlID0gdGhpcy5vcHRpb25zLnJhbmdlLA0KCQkJbyA9IHRoaXMub3B0aW9ucywNCgkJCXRoYXQgPSB0aGlzLA0KCQkJYW5pbWF0ZSA9ICggIXRoaXMuX2FuaW1hdGVPZmYgKSA/IG8uYW5pbWF0ZSA6IGZhbHNlLA0KCQkJX3NldCA9IHt9Ow0KDQoJCWlmICggdGhpcy5faGFzTXVsdGlwbGVWYWx1ZXMoKSApIHsNCgkJCXRoaXMuaGFuZGxlcy5lYWNoKCBmdW5jdGlvbiggaSApIHsNCgkJCQl2YWxQZXJjZW50ID0gKCB0aGF0LnZhbHVlcyggaSApIC0gdGhhdC5fdmFsdWVNaW4oKSApIC8gKCB0aGF0Ll92YWx1ZU1heCgpIC0NCgkJCQkJdGhhdC5fdmFsdWVNaW4oKSApICogMTAwOw0KCQkJCV9zZXRbIHRoYXQub3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiA/ICJsZWZ0IiA6ICJib3R0b20iIF0gPSB2YWxQZXJjZW50ICsgIiUiOw0KCQkJCSQoIHRoaXMgKS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCBfc2V0LCBvLmFuaW1hdGUgKTsNCgkJCQlpZiAoIHRoYXQub3B0aW9ucy5yYW5nZSA9PT0gdHJ1ZSApIHsNCgkJCQkJaWYgKCB0aGF0Lm9yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCIgKSB7DQoJCQkJCQlpZiAoIGkgPT09IDAgKSB7DQoJCQkJCQkJdGhhdC5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCQkJCWxlZnQ6IHZhbFBlcmNlbnQgKyAiJSINCgkJCQkJCQl9LCBvLmFuaW1hdGUgKTsNCgkJCQkJCX0NCgkJCQkJCWlmICggaSA9PT0gMSApIHsNCgkJCQkJCQl0aGF0LnJhbmdlWyBhbmltYXRlID8gImFuaW1hdGUiIDogImNzcyIgXSggew0KCQkJCQkJCQl3aWR0aDogKCB2YWxQZXJjZW50IC0gbGFzdFZhbFBlcmNlbnQgKSArICIlIg0KCQkJCQkJCX0sIHsNCgkJCQkJCQkJcXVldWU6IGZhbHNlLA0KCQkJCQkJCQlkdXJhdGlvbjogby5hbmltYXRlDQoJCQkJCQkJfSApOw0KCQkJCQkJfQ0KCQkJCQl9IGVsc2Ugew0KCQkJCQkJaWYgKCBpID09PSAwICkgew0KCQkJCQkJCXRoYXQucmFuZ2Uuc3RvcCggMSwgMSApWyBhbmltYXRlID8gImFuaW1hdGUiIDogImNzcyIgXSggew0KCQkJCQkJCQlib3R0b206ICggdmFsUGVyY2VudCApICsgIiUiDQoJCQkJCQkJfSwgby5hbmltYXRlICk7DQoJCQkJCQl9DQoJCQkJCQlpZiAoIGkgPT09IDEgKSB7DQoJCQkJCQkJdGhhdC5yYW5nZVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsNCgkJCQkJCQkJaGVpZ2h0OiAoIHZhbFBlcmNlbnQgLSBsYXN0VmFsUGVyY2VudCApICsgIiUiDQoJCQkJCQkJfSwgew0KCQkJCQkJCQlxdWV1ZTogZmFsc2UsDQoJCQkJCQkJCWR1cmF0aW9uOiBvLmFuaW1hdGUNCgkJCQkJCQl9ICk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9DQoJCQkJbGFzdFZhbFBlcmNlbnQgPSB2YWxQZXJjZW50Ow0KCQkJfSApOw0KCQl9IGVsc2Ugew0KCQkJdmFsdWUgPSB0aGlzLnZhbHVlKCk7DQoJCQl2YWx1ZU1pbiA9IHRoaXMuX3ZhbHVlTWluKCk7DQoJCQl2YWx1ZU1heCA9IHRoaXMuX3ZhbHVlTWF4KCk7DQoJCQl2YWxQZXJjZW50ID0gKCB2YWx1ZU1heCAhPT0gdmFsdWVNaW4gKSA/DQoJCQkJCSggdmFsdWUgLSB2YWx1ZU1pbiApIC8gKCB2YWx1ZU1heCAtIHZhbHVlTWluICkgKiAxMDAgOg0KCQkJCQkwOw0KCQkJX3NldFsgdGhpcy5vcmllbnRhdGlvbiA9PT0gImhvcml6b250YWwiID8gImxlZnQiIDogImJvdHRvbSIgXSA9IHZhbFBlcmNlbnQgKyAiJSI7DQoJCQl0aGlzLmhhbmRsZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCBfc2V0LCBvLmFuaW1hdGUgKTsNCg0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtaW4iICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJob3Jpem9udGFsIiApIHsNCgkJCQl0aGlzLnJhbmdlLnN0b3AoIDEsIDEgKVsgYW5pbWF0ZSA/ICJhbmltYXRlIiA6ICJjc3MiIF0oIHsNCgkJCQkJd2lkdGg6IHZhbFBlcmNlbnQgKyAiJSINCgkJCQl9LCBvLmFuaW1hdGUgKTsNCgkJCX0NCgkJCWlmICggb1JhbmdlID09PSAibWF4IiAmJiB0aGlzLm9yaWVudGF0aW9uID09PSAiaG9yaXpvbnRhbCIgKSB7DQoJCQkJdGhpcy5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCXdpZHRoOiAoIDEwMCAtIHZhbFBlcmNlbnQgKSArICIlIg0KCQkJCX0sIG8uYW5pbWF0ZSApOw0KCQkJfQ0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtaW4iICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQkJdGhpcy5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCWhlaWdodDogdmFsUGVyY2VudCArICIlIg0KCQkJCX0sIG8uYW5pbWF0ZSApOw0KCQkJfQ0KCQkJaWYgKCBvUmFuZ2UgPT09ICJtYXgiICYmIHRoaXMub3JpZW50YXRpb24gPT09ICJ2ZXJ0aWNhbCIgKSB7DQoJCQkJdGhpcy5yYW5nZS5zdG9wKCAxLCAxIClbIGFuaW1hdGUgPyAiYW5pbWF0ZSIgOiAiY3NzIiBdKCB7DQoJCQkJCWhlaWdodDogKCAxMDAgLSB2YWxQZXJjZW50ICkgKyAiJSINCgkJCQl9LCBvLmFuaW1hdGUgKTsNCgkJCX0NCgkJfQ0KCX0sDQoNCglfaGFuZGxlRXZlbnRzOiB7DQoJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBhbGxvd2VkLCBjdXJWYWwsIG5ld1ZhbCwgc3RlcCwNCgkJCQlpbmRleCA9ICQoIGV2ZW50LnRhcmdldCApLmRhdGEoICJ1aS1zbGlkZXItaGFuZGxlLWluZGV4IiApOw0KDQoJCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkhPTUU6DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuRU5EOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfVVA6DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlVQOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlJJR0hUOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkRPV046DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuTEVGVDoNCgkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQkJaWYgKCAhdGhpcy5fa2V5U2xpZGluZyApIHsNCgkJCQkJCXRoaXMuX2tleVNsaWRpbmcgPSB0cnVlOw0KCQkJCQkJdGhpcy5fYWRkQ2xhc3MoICQoIGV2ZW50LnRhcmdldCApLCBudWxsLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJCQkJYWxsb3dlZCA9IHRoaXMuX3N0YXJ0KCBldmVudCwgaW5kZXggKTsNCgkJCQkJCWlmICggYWxsb3dlZCA9PT0gZmFsc2UgKSB7DQoJCQkJCQkJcmV0dXJuOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWJyZWFrOw0KCQkJfQ0KDQoJCQlzdGVwID0gdGhpcy5vcHRpb25zLnN0ZXA7DQoJCQlpZiAoIHRoaXMuX2hhc011bHRpcGxlVmFsdWVzKCkgKSB7DQoJCQkJY3VyVmFsID0gbmV3VmFsID0gdGhpcy52YWx1ZXMoIGluZGV4ICk7DQoJCQl9IGVsc2Ugew0KCQkJCWN1clZhbCA9IG5ld1ZhbCA9IHRoaXMudmFsdWUoKTsNCgkJCX0NCg0KCQkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJCQljYXNlICQudWkua2V5Q29kZS5IT01FOg0KCQkJCQluZXdWYWwgPSB0aGlzLl92YWx1ZU1pbigpOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3ZhbHVlTWF4KCk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlBBR0VfVVA6DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKA0KCQkJCQkJY3VyVmFsICsgKCAoIHRoaXMuX3ZhbHVlTWF4KCkgLSB0aGlzLl92YWx1ZU1pbigpICkgLyB0aGlzLm51bVBhZ2VzICkNCgkJCQkJKTsNCgkJCQkJYnJlYWs7DQoJCQkJY2FzZSAkLnVpLmtleUNvZGUuUEFHRV9ET1dOOg0KCQkJCQluZXdWYWwgPSB0aGlzLl90cmltQWxpZ25WYWx1ZSgNCgkJCQkJCWN1clZhbCAtICggKCB0aGlzLl92YWx1ZU1heCgpIC0gdGhpcy5fdmFsdWVNaW4oKSApIC8gdGhpcy5udW1QYWdlcyApICk7DQoJCQkJCWJyZWFrOw0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlVQOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLlJJR0hUOg0KCQkJCQlpZiAoIGN1clZhbCA9PT0gdGhpcy5fdmFsdWVNYXgoKSApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KCQkJCQluZXdWYWwgPSB0aGlzLl90cmltQWxpZ25WYWx1ZSggY3VyVmFsICsgc3RlcCApOw0KCQkJCQlicmVhazsNCgkJCQljYXNlICQudWkua2V5Q29kZS5ET1dOOg0KCQkJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQkJCWlmICggY3VyVmFsID09PSB0aGlzLl92YWx1ZU1pbigpICkgew0KCQkJCQkJcmV0dXJuOw0KCQkJCQl9DQoJCQkJCW5ld1ZhbCA9IHRoaXMuX3RyaW1BbGlnblZhbHVlKCBjdXJWYWwgLSBzdGVwICk7DQoJCQkJCWJyZWFrOw0KCQkJfQ0KDQoJCQl0aGlzLl9zbGlkZSggZXZlbnQsIGluZGV4LCBuZXdWYWwgKTsNCgkJfSwNCgkJa2V5dXA6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBpbmRleCA9ICQoIGV2ZW50LnRhcmdldCApLmRhdGEoICJ1aS1zbGlkZXItaGFuZGxlLWluZGV4IiApOw0KDQoJCQlpZiAoIHRoaXMuX2tleVNsaWRpbmcgKSB7DQoJCQkJdGhpcy5fa2V5U2xpZGluZyA9IGZhbHNlOw0KCQkJCXRoaXMuX3N0b3AoIGV2ZW50LCBpbmRleCApOw0KCQkJCXRoaXMuX2NoYW5nZSggZXZlbnQsIGluZGV4ICk7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoICQoIGV2ZW50LnRhcmdldCApLCBudWxsLCAidWktc3RhdGUtYWN0aXZlIiApOw0KCQkJfQ0KCQl9DQoJfQ0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFNvcnRhYmxlIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBTb3J0YWJsZQ0KLy8+Pmdyb3VwOiBJbnRlcmFjdGlvbnMNCi8vPj5kZXNjcmlwdGlvbjogRW5hYmxlcyBpdGVtcyBpbiBhIGxpc3QgdG8gYmUgc29ydGVkIHVzaW5nIHRoZSBtb3VzZS4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS9zb3J0YWJsZS8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9zb3J0YWJsZS8NCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS9zb3J0YWJsZS5jc3MNCg0KDQoNCnZhciB3aWRnZXRzU29ydGFibGUgPSAkLndpZGdldCggInVpLnNvcnRhYmxlIiwgJC51aS5tb3VzZSwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic29ydCIsDQoJcmVhZHk6IGZhbHNlLA0KCW9wdGlvbnM6IHsNCgkJYXBwZW5kVG86ICJwYXJlbnQiLA0KCQlheGlzOiBmYWxzZSwNCgkJY29ubmVjdFdpdGg6IGZhbHNlLA0KCQljb250YWlubWVudDogZmFsc2UsDQoJCWN1cnNvcjogImF1dG8iLA0KCQljdXJzb3JBdDogZmFsc2UsDQoJCWRyb3BPbkVtcHR5OiB0cnVlLA0KCQlmb3JjZVBsYWNlaG9sZGVyU2l6ZTogZmFsc2UsDQoJCWZvcmNlSGVscGVyU2l6ZTogZmFsc2UsDQoJCWdyaWQ6IGZhbHNlLA0KCQloYW5kbGU6IGZhbHNlLA0KCQloZWxwZXI6ICJvcmlnaW5hbCIsDQoJCWl0ZW1zOiAiPiAqIiwNCgkJb3BhY2l0eTogZmFsc2UsDQoJCXBsYWNlaG9sZGVyOiBmYWxzZSwNCgkJcmV2ZXJ0OiBmYWxzZSwNCgkJc2Nyb2xsOiB0cnVlLA0KCQlzY3JvbGxTZW5zaXRpdml0eTogMjAsDQoJCXNjcm9sbFNwZWVkOiAyMCwNCgkJc2NvcGU6ICJkZWZhdWx0IiwNCgkJdG9sZXJhbmNlOiAiaW50ZXJzZWN0IiwNCgkJekluZGV4OiAxMDAwLA0KDQoJCS8vIENhbGxiYWNrcw0KCQlhY3RpdmF0ZTogbnVsbCwNCgkJYmVmb3JlU3RvcDogbnVsbCwNCgkJY2hhbmdlOiBudWxsLA0KCQlkZWFjdGl2YXRlOiBudWxsLA0KCQlvdXQ6IG51bGwsDQoJCW92ZXI6IG51bGwsDQoJCXJlY2VpdmU6IG51bGwsDQoJCXJlbW92ZTogbnVsbCwNCgkJc29ydDogbnVsbCwNCgkJc3RhcnQ6IG51bGwsDQoJCXN0b3A6IG51bGwsDQoJCXVwZGF0ZTogbnVsbA0KCX0sDQoNCglfaXNPdmVyQXhpczogZnVuY3Rpb24oIHgsIHJlZmVyZW5jZSwgc2l6ZSApIHsNCgkJcmV0dXJuICggeCA+PSByZWZlcmVuY2UgKSAmJiAoIHggPCAoIHJlZmVyZW5jZSArIHNpemUgKSApOw0KCX0sDQoNCglfaXNGbG9hdGluZzogZnVuY3Rpb24oIGl0ZW0gKSB7DQoJCXJldHVybiAoIC9sZWZ0fHJpZ2h0LyApLnRlc3QoIGl0ZW0uY3NzKCAiZmxvYXQiICkgKSB8fA0KCQkJKCAvaW5saW5lfHRhYmxlLWNlbGwvICkudGVzdCggaXRlbS5jc3MoICJkaXNwbGF5IiApICk7DQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmNvbnRhaW5lckNhY2hlID0ge307DQoJCXRoaXMuX2FkZENsYXNzKCAidWktc29ydGFibGUiICk7DQoNCgkJLy9HZXQgdGhlIGl0ZW1zDQoJCXRoaXMucmVmcmVzaCgpOw0KDQoJCS8vTGV0J3MgZGV0ZXJtaW5lIHRoZSBwYXJlbnQncyBvZmZzZXQNCgkJdGhpcy5vZmZzZXQgPSB0aGlzLmVsZW1lbnQub2Zmc2V0KCk7DQoNCgkJLy9Jbml0aWFsaXplIG1vdXNlIGV2ZW50cyBmb3IgaW50ZXJhY3Rpb24NCgkJdGhpcy5fbW91c2VJbml0KCk7DQoNCgkJdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCk7DQoNCgkJLy9XZSdyZSByZWFkeSB0byBnbw0KCQl0aGlzLnJlYWR5ID0gdHJ1ZTsNCg0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlpZiAoIGtleSA9PT0gImhhbmRsZSIgKSB7DQoJCQl0aGlzLl9zZXRIYW5kbGVDbGFzc05hbWUoKTsNCgkJfQ0KCX0sDQoNCglfc2V0SGFuZGxlQ2xhc3NOYW1lOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KCQl0aGlzLl9yZW1vdmVDbGFzcyggdGhpcy5lbGVtZW50LmZpbmQoICIudWktc29ydGFibGUtaGFuZGxlIiApLCAidWktc29ydGFibGUtaGFuZGxlIiApOw0KCQkkLmVhY2goIHRoaXMuaXRlbXMsIGZ1bmN0aW9uKCkgew0KCQkJdGhhdC5fYWRkQ2xhc3MoDQoJCQkJdGhpcy5pbnN0YW5jZS5vcHRpb25zLmhhbmRsZSA/DQoJCQkJCXRoaXMuaXRlbS5maW5kKCB0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGFuZGxlICkgOg0KCQkJCQl0aGlzLml0ZW0sDQoJCQkJInVpLXNvcnRhYmxlLWhhbmRsZSINCgkJCSk7DQoJCX0gKTsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9tb3VzZURlc3Ryb3koKTsNCg0KCQlmb3IgKCB2YXIgaSA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQl0aGlzLml0ZW1zWyBpIF0uaXRlbS5yZW1vdmVEYXRhKCB0aGlzLndpZGdldE5hbWUgKyAiLWl0ZW0iICk7DQoJCX0NCg0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJX21vdXNlQ2FwdHVyZTogZnVuY3Rpb24oIGV2ZW50LCBvdmVycmlkZUhhbmRsZSApIHsNCgkJdmFyIGN1cnJlbnRJdGVtID0gbnVsbCwNCgkJCXZhbGlkSGFuZGxlID0gZmFsc2UsDQoJCQl0aGF0ID0gdGhpczsNCg0KCQlpZiAoIHRoaXMucmV2ZXJ0aW5nICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuZGlzYWJsZWQgfHwgdGhpcy5vcHRpb25zLnR5cGUgPT09ICJzdGF0aWMiICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJLy9XZSBoYXZlIHRvIHJlZnJlc2ggdGhlIGl0ZW1zIGRhdGEgb25jZSBmaXJzdA0KCQl0aGlzLl9yZWZyZXNoSXRlbXMoIGV2ZW50ICk7DQoNCgkJLy9GaW5kIG91dCBpZiB0aGUgY2xpY2tlZCBub2RlIChvciBvbmUgb2YgaXRzIHBhcmVudHMpIGlzIGEgYWN0dWFsIGl0ZW0gaW4gdGhpcy5pdGVtcw0KCQkkKCBldmVudC50YXJnZXQgKS5wYXJlbnRzKCkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlpZiAoICQuZGF0YSggdGhpcywgdGhhdC53aWRnZXROYW1lICsgIi1pdGVtIiApID09PSB0aGF0ICkgew0KCQkJCWN1cnJlbnRJdGVtID0gJCggdGhpcyApOw0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJfSApOw0KCQlpZiAoICQuZGF0YSggZXZlbnQudGFyZ2V0LCB0aGF0LndpZGdldE5hbWUgKyAiLWl0ZW0iICkgPT09IHRoYXQgKSB7DQoJCQljdXJyZW50SXRlbSA9ICQoIGV2ZW50LnRhcmdldCApOw0KCQl9DQoNCgkJaWYgKCAhY3VycmVudEl0ZW0gKSB7DQoJCQlyZXR1cm4gZmFsc2U7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMuaGFuZGxlICYmICFvdmVycmlkZUhhbmRsZSApIHsNCgkJCSQoIHRoaXMub3B0aW9ucy5oYW5kbGUsIGN1cnJlbnRJdGVtICkuZmluZCggIioiICkuYWRkQmFjaygpLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCWlmICggdGhpcyA9PT0gZXZlbnQudGFyZ2V0ICkgew0KCQkJCQl2YWxpZEhhbmRsZSA9IHRydWU7DQoJCQkJfQ0KCQkJfSApOw0KCQkJaWYgKCAhdmFsaWRIYW5kbGUgKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5jdXJyZW50SXRlbSA9IGN1cnJlbnRJdGVtOw0KCQl0aGlzLl9yZW1vdmVDdXJyZW50c0Zyb21JdGVtcygpOw0KCQlyZXR1cm4gdHJ1ZTsNCg0KCX0sDQoNCglfbW91c2VTdGFydDogZnVuY3Rpb24oIGV2ZW50LCBvdmVycmlkZUhhbmRsZSwgbm9BY3RpdmF0aW9uICkgew0KDQoJCXZhciBpLCBib2R5LA0KCQkJbyA9IHRoaXMub3B0aW9uczsNCg0KCQl0aGlzLmN1cnJlbnRDb250YWluZXIgPSB0aGlzOw0KDQoJCS8vV2Ugb25seSBuZWVkIHRvIGNhbGwgcmVmcmVzaFBvc2l0aW9ucywgYmVjYXVzZSB0aGUgcmVmcmVzaEl0ZW1zIGNhbGwgaGFzIGJlZW4gbW92ZWQgdG8NCgkJLy8gbW91c2VDYXB0dXJlDQoJCXRoaXMucmVmcmVzaFBvc2l0aW9ucygpOw0KDQoJCS8vQ3JlYXRlIGFuZCBhcHBlbmQgdGhlIHZpc2libGUgaGVscGVyDQoJCXRoaXMuaGVscGVyID0gdGhpcy5fY3JlYXRlSGVscGVyKCBldmVudCApOw0KDQoJCS8vQ2FjaGUgdGhlIGhlbHBlciBzaXplDQoJCXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsNCg0KCQkvKg0KCQkgKiAtIFBvc2l0aW9uIGdlbmVyYXRpb24gLQ0KCQkgKiBUaGlzIGJsb2NrIGdlbmVyYXRlcyBldmVyeXRoaW5nIHBvc2l0aW9uIHJlbGF0ZWQgLSBpdCdzIHRoZSBjb3JlIG9mIGRyYWdnYWJsZXMuDQoJCSAqLw0KDQoJCS8vQ2FjaGUgdGhlIG1hcmdpbnMgb2YgdGhlIG9yaWdpbmFsIGVsZW1lbnQNCgkJdGhpcy5fY2FjaGVNYXJnaW5zKCk7DQoNCgkJLy9HZXQgdGhlIG5leHQgc2Nyb2xsaW5nIHBhcmVudA0KCQl0aGlzLnNjcm9sbFBhcmVudCA9IHRoaXMuaGVscGVyLnNjcm9sbFBhcmVudCgpOw0KDQoJCS8vVGhlIGVsZW1lbnQncyBhYnNvbHV0ZSBwb3NpdGlvbiBvbiB0aGUgcGFnZSBtaW51cyBtYXJnaW5zDQoJCXRoaXMub2Zmc2V0ID0gdGhpcy5jdXJyZW50SXRlbS5vZmZzZXQoKTsNCgkJdGhpcy5vZmZzZXQgPSB7DQoJCQl0b3A6IHRoaXMub2Zmc2V0LnRvcCAtIHRoaXMubWFyZ2lucy50b3AsDQoJCQlsZWZ0OiB0aGlzLm9mZnNldC5sZWZ0IC0gdGhpcy5tYXJnaW5zLmxlZnQNCgkJfTsNCg0KCQkkLmV4dGVuZCggdGhpcy5vZmZzZXQsIHsNCgkJCWNsaWNrOiB7IC8vV2hlcmUgdGhlIGNsaWNrIGhhcHBlbmVkLCByZWxhdGl2ZSB0byB0aGUgZWxlbWVudA0KCQkJCWxlZnQ6IGV2ZW50LnBhZ2VYIC0gdGhpcy5vZmZzZXQubGVmdCwNCgkJCQl0b3A6IGV2ZW50LnBhZ2VZIC0gdGhpcy5vZmZzZXQudG9wDQoJCQl9LA0KCQkJcGFyZW50OiB0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKSwNCg0KCQkJLy8gVGhpcyBpcyBhIHJlbGF0aXZlIHRvIGFic29sdXRlIHBvc2l0aW9uIG1pbnVzIHRoZSBhY3R1YWwgcG9zaXRpb24gY2FsY3VsYXRpb24gLQ0KCQkJLy8gb25seSB1c2VkIGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIGhlbHBlcg0KCQkJcmVsYXRpdmU6IHRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCkNCgkJfSApOw0KDQoJCS8vIE9ubHkgYWZ0ZXIgd2UgZ290IHRoZSBvZmZzZXQsIHdlIGNhbiBjaGFuZ2UgdGhlIGhlbHBlcidzIHBvc2l0aW9uIHRvIGFic29sdXRlDQoJCS8vIFRPRE86IFN0aWxsIG5lZWQgdG8gZmlndXJlIG91dCBhIHdheSB0byBtYWtlIHJlbGF0aXZlIHNvcnRpbmcgcG9zc2libGUNCgkJdGhpcy5oZWxwZXIuY3NzKCAicG9zaXRpb24iLCAiYWJzb2x1dGUiICk7DQoJCXRoaXMuY3NzUG9zaXRpb24gPSB0aGlzLmhlbHBlci5jc3MoICJwb3NpdGlvbiIgKTsNCg0KCQkvL0dlbmVyYXRlIHRoZSBvcmlnaW5hbCBwb3NpdGlvbg0KCQl0aGlzLm9yaWdpbmFsUG9zaXRpb24gPSB0aGlzLl9nZW5lcmF0ZVBvc2l0aW9uKCBldmVudCApOw0KCQl0aGlzLm9yaWdpbmFsUGFnZVggPSBldmVudC5wYWdlWDsNCgkJdGhpcy5vcmlnaW5hbFBhZ2VZID0gZXZlbnQucGFnZVk7DQoNCgkJLy9BZGp1c3QgdGhlIG1vdXNlIG9mZnNldCByZWxhdGl2ZSB0byB0aGUgaGVscGVyIGlmICJjdXJzb3JBdCIgaXMgc3VwcGxpZWQNCgkJKCBvLmN1cnNvckF0ICYmIHRoaXMuX2FkanVzdE9mZnNldEZyb21IZWxwZXIoIG8uY3Vyc29yQXQgKSApOw0KDQoJCS8vQ2FjaGUgdGhlIGZvcm1lciBET00gcG9zaXRpb24NCgkJdGhpcy5kb21Qb3NpdGlvbiA9IHsNCgkJCXByZXY6IHRoaXMuY3VycmVudEl0ZW0ucHJldigpWyAwIF0sDQoJCQlwYXJlbnQ6IHRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbIDAgXQ0KCQl9Ow0KDQoJCS8vIElmIHRoZSBoZWxwZXIgaXMgbm90IHRoZSBvcmlnaW5hbCwgaGlkZSB0aGUgb3JpZ2luYWwgc28gaXQncyBub3QgcGxheWluZyBhbnkgcm9sZSBkdXJpbmcNCgkJLy8gdGhlIGRyYWcsIHdvbid0IGNhdXNlIGFueXRoaW5nIGJhZCB0aGlzIHdheQ0KCQlpZiAoIHRoaXMuaGVscGVyWyAwIF0gIT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCXRoaXMuY3VycmVudEl0ZW0uaGlkZSgpOw0KCQl9DQoNCgkJLy9DcmVhdGUgdGhlIHBsYWNlaG9sZGVyDQoJCXRoaXMuX2NyZWF0ZVBsYWNlaG9sZGVyKCk7DQoNCgkJLy9TZXQgYSBjb250YWlubWVudCBpZiBnaXZlbiBpbiB0aGUgb3B0aW9ucw0KCQlpZiAoIG8uY29udGFpbm1lbnQgKSB7DQoJCQl0aGlzLl9zZXRDb250YWlubWVudCgpOw0KCQl9DQoNCgkJaWYgKCBvLmN1cnNvciAmJiBvLmN1cnNvciAhPT0gImF1dG8iICkgeyAvLyBjdXJzb3Igb3B0aW9uDQoJCQlib2R5ID0gdGhpcy5kb2N1bWVudC5maW5kKCAiYm9keSIgKTsNCg0KCQkJLy8gU3VwcG9ydDogSUUNCgkJCXRoaXMuc3RvcmVkQ3Vyc29yID0gYm9keS5jc3MoICJjdXJzb3IiICk7DQoJCQlib2R5LmNzcyggImN1cnNvciIsIG8uY3Vyc29yICk7DQoNCgkJCXRoaXMuc3RvcmVkU3R5bGVzaGVldCA9DQoJCQkJJCggIjxzdHlsZT4qeyBjdXJzb3I6ICIgKyBvLmN1cnNvciArICIgIWltcG9ydGFudDsgfTwvc3R5bGU+IiApLmFwcGVuZFRvKCBib2R5ICk7DQoJCX0NCg0KCQlpZiAoIG8ub3BhY2l0eSApIHsgLy8gb3BhY2l0eSBvcHRpb24NCgkJCWlmICggdGhpcy5oZWxwZXIuY3NzKCAib3BhY2l0eSIgKSApIHsNCgkJCQl0aGlzLl9zdG9yZWRPcGFjaXR5ID0gdGhpcy5oZWxwZXIuY3NzKCAib3BhY2l0eSIgKTsNCgkJCX0NCgkJCXRoaXMuaGVscGVyLmNzcyggIm9wYWNpdHkiLCBvLm9wYWNpdHkgKTsNCgkJfQ0KDQoJCWlmICggby56SW5kZXggKSB7IC8vIHpJbmRleCBvcHRpb24NCgkJCWlmICggdGhpcy5oZWxwZXIuY3NzKCAiekluZGV4IiApICkgew0KCQkJCXRoaXMuX3N0b3JlZFpJbmRleCA9IHRoaXMuaGVscGVyLmNzcyggInpJbmRleCIgKTsNCgkJCX0NCgkJCXRoaXMuaGVscGVyLmNzcyggInpJbmRleCIsIG8uekluZGV4ICk7DQoJCX0NCg0KCQkvL1ByZXBhcmUgc2Nyb2xsaW5nDQoJCWlmICggdGhpcy5zY3JvbGxQYXJlbnRbIDAgXSAhPT0gdGhpcy5kb2N1bWVudFsgMCBdICYmDQoJCQkJdGhpcy5zY3JvbGxQYXJlbnRbIDAgXS50YWdOYW1lICE9PSAiSFRNTCIgKSB7DQoJCQl0aGlzLm92ZXJmbG93T2Zmc2V0ID0gdGhpcy5zY3JvbGxQYXJlbnQub2Zmc2V0KCk7DQoJCX0NCg0KCQkvL0NhbGwgY2FsbGJhY2tzDQoJCXRoaXMuX3RyaWdnZXIoICJzdGFydCIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSApOw0KDQoJCS8vUmVjYWNoZSB0aGUgaGVscGVyIHNpemUNCgkJaWYgKCAhdGhpcy5fcHJlc2VydmVIZWxwZXJQcm9wb3J0aW9ucyApIHsNCgkJCXRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKTsNCgkJfQ0KDQoJCS8vUG9zdCAiYWN0aXZhdGUiIGV2ZW50cyB0byBwb3NzaWJsZSBjb250YWluZXJzDQoJCWlmICggIW5vQWN0aXZhdGlvbiApIHsNCgkJCWZvciAoIGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQkJdGhpcy5jb250YWluZXJzWyBpIF0uX3RyaWdnZXIoICJhY3RpdmF0ZSIsIGV2ZW50LCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJfQ0KCQl9DQoNCgkJLy9QcmVwYXJlIHBvc3NpYmxlIGRyb3BwYWJsZXMNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLmN1cnJlbnQgPSB0aGlzOw0KCQl9DQoNCgkJaWYgKCAkLnVpLmRkbWFuYWdlciAmJiAhby5kcm9wQmVoYXZpb3VyICkgew0KCQkJJC51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHMoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQl0aGlzLmRyYWdnaW5nID0gdHJ1ZTsNCg0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5oZWxwZXIsICJ1aS1zb3J0YWJsZS1oZWxwZXIiICk7DQoNCgkJLy8gRXhlY3V0ZSB0aGUgZHJhZyBvbmNlIC0gdGhpcyBjYXVzZXMgdGhlIGhlbHBlciBub3QgdG8gYmUgdmlzaWJsZWJlZm9yZSBnZXR0aW5nIGl0cw0KCQkvLyBjb3JyZWN0IHBvc2l0aW9uDQoJCXRoaXMuX21vdXNlRHJhZyggZXZlbnQgKTsNCgkJcmV0dXJuIHRydWU7DQoNCgl9LA0KDQoJX21vdXNlRHJhZzogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgaSwgaXRlbSwgaXRlbUVsZW1lbnQsIGludGVyc2VjdGlvbiwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlzY3JvbGxlZCA9IGZhbHNlOw0KDQoJCS8vQ29tcHV0ZSB0aGUgaGVscGVycyBwb3NpdGlvbg0KCQl0aGlzLnBvc2l0aW9uID0gdGhpcy5fZ2VuZXJhdGVQb3NpdGlvbiggZXZlbnQgKTsNCgkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoNCgkJaWYgKCAhdGhpcy5sYXN0UG9zaXRpb25BYnMgKSB7DQoJCQl0aGlzLmxhc3RQb3NpdGlvbkFicyA9IHRoaXMucG9zaXRpb25BYnM7DQoJCX0NCg0KCQkvL0RvIHNjcm9sbGluZw0KCQlpZiAoIHRoaXMub3B0aW9ucy5zY3JvbGwgKSB7DQoJCQlpZiAoIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gIT09IHRoaXMuZG9jdW1lbnRbIDAgXSAmJg0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnRhZ05hbWUgIT09ICJIVE1MIiApIHsNCg0KCQkJCWlmICggKCB0aGlzLm92ZXJmbG93T2Zmc2V0LnRvcCArIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0ub2Zmc2V0SGVpZ2h0ICkgLQ0KCQkJCQkJZXZlbnQucGFnZVkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbFRvcCA9DQoJCQkJCQlzY3JvbGxlZCA9IHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0uc2Nyb2xsVG9wICsgby5zY3JvbGxTcGVlZDsNCgkJCQl9IGVsc2UgaWYgKCBldmVudC5wYWdlWSAtIHRoaXMub3ZlcmZsb3dPZmZzZXQudG9wIDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnRbIDAgXS5zY3JvbGxUb3AgPQ0KCQkJCQkJc2Nyb2xsZWQgPSB0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbFRvcCAtIG8uc2Nyb2xsU3BlZWQ7DQoJCQkJfQ0KDQoJCQkJaWYgKCAoIHRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdCArIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0ub2Zmc2V0V2lkdGggKSAtDQoJCQkJCQlldmVudC5wYWdlWCA8IG8uc2Nyb2xsU2Vuc2l0aXZpdHkgKSB7DQoJCQkJCXRoaXMuc2Nyb2xsUGFyZW50WyAwIF0uc2Nyb2xsTGVmdCA9IHNjcm9sbGVkID0NCgkJCQkJCXRoaXMuc2Nyb2xsUGFyZW50WyAwIF0uc2Nyb2xsTGVmdCArIG8uc2Nyb2xsU3BlZWQ7DQoJCQkJfSBlbHNlIGlmICggZXZlbnQucGFnZVggLSB0aGlzLm92ZXJmbG93T2Zmc2V0LmxlZnQgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbExlZnQgPSBzY3JvbGxlZCA9DQoJCQkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdLnNjcm9sbExlZnQgLSBvLnNjcm9sbFNwZWVkOw0KCQkJCX0NCg0KCQkJfSBlbHNlIHsNCg0KCQkJCWlmICggZXZlbnQucGFnZVkgLSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCgpIDwgby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCggdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKSAtIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9IGVsc2UgaWYgKCB0aGlzLndpbmRvdy5oZWlnaHQoKSAtICggZXZlbnQucGFnZVkgLSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCgpICkgPA0KCQkJCQkJby5zY3JvbGxTZW5zaXRpdml0eSApIHsNCgkJCQkJc2Nyb2xsZWQgPSB0aGlzLmRvY3VtZW50LnNjcm9sbFRvcCggdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKSArIG8uc2Nyb2xsU3BlZWQgKTsNCgkJCQl9DQoNCgkJCQlpZiAoIGV2ZW50LnBhZ2VYIC0gdGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCkgPCBvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9IHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgNCgkJCQkJCXRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpIC0gby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0gZWxzZSBpZiAoIHRoaXMud2luZG93LndpZHRoKCkgLSAoIGV2ZW50LnBhZ2VYIC0gdGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCkgKSA8DQoJCQkJCQlvLnNjcm9sbFNlbnNpdGl2aXR5ICkgew0KCQkJCQlzY3JvbGxlZCA9IHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgNCgkJCQkJCXRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpICsgby5zY3JvbGxTcGVlZA0KCQkJCQkpOw0KCQkJCX0NCg0KCQkJfQ0KDQoJCQlpZiAoIHNjcm9sbGVkICE9PSBmYWxzZSAmJiAkLnVpLmRkbWFuYWdlciAmJiAhby5kcm9wQmVoYXZpb3VyICkgew0KCQkJCSQudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKCB0aGlzLCBldmVudCApOw0KCQkJfQ0KCQl9DQoNCgkJLy9SZWdlbmVyYXRlIHRoZSBhYnNvbHV0ZSBwb3NpdGlvbiB1c2VkIGZvciBwb3NpdGlvbiBjaGVja3MNCgkJdGhpcy5wb3NpdGlvbkFicyA9IHRoaXMuX2NvbnZlcnRQb3NpdGlvblRvKCAiYWJzb2x1dGUiICk7DQoNCgkJLy9TZXQgdGhlIGhlbHBlciBwb3NpdGlvbg0KCQlpZiAoICF0aGlzLm9wdGlvbnMuYXhpcyB8fCB0aGlzLm9wdGlvbnMuYXhpcyAhPT0gInkiICkgew0KCQkJdGhpcy5oZWxwZXJbIDAgXS5zdHlsZS5sZWZ0ID0gdGhpcy5wb3NpdGlvbi5sZWZ0ICsgInB4IjsNCgkJfQ0KCQlpZiAoICF0aGlzLm9wdGlvbnMuYXhpcyB8fCB0aGlzLm9wdGlvbnMuYXhpcyAhPT0gIngiICkgew0KCQkJdGhpcy5oZWxwZXJbIDAgXS5zdHlsZS50b3AgPSB0aGlzLnBvc2l0aW9uLnRvcCArICJweCI7DQoJCX0NCg0KCQkvL1JlYXJyYW5nZQ0KCQlmb3IgKCBpID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSApIHsNCg0KCQkJLy9DYWNoZSB2YXJpYWJsZXMgYW5kIGludGVyc2VjdGlvbiwgY29udGludWUgaWYgbm8gaW50ZXJzZWN0aW9uDQoJCQlpdGVtID0gdGhpcy5pdGVtc1sgaSBdOw0KCQkJaXRlbUVsZW1lbnQgPSBpdGVtLml0ZW1bIDAgXTsNCgkJCWludGVyc2VjdGlvbiA9IHRoaXMuX2ludGVyc2VjdHNXaXRoUG9pbnRlciggaXRlbSApOw0KCQkJaWYgKCAhaW50ZXJzZWN0aW9uICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBPbmx5IHB1dCB0aGUgcGxhY2Vob2xkZXIgaW5zaWRlIHRoZSBjdXJyZW50IENvbnRhaW5lciwgc2tpcCBhbGwNCgkJCS8vIGl0ZW1zIGZyb20gb3RoZXIgY29udGFpbmVycy4gVGhpcyB3b3JrcyBiZWNhdXNlIHdoZW4gbW92aW5nDQoJCQkvLyBhbiBpdGVtIGZyb20gb25lIGNvbnRhaW5lciB0byBhbm90aGVyIHRoZQ0KCQkJLy8gY3VycmVudENvbnRhaW5lciBpcyBzd2l0Y2hlZCBiZWZvcmUgdGhlIHBsYWNlaG9sZGVyIGlzIG1vdmVkLg0KCQkJLy8NCgkJCS8vIFdpdGhvdXQgdGhpcywgbW92aW5nIGl0ZW1zIGluICJzdWItc29ydGFibGVzIiBjYW4gY2F1c2UNCgkJCS8vIHRoZSBwbGFjZWhvbGRlciB0byBqaXR0ZXIgYmV0d2VlbiB0aGUgb3V0ZXIgYW5kIGlubmVyIGNvbnRhaW5lci4NCgkJCWlmICggaXRlbS5pbnN0YW5jZSAhPT0gdGhpcy5jdXJyZW50Q29udGFpbmVyICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQkvLyBDYW5ub3QgaW50ZXJzZWN0IHdpdGggaXRzZWxmDQoJCQkvLyBubyB1c2VsZXNzIGFjdGlvbnMgdGhhdCBoYXZlIGJlZW4gZG9uZSBiZWZvcmUNCgkJCS8vIG5vIGFjdGlvbiBpZiB0aGUgaXRlbSBtb3ZlZCBpcyB0aGUgcGFyZW50IG9mIHRoZSBpdGVtIGNoZWNrZWQNCgkJCWlmICggaXRlbUVsZW1lbnQgIT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSAmJg0KCQkJCXRoaXMucGxhY2Vob2xkZXJbIGludGVyc2VjdGlvbiA9PT0gMSA/ICJuZXh0IiA6ICJwcmV2IiBdKClbIDAgXSAhPT0gaXRlbUVsZW1lbnQgJiYNCgkJCQkhJC5jb250YWlucyggdGhpcy5wbGFjZWhvbGRlclsgMCBdLCBpdGVtRWxlbWVudCApICYmDQoJCQkJKCB0aGlzLm9wdGlvbnMudHlwZSA9PT0gInNlbWktZHluYW1pYyIgPw0KCQkJCQkhJC5jb250YWlucyggdGhpcy5lbGVtZW50WyAwIF0sIGl0ZW1FbGVtZW50ICkgOg0KCQkJCQl0cnVlDQoJCQkJKQ0KCQkJKSB7DQoNCgkJCQl0aGlzLmRpcmVjdGlvbiA9IGludGVyc2VjdGlvbiA9PT0gMSA/ICJkb3duIiA6ICJ1cCI7DQoNCgkJCQlpZiAoIHRoaXMub3B0aW9ucy50b2xlcmFuY2UgPT09ICJwb2ludGVyIiB8fCB0aGlzLl9pbnRlcnNlY3RzV2l0aFNpZGVzKCBpdGVtICkgKSB7DQoJCQkJCXRoaXMuX3JlYXJyYW5nZSggZXZlbnQsIGl0ZW0gKTsNCgkJCQl9IGVsc2Ugew0KCQkJCQlicmVhazsNCgkJCQl9DQoNCgkJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCQkJYnJlYWs7DQoJCQl9DQoJCX0NCg0KCQkvL1Bvc3QgZXZlbnRzIHRvIGNvbnRhaW5lcnMNCgkJdGhpcy5fY29udGFjdENvbnRhaW5lcnMoIGV2ZW50ICk7DQoNCgkJLy9JbnRlcmNvbm5lY3Qgd2l0aCBkcm9wcGFibGVzDQoJCWlmICggJC51aS5kZG1hbmFnZXIgKSB7DQoJCQkkLnVpLmRkbWFuYWdlci5kcmFnKCB0aGlzLCBldmVudCApOw0KCQl9DQoNCgkJLy9DYWxsIGNhbGxiYWNrcw0KCQl0aGlzLl90cmlnZ2VyKCAic29ydCIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSApOw0KDQoJCXRoaXMubGFzdFBvc2l0aW9uQWJzID0gdGhpcy5wb3NpdGlvbkFiczsNCgkJcmV0dXJuIGZhbHNlOw0KDQoJfSwNCg0KCV9tb3VzZVN0b3A6IGZ1bmN0aW9uKCBldmVudCwgbm9Qcm9wYWdhdGlvbiApIHsNCg0KCQlpZiAoICFldmVudCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vSWYgd2UgYXJlIHVzaW5nIGRyb3BwYWJsZXMsIGluZm9ybSB0aGUgbWFuYWdlciBhYm91dCB0aGUgZHJvcA0KCQlpZiAoICQudWkuZGRtYW5hZ2VyICYmICF0aGlzLm9wdGlvbnMuZHJvcEJlaGF2aW91ciApIHsNCgkJCSQudWkuZGRtYW5hZ2VyLmRyb3AoIHRoaXMsIGV2ZW50ICk7DQoJCX0NCg0KCQlpZiAoIHRoaXMub3B0aW9ucy5yZXZlcnQgKSB7DQoJCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQkJY3VyID0gdGhpcy5wbGFjZWhvbGRlci5vZmZzZXQoKSwNCgkJCQlheGlzID0gdGhpcy5vcHRpb25zLmF4aXMsDQoJCQkJYW5pbWF0aW9uID0ge307DQoNCgkJCWlmICggIWF4aXMgfHwgYXhpcyA9PT0gIngiICkgew0KCQkJCWFuaW1hdGlvbi5sZWZ0ID0gY3VyLmxlZnQgLSB0aGlzLm9mZnNldC5wYXJlbnQubGVmdCAtIHRoaXMubWFyZ2lucy5sZWZ0ICsNCgkJCQkJKCB0aGlzLm9mZnNldFBhcmVudFsgMCBdID09PSB0aGlzLmRvY3VtZW50WyAwIF0uYm9keSA/DQoJCQkJCQkwIDoNCgkJCQkJCXRoaXMub2Zmc2V0UGFyZW50WyAwIF0uc2Nyb2xsTGVmdA0KCQkJCQkpOw0KCQkJfQ0KCQkJaWYgKCAhYXhpcyB8fCBheGlzID09PSAieSIgKSB7DQoJCQkJYW5pbWF0aW9uLnRvcCA9IGN1ci50b3AgLSB0aGlzLm9mZnNldC5wYXJlbnQudG9wIC0gdGhpcy5tYXJnaW5zLnRvcCArDQoJCQkJCSggdGhpcy5vZmZzZXRQYXJlbnRbIDAgXSA9PT0gdGhpcy5kb2N1bWVudFsgMCBdLmJvZHkgPw0KCQkJCQkJMCA6DQoJCQkJCQl0aGlzLm9mZnNldFBhcmVudFsgMCBdLnNjcm9sbFRvcA0KCQkJCQkpOw0KCQkJfQ0KCQkJdGhpcy5yZXZlcnRpbmcgPSB0cnVlOw0KCQkJJCggdGhpcy5oZWxwZXIgKS5hbmltYXRlKA0KCQkJCWFuaW1hdGlvbiwNCgkJCQlwYXJzZUludCggdGhpcy5vcHRpb25zLnJldmVydCwgMTAgKSB8fCA1MDAsDQoJCQkJZnVuY3Rpb24oKSB7DQoJCQkJCXRoYXQuX2NsZWFyKCBldmVudCApOw0KCQkJCX0NCgkJCSk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLl9jbGVhciggZXZlbnQsIG5vUHJvcGFnYXRpb24gKTsNCgkJfQ0KDQoJCXJldHVybiBmYWxzZTsNCg0KCX0sDQoNCgljYW5jZWw6IGZ1bmN0aW9uKCkgew0KDQoJCWlmICggdGhpcy5kcmFnZ2luZyApIHsNCg0KCQkJdGhpcy5fbW91c2VVcCggbmV3ICQuRXZlbnQoICJtb3VzZXVwIiwgeyB0YXJnZXQ6IG51bGwgfSApICk7DQoNCgkJCWlmICggdGhpcy5vcHRpb25zLmhlbHBlciA9PT0gIm9yaWdpbmFsIiApIHsNCgkJCQl0aGlzLmN1cnJlbnRJdGVtLmNzcyggdGhpcy5fc3RvcmVkQ1NTICk7DQoJCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuY3VycmVudEl0ZW0sICJ1aS1zb3J0YWJsZS1oZWxwZXIiICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuY3VycmVudEl0ZW0uc2hvdygpOw0KCQkJfQ0KDQoJCQkvL1Bvc3QgZGVhY3RpdmF0aW5nIGV2ZW50cyB0byBjb250YWluZXJzDQoJCQlmb3IgKCB2YXIgaSA9IHRoaXMuY29udGFpbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSApIHsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5fdHJpZ2dlciggImRlYWN0aXZhdGUiLCBudWxsLCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJCWlmICggdGhpcy5jb250YWluZXJzWyBpIF0uY29udGFpbmVyQ2FjaGUub3ZlciApIHsNCgkJCQkJdGhpcy5jb250YWluZXJzWyBpIF0uX3RyaWdnZXIoICJvdXQiLCBudWxsLCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyID0gMDsNCgkJCQl9DQoJCQl9DQoNCgkJfQ0KDQoJCWlmICggdGhpcy5wbGFjZWhvbGRlciApIHsNCg0KCQkJLy8kKHRoaXMucGxhY2Vob2xkZXJbMF0pLnJlbW92ZSgpOyB3b3VsZCBoYXZlIGJlZW4gdGhlIGpRdWVyeSB3YXkgLSB1bmZvcnR1bmF0ZWx5LA0KCQkJLy8gaXQgdW5iaW5kcyBBTEwgZXZlbnRzIGZyb20gdGhlIG9yaWdpbmFsIG5vZGUhDQoJCQlpZiAoIHRoaXMucGxhY2Vob2xkZXJbIDAgXS5wYXJlbnROb2RlICkgew0KCQkJCXRoaXMucGxhY2Vob2xkZXJbIDAgXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB0aGlzLnBsYWNlaG9sZGVyWyAwIF0gKTsNCgkJCX0NCgkJCWlmICggdGhpcy5vcHRpb25zLmhlbHBlciAhPT0gIm9yaWdpbmFsIiAmJiB0aGlzLmhlbHBlciAmJg0KCQkJCQl0aGlzLmhlbHBlclsgMCBdLnBhcmVudE5vZGUgKSB7DQoJCQkJdGhpcy5oZWxwZXIucmVtb3ZlKCk7DQoJCQl9DQoNCgkJCSQuZXh0ZW5kKCB0aGlzLCB7DQoJCQkJaGVscGVyOiBudWxsLA0KCQkJCWRyYWdnaW5nOiBmYWxzZSwNCgkJCQlyZXZlcnRpbmc6IGZhbHNlLA0KCQkJCV9ub0ZpbmFsU29ydDogbnVsbA0KCQkJfSApOw0KDQoJCQlpZiAoIHRoaXMuZG9tUG9zaXRpb24ucHJldiApIHsNCgkJCQkkKCB0aGlzLmRvbVBvc2l0aW9uLnByZXYgKS5hZnRlciggdGhpcy5jdXJyZW50SXRlbSApOw0KCQkJfSBlbHNlIHsNCgkJCQkkKCB0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCApLnByZXBlbmQoIHRoaXMuY3VycmVudEl0ZW0gKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KDQoJfSwNCg0KCXNlcmlhbGl6ZTogZnVuY3Rpb24oIG8gKSB7DQoNCgkJdmFyIGl0ZW1zID0gdGhpcy5fZ2V0SXRlbXNBc2pRdWVyeSggbyAmJiBvLmNvbm5lY3RlZCApLA0KCQkJc3RyID0gW107DQoJCW8gPSBvIHx8IHt9Ow0KDQoJCSQoIGl0ZW1zICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQl2YXIgcmVzID0gKCAkKCBvLml0ZW0gfHwgdGhpcyApLmF0dHIoIG8uYXR0cmlidXRlIHx8ICJpZCIgKSB8fCAiIiApDQoJCQkJLm1hdGNoKCBvLmV4cHJlc3Npb24gfHwgKCAvKC4rKVtcLT1fXSguKykvICkgKTsNCgkJCWlmICggcmVzICkgew0KCQkJCXN0ci5wdXNoKA0KCQkJCQkoIG8ua2V5IHx8IHJlc1sgMSBdICsgIltdIiApICsNCgkJCQkJIj0iICsgKCBvLmtleSAmJiBvLmV4cHJlc3Npb24gPyByZXNbIDEgXSA6IHJlc1sgMiBdICkgKTsNCgkJCX0NCgkJfSApOw0KDQoJCWlmICggIXN0ci5sZW5ndGggJiYgby5rZXkgKSB7DQoJCQlzdHIucHVzaCggby5rZXkgKyAiPSIgKTsNCgkJfQ0KDQoJCXJldHVybiBzdHIuam9pbiggIiYiICk7DQoNCgl9LA0KDQoJdG9BcnJheTogZnVuY3Rpb24oIG8gKSB7DQoNCgkJdmFyIGl0ZW1zID0gdGhpcy5fZ2V0SXRlbXNBc2pRdWVyeSggbyAmJiBvLmNvbm5lY3RlZCApLA0KCQkJcmV0ID0gW107DQoNCgkJbyA9IG8gfHwge307DQoNCgkJaXRlbXMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlyZXQucHVzaCggJCggby5pdGVtIHx8IHRoaXMgKS5hdHRyKCBvLmF0dHJpYnV0ZSB8fCAiaWQiICkgfHwgIiIgKTsNCgkJfSApOw0KCQlyZXR1cm4gcmV0Ow0KDQoJfSwNCg0KCS8qIEJlIGNhcmVmdWwgd2l0aCB0aGUgZm9sbG93aW5nIGNvcmUgZnVuY3Rpb25zICovDQoJX2ludGVyc2VjdHNXaXRoOiBmdW5jdGlvbiggaXRlbSApIHsNCg0KCQl2YXIgeDEgPSB0aGlzLnBvc2l0aW9uQWJzLmxlZnQsDQoJCQl4MiA9IHgxICsgdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCwNCgkJCXkxID0gdGhpcy5wb3NpdGlvbkFicy50b3AsDQoJCQl5MiA9IHkxICsgdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsDQoJCQlsID0gaXRlbS5sZWZ0LA0KCQkJciA9IGwgKyBpdGVtLndpZHRoLA0KCQkJdCA9IGl0ZW0udG9wLA0KCQkJYiA9IHQgKyBpdGVtLmhlaWdodCwNCgkJCWR5Q2xpY2sgPSB0aGlzLm9mZnNldC5jbGljay50b3AsDQoJCQlkeENsaWNrID0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCwNCgkJCWlzT3ZlckVsZW1lbnRIZWlnaHQgPSAoIHRoaXMub3B0aW9ucy5heGlzID09PSAieCIgKSB8fCAoICggeTEgKyBkeUNsaWNrICkgPiB0ICYmDQoJCQkJKCB5MSArIGR5Q2xpY2sgKSA8IGIgKSwNCgkJCWlzT3ZlckVsZW1lbnRXaWR0aCA9ICggdGhpcy5vcHRpb25zLmF4aXMgPT09ICJ5IiApIHx8ICggKCB4MSArIGR4Q2xpY2sgKSA+IGwgJiYNCgkJCQkoIHgxICsgZHhDbGljayApIDwgciApLA0KCQkJaXNPdmVyRWxlbWVudCA9IGlzT3ZlckVsZW1lbnRIZWlnaHQgJiYgaXNPdmVyRWxlbWVudFdpZHRoOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLnRvbGVyYW5jZSA9PT0gInBvaW50ZXIiIHx8DQoJCQl0aGlzLm9wdGlvbnMuZm9yY2VQb2ludGVyRm9yQ29udGFpbmVycyB8fA0KCQkJKCB0aGlzLm9wdGlvbnMudG9sZXJhbmNlICE9PSAicG9pbnRlciIgJiYNCgkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zWyB0aGlzLmZsb2F0aW5nID8gIndpZHRoIiA6ICJoZWlnaHQiIF0gPg0KCQkJCWl0ZW1bIHRoaXMuZmxvYXRpbmcgPyAid2lkdGgiIDogImhlaWdodCIgXSApDQoJCSkgew0KCQkJcmV0dXJuIGlzT3ZlckVsZW1lbnQ7DQoJCX0gZWxzZSB7DQoNCgkJCXJldHVybiAoIGwgPCB4MSArICggdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAvIDIgKSAmJiAvLyBSaWdodCBIYWxmDQoJCQkJeDIgLSAoIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLyAyICkgPCByICYmIC8vIExlZnQgSGFsZg0KCQkJCXQgPCB5MSArICggdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLyAyICkgJiYgLy8gQm90dG9tIEhhbGYNCgkJCQl5MiAtICggdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLyAyICkgPCBiICk7IC8vIFRvcCBIYWxmDQoNCgkJfQ0KCX0sDQoNCglfaW50ZXJzZWN0c1dpdGhQb2ludGVyOiBmdW5jdGlvbiggaXRlbSApIHsNCgkJdmFyIHZlcnRpY2FsRGlyZWN0aW9uLCBob3Jpem9udGFsRGlyZWN0aW9uLA0KCQkJaXNPdmVyRWxlbWVudEhlaWdodCA9ICggdGhpcy5vcHRpb25zLmF4aXMgPT09ICJ4IiApIHx8DQoJCQkJdGhpcy5faXNPdmVyQXhpcygNCgkJCQkJdGhpcy5wb3NpdGlvbkFicy50b3AgKyB0aGlzLm9mZnNldC5jbGljay50b3AsIGl0ZW0udG9wLCBpdGVtLmhlaWdodCApLA0KCQkJaXNPdmVyRWxlbWVudFdpZHRoID0gKCB0aGlzLm9wdGlvbnMuYXhpcyA9PT0gInkiICkgfHwNCgkJCQl0aGlzLl9pc092ZXJBeGlzKA0KCQkJCQl0aGlzLnBvc2l0aW9uQWJzLmxlZnQgKyB0aGlzLm9mZnNldC5jbGljay5sZWZ0LCBpdGVtLmxlZnQsIGl0ZW0ud2lkdGggKSwNCgkJCWlzT3ZlckVsZW1lbnQgPSBpc092ZXJFbGVtZW50SGVpZ2h0ICYmIGlzT3ZlckVsZW1lbnRXaWR0aDsNCg0KCQlpZiAoICFpc092ZXJFbGVtZW50ICkgew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoNCgkJdmVydGljYWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKTsNCgkJaG9yaXpvbnRhbERpcmVjdGlvbiA9IHRoaXMuX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uKCk7DQoNCgkJcmV0dXJuIHRoaXMuZmxvYXRpbmcgPw0KCQkJKCAoIGhvcml6b250YWxEaXJlY3Rpb24gPT09ICJyaWdodCIgfHwgdmVydGljYWxEaXJlY3Rpb24gPT09ICJkb3duIiApID8gMiA6IDEgKQ0KCQkJOiAoIHZlcnRpY2FsRGlyZWN0aW9uICYmICggdmVydGljYWxEaXJlY3Rpb24gPT09ICJkb3duIiA/IDIgOiAxICkgKTsNCg0KCX0sDQoNCglfaW50ZXJzZWN0c1dpdGhTaWRlczogZnVuY3Rpb24oIGl0ZW0gKSB7DQoNCgkJdmFyIGlzT3ZlckJvdHRvbUhhbGYgPSB0aGlzLl9pc092ZXJBeGlzKCB0aGlzLnBvc2l0aW9uQWJzLnRvcCArDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wLCBpdGVtLnRvcCArICggaXRlbS5oZWlnaHQgLyAyICksIGl0ZW0uaGVpZ2h0ICksDQoJCQlpc092ZXJSaWdodEhhbGYgPSB0aGlzLl9pc092ZXJBeGlzKCB0aGlzLnBvc2l0aW9uQWJzLmxlZnQgKw0KCQkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQsIGl0ZW0ubGVmdCArICggaXRlbS53aWR0aCAvIDIgKSwgaXRlbS53aWR0aCApLA0KCQkJdmVydGljYWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnVmVydGljYWxEaXJlY3Rpb24oKSwNCgkJCWhvcml6b250YWxEaXJlY3Rpb24gPSB0aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpOw0KDQoJCWlmICggdGhpcy5mbG9hdGluZyAmJiBob3Jpem9udGFsRGlyZWN0aW9uICkgew0KCQkJcmV0dXJuICggKCBob3Jpem9udGFsRGlyZWN0aW9uID09PSAicmlnaHQiICYmIGlzT3ZlclJpZ2h0SGFsZiApIHx8DQoJCQkJKCBob3Jpem9udGFsRGlyZWN0aW9uID09PSAibGVmdCIgJiYgIWlzT3ZlclJpZ2h0SGFsZiApICk7DQoJCX0gZWxzZSB7DQoJCQlyZXR1cm4gdmVydGljYWxEaXJlY3Rpb24gJiYgKCAoIHZlcnRpY2FsRGlyZWN0aW9uID09PSAiZG93biIgJiYgaXNPdmVyQm90dG9tSGFsZiApIHx8DQoJCQkJKCB2ZXJ0aWNhbERpcmVjdGlvbiA9PT0gInVwIiAmJiAhaXNPdmVyQm90dG9tSGFsZiApICk7DQoJCX0NCg0KCX0sDQoNCglfZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uOiBmdW5jdGlvbigpIHsNCgkJdmFyIGRlbHRhID0gdGhpcy5wb3NpdGlvbkFicy50b3AgLSB0aGlzLmxhc3RQb3NpdGlvbkFicy50b3A7DQoJCXJldHVybiBkZWx0YSAhPT0gMCAmJiAoIGRlbHRhID4gMCA/ICJkb3duIiA6ICJ1cCIgKTsNCgl9LA0KDQoJX2dldERyYWdIb3Jpem9udGFsRGlyZWN0aW9uOiBmdW5jdGlvbigpIHsNCgkJdmFyIGRlbHRhID0gdGhpcy5wb3NpdGlvbkFicy5sZWZ0IC0gdGhpcy5sYXN0UG9zaXRpb25BYnMubGVmdDsNCgkJcmV0dXJuIGRlbHRhICE9PSAwICYmICggZGVsdGEgPiAwID8gInJpZ2h0IiA6ICJsZWZ0IiApOw0KCX0sDQoNCglyZWZyZXNoOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXRoaXMuX3JlZnJlc2hJdGVtcyggZXZlbnQgKTsNCgkJdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCk7DQoJCXRoaXMucmVmcmVzaFBvc2l0aW9ucygpOw0KCQlyZXR1cm4gdGhpczsNCgl9LA0KDQoJX2Nvbm5lY3RXaXRoOiBmdW5jdGlvbigpIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7DQoJCXJldHVybiBvcHRpb25zLmNvbm5lY3RXaXRoLmNvbnN0cnVjdG9yID09PSBTdHJpbmcgPw0KCQkJWyBvcHRpb25zLmNvbm5lY3RXaXRoIF0gOg0KCQkJb3B0aW9ucy5jb25uZWN0V2l0aDsNCgl9LA0KDQoJX2dldEl0ZW1zQXNqUXVlcnk6IGZ1bmN0aW9uKCBjb25uZWN0ZWQgKSB7DQoNCgkJdmFyIGksIGosIGN1ciwgaW5zdCwNCgkJCWl0ZW1zID0gW10sDQoJCQlxdWVyaWVzID0gW10sDQoJCQljb25uZWN0V2l0aCA9IHRoaXMuX2Nvbm5lY3RXaXRoKCk7DQoNCgkJaWYgKCBjb25uZWN0V2l0aCAmJiBjb25uZWN0ZWQgKSB7DQoJCQlmb3IgKCBpID0gY29ubmVjdFdpdGgubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQkJY3VyID0gJCggY29ubmVjdFdpdGhbIGkgXSwgdGhpcy5kb2N1bWVudFsgMCBdICk7DQoJCQkJZm9yICggaiA9IGN1ci5sZW5ndGggLSAxOyBqID49IDA7IGotLSApIHsNCgkJCQkJaW5zdCA9ICQuZGF0YSggY3VyWyBqIF0sIHRoaXMud2lkZ2V0RnVsbE5hbWUgKTsNCgkJCQkJaWYgKCBpbnN0ICYmIGluc3QgIT09IHRoaXMgJiYgIWluc3Qub3B0aW9ucy5kaXNhYmxlZCApIHsNCgkJCQkJCXF1ZXJpZXMucHVzaCggWyAkLmlzRnVuY3Rpb24oIGluc3Qub3B0aW9ucy5pdGVtcyApID8NCgkJCQkJCQlpbnN0Lm9wdGlvbnMuaXRlbXMuY2FsbCggaW5zdC5lbGVtZW50ICkgOg0KCQkJCQkJCSQoIGluc3Qub3B0aW9ucy5pdGVtcywgaW5zdC5lbGVtZW50ICkNCgkJCQkJCQkJLm5vdCggIi51aS1zb3J0YWJsZS1oZWxwZXIiICkNCgkJCQkJCQkJLm5vdCggIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIgKSwgaW5zdCBdICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9DQoJCX0NCg0KCQlxdWVyaWVzLnB1c2goIFsgJC5pc0Z1bmN0aW9uKCB0aGlzLm9wdGlvbnMuaXRlbXMgKSA/DQoJCQl0aGlzLm9wdGlvbnMuaXRlbXMNCgkJCQkuY2FsbCggdGhpcy5lbGVtZW50LCBudWxsLCB7IG9wdGlvbnM6IHRoaXMub3B0aW9ucywgaXRlbTogdGhpcy5jdXJyZW50SXRlbSB9ICkgOg0KCQkJJCggdGhpcy5vcHRpb25zLml0ZW1zLCB0aGlzLmVsZW1lbnQgKQ0KCQkJCS5ub3QoICIudWktc29ydGFibGUtaGVscGVyIiApDQoJCQkJLm5vdCggIi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIgKSwgdGhpcyBdICk7DQoNCgkJZnVuY3Rpb24gYWRkSXRlbXMoKSB7DQoJCQlpdGVtcy5wdXNoKCB0aGlzICk7DQoJCX0NCgkJZm9yICggaSA9IHF1ZXJpZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQlxdWVyaWVzWyBpIF1bIDAgXS5lYWNoKCBhZGRJdGVtcyApOw0KCQl9DQoNCgkJcmV0dXJuICQoIGl0ZW1zICk7DQoNCgl9LA0KDQoJX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zOiBmdW5jdGlvbigpIHsNCg0KCQl2YXIgbGlzdCA9IHRoaXMuY3VycmVudEl0ZW0uZmluZCggIjpkYXRhKCIgKyB0aGlzLndpZGdldE5hbWUgKyAiLWl0ZW0pIiApOw0KDQoJCXRoaXMuaXRlbXMgPSAkLmdyZXAoIHRoaXMuaXRlbXMsIGZ1bmN0aW9uKCBpdGVtICkgew0KCQkJZm9yICggdmFyIGogPSAwOyBqIDwgbGlzdC5sZW5ndGg7IGorKyApIHsNCgkJCQlpZiAoIGxpc3RbIGogXSA9PT0gaXRlbS5pdGVtWyAwIF0gKSB7DQoJCQkJCXJldHVybiBmYWxzZTsNCgkJCQl9DQoJCQl9DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfSApOw0KDQoJfSwNCg0KCV9yZWZyZXNoSXRlbXM6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQl0aGlzLml0ZW1zID0gW107DQoJCXRoaXMuY29udGFpbmVycyA9IFsgdGhpcyBdOw0KDQoJCXZhciBpLCBqLCBjdXIsIGluc3QsIHRhcmdldERhdGEsIF9xdWVyaWVzLCBpdGVtLCBxdWVyaWVzTGVuZ3RoLA0KCQkJaXRlbXMgPSB0aGlzLml0ZW1zLA0KCQkJcXVlcmllcyA9IFsgWyAkLmlzRnVuY3Rpb24oIHRoaXMub3B0aW9ucy5pdGVtcyApID8NCgkJCQl0aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCggdGhpcy5lbGVtZW50WyAwIF0sIGV2ZW50LCB7IGl0ZW06IHRoaXMuY3VycmVudEl0ZW0gfSApIDoNCgkJCQkkKCB0aGlzLm9wdGlvbnMuaXRlbXMsIHRoaXMuZWxlbWVudCApLCB0aGlzIF0gXSwNCgkJCWNvbm5lY3RXaXRoID0gdGhpcy5fY29ubmVjdFdpdGgoKTsNCg0KCQkvL1Nob3VsZG4ndCBiZSBydW4gdGhlIGZpcnN0IHRpbWUgdGhyb3VnaCBkdWUgdG8gbWFzc2l2ZSBzbG93LWRvd24NCgkJaWYgKCBjb25uZWN0V2l0aCAmJiB0aGlzLnJlYWR5ICkgew0KCQkJZm9yICggaSA9IGNvbm5lY3RXaXRoLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJCWN1ciA9ICQoIGNvbm5lY3RXaXRoWyBpIF0sIHRoaXMuZG9jdW1lbnRbIDAgXSApOw0KCQkJCWZvciAoIGogPSBjdXIubGVuZ3RoIC0gMTsgaiA+PSAwOyBqLS0gKSB7DQoJCQkJCWluc3QgPSAkLmRhdGEoIGN1clsgaiBdLCB0aGlzLndpZGdldEZ1bGxOYW1lICk7DQoJCQkJCWlmICggaW5zdCAmJiBpbnN0ICE9PSB0aGlzICYmICFpbnN0Lm9wdGlvbnMuZGlzYWJsZWQgKSB7DQoJCQkJCQlxdWVyaWVzLnB1c2goIFsgJC5pc0Z1bmN0aW9uKCBpbnN0Lm9wdGlvbnMuaXRlbXMgKSA/DQoJCQkJCQkJaW5zdC5vcHRpb25zLml0ZW1zDQoJCQkJCQkJCS5jYWxsKCBpbnN0LmVsZW1lbnRbIDAgXSwgZXZlbnQsIHsgaXRlbTogdGhpcy5jdXJyZW50SXRlbSB9ICkgOg0KCQkJCQkJCSQoIGluc3Qub3B0aW9ucy5pdGVtcywgaW5zdC5lbGVtZW50ICksIGluc3QgXSApOw0KCQkJCQkJdGhpcy5jb250YWluZXJzLnB1c2goIGluc3QgKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCWZvciAoIGkgPSBxdWVyaWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJdGFyZ2V0RGF0YSA9IHF1ZXJpZXNbIGkgXVsgMSBdOw0KCQkJX3F1ZXJpZXMgPSBxdWVyaWVzWyBpIF1bIDAgXTsNCg0KCQkJZm9yICggaiA9IDAsIHF1ZXJpZXNMZW5ndGggPSBfcXVlcmllcy5sZW5ndGg7IGogPCBxdWVyaWVzTGVuZ3RoOyBqKysgKSB7DQoJCQkJaXRlbSA9ICQoIF9xdWVyaWVzWyBqIF0gKTsNCg0KCQkJCS8vIERhdGEgZm9yIHRhcmdldCBjaGVja2luZyAobW91c2UgbWFuYWdlcikNCgkJCQlpdGVtLmRhdGEoIHRoaXMud2lkZ2V0TmFtZSArICItaXRlbSIsIHRhcmdldERhdGEgKTsNCg0KCQkJCWl0ZW1zLnB1c2goIHsNCgkJCQkJaXRlbTogaXRlbSwNCgkJCQkJaW5zdGFuY2U6IHRhcmdldERhdGEsDQoJCQkJCXdpZHRoOiAwLCBoZWlnaHQ6IDAsDQoJCQkJCWxlZnQ6IDAsIHRvcDogMA0KCQkJCX0gKTsNCgkJCX0NCgkJfQ0KDQoJfSwNCg0KCXJlZnJlc2hQb3NpdGlvbnM6IGZ1bmN0aW9uKCBmYXN0ICkgew0KDQoJCS8vIERldGVybWluZSB3aGV0aGVyIGl0ZW1zIGFyZSBiZWluZyBkaXNwbGF5ZWQgaG9yaXpvbnRhbGx5DQoJCXRoaXMuZmxvYXRpbmcgPSB0aGlzLml0ZW1zLmxlbmd0aCA/DQoJCQl0aGlzLm9wdGlvbnMuYXhpcyA9PT0gIngiIHx8IHRoaXMuX2lzRmxvYXRpbmcoIHRoaXMuaXRlbXNbIDAgXS5pdGVtICkgOg0KCQkJZmFsc2U7DQoNCgkJLy9UaGlzIGhhcyB0byBiZSByZWRvbmUgYmVjYXVzZSBkdWUgdG8gdGhlIGl0ZW0gYmVpbmcgbW92ZWQgb3V0L2ludG8gdGhlIG9mZnNldFBhcmVudCwNCgkJLy8gdGhlIG9mZnNldFBhcmVudCdzIHBvc2l0aW9uIHdpbGwgY2hhbmdlDQoJCWlmICggdGhpcy5vZmZzZXRQYXJlbnQgJiYgdGhpcy5oZWxwZXIgKSB7DQoJCQl0aGlzLm9mZnNldC5wYXJlbnQgPSB0aGlzLl9nZXRQYXJlbnRPZmZzZXQoKTsNCgkJfQ0KDQoJCXZhciBpLCBpdGVtLCB0LCBwOw0KDQoJCWZvciAoIGkgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KCQkJaXRlbSA9IHRoaXMuaXRlbXNbIGkgXTsNCg0KCQkJLy9XZSBpZ25vcmUgY2FsY3VsYXRpbmcgcG9zaXRpb25zIG9mIGFsbCBjb25uZWN0ZWQgY29udGFpbmVycyB3aGVuIHdlJ3JlIG5vdCBvdmVyIHRoZW0NCgkJCWlmICggaXRlbS5pbnN0YW5jZSAhPT0gdGhpcy5jdXJyZW50Q29udGFpbmVyICYmIHRoaXMuY3VycmVudENvbnRhaW5lciAmJg0KCQkJCQlpdGVtLml0ZW1bIDAgXSAhPT0gdGhpcy5jdXJyZW50SXRlbVsgMCBdICkgew0KCQkJCWNvbnRpbnVlOw0KCQkJfQ0KDQoJCQl0ID0gdGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQgPw0KCQkJCSQoIHRoaXMub3B0aW9ucy50b2xlcmFuY2VFbGVtZW50LCBpdGVtLml0ZW0gKSA6DQoJCQkJaXRlbS5pdGVtOw0KDQoJCQlpZiAoICFmYXN0ICkgew0KCQkJCWl0ZW0ud2lkdGggPSB0Lm91dGVyV2lkdGgoKTsNCgkJCQlpdGVtLmhlaWdodCA9IHQub3V0ZXJIZWlnaHQoKTsNCgkJCX0NCg0KCQkJcCA9IHQub2Zmc2V0KCk7DQoJCQlpdGVtLmxlZnQgPSBwLmxlZnQ7DQoJCQlpdGVtLnRvcCA9IHAudG9wOw0KCQl9DQoNCgkJaWYgKCB0aGlzLm9wdGlvbnMuY3VzdG9tICYmIHRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMgKSB7DQoJCQl0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzLmNhbGwoIHRoaXMgKTsNCgkJfSBlbHNlIHsNCgkJCWZvciAoIGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQkJcCA9IHRoaXMuY29udGFpbmVyc1sgaSBdLmVsZW1lbnQub2Zmc2V0KCk7DQoJCQkJdGhpcy5jb250YWluZXJzWyBpIF0uY29udGFpbmVyQ2FjaGUubGVmdCA9IHAubGVmdDsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS50b3AgPSBwLnRvcDsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS53aWR0aCA9DQoJCQkJCXRoaXMuY29udGFpbmVyc1sgaSBdLmVsZW1lbnQub3V0ZXJXaWR0aCgpOw0KCQkJCXRoaXMuY29udGFpbmVyc1sgaSBdLmNvbnRhaW5lckNhY2hlLmhlaWdodCA9DQoJCQkJCXRoaXMuY29udGFpbmVyc1sgaSBdLmVsZW1lbnQub3V0ZXJIZWlnaHQoKTsNCgkJCX0NCgkJfQ0KDQoJCXJldHVybiB0aGlzOw0KCX0sDQoNCglfY3JlYXRlUGxhY2Vob2xkZXI6IGZ1bmN0aW9uKCB0aGF0ICkgew0KCQl0aGF0ID0gdGhhdCB8fCB0aGlzOw0KCQl2YXIgY2xhc3NOYW1lLA0KCQkJbyA9IHRoYXQub3B0aW9uczsNCg0KCQlpZiAoICFvLnBsYWNlaG9sZGVyIHx8IG8ucGxhY2Vob2xkZXIuY29uc3RydWN0b3IgPT09IFN0cmluZyApIHsNCgkJCWNsYXNzTmFtZSA9IG8ucGxhY2Vob2xkZXI7DQoJCQlvLnBsYWNlaG9sZGVyID0gew0KCQkJCWVsZW1lbnQ6IGZ1bmN0aW9uKCkgew0KDQoJCQkJCXZhciBub2RlTmFtZSA9IHRoYXQuY3VycmVudEl0ZW1bIDAgXS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLA0KCQkJCQkJZWxlbWVudCA9ICQoICI8IiArIG5vZGVOYW1lICsgIj4iLCB0aGF0LmRvY3VtZW50WyAwIF0gKTsNCg0KCQkJCQkJdGhhdC5fYWRkQ2xhc3MoIGVsZW1lbnQsICJ1aS1zb3J0YWJsZS1wbGFjZWhvbGRlciIsDQoJCQkJCQkJCWNsYXNzTmFtZSB8fCB0aGF0LmN1cnJlbnRJdGVtWyAwIF0uY2xhc3NOYW1lICkNCgkJCQkJCQkuX3JlbW92ZUNsYXNzKCBlbGVtZW50LCAidWktc29ydGFibGUtaGVscGVyIiApOw0KDQoJCQkJCWlmICggbm9kZU5hbWUgPT09ICJ0Ym9keSIgKSB7DQoJCQkJCQl0aGF0Ll9jcmVhdGVUclBsYWNlaG9sZGVyKA0KCQkJCQkJCXRoYXQuY3VycmVudEl0ZW0uZmluZCggInRyIiApLmVxKCAwICksDQoJCQkJCQkJJCggIjx0cj4iLCB0aGF0LmRvY3VtZW50WyAwIF0gKS5hcHBlbmRUbyggZWxlbWVudCApDQoJCQkJCQkpOw0KCQkJCQl9IGVsc2UgaWYgKCBub2RlTmFtZSA9PT0gInRyIiApIHsNCgkJCQkJCXRoYXQuX2NyZWF0ZVRyUGxhY2Vob2xkZXIoIHRoYXQuY3VycmVudEl0ZW0sIGVsZW1lbnQgKTsNCgkJCQkJfSBlbHNlIGlmICggbm9kZU5hbWUgPT09ICJpbWciICkgew0KCQkJCQkJZWxlbWVudC5hdHRyKCAic3JjIiwgdGhhdC5jdXJyZW50SXRlbS5hdHRyKCAic3JjIiApICk7DQoJCQkJCX0NCg0KCQkJCQlpZiAoICFjbGFzc05hbWUgKSB7DQoJCQkJCQllbGVtZW50LmNzcyggInZpc2liaWxpdHkiLCAiaGlkZGVuIiApOw0KCQkJCQl9DQoNCgkJCQkJcmV0dXJuIGVsZW1lbnQ7DQoJCQkJfSwNCgkJCQl1cGRhdGU6IGZ1bmN0aW9uKCBjb250YWluZXIsIHAgKSB7DQoNCgkJCQkJLy8gMS4gSWYgYSBjbGFzc05hbWUgaXMgc2V0IGFzICdwbGFjZWhvbGRlciBvcHRpb24sIHdlIGRvbid0IGZvcmNlIHNpemVzIC0NCgkJCQkJLy8gdGhlIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciB0aGF0DQoJCQkJCS8vIDIuIFRoZSBvcHRpb24gJ2ZvcmNlUGxhY2Vob2xkZXJTaXplIGNhbiBiZSBlbmFibGVkIHRvIGZvcmNlIGl0IGV2ZW4gaWYgYQ0KCQkJCQkvLyBjbGFzcyBuYW1lIGlzIHNwZWNpZmllZA0KCQkJCQlpZiAoIGNsYXNzTmFtZSAmJiAhby5mb3JjZVBsYWNlaG9sZGVyU2l6ZSApIHsNCgkJCQkJCXJldHVybjsNCgkJCQkJfQ0KDQoJCQkJCS8vSWYgdGhlIGVsZW1lbnQgZG9lc24ndCBoYXZlIGEgYWN0dWFsIGhlaWdodCBieSBpdHNlbGYgKHdpdGhvdXQgc3R5bGVzIGNvbWluZw0KCQkJCQkvLyBmcm9tIGEgc3R5bGVzaGVldCksIGl0IHJlY2VpdmVzIHRoZSBpbmxpbmUgaGVpZ2h0IGZyb20gdGhlIGRyYWdnZWQgaXRlbQ0KCQkJCQlpZiAoICFwLmhlaWdodCgpICkgew0KCQkJCQkJcC5oZWlnaHQoDQoJCQkJCQkJdGhhdC5jdXJyZW50SXRlbS5pbm5lckhlaWdodCgpIC0NCgkJCQkJCQlwYXJzZUludCggdGhhdC5jdXJyZW50SXRlbS5jc3MoICJwYWRkaW5nVG9wIiApIHx8IDAsIDEwICkgLQ0KCQkJCQkJCXBhcnNlSW50KCB0aGF0LmN1cnJlbnRJdGVtLmNzcyggInBhZGRpbmdCb3R0b20iICkgfHwgMCwgMTAgKSApOw0KCQkJCQl9DQoJCQkJCWlmICggIXAud2lkdGgoKSApIHsNCgkJCQkJCXAud2lkdGgoDQoJCQkJCQkJdGhhdC5jdXJyZW50SXRlbS5pbm5lcldpZHRoKCkgLQ0KCQkJCQkJCXBhcnNlSW50KCB0aGF0LmN1cnJlbnRJdGVtLmNzcyggInBhZGRpbmdMZWZ0IiApIHx8IDAsIDEwICkgLQ0KCQkJCQkJCXBhcnNlSW50KCB0aGF0LmN1cnJlbnRJdGVtLmNzcyggInBhZGRpbmdSaWdodCIgKSB8fCAwLCAxMCApICk7DQoJCQkJCX0NCgkJCQl9DQoJCQl9Ow0KCQl9DQoNCgkJLy9DcmVhdGUgdGhlIHBsYWNlaG9sZGVyDQoJCXRoYXQucGxhY2Vob2xkZXIgPSAkKCBvLnBsYWNlaG9sZGVyLmVsZW1lbnQuY2FsbCggdGhhdC5lbGVtZW50LCB0aGF0LmN1cnJlbnRJdGVtICkgKTsNCg0KCQkvL0FwcGVuZCBpdCBhZnRlciB0aGUgYWN0dWFsIGN1cnJlbnQgaXRlbQ0KCQl0aGF0LmN1cnJlbnRJdGVtLmFmdGVyKCB0aGF0LnBsYWNlaG9sZGVyICk7DQoNCgkJLy9VcGRhdGUgdGhlIHNpemUgb2YgdGhlIHBsYWNlaG9sZGVyIChUT0RPOiBMb2dpYyB0byBmdXp6eSwgc2VlIGxpbmUgMzE2LzMxNykNCgkJby5wbGFjZWhvbGRlci51cGRhdGUoIHRoYXQsIHRoYXQucGxhY2Vob2xkZXIgKTsNCg0KCX0sDQoNCglfY3JlYXRlVHJQbGFjZWhvbGRlcjogZnVuY3Rpb24oIHNvdXJjZVRyLCB0YXJnZXRUciApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXNvdXJjZVRyLmNoaWxkcmVuKCkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkkKCAiPHRkPiYjMTYwOzwvdGQ+IiwgdGhhdC5kb2N1bWVudFsgMCBdICkNCgkJCQkuYXR0ciggImNvbHNwYW4iLCAkKCB0aGlzICkuYXR0ciggImNvbHNwYW4iICkgfHwgMSApDQoJCQkJLmFwcGVuZFRvKCB0YXJnZXRUciApOw0KCQl9ICk7DQoJfSwNCg0KCV9jb250YWN0Q29udGFpbmVyczogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgaSwgaiwgZGlzdCwgaXRlbVdpdGhMZWFzdERpc3RhbmNlLCBwb3NQcm9wZXJ0eSwgc2l6ZVByb3BlcnR5LCBjdXIsIG5lYXJCb3R0b20sDQoJCQlmbG9hdGluZywgYXhpcywNCgkJCWlubmVybW9zdENvbnRhaW5lciA9IG51bGwsDQoJCQlpbm5lcm1vc3RJbmRleCA9IG51bGw7DQoNCgkJLy8gR2V0IGlubmVybW9zdCBjb250YWluZXIgdGhhdCBpbnRlcnNlY3RzIHdpdGggaXRlbQ0KCQlmb3IgKCBpID0gdGhpcy5jb250YWluZXJzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tICkgew0KDQoJCQkvLyBOZXZlciBjb25zaWRlciBhIGNvbnRhaW5lciB0aGF0J3MgbG9jYXRlZCB3aXRoaW4gdGhlIGl0ZW0gaXRzZWxmDQoJCQlpZiAoICQuY29udGFpbnMoIHRoaXMuY3VycmVudEl0ZW1bIDAgXSwgdGhpcy5jb250YWluZXJzWyBpIF0uZWxlbWVudFsgMCBdICkgKSB7DQoJCQkJY29udGludWU7DQoJCQl9DQoNCgkJCWlmICggdGhpcy5faW50ZXJzZWN0c1dpdGgoIHRoaXMuY29udGFpbmVyc1sgaSBdLmNvbnRhaW5lckNhY2hlICkgKSB7DQoNCgkJCQkvLyBJZiB3ZSd2ZSBhbHJlYWR5IGZvdW5kIGEgY29udGFpbmVyIGFuZCBpdCdzIG1vcmUgImlubmVyIiB0aGFuIHRoaXMsIHRoZW4gY29udGludWUNCgkJCQlpZiAoIGlubmVybW9zdENvbnRhaW5lciAmJg0KCQkJCQkJJC5jb250YWlucygNCgkJCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5lbGVtZW50WyAwIF0sDQoJCQkJCQkJaW5uZXJtb3N0Q29udGFpbmVyLmVsZW1lbnRbIDAgXSApICkgew0KCQkJCQljb250aW51ZTsNCgkJCQl9DQoNCgkJCQlpbm5lcm1vc3RDb250YWluZXIgPSB0aGlzLmNvbnRhaW5lcnNbIGkgXTsNCgkJCQlpbm5lcm1vc3RJbmRleCA9IGk7DQoNCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBjb250YWluZXIgZG9lc24ndCBpbnRlcnNlY3QuIHRyaWdnZXIgIm91dCIgZXZlbnQgaWYgbmVjZXNzYXJ5DQoJCQkJaWYgKCB0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyICkgew0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5fdHJpZ2dlciggIm91dCIsIGV2ZW50LCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyID0gMDsNCgkJCQl9DQoJCQl9DQoNCgkJfQ0KDQoJCS8vIElmIG5vIGludGVyc2VjdGluZyBjb250YWluZXJzIGZvdW5kLCByZXR1cm4NCgkJaWYgKCAhaW5uZXJtb3N0Q29udGFpbmVyICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJLy8gTW92ZSB0aGUgaXRlbSBpbnRvIHRoZSBjb250YWluZXIgaWYgaXQncyBub3QgdGhlcmUgYWxyZWFkeQ0KCQlpZiAoIHRoaXMuY29udGFpbmVycy5sZW5ndGggPT09IDEgKSB7DQoJCQlpZiAoICF0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0uY29udGFpbmVyQ2FjaGUub3ZlciApIHsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0uX3RyaWdnZXIoICJvdmVyIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCggdGhpcyApICk7DQoJCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLmNvbnRhaW5lckNhY2hlLm92ZXIgPSAxOw0KCQkJfQ0KCQl9IGVsc2Ugew0KDQoJCQkvLyBXaGVuIGVudGVyaW5nIGEgbmV3IGNvbnRhaW5lciwgd2Ugd2lsbCBmaW5kIHRoZSBpdGVtIHdpdGggdGhlIGxlYXN0IGRpc3RhbmNlIGFuZA0KCQkJLy8gYXBwZW5kIG91ciBpdGVtIG5lYXIgaXQNCgkJCWRpc3QgPSAxMDAwMDsNCgkJCWl0ZW1XaXRoTGVhc3REaXN0YW5jZSA9IG51bGw7DQoJCQlmbG9hdGluZyA9IGlubmVybW9zdENvbnRhaW5lci5mbG9hdGluZyB8fCB0aGlzLl9pc0Zsb2F0aW5nKCB0aGlzLmN1cnJlbnRJdGVtICk7DQoJCQlwb3NQcm9wZXJ0eSA9IGZsb2F0aW5nID8gImxlZnQiIDogInRvcCI7DQoJCQlzaXplUHJvcGVydHkgPSBmbG9hdGluZyA/ICJ3aWR0aCIgOiAiaGVpZ2h0IjsNCgkJCWF4aXMgPSBmbG9hdGluZyA/ICJwYWdlWCIgOiAicGFnZVkiOw0KDQoJCQlmb3IgKCBqID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxOyBqID49IDA7IGotLSApIHsNCgkJCQlpZiAoICEkLmNvbnRhaW5zKA0KCQkJCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLmVsZW1lbnRbIDAgXSwgdGhpcy5pdGVtc1sgaiBdLml0ZW1bIDAgXSApDQoJCQkJKSB7DQoJCQkJCWNvbnRpbnVlOw0KCQkJCX0NCgkJCQlpZiAoIHRoaXMuaXRlbXNbIGogXS5pdGVtWyAwIF0gPT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCQkJY29udGludWU7DQoJCQkJfQ0KDQoJCQkJY3VyID0gdGhpcy5pdGVtc1sgaiBdLml0ZW0ub2Zmc2V0KClbIHBvc1Byb3BlcnR5IF07DQoJCQkJbmVhckJvdHRvbSA9IGZhbHNlOw0KCQkJCWlmICggZXZlbnRbIGF4aXMgXSAtIGN1ciA+IHRoaXMuaXRlbXNbIGogXVsgc2l6ZVByb3BlcnR5IF0gLyAyICkgew0KCQkJCQluZWFyQm90dG9tID0gdHJ1ZTsNCgkJCQl9DQoNCgkJCQlpZiAoIE1hdGguYWJzKCBldmVudFsgYXhpcyBdIC0gY3VyICkgPCBkaXN0ICkgew0KCQkJCQlkaXN0ID0gTWF0aC5hYnMoIGV2ZW50WyBheGlzIF0gLSBjdXIgKTsNCgkJCQkJaXRlbVdpdGhMZWFzdERpc3RhbmNlID0gdGhpcy5pdGVtc1sgaiBdOw0KCQkJCQl0aGlzLmRpcmVjdGlvbiA9IG5lYXJCb3R0b20gPyAidXAiIDogImRvd24iOw0KCQkJCX0NCgkJCX0NCg0KCQkJLy9DaGVjayBpZiBkcm9wT25FbXB0eSBpcyBlbmFibGVkDQoJCQlpZiAoICFpdGVtV2l0aExlYXN0RGlzdGFuY2UgJiYgIXRoaXMub3B0aW9ucy5kcm9wT25FbXB0eSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdGhpcy5jdXJyZW50Q29udGFpbmVyID09PSB0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0gKSB7DQoJCQkJaWYgKCAhdGhpcy5jdXJyZW50Q29udGFpbmVyLmNvbnRhaW5lckNhY2hlLm92ZXIgKSB7DQoJCQkJCXRoaXMuY29udGFpbmVyc1sgaW5uZXJtb3N0SW5kZXggXS5fdHJpZ2dlciggIm92ZXIiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkgKTsNCgkJCQkJdGhpcy5jdXJyZW50Q29udGFpbmVyLmNvbnRhaW5lckNhY2hlLm92ZXIgPSAxOw0KCQkJCX0NCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWl0ZW1XaXRoTGVhc3REaXN0YW5jZSA/DQoJCQkJdGhpcy5fcmVhcnJhbmdlKCBldmVudCwgaXRlbVdpdGhMZWFzdERpc3RhbmNlLCBudWxsLCB0cnVlICkgOg0KCQkJCXRoaXMuX3JlYXJyYW5nZSggZXZlbnQsIG51bGwsIHRoaXMuY29udGFpbmVyc1sgaW5uZXJtb3N0SW5kZXggXS5lbGVtZW50LCB0cnVlICk7DQoJCQl0aGlzLl90cmlnZ2VyKCAiY2hhbmdlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCQl0aGlzLmNvbnRhaW5lcnNbIGlubmVybW9zdEluZGV4IF0uX3RyaWdnZXIoICJjaGFuZ2UiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzICkgKTsNCgkJCXRoaXMuY3VycmVudENvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyc1sgaW5uZXJtb3N0SW5kZXggXTsNCg0KCQkJLy9VcGRhdGUgdGhlIHBsYWNlaG9sZGVyDQoJCQl0aGlzLm9wdGlvbnMucGxhY2Vob2xkZXIudXBkYXRlKCB0aGlzLmN1cnJlbnRDb250YWluZXIsIHRoaXMucGxhY2Vob2xkZXIgKTsNCg0KCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLl90cmlnZ2VyKCAib3ZlciIsIGV2ZW50LCB0aGlzLl91aUhhc2goIHRoaXMgKSApOw0KCQkJdGhpcy5jb250YWluZXJzWyBpbm5lcm1vc3RJbmRleCBdLmNvbnRhaW5lckNhY2hlLm92ZXIgPSAxOw0KCQl9DQoNCgl9LA0KDQoJX2NyZWF0ZUhlbHBlcjogZnVuY3Rpb24oIGV2ZW50ICkgew0KDQoJCXZhciBvID0gdGhpcy5vcHRpb25zLA0KCQkJaGVscGVyID0gJC5pc0Z1bmN0aW9uKCBvLmhlbHBlciApID8NCgkJCQkkKCBvLmhlbHBlci5hcHBseSggdGhpcy5lbGVtZW50WyAwIF0sIFsgZXZlbnQsIHRoaXMuY3VycmVudEl0ZW0gXSApICkgOg0KCQkJCSggby5oZWxwZXIgPT09ICJjbG9uZSIgPyB0aGlzLmN1cnJlbnRJdGVtLmNsb25lKCkgOiB0aGlzLmN1cnJlbnRJdGVtICk7DQoNCgkJLy9BZGQgdGhlIGhlbHBlciB0byB0aGUgRE9NIGlmIHRoYXQgZGlkbid0IGhhcHBlbiBhbHJlYWR5DQoJCWlmICggIWhlbHBlci5wYXJlbnRzKCAiYm9keSIgKS5sZW5ndGggKSB7DQoJCQkkKCBvLmFwcGVuZFRvICE9PSAicGFyZW50IiA/DQoJCQkJby5hcHBlbmRUbyA6DQoJCQkJdGhpcy5jdXJyZW50SXRlbVsgMCBdLnBhcmVudE5vZGUgKVsgMCBdLmFwcGVuZENoaWxkKCBoZWxwZXJbIDAgXSApOw0KCQl9DQoNCgkJaWYgKCBoZWxwZXJbIDAgXSA9PT0gdGhpcy5jdXJyZW50SXRlbVsgMCBdICkgew0KCQkJdGhpcy5fc3RvcmVkQ1NTID0gew0KCQkJCXdpZHRoOiB0aGlzLmN1cnJlbnRJdGVtWyAwIF0uc3R5bGUud2lkdGgsDQoJCQkJaGVpZ2h0OiB0aGlzLmN1cnJlbnRJdGVtWyAwIF0uc3R5bGUuaGVpZ2h0LA0KCQkJCXBvc2l0aW9uOiB0aGlzLmN1cnJlbnRJdGVtLmNzcyggInBvc2l0aW9uIiApLA0KCQkJCXRvcDogdGhpcy5jdXJyZW50SXRlbS5jc3MoICJ0b3AiICksDQoJCQkJbGVmdDogdGhpcy5jdXJyZW50SXRlbS5jc3MoICJsZWZ0IiApDQoJCQl9Ow0KCQl9DQoNCgkJaWYgKCAhaGVscGVyWyAwIF0uc3R5bGUud2lkdGggfHwgby5mb3JjZUhlbHBlclNpemUgKSB7DQoJCQloZWxwZXIud2lkdGgoIHRoaXMuY3VycmVudEl0ZW0ud2lkdGgoKSApOw0KCQl9DQoJCWlmICggIWhlbHBlclsgMCBdLnN0eWxlLmhlaWdodCB8fCBvLmZvcmNlSGVscGVyU2l6ZSApIHsNCgkJCWhlbHBlci5oZWlnaHQoIHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkgKTsNCgkJfQ0KDQoJCXJldHVybiBoZWxwZXI7DQoNCgl9LA0KDQoJX2FkanVzdE9mZnNldEZyb21IZWxwZXI6IGZ1bmN0aW9uKCBvYmogKSB7DQoJCWlmICggdHlwZW9mIG9iaiA9PT0gInN0cmluZyIgKSB7DQoJCQlvYmogPSBvYmouc3BsaXQoICIgIiApOw0KCQl9DQoJCWlmICggJC5pc0FycmF5KCBvYmogKSApIHsNCgkJCW9iaiA9IHsgbGVmdDogK29ialsgMCBdLCB0b3A6ICtvYmpbIDEgXSB8fCAwIH07DQoJCX0NCgkJaWYgKCAibGVmdCIgaW4gb2JqICkgew0KCQkJdGhpcy5vZmZzZXQuY2xpY2subGVmdCA9IG9iai5sZWZ0ICsgdGhpcy5tYXJnaW5zLmxlZnQ7DQoJCX0NCgkJaWYgKCAicmlnaHQiIGluIG9iaiApIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPSB0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoIC0gb2JqLnJpZ2h0ICsgdGhpcy5tYXJnaW5zLmxlZnQ7DQoJCX0NCgkJaWYgKCAidG9wIiBpbiBvYmogKSB7DQoJCQl0aGlzLm9mZnNldC5jbGljay50b3AgPSBvYmoudG9wICsgdGhpcy5tYXJnaW5zLnRvcDsNCgkJfQ0KCQlpZiAoICJib3R0b20iIGluIG9iaiApIHsNCgkJCXRoaXMub2Zmc2V0LmNsaWNrLnRvcCA9IHRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0IC0gb2JqLmJvdHRvbSArIHRoaXMubWFyZ2lucy50b3A7DQoJCX0NCgl9LA0KDQoJX2dldFBhcmVudE9mZnNldDogZnVuY3Rpb24oKSB7DQoNCgkJLy9HZXQgdGhlIG9mZnNldFBhcmVudCBhbmQgY2FjaGUgaXRzIHBvc2l0aW9uDQoJCXRoaXMub2Zmc2V0UGFyZW50ID0gdGhpcy5oZWxwZXIub2Zmc2V0UGFyZW50KCk7DQoJCXZhciBwbyA9IHRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpOw0KDQoJCS8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2Ugd2hlcmUgd2UgbmVlZCB0byBtb2RpZnkgYSBvZmZzZXQgY2FsY3VsYXRlZCBvbiBzdGFydCwgc2luY2UgdGhlDQoJCS8vIGZvbGxvd2luZyBoYXBwZW5lZDoNCgkJLy8gMS4gVGhlIHBvc2l0aW9uIG9mIHRoZSBoZWxwZXIgaXMgYWJzb2x1dGUsIHNvIGl0J3MgcG9zaXRpb24gaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUNCgkJLy8gbmV4dCBwb3NpdGlvbmVkIHBhcmVudA0KCQkvLyAyLiBUaGUgYWN0dWFsIG9mZnNldCBwYXJlbnQgaXMgYSBjaGlsZCBvZiB0aGUgc2Nyb2xsIHBhcmVudCwgYW5kIHRoZSBzY3JvbGwgcGFyZW50IGlzbid0DQoJCS8vIHRoZSBkb2N1bWVudCwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgc2Nyb2xsIGlzIGluY2x1ZGVkIGluIHRoZSBpbml0aWFsIGNhbGN1bGF0aW9uIG9mIHRoZQ0KCQkvLyBvZmZzZXQgb2YgdGhlIHBhcmVudCwgYW5kIG5ldmVyIHJlY2FsY3VsYXRlZCB1cG9uIGRyYWcNCgkJaWYgKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiYWJzb2x1dGUiICYmIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0gIT09IHRoaXMuZG9jdW1lbnRbIDAgXSAmJg0KCQkJCSQuY29udGFpbnMoIHRoaXMuc2Nyb2xsUGFyZW50WyAwIF0sIHRoaXMub2Zmc2V0UGFyZW50WyAwIF0gKSApIHsNCgkJCXBvLmxlZnQgKz0gdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOw0KCQkJcG8udG9wICs9IHRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOw0KCQl9DQoNCgkJLy8gVGhpcyBuZWVkcyB0byBiZSBhY3R1YWxseSBkb25lIGZvciBhbGwgYnJvd3NlcnMsIHNpbmNlIHBhZ2VYL3BhZ2VZIGluY2x1ZGVzIHRoaXMNCgkJLy8gaW5mb3JtYXRpb24gd2l0aCBhbiB1Z2x5IElFIGZpeA0KCQlpZiAoIHRoaXMub2Zmc2V0UGFyZW50WyAwIF0gPT09IHRoaXMuZG9jdW1lbnRbIDAgXS5ib2R5IHx8DQoJCQkJKCB0aGlzLm9mZnNldFBhcmVudFsgMCBdLnRhZ05hbWUgJiYNCgkJCQl0aGlzLm9mZnNldFBhcmVudFsgMCBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gImh0bWwiICYmICQudWkuaWUgKSApIHsNCgkJCXBvID0geyB0b3A6IDAsIGxlZnQ6IDAgfTsNCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6IHBvLnRvcCArICggcGFyc2VJbnQoIHRoaXMub2Zmc2V0UGFyZW50LmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSwNCgkJCWxlZnQ6IHBvLmxlZnQgKyAoIHBhcnNlSW50KCB0aGlzLm9mZnNldFBhcmVudC5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApDQoJCX07DQoNCgl9LA0KDQoJX2dldFJlbGF0aXZlT2Zmc2V0OiBmdW5jdGlvbigpIHsNCg0KCQlpZiAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJyZWxhdGl2ZSIgKSB7DQoJCQl2YXIgcCA9IHRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTsNCgkJCXJldHVybiB7DQoJCQkJdG9wOiBwLnRvcCAtICggcGFyc2VJbnQoIHRoaXMuaGVscGVyLmNzcyggInRvcCIgKSwgMTAgKSB8fCAwICkgKw0KCQkJCQl0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSwNCgkJCQlsZWZ0OiBwLmxlZnQgLSAoIHBhcnNlSW50KCB0aGlzLmhlbHBlci5jc3MoICJsZWZ0IiApLCAxMCApIHx8IDAgKSArDQoJCQkJCXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKQ0KCQkJfTsNCgkJfSBlbHNlIHsNCgkJCXJldHVybiB7IHRvcDogMCwgbGVmdDogMCB9Ow0KCQl9DQoNCgl9LA0KDQoJX2NhY2hlTWFyZ2luczogZnVuY3Rpb24oKSB7DQoJCXRoaXMubWFyZ2lucyA9IHsNCgkJCWxlZnQ6ICggcGFyc2VJbnQoIHRoaXMuY3VycmVudEl0ZW0uY3NzKCAibWFyZ2luTGVmdCIgKSwgMTAgKSB8fCAwICksDQoJCQl0b3A6ICggcGFyc2VJbnQoIHRoaXMuY3VycmVudEl0ZW0uY3NzKCAibWFyZ2luVG9wIiApLCAxMCApIHx8IDAgKQ0KCQl9Ow0KCX0sDQoNCglfY2FjaGVIZWxwZXJQcm9wb3J0aW9uczogZnVuY3Rpb24oKSB7DQoJCXRoaXMuaGVscGVyUHJvcG9ydGlvbnMgPSB7DQoJCQl3aWR0aDogdGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLA0KCQkJaGVpZ2h0OiB0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpDQoJCX07DQoJfSwNCg0KCV9zZXRDb250YWlubWVudDogZnVuY3Rpb24oKSB7DQoNCgkJdmFyIGNlLCBjbywgb3ZlciwNCgkJCW8gPSB0aGlzLm9wdGlvbnM7DQoJCWlmICggby5jb250YWlubWVudCA9PT0gInBhcmVudCIgKSB7DQoJCQlvLmNvbnRhaW5tZW50ID0gdGhpcy5oZWxwZXJbIDAgXS5wYXJlbnROb2RlOw0KCQl9DQoJCWlmICggby5jb250YWlubWVudCA9PT0gImRvY3VtZW50IiB8fCBvLmNvbnRhaW5tZW50ID09PSAid2luZG93IiApIHsNCgkJCXRoaXMuY29udGFpbm1lbnQgPSBbDQoJCQkJMCAtIHRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQgLSB0aGlzLm9mZnNldC5wYXJlbnQubGVmdCwNCgkJCQkwIC0gdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wIC0gdGhpcy5vZmZzZXQucGFyZW50LnRvcCwNCgkJCQlvLmNvbnRhaW5tZW50ID09PSAiZG9jdW1lbnQiID8NCgkJCQkJdGhpcy5kb2N1bWVudC53aWR0aCgpIDoNCgkJCQkJdGhpcy53aW5kb3cud2lkdGgoKSAtIHRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGggLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCQkoIG8uY29udGFpbm1lbnQgPT09ICJkb2N1bWVudCIgPw0KCQkJCQkoIHRoaXMuZG9jdW1lbnQuaGVpZ2h0KCkgfHwgZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCApIDoNCgkJCQkJdGhpcy53aW5kb3cuaGVpZ2h0KCkgfHwgdGhpcy5kb2N1bWVudFsgMCBdLmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQNCgkJCQkpIC0gdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQgLSB0aGlzLm1hcmdpbnMudG9wDQoJCQldOw0KCQl9DQoNCgkJaWYgKCAhKCAvXihkb2N1bWVudHx3aW5kb3d8cGFyZW50KSQvICkudGVzdCggby5jb250YWlubWVudCApICkgew0KCQkJY2UgPSAkKCBvLmNvbnRhaW5tZW50IClbIDAgXTsNCgkJCWNvID0gJCggby5jb250YWlubWVudCApLm9mZnNldCgpOw0KCQkJb3ZlciA9ICggJCggY2UgKS5jc3MoICJvdmVyZmxvdyIgKSAhPT0gImhpZGRlbiIgKTsNCg0KCQkJdGhpcy5jb250YWlubWVudCA9IFsNCgkJCQljby5sZWZ0ICsgKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApICsNCgkJCQkJKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJwYWRkaW5nTGVmdCIgKSwgMTAgKSB8fCAwICkgLSB0aGlzLm1hcmdpbnMubGVmdCwNCgkJCQljby50b3AgKyAoIHBhcnNlSW50KCAkKCBjZSApLmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSArDQoJCQkJCSggcGFyc2VJbnQoICQoIGNlICkuY3NzKCAicGFkZGluZ1RvcCIgKSwgMTAgKSB8fCAwICkgLSB0aGlzLm1hcmdpbnMudG9wLA0KCQkJCWNvLmxlZnQgKyAoIG92ZXIgPyBNYXRoLm1heCggY2Uuc2Nyb2xsV2lkdGgsIGNlLm9mZnNldFdpZHRoICkgOiBjZS5vZmZzZXRXaWR0aCApIC0NCgkJCQkJKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJib3JkZXJMZWZ0V2lkdGgiICksIDEwICkgfHwgMCApIC0NCgkJCQkJKCBwYXJzZUludCggJCggY2UgKS5jc3MoICJwYWRkaW5nUmlnaHQiICksIDEwICkgfHwgMCApIC0NCgkJCQkJdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aCAtIHRoaXMubWFyZ2lucy5sZWZ0LA0KCQkJCWNvLnRvcCArICggb3ZlciA/IE1hdGgubWF4KCBjZS5zY3JvbGxIZWlnaHQsIGNlLm9mZnNldEhlaWdodCApIDogY2Uub2Zmc2V0SGVpZ2h0ICkgLQ0KCQkJCQkoIHBhcnNlSW50KCAkKCBjZSApLmNzcyggImJvcmRlclRvcFdpZHRoIiApLCAxMCApIHx8IDAgKSAtDQoJCQkJCSggcGFyc2VJbnQoICQoIGNlICkuY3NzKCAicGFkZGluZ0JvdHRvbSIgKSwgMTAgKSB8fCAwICkgLQ0KCQkJCQl0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodCAtIHRoaXMubWFyZ2lucy50b3ANCgkJCV07DQoJCX0NCg0KCX0sDQoNCglfY29udmVydFBvc2l0aW9uVG86IGZ1bmN0aW9uKCBkLCBwb3MgKSB7DQoNCgkJaWYgKCAhcG9zICkgew0KCQkJcG9zID0gdGhpcy5wb3NpdGlvbjsNCgkJfQ0KCQl2YXIgbW9kID0gZCA9PT0gImFic29sdXRlIiA/IDEgOiAtMSwNCgkJCXNjcm9sbCA9IHRoaXMuY3NzUG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgJiYNCgkJCQkhKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLmRvY3VtZW50WyAwIF0gJiYNCgkJCQkkLmNvbnRhaW5zKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdLCB0aGlzLm9mZnNldFBhcmVudFsgMCBdICkgKSA/DQoJCQkJCXRoaXMub2Zmc2V0UGFyZW50IDoNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnQsDQoJCQlzY3JvbGxJc1Jvb3ROb2RlID0gKCAvKGh0bWx8Ym9keSkvaSApLnRlc3QoIHNjcm9sbFsgMCBdLnRhZ05hbWUgKTsNCg0KCQlyZXR1cm4gew0KCQkJdG9wOiAoDQoNCgkJCQkvLyBUaGUgYWJzb2x1dGUgbW91c2UgcG9zaXRpb24NCgkJCQlwb3MudG9wCSsNCg0KCQkJCS8vIE9ubHkgZm9yIHJlbGF0aXZlIHBvc2l0aW9uZWQgbm9kZXM6IFJlbGF0aXZlIG9mZnNldCBmcm9tIGVsZW1lbnQgdG8gb2Zmc2V0IHBhcmVudA0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCAqIG1vZCArDQoNCgkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCXRoaXMub2Zmc2V0LnBhcmVudC50b3AgKiBtb2QgLQ0KCQkJCSggKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8NCgkJCQkJLXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpIDoNCgkJCQkJKCBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHNjcm9sbC5zY3JvbGxUb3AoKSApICkgKiBtb2QgKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBvcy5sZWZ0ICsNCg0KCQkJCS8vIE9ubHkgZm9yIHJlbGF0aXZlIHBvc2l0aW9uZWQgbm9kZXM6IFJlbGF0aXZlIG9mZnNldCBmcm9tIGVsZW1lbnQgdG8gb2Zmc2V0IHBhcmVudA0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQgKiBtb2QgKw0KDQoJCQkJLy8gVGhlIG9mZnNldFBhcmVudCdzIG9mZnNldCB3aXRob3V0IGJvcmRlcnMgKG9mZnNldCArIGJvcmRlcikNCgkJCQl0aGlzLm9mZnNldC5wYXJlbnQubGVmdCAqIG1vZAktDQoJCQkJKCAoIHRoaXMuY3NzUG9zaXRpb24gPT09ICJmaXhlZCIgPw0KCQkJCQktdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpIDogc2Nyb2xsSXNSb290Tm9kZSA/IDAgOg0KCQkJCQlzY3JvbGwuc2Nyb2xsTGVmdCgpICkgKiBtb2QgKQ0KCQkJKQ0KCQl9Ow0KDQoJfSwNCg0KCV9nZW5lcmF0ZVBvc2l0aW9uOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoNCgkJdmFyIHRvcCwgbGVmdCwNCgkJCW8gPSB0aGlzLm9wdGlvbnMsDQoJCQlwYWdlWCA9IGV2ZW50LnBhZ2VYLA0KCQkJcGFnZVkgPSBldmVudC5wYWdlWSwNCgkJCXNjcm9sbCA9IHRoaXMuY3NzUG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgJiYNCgkJCQkhKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLmRvY3VtZW50WyAwIF0gJiYNCgkJCQkkLmNvbnRhaW5zKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdLCB0aGlzLm9mZnNldFBhcmVudFsgMCBdICkgKSA/DQoJCQkJCXRoaXMub2Zmc2V0UGFyZW50IDoNCgkJCQkJdGhpcy5zY3JvbGxQYXJlbnQsDQoJCQkJc2Nyb2xsSXNSb290Tm9kZSA9ICggLyhodG1sfGJvZHkpL2kgKS50ZXN0KCBzY3JvbGxbIDAgXS50YWdOYW1lICk7DQoNCgkJLy8gVGhpcyBpcyBhbm90aGVyIHZlcnkgd2VpcmQgc3BlY2lhbCBjYXNlIHRoYXQgb25seSBoYXBwZW5zIGZvciByZWxhdGl2ZSBlbGVtZW50czoNCgkJLy8gMS4gSWYgdGhlIGNzcyBwb3NpdGlvbiBpcyByZWxhdGl2ZQ0KCQkvLyAyLiBhbmQgdGhlIHNjcm9sbCBwYXJlbnQgaXMgdGhlIGRvY3VtZW50IG9yIHNpbWlsYXIgdG8gdGhlIG9mZnNldCBwYXJlbnQNCgkJLy8gd2UgaGF2ZSB0byByZWZyZXNoIHRoZSByZWxhdGl2ZSBvZmZzZXQgZHVyaW5nIHRoZSBzY3JvbGwgc28gdGhlcmUgYXJlIG5vIGp1bXBzDQoJCWlmICggdGhpcy5jc3NQb3NpdGlvbiA9PT0gInJlbGF0aXZlIiAmJiAhKCB0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLmRvY3VtZW50WyAwIF0gJiYNCgkJCQl0aGlzLnNjcm9sbFBhcmVudFsgMCBdICE9PSB0aGlzLm9mZnNldFBhcmVudFsgMCBdICkgKSB7DQoJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZSA9IHRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCk7DQoJCX0NCg0KCQkvKg0KCQkgKiAtIFBvc2l0aW9uIGNvbnN0cmFpbmluZyAtDQoJCSAqIENvbnN0cmFpbiB0aGUgcG9zaXRpb24gdG8gYSBtaXggb2YgZ3JpZCwgY29udGFpbm1lbnQuDQoJCSAqLw0KDQoJCWlmICggdGhpcy5vcmlnaW5hbFBvc2l0aW9uICkgeyAvL0lmIHdlIGFyZSBub3QgZHJhZ2dpbmcgeWV0LCB3ZSB3b24ndCBjaGVjayBmb3Igb3B0aW9ucw0KDQoJCQlpZiAoIHRoaXMuY29udGFpbm1lbnQgKSB7DQoJCQkJaWYgKCBldmVudC5wYWdlWCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPCB0aGlzLmNvbnRhaW5tZW50WyAwIF0gKSB7DQoJCQkJCXBhZ2VYID0gdGhpcy5jb250YWlubWVudFsgMCBdICsgdGhpcy5vZmZzZXQuY2xpY2subGVmdDsNCgkJCQl9DQoJCQkJaWYgKCBldmVudC5wYWdlWSAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA8IHRoaXMuY29udGFpbm1lbnRbIDEgXSApIHsNCgkJCQkJcGFnZVkgPSB0aGlzLmNvbnRhaW5tZW50WyAxIF0gKyB0aGlzLm9mZnNldC5jbGljay50b3A7DQoJCQkJfQ0KCQkJCWlmICggZXZlbnQucGFnZVggLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID4gdGhpcy5jb250YWlubWVudFsgMiBdICkgew0KCQkJCQlwYWdlWCA9IHRoaXMuY29udGFpbm1lbnRbIDIgXSArIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ7DQoJCQkJfQ0KCQkJCWlmICggZXZlbnQucGFnZVkgLSB0aGlzLm9mZnNldC5jbGljay50b3AgPiB0aGlzLmNvbnRhaW5tZW50WyAzIF0gKSB7DQoJCQkJCXBhZ2VZID0gdGhpcy5jb250YWlubWVudFsgMyBdICsgdGhpcy5vZmZzZXQuY2xpY2sudG9wOw0KCQkJCX0NCgkJCX0NCg0KCQkJaWYgKCBvLmdyaWQgKSB7DQoJCQkJdG9wID0gdGhpcy5vcmlnaW5hbFBhZ2VZICsgTWF0aC5yb3VuZCggKCBwYWdlWSAtIHRoaXMub3JpZ2luYWxQYWdlWSApIC8NCgkJCQkJby5ncmlkWyAxIF0gKSAqIG8uZ3JpZFsgMSBdOw0KCQkJCXBhZ2VZID0gdGhpcy5jb250YWlubWVudCA/DQoJCQkJCSggKCB0b3AgLSB0aGlzLm9mZnNldC5jbGljay50b3AgPj0gdGhpcy5jb250YWlubWVudFsgMSBdICYmDQoJCQkJCQl0b3AgLSB0aGlzLm9mZnNldC5jbGljay50b3AgPD0gdGhpcy5jb250YWlubWVudFsgMyBdICkgPw0KCQkJCQkJCXRvcCA6DQoJCQkJCQkJKCAoIHRvcCAtIHRoaXMub2Zmc2V0LmNsaWNrLnRvcCA+PSB0aGlzLmNvbnRhaW5tZW50WyAxIF0gKSA/DQoJCQkJCQkJCXRvcCAtIG8uZ3JpZFsgMSBdIDogdG9wICsgby5ncmlkWyAxIF0gKSApIDoNCgkJCQkJCQkJdG9wOw0KDQoJCQkJbGVmdCA9IHRoaXMub3JpZ2luYWxQYWdlWCArIE1hdGgucm91bmQoICggcGFnZVggLSB0aGlzLm9yaWdpbmFsUGFnZVggKSAvDQoJCQkJCW8uZ3JpZFsgMCBdICkgKiBvLmdyaWRbIDAgXTsNCgkJCQlwYWdlWCA9IHRoaXMuY29udGFpbm1lbnQgPw0KCQkJCQkoICggbGVmdCAtIHRoaXMub2Zmc2V0LmNsaWNrLmxlZnQgPj0gdGhpcy5jb250YWlubWVudFsgMCBdICYmDQoJCQkJCQlsZWZ0IC0gdGhpcy5vZmZzZXQuY2xpY2subGVmdCA8PSB0aGlzLmNvbnRhaW5tZW50WyAyIF0gKSA/DQoJCQkJCQkJbGVmdCA6DQoJCQkJCQkJKCAoIGxlZnQgLSB0aGlzLm9mZnNldC5jbGljay5sZWZ0ID49IHRoaXMuY29udGFpbm1lbnRbIDAgXSApID8NCgkJCQkJCQkJbGVmdCAtIG8uZ3JpZFsgMCBdIDogbGVmdCArIG8uZ3JpZFsgMCBdICkgKSA6DQoJCQkJCQkJCWxlZnQ7DQoJCQl9DQoNCgkJfQ0KDQoJCXJldHVybiB7DQoJCQl0b3A6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBhZ2VZIC0NCg0KCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2sudG9wIC0NCg0KCQkJCS8vIE9ubHkgZm9yIHJlbGF0aXZlIHBvc2l0aW9uZWQgbm9kZXM6IFJlbGF0aXZlIG9mZnNldCBmcm9tIGVsZW1lbnQgdG8gb2Zmc2V0IHBhcmVudA0KCQkJCXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcCAtDQoNCgkJCQkvLyBUaGUgb2Zmc2V0UGFyZW50J3Mgb2Zmc2V0IHdpdGhvdXQgYm9yZGVycyAob2Zmc2V0ICsgYm9yZGVyKQ0KCQkJCXRoaXMub2Zmc2V0LnBhcmVudC50b3AgKw0KCQkJCSggKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8NCgkJCQkJLXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpIDoNCgkJCQkJKCBzY3JvbGxJc1Jvb3ROb2RlID8gMCA6IHNjcm9sbC5zY3JvbGxUb3AoKSApICkgKQ0KCQkJKSwNCgkJCWxlZnQ6ICgNCg0KCQkJCS8vIFRoZSBhYnNvbHV0ZSBtb3VzZSBwb3NpdGlvbg0KCQkJCXBhZ2VYIC0NCg0KCQkJCS8vIENsaWNrIG9mZnNldCAocmVsYXRpdmUgdG8gdGhlIGVsZW1lbnQpDQoJCQkJdGhpcy5vZmZzZXQuY2xpY2subGVmdCAtDQoNCgkJCQkvLyBPbmx5IGZvciByZWxhdGl2ZSBwb3NpdGlvbmVkIG5vZGVzOiBSZWxhdGl2ZSBvZmZzZXQgZnJvbSBlbGVtZW50IHRvIG9mZnNldCBwYXJlbnQNCgkJCQl0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0IC0NCg0KCQkJCS8vIFRoZSBvZmZzZXRQYXJlbnQncyBvZmZzZXQgd2l0aG91dCBib3JkZXJzIChvZmZzZXQgKyBib3JkZXIpDQoJCQkJdGhpcy5vZmZzZXQucGFyZW50LmxlZnQgKw0KCQkJCSggKCB0aGlzLmNzc1Bvc2l0aW9uID09PSAiZml4ZWQiID8NCgkJCQkJLXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKSA6DQoJCQkJCXNjcm9sbElzUm9vdE5vZGUgPyAwIDogc2Nyb2xsLnNjcm9sbExlZnQoKSApICkNCgkJCSkNCgkJfTsNCg0KCX0sDQoNCglfcmVhcnJhbmdlOiBmdW5jdGlvbiggZXZlbnQsIGksIGEsIGhhcmRSZWZyZXNoICkgew0KDQoJCWEgPyBhWyAwIF0uYXBwZW5kQ2hpbGQoIHRoaXMucGxhY2Vob2xkZXJbIDAgXSApIDoNCgkJCWkuaXRlbVsgMCBdLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKCB0aGlzLnBsYWNlaG9sZGVyWyAwIF0sDQoJCQkJKCB0aGlzLmRpcmVjdGlvbiA9PT0gImRvd24iID8gaS5pdGVtWyAwIF0gOiBpLml0ZW1bIDAgXS5uZXh0U2libGluZyApICk7DQoNCgkJLy9WYXJpb3VzIHRoaW5ncyBkb25lIGhlcmUgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2U6DQoJCS8vIDEuIHdlIGNyZWF0ZSBhIHNldFRpbWVvdXQsIHRoYXQgY2FsbHMgcmVmcmVzaFBvc2l0aW9ucw0KCQkvLyAyLiBvbiB0aGUgaW5zdGFuY2UsIHdlIGhhdmUgYSBjb3VudGVyIHZhcmlhYmxlLCB0aGF0IGdldCdzIGhpZ2hlciBhZnRlciBldmVyeSBhcHBlbmQNCgkJLy8gMy4gb24gdGhlIGxvY2FsIHNjb3BlLCB3ZSBjb3B5IHRoZSBjb3VudGVyIHZhcmlhYmxlLCBhbmQgY2hlY2sgaW4gdGhlIHRpbWVvdXQsDQoJCS8vIGlmIGl0J3Mgc3RpbGwgdGhlIHNhbWUNCgkJLy8gNC4gdGhpcyBsZXRzIG9ubHkgdGhlIGxhc3QgYWRkaXRpb24gdG8gdGhlIHRpbWVvdXQgc3RhY2sgdGhyb3VnaA0KCQl0aGlzLmNvdW50ZXIgPSB0aGlzLmNvdW50ZXIgPyArK3RoaXMuY291bnRlciA6IDE7DQoJCXZhciBjb3VudGVyID0gdGhpcy5jb3VudGVyOw0KDQoJCXRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCWlmICggY291bnRlciA9PT0gdGhpcy5jb3VudGVyICkgew0KDQoJCQkJLy9QcmVjb21wdXRlIGFmdGVyIGVhY2ggRE9NIGluc2VydGlvbiwgTk9UIG9uIG1vdXNlbW92ZQ0KCQkJCXRoaXMucmVmcmVzaFBvc2l0aW9ucyggIWhhcmRSZWZyZXNoICk7DQoJCQl9DQoJCX0gKTsNCg0KCX0sDQoNCglfY2xlYXI6IGZ1bmN0aW9uKCBldmVudCwgbm9Qcm9wYWdhdGlvbiApIHsNCg0KCQl0aGlzLnJldmVydGluZyA9IGZhbHNlOw0KDQoJCS8vIFdlIGRlbGF5IGFsbCBldmVudHMgdGhhdCBoYXZlIHRvIGJlIHRyaWdnZXJlZCB0byBhZnRlciB0aGUgcG9pbnQgd2hlcmUgdGhlIHBsYWNlaG9sZGVyDQoJCS8vIGhhcyBiZWVuIHJlbW92ZWQgYW5kIGV2ZXJ5dGhpbmcgZWxzZSBub3JtYWxpemVkIGFnYWluDQoJCXZhciBpLA0KCQkJZGVsYXllZFRyaWdnZXJzID0gW107DQoNCgkJLy8gV2UgZmlyc3QgaGF2ZSB0byB1cGRhdGUgdGhlIGRvbSBwb3NpdGlvbiBvZiB0aGUgYWN0dWFsIGN1cnJlbnRJdGVtDQoJCS8vIE5vdGU6IGRvbid0IGRvIGl0IGlmIHRoZSBjdXJyZW50IGl0ZW0gaXMgYWxyZWFkeSByZW1vdmVkIChieSBhIHVzZXIpLCBvciBpdCBnZXRzDQoJCS8vIHJlYXBwZW5kZWQgKHNlZSAjNDA4OCkNCgkJaWYgKCAhdGhpcy5fbm9GaW5hbFNvcnQgJiYgdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKS5sZW5ndGggKSB7DQoJCQl0aGlzLnBsYWNlaG9sZGVyLmJlZm9yZSggdGhpcy5jdXJyZW50SXRlbSApOw0KCQl9DQoJCXRoaXMuX25vRmluYWxTb3J0ID0gbnVsbDsNCg0KCQlpZiAoIHRoaXMuaGVscGVyWyAwIF0gPT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCWZvciAoIGkgaW4gdGhpcy5fc3RvcmVkQ1NTICkgew0KCQkJCWlmICggdGhpcy5fc3RvcmVkQ1NTWyBpIF0gPT09ICJhdXRvIiB8fCB0aGlzLl9zdG9yZWRDU1NbIGkgXSA9PT0gInN0YXRpYyIgKSB7DQoJCQkJCXRoaXMuX3N0b3JlZENTU1sgaSBdID0gIiI7DQoJCQkJfQ0KCQkJfQ0KCQkJdGhpcy5jdXJyZW50SXRlbS5jc3MoIHRoaXMuX3N0b3JlZENTUyApOw0KCQkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuY3VycmVudEl0ZW0sICJ1aS1zb3J0YWJsZS1oZWxwZXIiICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmN1cnJlbnRJdGVtLnNob3coKTsNCgkJfQ0KDQoJCWlmICggdGhpcy5mcm9tT3V0c2lkZSAmJiAhbm9Qcm9wYWdhdGlvbiApIHsNCgkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fdHJpZ2dlciggInJlY2VpdmUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzLmZyb21PdXRzaWRlICkgKTsNCgkJCX0gKTsNCgkJfQ0KCQlpZiAoICggdGhpcy5mcm9tT3V0c2lkZSB8fA0KCQkJCXRoaXMuZG9tUG9zaXRpb24ucHJldiAhPT0NCgkJCQl0aGlzLmN1cnJlbnRJdGVtLnByZXYoKS5ub3QoICIudWktc29ydGFibGUtaGVscGVyIiApWyAwIF0gfHwNCgkJCQl0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCAhPT0gdGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVsgMCBdICkgJiYgIW5vUHJvcGFnYXRpb24gKSB7DQoNCgkJCS8vIFRyaWdnZXIgdXBkYXRlIGNhbGxiYWNrIGlmIHRoZSBET00gcG9zaXRpb24gaGFzIGNoYW5nZWQNCgkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCQkJdGhpcy5fdHJpZ2dlciggInVwZGF0ZSIsIGV2ZW50LCB0aGlzLl91aUhhc2goKSApOw0KCQkJfSApOw0KCQl9DQoNCgkJLy8gQ2hlY2sgaWYgdGhlIGl0ZW1zIENvbnRhaW5lciBoYXMgQ2hhbmdlZCBhbmQgdHJpZ2dlciBhcHByb3ByaWF0ZQ0KCQkvLyBldmVudHMuDQoJCWlmICggdGhpcyAhPT0gdGhpcy5jdXJyZW50Q29udGFpbmVyICkgew0KCQkJaWYgKCAhbm9Qcm9wYWdhdGlvbiApIHsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCggZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQl0aGlzLl90cmlnZ2VyKCAicmVtb3ZlIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCQkJfSApOw0KCQkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCAoIGZ1bmN0aW9uKCBjICkgew0KCQkJCQlyZXR1cm4gZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCQkJYy5fdHJpZ2dlciggInJlY2VpdmUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzICkgKTsNCgkJCQkJfTsNCgkJCQl9ICkuY2FsbCggdGhpcywgdGhpcy5jdXJyZW50Q29udGFpbmVyICkgKTsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCggKCBmdW5jdGlvbiggYyApIHsNCgkJCQkJcmV0dXJuIGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQkJCWMuX3RyaWdnZXIoICJ1cGRhdGUiLCBldmVudCwgdGhpcy5fdWlIYXNoKCB0aGlzICkgKTsNCgkJCQkJfTsNCgkJCQl9ICkuY2FsbCggdGhpcywgdGhpcy5jdXJyZW50Q29udGFpbmVyICkgKTsNCgkJCX0NCgkJfQ0KDQoJCS8vUG9zdCBldmVudHMgdG8gY29udGFpbmVycw0KCQlmdW5jdGlvbiBkZWxheUV2ZW50KCB0eXBlLCBpbnN0YW5jZSwgY29udGFpbmVyICkgew0KCQkJcmV0dXJuIGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQljb250YWluZXIuX3RyaWdnZXIoIHR5cGUsIGV2ZW50LCBpbnN0YW5jZS5fdWlIYXNoKCBpbnN0YW5jZSApICk7DQoJCQl9Ow0KCQl9DQoJCWZvciAoIGkgPSB0aGlzLmNvbnRhaW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0gKSB7DQoJCQlpZiAoICFub1Byb3BhZ2F0aW9uICkgew0KCQkJCWRlbGF5ZWRUcmlnZ2Vycy5wdXNoKCBkZWxheUV2ZW50KCAiZGVhY3RpdmF0ZSIsIHRoaXMsIHRoaXMuY29udGFpbmVyc1sgaSBdICkgKTsNCgkJCX0NCgkJCWlmICggdGhpcy5jb250YWluZXJzWyBpIF0uY29udGFpbmVyQ2FjaGUub3ZlciApIHsNCgkJCQlkZWxheWVkVHJpZ2dlcnMucHVzaCggZGVsYXlFdmVudCggIm91dCIsIHRoaXMsIHRoaXMuY29udGFpbmVyc1sgaSBdICkgKTsNCgkJCQl0aGlzLmNvbnRhaW5lcnNbIGkgXS5jb250YWluZXJDYWNoZS5vdmVyID0gMDsNCgkJCX0NCgkJfQ0KDQoJCS8vRG8gd2hhdCB3YXMgb3JpZ2luYWxseSBpbiBwbHVnaW5zDQoJCWlmICggdGhpcy5zdG9yZWRDdXJzb3IgKSB7DQoJCQl0aGlzLmRvY3VtZW50LmZpbmQoICJib2R5IiApLmNzcyggImN1cnNvciIsIHRoaXMuc3RvcmVkQ3Vyc29yICk7DQoJCQl0aGlzLnN0b3JlZFN0eWxlc2hlZXQucmVtb3ZlKCk7DQoJCX0NCgkJaWYgKCB0aGlzLl9zdG9yZWRPcGFjaXR5ICkgew0KCQkJdGhpcy5oZWxwZXIuY3NzKCAib3BhY2l0eSIsIHRoaXMuX3N0b3JlZE9wYWNpdHkgKTsNCgkJfQ0KCQlpZiAoIHRoaXMuX3N0b3JlZFpJbmRleCApIHsNCgkJCXRoaXMuaGVscGVyLmNzcyggInpJbmRleCIsIHRoaXMuX3N0b3JlZFpJbmRleCA9PT0gImF1dG8iID8gIiIgOiB0aGlzLl9zdG9yZWRaSW5kZXggKTsNCgkJfQ0KDQoJCXRoaXMuZHJhZ2dpbmcgPSBmYWxzZTsNCg0KCQlpZiAoICFub1Byb3BhZ2F0aW9uICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImJlZm9yZVN0b3AiLCBldmVudCwgdGhpcy5fdWlIYXNoKCkgKTsNCgkJfQ0KDQoJCS8vJCh0aGlzLnBsYWNlaG9sZGVyWzBdKS5yZW1vdmUoKTsgd291bGQgaGF2ZSBiZWVuIHRoZSBqUXVlcnkgd2F5IC0gdW5mb3J0dW5hdGVseSwNCgkJLy8gaXQgdW5iaW5kcyBBTEwgZXZlbnRzIGZyb20gdGhlIG9yaWdpbmFsIG5vZGUhDQoJCXRoaXMucGxhY2Vob2xkZXJbIDAgXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB0aGlzLnBsYWNlaG9sZGVyWyAwIF0gKTsNCg0KCQlpZiAoICF0aGlzLmNhbmNlbEhlbHBlclJlbW92YWwgKSB7DQoJCQlpZiAoIHRoaXMuaGVscGVyWyAwIF0gIT09IHRoaXMuY3VycmVudEl0ZW1bIDAgXSApIHsNCgkJCQl0aGlzLmhlbHBlci5yZW1vdmUoKTsNCgkJCX0NCgkJCXRoaXMuaGVscGVyID0gbnVsbDsNCgkJfQ0KDQoJCWlmICggIW5vUHJvcGFnYXRpb24gKSB7DQoJCQlmb3IgKCBpID0gMDsgaSA8IGRlbGF5ZWRUcmlnZ2Vycy5sZW5ndGg7IGkrKyApIHsNCg0KCQkJCS8vIFRyaWdnZXIgYWxsIGRlbGF5ZWQgZXZlbnRzDQoJCQkJZGVsYXllZFRyaWdnZXJzWyBpIF0uY2FsbCggdGhpcywgZXZlbnQgKTsNCgkJCX0NCgkJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQsIHRoaXMuX3VpSGFzaCgpICk7DQoJCX0NCg0KCQl0aGlzLmZyb21PdXRzaWRlID0gZmFsc2U7DQoJCXJldHVybiAhdGhpcy5jYW5jZWxIZWxwZXJSZW1vdmFsOw0KDQoJfSwNCg0KCV90cmlnZ2VyOiBmdW5jdGlvbigpIHsNCgkJaWYgKCAkLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApID09PSBmYWxzZSApIHsNCgkJCXRoaXMuY2FuY2VsKCk7DQoJCX0NCgl9LA0KDQoJX3VpSGFzaDogZnVuY3Rpb24oIF9pbnN0ICkgew0KCQl2YXIgaW5zdCA9IF9pbnN0IHx8IHRoaXM7DQoJCXJldHVybiB7DQoJCQloZWxwZXI6IGluc3QuaGVscGVyLA0KCQkJcGxhY2Vob2xkZXI6IGluc3QucGxhY2Vob2xkZXIgfHwgJCggW10gKSwNCgkJCXBvc2l0aW9uOiBpbnN0LnBvc2l0aW9uLA0KCQkJb3JpZ2luYWxQb3NpdGlvbjogaW5zdC5vcmlnaW5hbFBvc2l0aW9uLA0KCQkJb2Zmc2V0OiBpbnN0LnBvc2l0aW9uQWJzLA0KCQkJaXRlbTogaW5zdC5jdXJyZW50SXRlbSwNCgkJCXNlbmRlcjogX2luc3QgPyBfaW5zdC5lbGVtZW50IDogbnVsbA0KCQl9Ow0KCX0NCg0KfSApOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFNwaW5uZXIgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFNwaW5uZXINCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBEaXNwbGF5cyBidXR0b25zIHRvIGVhc2lseSBpbnB1dCBudW1iZXJzIHZpYSB0aGUga2V5Ym9hcmQgb3IgbW91c2UuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vc3Bpbm5lci8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS9zcGlubmVyLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2Uvc3Bpbm5lci5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KZnVuY3Rpb24gc3Bpbm5lck1vZGlmZXIoIGZuICkgew0KCXJldHVybiBmdW5jdGlvbigpIHsNCgkJdmFyIHByZXZpb3VzID0gdGhpcy5lbGVtZW50LnZhbCgpOw0KCQlmbi5hcHBseSggdGhpcywgYXJndW1lbnRzICk7DQoJCXRoaXMuX3JlZnJlc2goKTsNCgkJaWYgKCBwcmV2aW91cyAhPT0gdGhpcy5lbGVtZW50LnZhbCgpICkgew0KCQkJdGhpcy5fdHJpZ2dlciggImNoYW5nZSIgKTsNCgkJfQ0KCX07DQp9DQoNCiQud2lkZ2V0KCAidWkuc3Bpbm5lciIsIHsNCgl2ZXJzaW9uOiAiMS4xMi4xIiwNCglkZWZhdWx0RWxlbWVudDogIjxpbnB1dD4iLA0KCXdpZGdldEV2ZW50UHJlZml4OiAic3BpbiIsDQoJb3B0aW9uczogew0KCQljbGFzc2VzOiB7DQoJCQkidWktc3Bpbm5lciI6ICJ1aS1jb3JuZXItYWxsIiwNCgkJCSJ1aS1zcGlubmVyLWRvd24iOiAidWktY29ybmVyLWJyIiwNCgkJCSJ1aS1zcGlubmVyLXVwIjogInVpLWNvcm5lci10ciINCgkJfSwNCgkJY3VsdHVyZTogbnVsbCwNCgkJaWNvbnM6IHsNCgkJCWRvd246ICJ1aS1pY29uLXRyaWFuZ2xlLTEtcyIsDQoJCQl1cDogInVpLWljb24tdHJpYW5nbGUtMS1uIg0KCQl9LA0KCQlpbmNyZW1lbnRhbDogdHJ1ZSwNCgkJbWF4OiBudWxsLA0KCQltaW46IG51bGwsDQoJCW51bWJlckZvcm1hdDogbnVsbCwNCgkJcGFnZTogMTAsDQoJCXN0ZXA6IDEsDQoNCgkJY2hhbmdlOiBudWxsLA0KCQlzcGluOiBudWxsLA0KCQlzdGFydDogbnVsbCwNCgkJc3RvcDogbnVsbA0KCX0sDQoNCglfY3JlYXRlOiBmdW5jdGlvbigpIHsNCg0KCQkvLyBoYW5kbGUgc3RyaW5nIHZhbHVlcyB0aGF0IG5lZWQgdG8gYmUgcGFyc2VkDQoJCXRoaXMuX3NldE9wdGlvbiggIm1heCIsIHRoaXMub3B0aW9ucy5tYXggKTsNCgkJdGhpcy5fc2V0T3B0aW9uKCAibWluIiwgdGhpcy5vcHRpb25zLm1pbiApOw0KCQl0aGlzLl9zZXRPcHRpb24oICJzdGVwIiwgdGhpcy5vcHRpb25zLnN0ZXAgKTsNCg0KCQkvLyBPbmx5IGZvcm1hdCBpZiB0aGVyZSBpcyBhIHZhbHVlLCBwcmV2ZW50cyB0aGUgZmllbGQgZnJvbSBiZWluZyBtYXJrZWQNCgkJLy8gYXMgaW52YWxpZCBpbiBGaXJlZm94LCBzZWUgIzk1NzMuDQoJCWlmICggdGhpcy52YWx1ZSgpICE9PSAiIiApIHsNCg0KCQkJLy8gRm9ybWF0IHRoZSB2YWx1ZSwgYnV0IGRvbid0IGNvbnN0cmFpbi4NCgkJCXRoaXMuX3ZhbHVlKCB0aGlzLmVsZW1lbnQudmFsKCksIHRydWUgKTsNCgkJfQ0KDQoJCXRoaXMuX2RyYXcoKTsNCgkJdGhpcy5fb24oIHRoaXMuX2V2ZW50cyApOw0KCQl0aGlzLl9yZWZyZXNoKCk7DQoNCgkJLy8gVHVybmluZyBvZmYgYXV0b2NvbXBsZXRlIHByZXZlbnRzIHRoZSBicm93c2VyIGZyb20gcmVtZW1iZXJpbmcgdGhlDQoJCS8vIHZhbHVlIHdoZW4gbmF2aWdhdGluZyB0aHJvdWdoIGhpc3RvcnksIHNvIHdlIHJlLWVuYWJsZSBhdXRvY29tcGxldGUNCgkJLy8gaWYgdGhlIHBhZ2UgaXMgdW5sb2FkZWQgYmVmb3JlIHRoZSB3aWRnZXQgaXMgZGVzdHJveWVkLiAjNzc5MA0KCQl0aGlzLl9vbiggdGhpcy53aW5kb3csIHsNCgkJCWJlZm9yZXVubG9hZDogZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoICJhdXRvY29tcGxldGUiICk7DQoJCQl9DQoJCX0gKTsNCgl9LA0KDQoJX2dldENyZWF0ZU9wdGlvbnM6IGZ1bmN0aW9uKCkgew0KCQl2YXIgb3B0aW9ucyA9IHRoaXMuX3N1cGVyKCk7DQoJCXZhciBlbGVtZW50ID0gdGhpcy5lbGVtZW50Ow0KDQoJCSQuZWFjaCggWyAibWluIiwgIm1heCIsICJzdGVwIiBdLCBmdW5jdGlvbiggaSwgb3B0aW9uICkgew0KCQkJdmFyIHZhbHVlID0gZWxlbWVudC5hdHRyKCBvcHRpb24gKTsNCgkJCWlmICggdmFsdWUgIT0gbnVsbCAmJiB2YWx1ZS5sZW5ndGggKSB7DQoJCQkJb3B0aW9uc1sgb3B0aW9uIF0gPSB2YWx1ZTsNCgkJCX0NCgkJfSApOw0KDQoJCXJldHVybiBvcHRpb25zOw0KCX0sDQoNCglfZXZlbnRzOiB7DQoJCWtleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCWlmICggdGhpcy5fc3RhcnQoIGV2ZW50ICkgJiYgdGhpcy5fa2V5ZG93biggZXZlbnQgKSApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJfQ0KCQl9LA0KCQlrZXl1cDogIl9zdG9wIiwNCgkJZm9jdXM6IGZ1bmN0aW9uKCkgew0KCQkJdGhpcy5wcmV2aW91cyA9IHRoaXMuZWxlbWVudC52YWwoKTsNCgkJfSwNCgkJYmx1cjogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJaWYgKCB0aGlzLmNhbmNlbEJsdXIgKSB7DQoJCQkJZGVsZXRlIHRoaXMuY2FuY2VsQmx1cjsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCXRoaXMuX3N0b3AoKTsNCgkJCXRoaXMuX3JlZnJlc2goKTsNCgkJCWlmICggdGhpcy5wcmV2aW91cyAhPT0gdGhpcy5lbGVtZW50LnZhbCgpICkgew0KCQkJCXRoaXMuX3RyaWdnZXIoICJjaGFuZ2UiLCBldmVudCApOw0KCQkJfQ0KCQl9LA0KCQltb3VzZXdoZWVsOiBmdW5jdGlvbiggZXZlbnQsIGRlbHRhICkgew0KCQkJaWYgKCAhZGVsdGEgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KCQkJaWYgKCAhdGhpcy5zcGlubmluZyAmJiAhdGhpcy5fc3RhcnQoIGV2ZW50ICkgKSB7DQoJCQkJcmV0dXJuIGZhbHNlOw0KCQkJfQ0KDQoJCQl0aGlzLl9zcGluKCAoIGRlbHRhID4gMCA/IDEgOiAtMSApICogdGhpcy5vcHRpb25zLnN0ZXAsIGV2ZW50ICk7DQoJCQljbGVhclRpbWVvdXQoIHRoaXMubW91c2V3aGVlbFRpbWVyICk7DQoJCQl0aGlzLm1vdXNld2hlZWxUaW1lciA9IHRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHRoaXMuc3Bpbm5pbmcgKSB7DQoJCQkJCXRoaXMuX3N0b3AoIGV2ZW50ICk7DQoJCQkJfQ0KCQkJfSwgMTAwICk7DQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQl9LA0KCQkibW91c2Vkb3duIC51aS1zcGlubmVyLWJ1dHRvbiI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCXZhciBwcmV2aW91czsNCg0KCQkJLy8gV2UgbmV2ZXIgd2FudCB0aGUgYnV0dG9ucyB0byBoYXZlIGZvY3VzOyB3aGVuZXZlciB0aGUgdXNlciBpcw0KCQkJLy8gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgc3Bpbm5lciwgdGhlIGZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQuDQoJCQkvLyBJZiB0aGUgaW5wdXQgaXMgZm9jdXNlZCB0aGVuIHRoaXMucHJldmlvdXMgaXMgcHJvcGVybHkgc2V0IGZyb20NCgkJCS8vIHdoZW4gdGhlIGlucHV0IGZpcnN0IHJlY2VpdmVkIGZvY3VzLiBJZiB0aGUgaW5wdXQgaXMgbm90IGZvY3VzZWQNCgkJCS8vIHRoZW4gd2UgbmVlZCB0byBzZXQgdGhpcy5wcmV2aW91cyBiYXNlZCBvbiB0aGUgdmFsdWUgYmVmb3JlIHNwaW5uaW5nLg0KCQkJcHJldmlvdXMgPSB0aGlzLmVsZW1lbnRbIDAgXSA9PT0gJC51aS5zYWZlQWN0aXZlRWxlbWVudCggdGhpcy5kb2N1bWVudFsgMCBdICkgPw0KCQkJCXRoaXMucHJldmlvdXMgOiB0aGlzLmVsZW1lbnQudmFsKCk7DQoJCQlmdW5jdGlvbiBjaGVja0ZvY3VzKCkgew0KCQkJCXZhciBpc0FjdGl2ZSA9IHRoaXMuZWxlbWVudFsgMCBdID09PSAkLnVpLnNhZmVBY3RpdmVFbGVtZW50KCB0aGlzLmRvY3VtZW50WyAwIF0gKTsNCgkJCQlpZiAoICFpc0FjdGl2ZSApIHsNCgkJCQkJdGhpcy5lbGVtZW50LnRyaWdnZXIoICJmb2N1cyIgKTsNCgkJCQkJdGhpcy5wcmV2aW91cyA9IHByZXZpb3VzOw0KDQoJCQkJCS8vIHN1cHBvcnQ6IElFDQoJCQkJCS8vIElFIHNldHMgZm9jdXMgYXN5bmNocm9ub3VzbHksIHNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgZm9jdXMNCgkJCQkJLy8gbW92ZWQgb2ZmIG9mIHRoZSBpbnB1dCBiZWNhdXNlIHRoZSB1c2VyIGNsaWNrZWQgb24gdGhlIGJ1dHRvbi4NCgkJCQkJdGhpcy5fZGVsYXkoIGZ1bmN0aW9uKCkgew0KCQkJCQkJdGhpcy5wcmV2aW91cyA9IHByZXZpb3VzOw0KCQkJCQl9ICk7DQoJCQkJfQ0KCQkJfQ0KDQoJCQkvLyBFbnN1cmUgZm9jdXMgaXMgb24gKG9yIHN0YXlzIG9uKSB0aGUgdGV4dCBmaWVsZA0KCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCWNoZWNrRm9jdXMuY2FsbCggdGhpcyApOw0KDQoJCQkvLyBTdXBwb3J0OiBJRQ0KCQkJLy8gSUUgZG9lc24ndCBwcmV2ZW50IG1vdmluZyBmb2N1cyBldmVuIHdpdGggZXZlbnQucHJldmVudERlZmF1bHQoKQ0KCQkJLy8gc28gd2Ugc2V0IGEgZmxhZyB0byBrbm93IHdoZW4gd2Ugc2hvdWxkIGlnbm9yZSB0aGUgYmx1ciBldmVudA0KCQkJLy8gYW5kIGNoZWNrIChhZ2FpbikgaWYgZm9jdXMgbW92ZWQgb2ZmIG9mIHRoZSBpbnB1dC4NCgkJCXRoaXMuY2FuY2VsQmx1ciA9IHRydWU7DQoJCQl0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQkJZGVsZXRlIHRoaXMuY2FuY2VsQmx1cjsNCgkJCQljaGVja0ZvY3VzLmNhbGwoIHRoaXMgKTsNCgkJCX0gKTsNCg0KCQkJaWYgKCB0aGlzLl9zdGFydCggZXZlbnQgKSA9PT0gZmFsc2UgKSB7DQoJCQkJcmV0dXJuOw0KCQkJfQ0KDQoJCQl0aGlzLl9yZXBlYXQoIG51bGwsICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKQ0KCQkJCS5oYXNDbGFzcyggInVpLXNwaW5uZXItdXAiICkgPyAxIDogLTEsIGV2ZW50ICk7DQoJCX0sDQoJCSJtb3VzZXVwIC51aS1zcGlubmVyLWJ1dHRvbiI6ICJfc3RvcCIsDQoJCSJtb3VzZWVudGVyIC51aS1zcGlubmVyLWJ1dHRvbiI6IGZ1bmN0aW9uKCBldmVudCApIHsNCg0KCQkJLy8gYnV0dG9uIHdpbGwgYWRkIHVpLXN0YXRlLWFjdGl2ZSBpZiBtb3VzZSB3YXMgZG93biB3aGlsZSBtb3VzZWxlYXZlIGFuZCBrZXB0IGRvd24NCgkJCWlmICggISQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKS5oYXNDbGFzcyggInVpLXN0YXRlLWFjdGl2ZSIgKSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoNCgkJCWlmICggdGhpcy5fc3RhcnQoIGV2ZW50ICkgPT09IGZhbHNlICkgew0KCQkJCXJldHVybiBmYWxzZTsNCgkJCX0NCgkJCXRoaXMuX3JlcGVhdCggbnVsbCwgJCggZXZlbnQuY3VycmVudFRhcmdldCApDQoJCQkJLmhhc0NsYXNzKCAidWktc3Bpbm5lci11cCIgKSA/IDEgOiAtMSwgZXZlbnQgKTsNCgkJfSwNCg0KCQkvLyBUT0RPOiBkbyB3ZSByZWFsbHkgd2FudCB0byBjb25zaWRlciB0aGlzIGEgc3RvcD8NCgkJLy8gc2hvdWxkbid0IHdlIGp1c3Qgc3RvcCB0aGUgcmVwZWF0ZXIgYW5kIHdhaXQgdW50aWwgbW91c2V1cCBiZWZvcmUNCgkJLy8gd2UgdHJpZ2dlciB0aGUgc3RvcCBldmVudD8NCgkJIm1vdXNlbGVhdmUgLnVpLXNwaW5uZXItYnV0dG9uIjogIl9zdG9wIg0KCX0sDQoNCgkvLyBTdXBwb3J0IG1vYmlsZSBlbmhhbmNlZCBvcHRpb24gYW5kIG1ha2UgYmFja2NvbXBhdCBtb3JlIHNhbmUNCglfZW5oYW5jZTogZnVuY3Rpb24oKSB7DQoJCXRoaXMudWlTcGlubmVyID0gdGhpcy5lbGVtZW50DQoJCQkuYXR0ciggImF1dG9jb21wbGV0ZSIsICJvZmYiICkNCgkJCS53cmFwKCAiPHNwYW4+IiApDQoJCQkucGFyZW50KCkNCg0KCQkJCS8vIEFkZCBidXR0b25zDQoJCQkJLmFwcGVuZCgNCgkJCQkJIjxhPjwvYT48YT48L2E+Ig0KCQkJCSk7DQoJfSwNCg0KCV9kcmF3OiBmdW5jdGlvbigpIHsNCgkJdGhpcy5fZW5oYW5jZSgpOw0KDQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnVpU3Bpbm5lciwgInVpLXNwaW5uZXIiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggInVpLXNwaW5uZXItaW5wdXQiICk7DQoNCgkJdGhpcy5lbGVtZW50LmF0dHIoICJyb2xlIiwgInNwaW5idXR0b24iICk7DQoNCgkJLy8gQnV0dG9uIGJpbmRpbmdzDQoJCXRoaXMuYnV0dG9ucyA9IHRoaXMudWlTcGlubmVyLmNoaWxkcmVuKCAiYSIgKQ0KCQkJLmF0dHIoICJ0YWJJbmRleCIsIC0xICkNCgkJCS5hdHRyKCAiYXJpYS1oaWRkZW4iLCB0cnVlICkNCgkJCS5idXR0b24oIHsNCgkJCQljbGFzc2VzOiB7DQoJCQkJCSJ1aS1idXR0b24iOiAiIg0KCQkJCX0NCgkJCX0gKTsNCg0KCQkvLyBUT0RPOiBSaWdodCBub3cgYnV0dG9uIGRvZXMgbm90IHN1cHBvcnQgY2xhc3NlcyB0aGlzIGlzIGFscmVhZHkgdXBkYXRlZCBpbiBidXR0b24gUFINCgkJdGhpcy5fcmVtb3ZlQ2xhc3MoIHRoaXMuYnV0dG9ucywgInVpLWNvcm5lci1hbGwiICk7DQoNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYnV0dG9ucy5maXJzdCgpLCAidWktc3Bpbm5lci1idXR0b24gdWktc3Bpbm5lci11cCIgKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYnV0dG9ucy5sYXN0KCksICJ1aS1zcGlubmVyLWJ1dHRvbiB1aS1zcGlubmVyLWRvd24iICk7DQoJCXRoaXMuYnV0dG9ucy5maXJzdCgpLmJ1dHRvbiggew0KCQkJImljb24iOiB0aGlzLm9wdGlvbnMuaWNvbnMudXAsDQoJCQkic2hvd0xhYmVsIjogZmFsc2UNCgkJfSApOw0KCQl0aGlzLmJ1dHRvbnMubGFzdCgpLmJ1dHRvbiggew0KCQkJImljb24iOiB0aGlzLm9wdGlvbnMuaWNvbnMuZG93biwNCgkJCSJzaG93TGFiZWwiOiBmYWxzZQ0KCQl9ICk7DQoNCgkJLy8gSUUgNiBkb2Vzbid0IHVuZGVyc3RhbmQgaGVpZ2h0OiA1MCUgZm9yIHRoZSBidXR0b25zDQoJCS8vIHVubGVzcyB0aGUgd3JhcHBlciBoYXMgYW4gZXhwbGljaXQgaGVpZ2h0DQoJCWlmICggdGhpcy5idXR0b25zLmhlaWdodCgpID4gTWF0aC5jZWlsKCB0aGlzLnVpU3Bpbm5lci5oZWlnaHQoKSAqIDAuNSApICYmDQoJCQkJdGhpcy51aVNwaW5uZXIuaGVpZ2h0KCkgPiAwICkgew0KCQkJdGhpcy51aVNwaW5uZXIuaGVpZ2h0KCB0aGlzLnVpU3Bpbm5lci5oZWlnaHQoKSApOw0KCQl9DQoJfSwNCg0KCV9rZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJa2V5Q29kZSA9ICQudWkua2V5Q29kZTsNCg0KCQlzd2l0Y2ggKCBldmVudC5rZXlDb2RlICkgew0KCQljYXNlIGtleUNvZGUuVVA6DQoJCQl0aGlzLl9yZXBlYXQoIG51bGwsIDEsIGV2ZW50ICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJY2FzZSBrZXlDb2RlLkRPV046DQoJCQl0aGlzLl9yZXBlYXQoIG51bGwsIC0xLCBldmVudCApOw0KCQkJcmV0dXJuIHRydWU7DQoJCWNhc2Uga2V5Q29kZS5QQUdFX1VQOg0KCQkJdGhpcy5fcmVwZWF0KCBudWxsLCBvcHRpb25zLnBhZ2UsIGV2ZW50ICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJY2FzZSBrZXlDb2RlLlBBR0VfRE9XTjoNCgkJCXRoaXMuX3JlcGVhdCggbnVsbCwgLW9wdGlvbnMucGFnZSwgZXZlbnQgKTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoNCgkJcmV0dXJuIGZhbHNlOw0KCX0sDQoNCglfc3RhcnQ6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJaWYgKCAhdGhpcy5zcGlubmluZyAmJiB0aGlzLl90cmlnZ2VyKCAic3RhcnQiLCBldmVudCApID09PSBmYWxzZSApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCWlmICggIXRoaXMuY291bnRlciApIHsNCgkJCXRoaXMuY291bnRlciA9IDE7DQoJCX0NCgkJdGhpcy5zcGlubmluZyA9IHRydWU7DQoJCXJldHVybiB0cnVlOw0KCX0sDQoNCglfcmVwZWF0OiBmdW5jdGlvbiggaSwgc3RlcHMsIGV2ZW50ICkgew0KCQlpID0gaSB8fCA1MDA7DQoNCgkJY2xlYXJUaW1lb3V0KCB0aGlzLnRpbWVyICk7DQoJCXRoaXMudGltZXIgPSB0aGlzLl9kZWxheSggZnVuY3Rpb24oKSB7DQoJCQl0aGlzLl9yZXBlYXQoIDQwLCBzdGVwcywgZXZlbnQgKTsNCgkJfSwgaSApOw0KDQoJCXRoaXMuX3NwaW4oIHN0ZXBzICogdGhpcy5vcHRpb25zLnN0ZXAsIGV2ZW50ICk7DQoJfSwNCg0KCV9zcGluOiBmdW5jdGlvbiggc3RlcCwgZXZlbnQgKSB7DQoJCXZhciB2YWx1ZSA9IHRoaXMudmFsdWUoKSB8fCAwOw0KDQoJCWlmICggIXRoaXMuY291bnRlciApIHsNCgkJCXRoaXMuY291bnRlciA9IDE7DQoJCX0NCg0KCQl2YWx1ZSA9IHRoaXMuX2FkanVzdFZhbHVlKCB2YWx1ZSArIHN0ZXAgKiB0aGlzLl9pbmNyZW1lbnQoIHRoaXMuY291bnRlciApICk7DQoNCgkJaWYgKCAhdGhpcy5zcGlubmluZyB8fCB0aGlzLl90cmlnZ2VyKCAic3BpbiIsIGV2ZW50LCB7IHZhbHVlOiB2YWx1ZSB9ICkgIT09IGZhbHNlICkgew0KCQkJdGhpcy5fdmFsdWUoIHZhbHVlICk7DQoJCQl0aGlzLmNvdW50ZXIrKzsNCgkJfQ0KCX0sDQoNCglfaW5jcmVtZW50OiBmdW5jdGlvbiggaSApIHsNCgkJdmFyIGluY3JlbWVudGFsID0gdGhpcy5vcHRpb25zLmluY3JlbWVudGFsOw0KDQoJCWlmICggaW5jcmVtZW50YWwgKSB7DQoJCQlyZXR1cm4gJC5pc0Z1bmN0aW9uKCBpbmNyZW1lbnRhbCApID8NCgkJCQlpbmNyZW1lbnRhbCggaSApIDoNCgkJCQlNYXRoLmZsb29yKCBpICogaSAqIGkgLyA1MDAwMCAtIGkgKiBpIC8gNTAwICsgMTcgKiBpIC8gMjAwICsgMSApOw0KCQl9DQoNCgkJcmV0dXJuIDE7DQoJfSwNCg0KCV9wcmVjaXNpb246IGZ1bmN0aW9uKCkgew0KCQl2YXIgcHJlY2lzaW9uID0gdGhpcy5fcHJlY2lzaW9uT2YoIHRoaXMub3B0aW9ucy5zdGVwICk7DQoJCWlmICggdGhpcy5vcHRpb25zLm1pbiAhPT0gbnVsbCApIHsNCgkJCXByZWNpc2lvbiA9IE1hdGgubWF4KCBwcmVjaXNpb24sIHRoaXMuX3ByZWNpc2lvbk9mKCB0aGlzLm9wdGlvbnMubWluICkgKTsNCgkJfQ0KCQlyZXR1cm4gcHJlY2lzaW9uOw0KCX0sDQoNCglfcHJlY2lzaW9uT2Y6IGZ1bmN0aW9uKCBudW0gKSB7DQoJCXZhciBzdHIgPSBudW0udG9TdHJpbmcoKSwNCgkJCWRlY2ltYWwgPSBzdHIuaW5kZXhPZiggIi4iICk7DQoJCXJldHVybiBkZWNpbWFsID09PSAtMSA/IDAgOiBzdHIubGVuZ3RoIC0gZGVjaW1hbCAtIDE7DQoJfSwNCg0KCV9hZGp1c3RWYWx1ZTogZnVuY3Rpb24oIHZhbHVlICkgew0KCQl2YXIgYmFzZSwgYWJvdmVNaW4sDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KDQoJCS8vIE1ha2Ugc3VyZSB3ZSdyZSBhdCBhIHZhbGlkIHN0ZXANCgkJLy8gLSBmaW5kIG91dCB3aGVyZSB3ZSBhcmUgcmVsYXRpdmUgdG8gdGhlIGJhc2UgKG1pbiBvciAwKQ0KCQliYXNlID0gb3B0aW9ucy5taW4gIT09IG51bGwgPyBvcHRpb25zLm1pbiA6IDA7DQoJCWFib3ZlTWluID0gdmFsdWUgLSBiYXNlOw0KDQoJCS8vIC0gcm91bmQgdG8gdGhlIG5lYXJlc3Qgc3RlcA0KCQlhYm92ZU1pbiA9IE1hdGgucm91bmQoIGFib3ZlTWluIC8gb3B0aW9ucy5zdGVwICkgKiBvcHRpb25zLnN0ZXA7DQoNCgkJLy8gLSByb3VuZGluZyBpcyBiYXNlZCBvbiAwLCBzbyBhZGp1c3QgYmFjayB0byBvdXIgYmFzZQ0KCQl2YWx1ZSA9IGJhc2UgKyBhYm92ZU1pbjsNCg0KCQkvLyBGaXggcHJlY2lzaW9uIGZyb20gYmFkIEpTIGZsb2F0aW5nIHBvaW50IG1hdGgNCgkJdmFsdWUgPSBwYXJzZUZsb2F0KCB2YWx1ZS50b0ZpeGVkKCB0aGlzLl9wcmVjaXNpb24oKSApICk7DQoNCgkJLy8gQ2xhbXAgdGhlIHZhbHVlDQoJCWlmICggb3B0aW9ucy5tYXggIT09IG51bGwgJiYgdmFsdWUgPiBvcHRpb25zLm1heCApIHsNCgkJCXJldHVybiBvcHRpb25zLm1heDsNCgkJfQ0KCQlpZiAoIG9wdGlvbnMubWluICE9PSBudWxsICYmIHZhbHVlIDwgb3B0aW9ucy5taW4gKSB7DQoJCQlyZXR1cm4gb3B0aW9ucy5taW47DQoJCX0NCg0KCQlyZXR1cm4gdmFsdWU7DQoJfSwNCg0KCV9zdG9wOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggIXRoaXMuc3Bpbm5pbmcgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQljbGVhclRpbWVvdXQoIHRoaXMudGltZXIgKTsNCgkJY2xlYXJUaW1lb3V0KCB0aGlzLm1vdXNld2hlZWxUaW1lciApOw0KCQl0aGlzLmNvdW50ZXIgPSAwOw0KCQl0aGlzLnNwaW5uaW5nID0gZmFsc2U7DQoJCXRoaXMuX3RyaWdnZXIoICJzdG9wIiwgZXZlbnQgKTsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCXZhciBwcmV2VmFsdWUsIGZpcnN0LCBsYXN0Ow0KDQoJCWlmICgga2V5ID09PSAiY3VsdHVyZSIgfHwga2V5ID09PSAibnVtYmVyRm9ybWF0IiApIHsNCgkJCXByZXZWYWx1ZSA9IHRoaXMuX3BhcnNlKCB0aGlzLmVsZW1lbnQudmFsKCkgKTsNCgkJCXRoaXMub3B0aW9uc1sga2V5IF0gPSB2YWx1ZTsNCgkJCXRoaXMuZWxlbWVudC52YWwoIHRoaXMuX2Zvcm1hdCggcHJldlZhbHVlICkgKTsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCWlmICgga2V5ID09PSAibWF4IiB8fCBrZXkgPT09ICJtaW4iIHx8IGtleSA9PT0gInN0ZXAiICkgew0KCQkJaWYgKCB0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciICkgew0KCQkJCXZhbHVlID0gdGhpcy5fcGFyc2UoIHZhbHVlICk7DQoJCQl9DQoJCX0NCgkJaWYgKCBrZXkgPT09ICJpY29ucyIgKSB7DQoJCQlmaXJzdCA9IHRoaXMuYnV0dG9ucy5maXJzdCgpLmZpbmQoICIudWktaWNvbiIgKTsNCgkJCXRoaXMuX3JlbW92ZUNsYXNzKCBmaXJzdCwgbnVsbCwgdGhpcy5vcHRpb25zLmljb25zLnVwICk7DQoJCQl0aGlzLl9hZGRDbGFzcyggZmlyc3QsIG51bGwsIHZhbHVlLnVwICk7DQoJCQlsYXN0ID0gdGhpcy5idXR0b25zLmxhc3QoKS5maW5kKCAiLnVpLWljb24iICk7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggbGFzdCwgbnVsbCwgdGhpcy5vcHRpb25zLmljb25zLmRvd24gKTsNCgkJCXRoaXMuX2FkZENsYXNzKCBsYXN0LCBudWxsLCB2YWx1ZS5kb3duICk7DQoJCX0NCg0KCQl0aGlzLl9zdXBlcigga2V5LCB2YWx1ZSApOw0KCX0sDQoNCglfc2V0T3B0aW9uRGlzYWJsZWQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJdGhpcy5fc3VwZXIoIHZhbHVlICk7DQoNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMudWlTcGlubmVyLCBudWxsLCAidWktc3RhdGUtZGlzYWJsZWQiLCAhIXZhbHVlICk7DQoJCXRoaXMuZWxlbWVudC5wcm9wKCAiZGlzYWJsZWQiLCAhIXZhbHVlICk7DQoJCXRoaXMuYnV0dG9ucy5idXR0b24oIHZhbHVlID8gImRpc2FibGUiIDogImVuYWJsZSIgKTsNCgl9LA0KDQoJX3NldE9wdGlvbnM6IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggb3B0aW9ucyApIHsNCgkJdGhpcy5fc3VwZXIoIG9wdGlvbnMgKTsNCgl9ICksDQoNCglfcGFyc2U6IGZ1bmN0aW9uKCB2YWwgKSB7DQoJCWlmICggdHlwZW9mIHZhbCA9PT0gInN0cmluZyIgJiYgdmFsICE9PSAiIiApIHsNCgkJCXZhbCA9IHdpbmRvdy5HbG9iYWxpemUgJiYgdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCA/DQoJCQkJR2xvYmFsaXplLnBhcnNlRmxvYXQoIHZhbCwgMTAsIHRoaXMub3B0aW9ucy5jdWx0dXJlICkgOiArdmFsOw0KCQl9DQoJCXJldHVybiB2YWwgPT09ICIiIHx8IGlzTmFOKCB2YWwgKSA/IG51bGwgOiB2YWw7DQoJfSwNCg0KCV9mb3JtYXQ6IGZ1bmN0aW9uKCB2YWx1ZSApIHsNCgkJaWYgKCB2YWx1ZSA9PT0gIiIgKSB7DQoJCQlyZXR1cm4gIiI7DQoJCX0NCgkJcmV0dXJuIHdpbmRvdy5HbG9iYWxpemUgJiYgdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCA/DQoJCQlHbG9iYWxpemUuZm9ybWF0KCB2YWx1ZSwgdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCwgdGhpcy5vcHRpb25zLmN1bHR1cmUgKSA6DQoJCQl2YWx1ZTsNCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLmVsZW1lbnQuYXR0ciggew0KCQkJImFyaWEtdmFsdWVtaW4iOiB0aGlzLm9wdGlvbnMubWluLA0KCQkJImFyaWEtdmFsdWVtYXgiOiB0aGlzLm9wdGlvbnMubWF4LA0KDQoJCQkvLyBUT0RPOiB3aGF0IHNob3VsZCB3ZSBkbyB3aXRoIHZhbHVlcyB0aGF0IGNhbid0IGJlIHBhcnNlZD8NCgkJCSJhcmlhLXZhbHVlbm93IjogdGhpcy5fcGFyc2UoIHRoaXMuZWxlbWVudC52YWwoKSApDQoJCX0gKTsNCgl9LA0KDQoJaXNWYWxpZDogZnVuY3Rpb24oKSB7DQoJCXZhciB2YWx1ZSA9IHRoaXMudmFsdWUoKTsNCg0KCQkvLyBOdWxsIGlzIGludmFsaWQNCgkJaWYgKCB2YWx1ZSA9PT0gbnVsbCApIHsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KDQoJCS8vIElmIHZhbHVlIGdldHMgYWRqdXN0ZWQsIGl0J3MgaW52YWxpZA0KCQlyZXR1cm4gdmFsdWUgPT09IHRoaXMuX2FkanVzdFZhbHVlKCB2YWx1ZSApOw0KCX0sDQoNCgkvLyBVcGRhdGUgdGhlIHZhbHVlIHdpdGhvdXQgdHJpZ2dlcmluZyBjaGFuZ2UNCglfdmFsdWU6IGZ1bmN0aW9uKCB2YWx1ZSwgYWxsb3dBbnkgKSB7DQoJCXZhciBwYXJzZWQ7DQoJCWlmICggdmFsdWUgIT09ICIiICkgew0KCQkJcGFyc2VkID0gdGhpcy5fcGFyc2UoIHZhbHVlICk7DQoJCQlpZiAoIHBhcnNlZCAhPT0gbnVsbCApIHsNCgkJCQlpZiAoICFhbGxvd0FueSApIHsNCgkJCQkJcGFyc2VkID0gdGhpcy5fYWRqdXN0VmFsdWUoIHBhcnNlZCApOw0KCQkJCX0NCgkJCQl2YWx1ZSA9IHRoaXMuX2Zvcm1hdCggcGFyc2VkICk7DQoJCQl9DQoJCX0NCgkJdGhpcy5lbGVtZW50LnZhbCggdmFsdWUgKTsNCgkJdGhpcy5fcmVmcmVzaCgpOw0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXRoaXMuZWxlbWVudA0KCQkJLnByb3AoICJkaXNhYmxlZCIsIGZhbHNlICkNCgkJCS5yZW1vdmVBdHRyKCAiYXV0b2NvbXBsZXRlIHJvbGUgYXJpYS12YWx1ZW1pbiBhcmlhLXZhbHVlbWF4IGFyaWEtdmFsdWVub3ciICk7DQoNCgkJdGhpcy51aVNwaW5uZXIucmVwbGFjZVdpdGgoIHRoaXMuZWxlbWVudCApOw0KCX0sDQoNCglzdGVwVXA6IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggc3RlcHMgKSB7DQoJCXRoaXMuX3N0ZXBVcCggc3RlcHMgKTsNCgl9ICksDQoJX3N0ZXBVcDogZnVuY3Rpb24oIHN0ZXBzICkgew0KCQlpZiAoIHRoaXMuX3N0YXJ0KCkgKSB7DQoJCQl0aGlzLl9zcGluKCAoIHN0ZXBzIHx8IDEgKSAqIHRoaXMub3B0aW9ucy5zdGVwICk7DQoJCQl0aGlzLl9zdG9wKCk7DQoJCX0NCgl9LA0KDQoJc3RlcERvd246IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggc3RlcHMgKSB7DQoJCXRoaXMuX3N0ZXBEb3duKCBzdGVwcyApOw0KCX0gKSwNCglfc3RlcERvd246IGZ1bmN0aW9uKCBzdGVwcyApIHsNCgkJaWYgKCB0aGlzLl9zdGFydCgpICkgew0KCQkJdGhpcy5fc3BpbiggKCBzdGVwcyB8fCAxICkgKiAtdGhpcy5vcHRpb25zLnN0ZXAgKTsNCgkJCXRoaXMuX3N0b3AoKTsNCgkJfQ0KCX0sDQoNCglwYWdlVXA6IHNwaW5uZXJNb2RpZmVyKCBmdW5jdGlvbiggcGFnZXMgKSB7DQoJCXRoaXMuX3N0ZXBVcCggKCBwYWdlcyB8fCAxICkgKiB0aGlzLm9wdGlvbnMucGFnZSApOw0KCX0gKSwNCg0KCXBhZ2VEb3duOiBzcGlubmVyTW9kaWZlciggZnVuY3Rpb24oIHBhZ2VzICkgew0KCQl0aGlzLl9zdGVwRG93biggKCBwYWdlcyB8fCAxICkgKiB0aGlzLm9wdGlvbnMucGFnZSApOw0KCX0gKSwNCg0KCXZhbHVlOiBmdW5jdGlvbiggbmV3VmFsICkgew0KCQlpZiAoICFhcmd1bWVudHMubGVuZ3RoICkgew0KCQkJcmV0dXJuIHRoaXMuX3BhcnNlKCB0aGlzLmVsZW1lbnQudmFsKCkgKTsNCgkJfQ0KCQlzcGlubmVyTW9kaWZlciggdGhpcy5fdmFsdWUgKS5jYWxsKCB0aGlzLCBuZXdWYWwgKTsNCgl9LA0KDQoJd2lkZ2V0OiBmdW5jdGlvbigpIHsNCgkJcmV0dXJuIHRoaXMudWlTcGlubmVyOw0KCX0NCn0gKTsNCg0KLy8gREVQUkVDQVRFRA0KLy8gVE9ETzogc3dpdGNoIHJldHVybiBiYWNrIHRvIHdpZGdldCBkZWNsYXJhdGlvbiBhdCB0b3Agb2YgZmlsZSB3aGVuIHRoaXMgaXMgcmVtb3ZlZA0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoNCgkvLyBCYWNrY29tcGF0IGZvciBzcGlubmVyIGh0bWwgZXh0ZW5zaW9uIHBvaW50cw0KCSQud2lkZ2V0KCAidWkuc3Bpbm5lciIsICQudWkuc3Bpbm5lciwgew0KCQlfZW5oYW5jZTogZnVuY3Rpb24oKSB7DQoJCQl0aGlzLnVpU3Bpbm5lciA9IHRoaXMuZWxlbWVudA0KCQkJCS5hdHRyKCAiYXV0b2NvbXBsZXRlIiwgIm9mZiIgKQ0KCQkJCS53cmFwKCB0aGlzLl91aVNwaW5uZXJIdG1sKCkgKQ0KCQkJCS5wYXJlbnQoKQ0KDQoJCQkJCS8vIEFkZCBidXR0b25zDQoJCQkJCS5hcHBlbmQoIHRoaXMuX2J1dHRvbkh0bWwoKSApOw0KCQl9LA0KCQlfdWlTcGlubmVySHRtbDogZnVuY3Rpb24oKSB7DQoJCQlyZXR1cm4gIjxzcGFuPiI7DQoJCX0sDQoNCgkJX2J1dHRvbkh0bWw6IGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuICI8YT48L2E+PGE+PC9hPiI7DQoJCX0NCgl9ICk7DQp9DQoNCnZhciB3aWRnZXRzU3Bpbm5lciA9ICQudWkuc3Bpbm5lcjsNCg0KDQovKiENCiAqIGpRdWVyeSBVSSBUYWJzIDEuMTIuMQ0KICogaHR0cDovL2pxdWVyeXVpLmNvbQ0KICoNCiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzDQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuDQogKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlDQogKi8NCg0KLy8+PmxhYmVsOiBUYWJzDQovLz4+Z3JvdXA6IFdpZGdldHMNCi8vPj5kZXNjcmlwdGlvbjogVHJhbnNmb3JtcyBhIHNldCBvZiBjb250YWluZXIgZWxlbWVudHMgaW50byBhIHRhYiBzdHJ1Y3R1cmUuDQovLz4+ZG9jczogaHR0cDovL2FwaS5qcXVlcnl1aS5jb20vdGFicy8NCi8vPj5kZW1vczogaHR0cDovL2pxdWVyeXVpLmNvbS90YWJzLw0KLy8+PmNzcy5zdHJ1Y3R1cmU6IC4uLy4uL3RoZW1lcy9iYXNlL2NvcmUuY3NzDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGFicy5jc3MNCi8vPj5jc3MudGhlbWU6IC4uLy4uL3RoZW1lcy9iYXNlL3RoZW1lLmNzcw0KDQoNCg0KJC53aWRnZXQoICJ1aS50YWJzIiwgew0KCXZlcnNpb246ICIxLjEyLjEiLA0KCWRlbGF5OiAzMDAsDQoJb3B0aW9uczogew0KCQlhY3RpdmU6IG51bGwsDQoJCWNsYXNzZXM6IHsNCgkJCSJ1aS10YWJzIjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLXRhYnMtbmF2IjogInVpLWNvcm5lci1hbGwiLA0KCQkJInVpLXRhYnMtcGFuZWwiOiAidWktY29ybmVyLWJvdHRvbSIsDQoJCQkidWktdGFicy10YWIiOiAidWktY29ybmVyLXRvcCINCgkJfSwNCgkJY29sbGFwc2libGU6IGZhbHNlLA0KCQlldmVudDogImNsaWNrIiwNCgkJaGVpZ2h0U3R5bGU6ICJjb250ZW50IiwNCgkJaGlkZTogbnVsbCwNCgkJc2hvdzogbnVsbCwNCg0KCQkvLyBDYWxsYmFja3MNCgkJYWN0aXZhdGU6IG51bGwsDQoJCWJlZm9yZUFjdGl2YXRlOiBudWxsLA0KCQliZWZvcmVMb2FkOiBudWxsLA0KCQlsb2FkOiBudWxsDQoJfSwNCg0KCV9pc0xvY2FsOiAoIGZ1bmN0aW9uKCkgew0KCQl2YXIgcmhhc2ggPSAvIy4qJC87DQoNCgkJcmV0dXJuIGZ1bmN0aW9uKCBhbmNob3IgKSB7DQoJCQl2YXIgYW5jaG9yVXJsLCBsb2NhdGlvblVybDsNCg0KCQkJYW5jaG9yVXJsID0gYW5jaG9yLmhyZWYucmVwbGFjZSggcmhhc2gsICIiICk7DQoJCQlsb2NhdGlvblVybCA9IGxvY2F0aW9uLmhyZWYucmVwbGFjZSggcmhhc2gsICIiICk7DQoNCgkJCS8vIERlY29kaW5nIG1heSB0aHJvdyBhbiBlcnJvciBpZiB0aGUgVVJMIGlzbid0IFVURi04ICgjOTUxOCkNCgkJCXRyeSB7DQoJCQkJYW5jaG9yVXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KCBhbmNob3JVcmwgKTsNCgkJCX0gY2F0Y2ggKCBlcnJvciApIHt9DQoJCQl0cnkgew0KCQkJCWxvY2F0aW9uVXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KCBsb2NhdGlvblVybCApOw0KCQkJfSBjYXRjaCAoIGVycm9yICkge30NCg0KCQkJcmV0dXJuIGFuY2hvci5oYXNoLmxlbmd0aCA+IDEgJiYgYW5jaG9yVXJsID09PSBsb2NhdGlvblVybDsNCgkJfTsNCgl9ICkoKSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQlvcHRpb25zID0gdGhpcy5vcHRpb25zOw0KDQoJCXRoaXMucnVubmluZyA9IGZhbHNlOw0KDQoJCXRoaXMuX2FkZENsYXNzKCAidWktdGFicyIsICJ1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQiICk7DQoJCXRoaXMuX3RvZ2dsZUNsYXNzKCAidWktdGFicy1jb2xsYXBzaWJsZSIsIG51bGwsIG9wdGlvbnMuY29sbGFwc2libGUgKTsNCg0KCQl0aGlzLl9wcm9jZXNzVGFicygpOw0KCQlvcHRpb25zLmFjdGl2ZSA9IHRoaXMuX2luaXRpYWxBY3RpdmUoKTsNCg0KCQkvLyBUYWtlIGRpc2FibGluZyB0YWJzIHZpYSBjbGFzcyBhdHRyaWJ1dGUgZnJvbSBIVE1MDQoJCS8vIGludG8gYWNjb3VudCBhbmQgdXBkYXRlIG9wdGlvbiBwcm9wZXJseS4NCgkJaWYgKCAkLmlzQXJyYXkoIG9wdGlvbnMuZGlzYWJsZWQgKSApIHsNCgkJCW9wdGlvbnMuZGlzYWJsZWQgPSAkLnVuaXF1ZSggb3B0aW9ucy5kaXNhYmxlZC5jb25jYXQoDQoJCQkJJC5tYXAoIHRoaXMudGFicy5maWx0ZXIoICIudWktc3RhdGUtZGlzYWJsZWQiICksIGZ1bmN0aW9uKCBsaSApIHsNCgkJCQkJcmV0dXJuIHRoYXQudGFicy5pbmRleCggbGkgKTsNCgkJCQl9ICkNCgkJCSkgKS5zb3J0KCk7DQoJCX0NCg0KCQkvLyBDaGVjayBmb3IgbGVuZ3RoIGF2b2lkcyBlcnJvciB3aGVuIGluaXRpYWxpemluZyBlbXB0eSBsaXN0DQoJCWlmICggdGhpcy5vcHRpb25zLmFjdGl2ZSAhPT0gZmFsc2UgJiYgdGhpcy5hbmNob3JzLmxlbmd0aCApIHsNCgkJCXRoaXMuYWN0aXZlID0gdGhpcy5fZmluZEFjdGl2ZSggb3B0aW9ucy5hY3RpdmUgKTsNCgkJfSBlbHNlIHsNCgkJCXRoaXMuYWN0aXZlID0gJCgpOw0KCQl9DQoNCgkJdGhpcy5fcmVmcmVzaCgpOw0KDQoJCWlmICggdGhpcy5hY3RpdmUubGVuZ3RoICkgew0KCQkJdGhpcy5sb2FkKCBvcHRpb25zLmFjdGl2ZSApOw0KCQl9DQoJfSwNCg0KCV9pbml0aWFsQWN0aXZlOiBmdW5jdGlvbigpIHsNCgkJdmFyIGFjdGl2ZSA9IHRoaXMub3B0aW9ucy5hY3RpdmUsDQoJCQljb2xsYXBzaWJsZSA9IHRoaXMub3B0aW9ucy5jb2xsYXBzaWJsZSwNCgkJCWxvY2F0aW9uSGFzaCA9IGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKCAxICk7DQoNCgkJaWYgKCBhY3RpdmUgPT09IG51bGwgKSB7DQoNCgkJCS8vIGNoZWNrIHRoZSBmcmFnbWVudCBpZGVudGlmaWVyIGluIHRoZSBVUkwNCgkJCWlmICggbG9jYXRpb25IYXNoICkgew0KCQkJCXRoaXMudGFicy5lYWNoKCBmdW5jdGlvbiggaSwgdGFiICkgew0KCQkJCQlpZiAoICQoIHRhYiApLmF0dHIoICJhcmlhLWNvbnRyb2xzIiApID09PSBsb2NhdGlvbkhhc2ggKSB7DQoJCQkJCQlhY3RpdmUgPSBpOw0KCQkJCQkJcmV0dXJuIGZhbHNlOw0KCQkJCQl9DQoJCQkJfSApOw0KCQkJfQ0KDQoJCQkvLyBDaGVjayBmb3IgYSB0YWIgbWFya2VkIGFjdGl2ZSB2aWEgYSBjbGFzcw0KCQkJaWYgKCBhY3RpdmUgPT09IG51bGwgKSB7DQoJCQkJYWN0aXZlID0gdGhpcy50YWJzLmluZGV4KCB0aGlzLnRhYnMuZmlsdGVyKCAiLnVpLXRhYnMtYWN0aXZlIiApICk7DQoJCQl9DQoNCgkJCS8vIE5vIGFjdGl2ZSB0YWIsIHNldCB0byBmYWxzZQ0KCQkJaWYgKCBhY3RpdmUgPT09IG51bGwgfHwgYWN0aXZlID09PSAtMSApIHsNCgkJCQlhY3RpdmUgPSB0aGlzLnRhYnMubGVuZ3RoID8gMCA6IGZhbHNlOw0KCQkJfQ0KCQl9DQoNCgkJLy8gSGFuZGxlIG51bWJlcnM6IG5lZ2F0aXZlLCBvdXQgb2YgcmFuZ2UNCgkJaWYgKCBhY3RpdmUgIT09IGZhbHNlICkgew0KCQkJYWN0aXZlID0gdGhpcy50YWJzLmluZGV4KCB0aGlzLnRhYnMuZXEoIGFjdGl2ZSApICk7DQoJCQlpZiAoIGFjdGl2ZSA9PT0gLTEgKSB7DQoJCQkJYWN0aXZlID0gY29sbGFwc2libGUgPyBmYWxzZSA6IDA7DQoJCQl9DQoJCX0NCg0KCQkvLyBEb24ndCBhbGxvdyBjb2xsYXBzaWJsZTogZmFsc2UgYW5kIGFjdGl2ZTogZmFsc2UNCgkJaWYgKCAhY29sbGFwc2libGUgJiYgYWN0aXZlID09PSBmYWxzZSAmJiB0aGlzLmFuY2hvcnMubGVuZ3RoICkgew0KCQkJYWN0aXZlID0gMDsNCgkJfQ0KDQoJCXJldHVybiBhY3RpdmU7DQoJfSwNCg0KCV9nZXRDcmVhdGVFdmVudERhdGE6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gew0KCQkJdGFiOiB0aGlzLmFjdGl2ZSwNCgkJCXBhbmVsOiAhdGhpcy5hY3RpdmUubGVuZ3RoID8gJCgpIDogdGhpcy5fZ2V0UGFuZWxGb3JUYWIoIHRoaXMuYWN0aXZlICkNCgkJfTsNCgl9LA0KDQoJX3RhYktleWRvd246IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIGZvY3VzZWRUYWIgPSAkKCAkLnVpLnNhZmVBY3RpdmVFbGVtZW50KCB0aGlzLmRvY3VtZW50WyAwIF0gKSApLmNsb3Nlc3QoICJsaSIgKSwNCgkJCXNlbGVjdGVkSW5kZXggPSB0aGlzLnRhYnMuaW5kZXgoIGZvY3VzZWRUYWIgKSwNCgkJCWdvaW5nRm9yd2FyZCA9IHRydWU7DQoNCgkJaWYgKCB0aGlzLl9oYW5kbGVQYWdlTmF2KCBldmVudCApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJc3dpdGNoICggZXZlbnQua2V5Q29kZSApIHsNCgkJY2FzZSAkLnVpLmtleUNvZGUuUklHSFQ6DQoJCWNhc2UgJC51aS5rZXlDb2RlLkRPV046DQoJCQlzZWxlY3RlZEluZGV4Kys7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuVVA6DQoJCWNhc2UgJC51aS5rZXlDb2RlLkxFRlQ6DQoJCQlnb2luZ0ZvcndhcmQgPSBmYWxzZTsNCgkJCXNlbGVjdGVkSW5kZXgtLTsNCgkJCWJyZWFrOw0KCQljYXNlICQudWkua2V5Q29kZS5FTkQ6DQoJCQlzZWxlY3RlZEluZGV4ID0gdGhpcy5hbmNob3JzLmxlbmd0aCAtIDE7DQoJCQlicmVhazsNCgkJY2FzZSAkLnVpLmtleUNvZGUuSE9NRToNCgkJCXNlbGVjdGVkSW5kZXggPSAwOw0KCQkJYnJlYWs7DQoJCWNhc2UgJC51aS5rZXlDb2RlLlNQQUNFOg0KDQoJCQkvLyBBY3RpdmF0ZSBvbmx5LCBubyBjb2xsYXBzaW5nDQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLmFjdGl2YXRpbmcgKTsNCgkJCXRoaXMuX2FjdGl2YXRlKCBzZWxlY3RlZEluZGV4ICk7DQoJCQlyZXR1cm47DQoJCWNhc2UgJC51aS5rZXlDb2RlLkVOVEVSOg0KDQoJCQkvLyBUb2dnbGUgKGNhbmNlbCBkZWxheWVkIGFjdGl2YXRpb24sIGFsbG93IGNvbGxhcHNpbmcpDQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJY2xlYXJUaW1lb3V0KCB0aGlzLmFjdGl2YXRpbmcgKTsNCg0KCQkJLy8gRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBjb2xsYXBzZSBvciBhY3RpdmF0ZQ0KCQkJdGhpcy5fYWN0aXZhdGUoIHNlbGVjdGVkSW5kZXggPT09IHRoaXMub3B0aW9ucy5hY3RpdmUgPyBmYWxzZSA6IHNlbGVjdGVkSW5kZXggKTsNCgkJCXJldHVybjsNCgkJZGVmYXVsdDoNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEZvY3VzIHRoZSBhcHByb3ByaWF0ZSB0YWIsIGJhc2VkIG9uIHdoaWNoIGtleSB3YXMgcHJlc3NlZA0KCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQljbGVhclRpbWVvdXQoIHRoaXMuYWN0aXZhdGluZyApOw0KCQlzZWxlY3RlZEluZGV4ID0gdGhpcy5fZm9jdXNOZXh0VGFiKCBzZWxlY3RlZEluZGV4LCBnb2luZ0ZvcndhcmQgKTsNCg0KCQkvLyBOYXZpZ2F0aW5nIHdpdGggY29udHJvbC9jb21tYW5kIGtleSB3aWxsIHByZXZlbnQgYXV0b21hdGljIGFjdGl2YXRpb24NCgkJaWYgKCAhZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtleSApIHsNCg0KCQkJLy8gVXBkYXRlIGFyaWEtc2VsZWN0ZWQgaW1tZWRpYXRlbHkgc28gdGhhdCBBVCB0aGluayB0aGUgdGFiIGlzIGFscmVhZHkgc2VsZWN0ZWQuDQoJCQkvLyBPdGhlcndpc2UgQVQgbWF5IGNvbmZ1c2UgdGhlIHVzZXIgYnkgc3RhdGluZyB0aGF0IHRoZXkgbmVlZCB0byBhY3RpdmF0ZSB0aGUgdGFiLA0KCQkJLy8gYnV0IHRoZSB0YWIgd2lsbCBhbHJlYWR5IGJlIGFjdGl2YXRlZCBieSB0aGUgdGltZSB0aGUgYW5ub3VuY2VtZW50IGZpbmlzaGVzLg0KCQkJZm9jdXNlZFRhYi5hdHRyKCAiYXJpYS1zZWxlY3RlZCIsICJmYWxzZSIgKTsNCgkJCXRoaXMudGFicy5lcSggc2VsZWN0ZWRJbmRleCApLmF0dHIoICJhcmlhLXNlbGVjdGVkIiwgInRydWUiICk7DQoNCgkJCXRoaXMuYWN0aXZhdGluZyA9IHRoaXMuX2RlbGF5KCBmdW5jdGlvbigpIHsNCgkJCQl0aGlzLm9wdGlvbiggImFjdGl2ZSIsIHNlbGVjdGVkSW5kZXggKTsNCgkJCX0sIHRoaXMuZGVsYXkgKTsNCgkJfQ0KCX0sDQoNCglfcGFuZWxLZXlkb3duOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggdGhpcy5faGFuZGxlUGFnZU5hdiggZXZlbnQgKSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIEN0cmwrdXAgbW92ZXMgZm9jdXMgdG8gdGhlIGN1cnJlbnQgdGFiDQoJCWlmICggZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXlDb2RlID09PSAkLnVpLmtleUNvZGUuVVAgKSB7DQoJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJdGhpcy5hY3RpdmUudHJpZ2dlciggImZvY3VzIiApOw0KCQl9DQoJfSwNCg0KCS8vIEFsdCtwYWdlIHVwL2Rvd24gbW92ZXMgZm9jdXMgdG8gdGhlIHByZXZpb3VzL25leHQgdGFiIChhbmQgYWN0aXZhdGVzKQ0KCV9oYW5kbGVQYWdlTmF2OiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCWlmICggZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5QQUdFX1VQICkgew0KCQkJdGhpcy5fYWN0aXZhdGUoIHRoaXMuX2ZvY3VzTmV4dFRhYiggdGhpcy5vcHRpb25zLmFjdGl2ZSAtIDEsIGZhbHNlICkgKTsNCgkJCXJldHVybiB0cnVlOw0KCQl9DQoJCWlmICggZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5QQUdFX0RPV04gKSB7DQoJCQl0aGlzLl9hY3RpdmF0ZSggdGhpcy5fZm9jdXNOZXh0VGFiKCB0aGlzLm9wdGlvbnMuYWN0aXZlICsgMSwgdHJ1ZSApICk7DQoJCQlyZXR1cm4gdHJ1ZTsNCgkJfQ0KCX0sDQoNCglfZmluZE5leHRUYWI6IGZ1bmN0aW9uKCBpbmRleCwgZ29pbmdGb3J3YXJkICkgew0KCQl2YXIgbGFzdFRhYkluZGV4ID0gdGhpcy50YWJzLmxlbmd0aCAtIDE7DQoNCgkJZnVuY3Rpb24gY29uc3RyYWluKCkgew0KCQkJaWYgKCBpbmRleCA+IGxhc3RUYWJJbmRleCApIHsNCgkJCQlpbmRleCA9IDA7DQoJCQl9DQoJCQlpZiAoIGluZGV4IDwgMCApIHsNCgkJCQlpbmRleCA9IGxhc3RUYWJJbmRleDsNCgkJCX0NCgkJCXJldHVybiBpbmRleDsNCgkJfQ0KDQoJCXdoaWxlICggJC5pbkFycmF5KCBjb25zdHJhaW4oKSwgdGhpcy5vcHRpb25zLmRpc2FibGVkICkgIT09IC0xICkgew0KCQkJaW5kZXggPSBnb2luZ0ZvcndhcmQgPyBpbmRleCArIDEgOiBpbmRleCAtIDE7DQoJCX0NCg0KCQlyZXR1cm4gaW5kZXg7DQoJfSwNCg0KCV9mb2N1c05leHRUYWI6IGZ1bmN0aW9uKCBpbmRleCwgZ29pbmdGb3J3YXJkICkgew0KCQlpbmRleCA9IHRoaXMuX2ZpbmROZXh0VGFiKCBpbmRleCwgZ29pbmdGb3J3YXJkICk7DQoJCXRoaXMudGFicy5lcSggaW5kZXggKS50cmlnZ2VyKCAiZm9jdXMiICk7DQoJCXJldHVybiBpbmRleDsNCgl9LA0KDQoJX3NldE9wdGlvbjogZnVuY3Rpb24oIGtleSwgdmFsdWUgKSB7DQoJCWlmICgga2V5ID09PSAiYWN0aXZlIiApIHsNCg0KCQkJLy8gX2FjdGl2YXRlKCkgd2lsbCBoYW5kbGUgaW52YWxpZCB2YWx1ZXMgYW5kIHVwZGF0ZSB0aGlzLm9wdGlvbnMNCgkJCXRoaXMuX2FjdGl2YXRlKCB2YWx1ZSApOw0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy5fc3VwZXIoIGtleSwgdmFsdWUgKTsNCg0KCQlpZiAoIGtleSA9PT0gImNvbGxhcHNpYmxlIiApIHsNCgkJCXRoaXMuX3RvZ2dsZUNsYXNzKCAidWktdGFicy1jb2xsYXBzaWJsZSIsIG51bGwsIHZhbHVlICk7DQoNCgkJCS8vIFNldHRpbmcgY29sbGFwc2libGU6IGZhbHNlIHdoaWxlIGNvbGxhcHNlZDsgb3BlbiBmaXJzdCBwYW5lbA0KCQkJaWYgKCAhdmFsdWUgJiYgdGhpcy5vcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgKSB7DQoJCQkJdGhpcy5fYWN0aXZhdGUoIDAgKTsNCgkJCX0NCgkJfQ0KDQoJCWlmICgga2V5ID09PSAiZXZlbnQiICkgew0KCQkJdGhpcy5fc2V0dXBFdmVudHMoIHZhbHVlICk7DQoJCX0NCg0KCQlpZiAoIGtleSA9PT0gImhlaWdodFN0eWxlIiApIHsNCgkJCXRoaXMuX3NldHVwSGVpZ2h0U3R5bGUoIHZhbHVlICk7DQoJCX0NCgl9LA0KDQoJX3Nhbml0aXplU2VsZWN0b3I6IGZ1bmN0aW9uKCBoYXNoICkgew0KCQlyZXR1cm4gaGFzaCA/IGhhc2gucmVwbGFjZSggL1shIiQlJicoKSorLC5cLzo7PD0+P0BcW1xdXF5ge3x9fl0vZywgIlxcJCYiICkgOiAiIjsNCgl9LA0KDQoJcmVmcmVzaDogZnVuY3Rpb24oKSB7DQoJCXZhciBvcHRpb25zID0gdGhpcy5vcHRpb25zLA0KCQkJbGlzID0gdGhpcy50YWJsaXN0LmNoaWxkcmVuKCAiOmhhcyhhW2hyZWZdKSIgKTsNCg0KCQkvLyBHZXQgZGlzYWJsZWQgdGFicyBmcm9tIGNsYXNzIGF0dHJpYnV0ZSBmcm9tIEhUTUwNCgkJLy8gdGhpcyB3aWxsIGdldCBjb252ZXJ0ZWQgdG8gYSBib29sZWFuIGlmIG5lZWRlZCBpbiBfcmVmcmVzaCgpDQoJCW9wdGlvbnMuZGlzYWJsZWQgPSAkLm1hcCggbGlzLmZpbHRlciggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSwgZnVuY3Rpb24oIHRhYiApIHsNCgkJCXJldHVybiBsaXMuaW5kZXgoIHRhYiApOw0KCQl9ICk7DQoNCgkJdGhpcy5fcHJvY2Vzc1RhYnMoKTsNCg0KCQkvLyBXYXMgY29sbGFwc2VkIG9yIG5vIHRhYnMNCgkJaWYgKCBvcHRpb25zLmFjdGl2ZSA9PT0gZmFsc2UgfHwgIXRoaXMuYW5jaG9ycy5sZW5ndGggKSB7DQoJCQlvcHRpb25zLmFjdGl2ZSA9IGZhbHNlOw0KCQkJdGhpcy5hY3RpdmUgPSAkKCk7DQoNCgkJLy8gd2FzIGFjdGl2ZSwgYnV0IGFjdGl2ZSB0YWIgaXMgZ29uZQ0KCQl9IGVsc2UgaWYgKCB0aGlzLmFjdGl2ZS5sZW5ndGggJiYgISQuY29udGFpbnMoIHRoaXMudGFibGlzdFsgMCBdLCB0aGlzLmFjdGl2ZVsgMCBdICkgKSB7DQoNCgkJCS8vIGFsbCByZW1haW5pbmcgdGFicyBhcmUgZGlzYWJsZWQNCgkJCWlmICggdGhpcy50YWJzLmxlbmd0aCA9PT0gb3B0aW9ucy5kaXNhYmxlZC5sZW5ndGggKSB7DQoJCQkJb3B0aW9ucy5hY3RpdmUgPSBmYWxzZTsNCgkJCQl0aGlzLmFjdGl2ZSA9ICQoKTsNCg0KCQkJLy8gYWN0aXZhdGUgcHJldmlvdXMgdGFiDQoJCQl9IGVsc2Ugew0KCQkJCXRoaXMuX2FjdGl2YXRlKCB0aGlzLl9maW5kTmV4dFRhYiggTWF0aC5tYXgoIDAsIG9wdGlvbnMuYWN0aXZlIC0gMSApLCBmYWxzZSApICk7DQoJCQl9DQoNCgkJLy8gd2FzIGFjdGl2ZSwgYWN0aXZlIHRhYiBzdGlsbCBleGlzdHMNCgkJfSBlbHNlIHsNCg0KCQkJLy8gbWFrZSBzdXJlIGFjdGl2ZSBpbmRleCBpcyBjb3JyZWN0DQoJCQlvcHRpb25zLmFjdGl2ZSA9IHRoaXMudGFicy5pbmRleCggdGhpcy5hY3RpdmUgKTsNCgkJfQ0KDQoJCXRoaXMuX3JlZnJlc2goKTsNCgl9LA0KDQoJX3JlZnJlc2g6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9zZXRPcHRpb25EaXNhYmxlZCggdGhpcy5vcHRpb25zLmRpc2FibGVkICk7DQoJCXRoaXMuX3NldHVwRXZlbnRzKCB0aGlzLm9wdGlvbnMuZXZlbnQgKTsNCgkJdGhpcy5fc2V0dXBIZWlnaHRTdHlsZSggdGhpcy5vcHRpb25zLmhlaWdodFN0eWxlICk7DQoNCgkJdGhpcy50YWJzLm5vdCggdGhpcy5hY3RpdmUgKS5hdHRyKCB7DQoJCQkiYXJpYS1zZWxlY3RlZCI6ICJmYWxzZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJmYWxzZSIsDQoJCQl0YWJJbmRleDogLTENCgkJfSApOw0KCQl0aGlzLnBhbmVscy5ub3QoIHRoaXMuX2dldFBhbmVsRm9yVGFiKCB0aGlzLmFjdGl2ZSApICkNCgkJCS5oaWRlKCkNCgkJCS5hdHRyKCB7DQoJCQkJImFyaWEtaGlkZGVuIjogInRydWUiDQoJCQl9ICk7DQoNCgkJLy8gTWFrZSBzdXJlIG9uZSB0YWIgaXMgaW4gdGhlIHRhYiBvcmRlcg0KCQlpZiAoICF0aGlzLmFjdGl2ZS5sZW5ndGggKSB7DQoJCQl0aGlzLnRhYnMuZXEoIDAgKS5hdHRyKCAidGFiSW5kZXgiLCAwICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLmFjdGl2ZQ0KCQkJCS5hdHRyKCB7DQoJCQkJCSJhcmlhLXNlbGVjdGVkIjogInRydWUiLA0KCQkJCQkiYXJpYS1leHBhbmRlZCI6ICJ0cnVlIiwNCgkJCQkJdGFiSW5kZXg6IDANCgkJCQl9ICk7DQoJCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5hY3RpdmUsICJ1aS10YWJzLWFjdGl2ZSIsICJ1aS1zdGF0ZS1hY3RpdmUiICk7DQoJCQl0aGlzLl9nZXRQYW5lbEZvclRhYiggdGhpcy5hY3RpdmUgKQ0KCQkJCS5zaG93KCkNCgkJCQkuYXR0ciggew0KCQkJCQkiYXJpYS1oaWRkZW4iOiAiZmFsc2UiDQoJCQkJfSApOw0KCQl9DQoJfSwNCg0KCV9wcm9jZXNzVGFiczogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpcywNCgkJCXByZXZUYWJzID0gdGhpcy50YWJzLA0KCQkJcHJldkFuY2hvcnMgPSB0aGlzLmFuY2hvcnMsDQoJCQlwcmV2UGFuZWxzID0gdGhpcy5wYW5lbHM7DQoNCgkJdGhpcy50YWJsaXN0ID0gdGhpcy5fZ2V0TGlzdCgpLmF0dHIoICJyb2xlIiwgInRhYmxpc3QiICk7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnRhYmxpc3QsICJ1aS10YWJzLW5hdiIsDQoJCQkidWktaGVscGVyLXJlc2V0IHVpLWhlbHBlci1jbGVhcmZpeCB1aS13aWRnZXQtaGVhZGVyIiApOw0KDQoJCS8vIFByZXZlbnQgdXNlcnMgZnJvbSBmb2N1c2luZyBkaXNhYmxlZCB0YWJzIHZpYSBjbGljaw0KCQl0aGlzLnRhYmxpc3QNCgkJCS5vbiggIm1vdXNlZG93biIgKyB0aGlzLmV2ZW50TmFtZXNwYWNlLCAiPiBsaSIsIGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlpZiAoICQoIHRoaXMgKS5pcyggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsNCgkJCQl9DQoJCQl9ICkNCg0KCQkJLy8gU3VwcG9ydDogSUUgPDkNCgkJCS8vIFByZXZlbnRpbmcgdGhlIGRlZmF1bHQgYWN0aW9uIGluIG1vdXNlZG93biBkb2Vzbid0IHByZXZlbnQgSUUNCgkJCS8vIGZyb20gZm9jdXNpbmcgdGhlIGVsZW1lbnQsIHNvIGlmIHRoZSBhbmNob3IgZ2V0cyBmb2N1c2VkLCBibHVyLg0KCQkJLy8gV2UgZG9uJ3QgaGF2ZSB0byB3b3JyeSBhYm91dCBmb2N1c2luZyB0aGUgcHJldmlvdXNseSBmb2N1c2VkDQoJCQkvLyBlbGVtZW50IHNpbmNlIGNsaWNraW5nIG9uIGEgbm9uLWZvY3VzYWJsZSBlbGVtZW50IHNob3VsZCBmb2N1cw0KCQkJLy8gdGhlIGJvZHkgYW55d2F5Lg0KCQkJLm9uKCAiZm9jdXMiICsgdGhpcy5ldmVudE5hbWVzcGFjZSwgIi51aS10YWJzLWFuY2hvciIsIGZ1bmN0aW9uKCkgew0KCQkJCWlmICggJCggdGhpcyApLmNsb3Nlc3QoICJsaSIgKS5pcyggIi51aS1zdGF0ZS1kaXNhYmxlZCIgKSApIHsNCgkJCQkJdGhpcy5ibHVyKCk7DQoJCQkJfQ0KCQkJfSApOw0KDQoJCXRoaXMudGFicyA9IHRoaXMudGFibGlzdC5maW5kKCAiPiBsaTpoYXMoYVtocmVmXSkiICkNCgkJCS5hdHRyKCB7DQoJCQkJcm9sZTogInRhYiIsDQoJCQkJdGFiSW5kZXg6IC0xDQoJCQl9ICk7DQoJCXRoaXMuX2FkZENsYXNzKCB0aGlzLnRhYnMsICJ1aS10YWJzLXRhYiIsICJ1aS1zdGF0ZS1kZWZhdWx0IiApOw0KDQoJCXRoaXMuYW5jaG9ycyA9IHRoaXMudGFicy5tYXAoIGZ1bmN0aW9uKCkgew0KCQkJcmV0dXJuICQoICJhIiwgdGhpcyApWyAwIF07DQoJCX0gKQ0KCQkJLmF0dHIoIHsNCgkJCQlyb2xlOiAicHJlc2VudGF0aW9uIiwNCgkJCQl0YWJJbmRleDogLTENCgkJCX0gKTsNCgkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMuYW5jaG9ycywgInVpLXRhYnMtYW5jaG9yIiApOw0KDQoJCXRoaXMucGFuZWxzID0gJCgpOw0KDQoJCXRoaXMuYW5jaG9ycy5lYWNoKCBmdW5jdGlvbiggaSwgYW5jaG9yICkgew0KCQkJdmFyIHNlbGVjdG9yLCBwYW5lbCwgcGFuZWxJZCwNCgkJCQlhbmNob3JJZCA9ICQoIGFuY2hvciApLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApLA0KCQkJCXRhYiA9ICQoIGFuY2hvciApLmNsb3Nlc3QoICJsaSIgKSwNCgkJCQlvcmlnaW5hbEFyaWFDb250cm9scyA9IHRhYi5hdHRyKCAiYXJpYS1jb250cm9scyIgKTsNCg0KCQkJLy8gSW5saW5lIHRhYg0KCQkJaWYgKCB0aGF0Ll9pc0xvY2FsKCBhbmNob3IgKSApIHsNCgkJCQlzZWxlY3RvciA9IGFuY2hvci5oYXNoOw0KCQkJCXBhbmVsSWQgPSBzZWxlY3Rvci5zdWJzdHJpbmcoIDEgKTsNCgkJCQlwYW5lbCA9IHRoYXQuZWxlbWVudC5maW5kKCB0aGF0Ll9zYW5pdGl6ZVNlbGVjdG9yKCBzZWxlY3RvciApICk7DQoNCgkJCS8vIHJlbW90ZSB0YWINCgkJCX0gZWxzZSB7DQoNCgkJCQkvLyBJZiB0aGUgdGFiIGRvZXNuJ3QgYWxyZWFkeSBoYXZlIGFyaWEtY29udHJvbHMsDQoJCQkJLy8gZ2VuZXJhdGUgYW4gaWQgYnkgdXNpbmcgYSB0aHJvdy1hd2F5IGVsZW1lbnQNCgkJCQlwYW5lbElkID0gdGFiLmF0dHIoICJhcmlhLWNvbnRyb2xzIiApIHx8ICQoIHt9ICkudW5pcXVlSWQoKVsgMCBdLmlkOw0KCQkJCXNlbGVjdG9yID0gIiMiICsgcGFuZWxJZDsNCgkJCQlwYW5lbCA9IHRoYXQuZWxlbWVudC5maW5kKCBzZWxlY3RvciApOw0KCQkJCWlmICggIXBhbmVsLmxlbmd0aCApIHsNCgkJCQkJcGFuZWwgPSB0aGF0Ll9jcmVhdGVQYW5lbCggcGFuZWxJZCApOw0KCQkJCQlwYW5lbC5pbnNlcnRBZnRlciggdGhhdC5wYW5lbHNbIGkgLSAxIF0gfHwgdGhhdC50YWJsaXN0ICk7DQoJCQkJfQ0KCQkJCXBhbmVsLmF0dHIoICJhcmlhLWxpdmUiLCAicG9saXRlIiApOw0KCQkJfQ0KDQoJCQlpZiAoIHBhbmVsLmxlbmd0aCApIHsNCgkJCQl0aGF0LnBhbmVscyA9IHRoYXQucGFuZWxzLmFkZCggcGFuZWwgKTsNCgkJCX0NCgkJCWlmICggb3JpZ2luYWxBcmlhQ29udHJvbHMgKSB7DQoJCQkJdGFiLmRhdGEoICJ1aS10YWJzLWFyaWEtY29udHJvbHMiLCBvcmlnaW5hbEFyaWFDb250cm9scyApOw0KCQkJfQ0KCQkJdGFiLmF0dHIoIHsNCgkJCQkiYXJpYS1jb250cm9scyI6IHBhbmVsSWQsDQoJCQkJImFyaWEtbGFiZWxsZWRieSI6IGFuY2hvcklkDQoJCQl9ICk7DQoJCQlwYW5lbC5hdHRyKCAiYXJpYS1sYWJlbGxlZGJ5IiwgYW5jaG9ySWQgKTsNCgkJfSApOw0KDQoJCXRoaXMucGFuZWxzLmF0dHIoICJyb2xlIiwgInRhYnBhbmVsIiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5wYW5lbHMsICJ1aS10YWJzLXBhbmVsIiwgInVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCS8vIEF2b2lkIG1lbW9yeSBsZWFrcyAoIzEwMDU2KQ0KCQlpZiAoIHByZXZUYWJzICkgew0KCQkJdGhpcy5fb2ZmKCBwcmV2VGFicy5ub3QoIHRoaXMudGFicyApICk7DQoJCQl0aGlzLl9vZmYoIHByZXZBbmNob3JzLm5vdCggdGhpcy5hbmNob3JzICkgKTsNCgkJCXRoaXMuX29mZiggcHJldlBhbmVscy5ub3QoIHRoaXMucGFuZWxzICkgKTsNCgkJfQ0KCX0sDQoNCgkvLyBBbGxvdyBvdmVycmlkaW5nIGhvdyB0byBmaW5kIHRoZSBsaXN0IGZvciByYXJlIHVzYWdlIHNjZW5hcmlvcyAoIzc3MTUpDQoJX2dldExpc3Q6IGZ1bmN0aW9uKCkgew0KCQlyZXR1cm4gdGhpcy50YWJsaXN0IHx8IHRoaXMuZWxlbWVudC5maW5kKCAib2wsIHVsIiApLmVxKCAwICk7DQoJfSwNCg0KCV9jcmVhdGVQYW5lbDogZnVuY3Rpb24oIGlkICkgew0KCQlyZXR1cm4gJCggIjxkaXY+IiApDQoJCQkuYXR0ciggImlkIiwgaWQgKQ0KCQkJLmRhdGEoICJ1aS10YWJzLWRlc3Ryb3kiLCB0cnVlICk7DQoJfSwNCg0KCV9zZXRPcHRpb25EaXNhYmxlZDogZnVuY3Rpb24oIGRpc2FibGVkICkgew0KCQl2YXIgY3VycmVudEl0ZW0sIGxpLCBpOw0KDQoJCWlmICggJC5pc0FycmF5KCBkaXNhYmxlZCApICkgew0KCQkJaWYgKCAhZGlzYWJsZWQubGVuZ3RoICkgew0KCQkJCWRpc2FibGVkID0gZmFsc2U7DQoJCQl9IGVsc2UgaWYgKCBkaXNhYmxlZC5sZW5ndGggPT09IHRoaXMuYW5jaG9ycy5sZW5ndGggKSB7DQoJCQkJZGlzYWJsZWQgPSB0cnVlOw0KCQkJfQ0KCQl9DQoNCgkJLy8gRGlzYWJsZSB0YWJzDQoJCWZvciAoIGkgPSAwOyAoIGxpID0gdGhpcy50YWJzWyBpIF0gKTsgaSsrICkgew0KCQkJY3VycmVudEl0ZW0gPSAkKCBsaSApOw0KCQkJaWYgKCBkaXNhYmxlZCA9PT0gdHJ1ZSB8fCAkLmluQXJyYXkoIGksIGRpc2FibGVkICkgIT09IC0xICkgew0KCQkJCWN1cnJlbnRJdGVtLmF0dHIoICJhcmlhLWRpc2FibGVkIiwgInRydWUiICk7DQoJCQkJdGhpcy5fYWRkQ2xhc3MoIGN1cnJlbnRJdGVtLCBudWxsLCAidWktc3RhdGUtZGlzYWJsZWQiICk7DQoJCQl9IGVsc2Ugew0KCQkJCWN1cnJlbnRJdGVtLnJlbW92ZUF0dHIoICJhcmlhLWRpc2FibGVkIiApOw0KCQkJCXRoaXMuX3JlbW92ZUNsYXNzKCBjdXJyZW50SXRlbSwgbnVsbCwgInVpLXN0YXRlLWRpc2FibGVkIiApOw0KCQkJfQ0KCQl9DQoNCgkJdGhpcy5vcHRpb25zLmRpc2FibGVkID0gZGlzYWJsZWQ7DQoNCgkJdGhpcy5fdG9nZ2xlQ2xhc3MoIHRoaXMud2lkZ2V0KCksIHRoaXMud2lkZ2V0RnVsbE5hbWUgKyAiLWRpc2FibGVkIiwgbnVsbCwNCgkJCWRpc2FibGVkID09PSB0cnVlICk7DQoJfSwNCg0KCV9zZXR1cEV2ZW50czogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQl2YXIgZXZlbnRzID0ge307DQoJCWlmICggZXZlbnQgKSB7DQoJCQkkLmVhY2goIGV2ZW50LnNwbGl0KCAiICIgKSwgZnVuY3Rpb24oIGluZGV4LCBldmVudE5hbWUgKSB7DQoJCQkJZXZlbnRzWyBldmVudE5hbWUgXSA9ICJfZXZlbnRIYW5kbGVyIjsNCgkJCX0gKTsNCgkJfQ0KDQoJCXRoaXMuX29mZiggdGhpcy5hbmNob3JzLmFkZCggdGhpcy50YWJzICkuYWRkKCB0aGlzLnBhbmVscyApICk7DQoNCgkJLy8gQWx3YXlzIHByZXZlbnQgdGhlIGRlZmF1bHQgYWN0aW9uLCBldmVuIHdoZW4gZGlzYWJsZWQNCgkJdGhpcy5fb24oIHRydWUsIHRoaXMuYW5jaG9ycywgew0KCQkJY2xpY2s6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KCQkJfQ0KCQl9ICk7DQoJCXRoaXMuX29uKCB0aGlzLmFuY2hvcnMsIGV2ZW50cyApOw0KCQl0aGlzLl9vbiggdGhpcy50YWJzLCB7IGtleWRvd246ICJfdGFiS2V5ZG93biIgfSApOw0KCQl0aGlzLl9vbiggdGhpcy5wYW5lbHMsIHsga2V5ZG93bjogIl9wYW5lbEtleWRvd24iIH0gKTsNCg0KCQl0aGlzLl9mb2N1c2FibGUoIHRoaXMudGFicyApOw0KCQl0aGlzLl9ob3ZlcmFibGUoIHRoaXMudGFicyApOw0KCX0sDQoNCglfc2V0dXBIZWlnaHRTdHlsZTogZnVuY3Rpb24oIGhlaWdodFN0eWxlICkgew0KCQl2YXIgbWF4SGVpZ2h0LA0KCQkJcGFyZW50ID0gdGhpcy5lbGVtZW50LnBhcmVudCgpOw0KDQoJCWlmICggaGVpZ2h0U3R5bGUgPT09ICJmaWxsIiApIHsNCgkJCW1heEhlaWdodCA9IHBhcmVudC5oZWlnaHQoKTsNCgkJCW1heEhlaWdodCAtPSB0aGlzLmVsZW1lbnQub3V0ZXJIZWlnaHQoKSAtIHRoaXMuZWxlbWVudC5oZWlnaHQoKTsNCg0KCQkJdGhpcy5lbGVtZW50LnNpYmxpbmdzKCAiOnZpc2libGUiICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJdmFyIGVsZW0gPSAkKCB0aGlzICksDQoJCQkJCXBvc2l0aW9uID0gZWxlbS5jc3MoICJwb3NpdGlvbiIgKTsNCg0KCQkJCWlmICggcG9zaXRpb24gPT09ICJhYnNvbHV0ZSIgfHwgcG9zaXRpb24gPT09ICJmaXhlZCIgKSB7DQoJCQkJCXJldHVybjsNCgkJCQl9DQoJCQkJbWF4SGVpZ2h0IC09IGVsZW0ub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5lbGVtZW50LmNoaWxkcmVuKCkubm90KCB0aGlzLnBhbmVscyApLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCW1heEhlaWdodCAtPSAkKCB0aGlzICkub3V0ZXJIZWlnaHQoIHRydWUgKTsNCgkJCX0gKTsNCg0KCQkJdGhpcy5wYW5lbHMuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQkJJCggdGhpcyApLmhlaWdodCggTWF0aC5tYXgoIDAsIG1heEhlaWdodCAtDQoJCQkJCSQoIHRoaXMgKS5pbm5lckhlaWdodCgpICsgJCggdGhpcyApLmhlaWdodCgpICkgKTsNCgkJCX0gKQ0KCQkJCS5jc3MoICJvdmVyZmxvdyIsICJhdXRvIiApOw0KCQl9IGVsc2UgaWYgKCBoZWlnaHRTdHlsZSA9PT0gImF1dG8iICkgew0KCQkJbWF4SGVpZ2h0ID0gMDsNCgkJCXRoaXMucGFuZWxzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCW1heEhlaWdodCA9IE1hdGgubWF4KCBtYXhIZWlnaHQsICQoIHRoaXMgKS5oZWlnaHQoICIiICkuaGVpZ2h0KCkgKTsNCgkJCX0gKS5oZWlnaHQoIG1heEhlaWdodCApOw0KCQl9DQoJfSwNCg0KCV9ldmVudEhhbmRsZXI6IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMsDQoJCQlhY3RpdmUgPSB0aGlzLmFjdGl2ZSwNCgkJCWFuY2hvciA9ICQoIGV2ZW50LmN1cnJlbnRUYXJnZXQgKSwNCgkJCXRhYiA9IGFuY2hvci5jbG9zZXN0KCAibGkiICksDQoJCQljbGlja2VkSXNBY3RpdmUgPSB0YWJbIDAgXSA9PT0gYWN0aXZlWyAwIF0sDQoJCQljb2xsYXBzaW5nID0gY2xpY2tlZElzQWN0aXZlICYmIG9wdGlvbnMuY29sbGFwc2libGUsDQoJCQl0b1Nob3cgPSBjb2xsYXBzaW5nID8gJCgpIDogdGhpcy5fZ2V0UGFuZWxGb3JUYWIoIHRhYiApLA0KCQkJdG9IaWRlID0gIWFjdGl2ZS5sZW5ndGggPyAkKCkgOiB0aGlzLl9nZXRQYW5lbEZvclRhYiggYWN0aXZlICksDQoJCQlldmVudERhdGEgPSB7DQoJCQkJb2xkVGFiOiBhY3RpdmUsDQoJCQkJb2xkUGFuZWw6IHRvSGlkZSwNCgkJCQluZXdUYWI6IGNvbGxhcHNpbmcgPyAkKCkgOiB0YWIsDQoJCQkJbmV3UGFuZWw6IHRvU2hvdw0KCQkJfTsNCg0KCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOw0KDQoJCWlmICggdGFiLmhhc0NsYXNzKCAidWktc3RhdGUtZGlzYWJsZWQiICkgfHwNCg0KCQkJCS8vIHRhYiBpcyBhbHJlYWR5IGxvYWRpbmcNCgkJCQl0YWIuaGFzQ2xhc3MoICJ1aS10YWJzLWxvYWRpbmciICkgfHwNCg0KCQkJCS8vIGNhbid0IHN3aXRjaCBkdXJuaW5nIGFuIGFuaW1hdGlvbg0KCQkJCXRoaXMucnVubmluZyB8fA0KDQoJCQkJLy8gY2xpY2sgb24gYWN0aXZlIGhlYWRlciwgYnV0IG5vdCBjb2xsYXBzaWJsZQ0KCQkJCSggY2xpY2tlZElzQWN0aXZlICYmICFvcHRpb25zLmNvbGxhcHNpYmxlICkgfHwNCg0KCQkJCS8vIGFsbG93IGNhbmNlbGluZyBhY3RpdmF0aW9uDQoJCQkJKCB0aGlzLl90cmlnZ2VyKCAiYmVmb3JlQWN0aXZhdGUiLCBldmVudCwgZXZlbnREYXRhICkgPT09IGZhbHNlICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlvcHRpb25zLmFjdGl2ZSA9IGNvbGxhcHNpbmcgPyBmYWxzZSA6IHRoaXMudGFicy5pbmRleCggdGFiICk7DQoNCgkJdGhpcy5hY3RpdmUgPSBjbGlja2VkSXNBY3RpdmUgPyAkKCkgOiB0YWI7DQoJCWlmICggdGhpcy54aHIgKSB7DQoJCQl0aGlzLnhoci5hYm9ydCgpOw0KCQl9DQoNCgkJaWYgKCAhdG9IaWRlLmxlbmd0aCAmJiAhdG9TaG93Lmxlbmd0aCApIHsNCgkJCSQuZXJyb3IoICJqUXVlcnkgVUkgVGFiczogTWlzbWF0Y2hpbmcgZnJhZ21lbnQgaWRlbnRpZmllci4iICk7DQoJCX0NCg0KCQlpZiAoIHRvU2hvdy5sZW5ndGggKSB7DQoJCQl0aGlzLmxvYWQoIHRoaXMudGFicy5pbmRleCggdGFiICksIGV2ZW50ICk7DQoJCX0NCgkJdGhpcy5fdG9nZ2xlKCBldmVudCwgZXZlbnREYXRhICk7DQoJfSwNCg0KCS8vIEhhbmRsZXMgc2hvdy9oaWRlIGZvciBzZWxlY3RpbmcgdGFicw0KCV90b2dnbGU6IGZ1bmN0aW9uKCBldmVudCwgZXZlbnREYXRhICkgew0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQl0b1Nob3cgPSBldmVudERhdGEubmV3UGFuZWwsDQoJCQl0b0hpZGUgPSBldmVudERhdGEub2xkUGFuZWw7DQoNCgkJdGhpcy5ydW5uaW5nID0gdHJ1ZTsNCg0KCQlmdW5jdGlvbiBjb21wbGV0ZSgpIHsNCgkJCXRoYXQucnVubmluZyA9IGZhbHNlOw0KCQkJdGhhdC5fdHJpZ2dlciggImFjdGl2YXRlIiwgZXZlbnQsIGV2ZW50RGF0YSApOw0KCQl9DQoNCgkJZnVuY3Rpb24gc2hvdygpIHsNCgkJCXRoYXQuX2FkZENsYXNzKCBldmVudERhdGEubmV3VGFiLmNsb3Nlc3QoICJsaSIgKSwgInVpLXRhYnMtYWN0aXZlIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCg0KCQkJaWYgKCB0b1Nob3cubGVuZ3RoICYmIHRoYXQub3B0aW9ucy5zaG93ICkgew0KCQkJCXRoYXQuX3Nob3coIHRvU2hvdywgdGhhdC5vcHRpb25zLnNob3csIGNvbXBsZXRlICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRvU2hvdy5zaG93KCk7DQoJCQkJY29tcGxldGUoKTsNCgkJCX0NCgkJfQ0KDQoJCS8vIFN0YXJ0IG91dCBieSBoaWRpbmcsIHRoZW4gc2hvd2luZywgdGhlbiBjb21wbGV0aW5nDQoJCWlmICggdG9IaWRlLmxlbmd0aCAmJiB0aGlzLm9wdGlvbnMuaGlkZSApIHsNCgkJCXRoaXMuX2hpZGUoIHRvSGlkZSwgdGhpcy5vcHRpb25zLmhpZGUsIGZ1bmN0aW9uKCkgew0KCQkJCXRoYXQuX3JlbW92ZUNsYXNzKCBldmVudERhdGEub2xkVGFiLmNsb3Nlc3QoICJsaSIgKSwNCgkJCQkJInVpLXRhYnMtYWN0aXZlIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCQlzaG93KCk7DQoJCQl9ICk7DQoJCX0gZWxzZSB7DQoJCQl0aGlzLl9yZW1vdmVDbGFzcyggZXZlbnREYXRhLm9sZFRhYi5jbG9zZXN0KCAibGkiICksDQoJCQkJInVpLXRhYnMtYWN0aXZlIiwgInVpLXN0YXRlLWFjdGl2ZSIgKTsNCgkJCXRvSGlkZS5oaWRlKCk7DQoJCQlzaG93KCk7DQoJCX0NCg0KCQl0b0hpZGUuYXR0ciggImFyaWEtaGlkZGVuIiwgInRydWUiICk7DQoJCWV2ZW50RGF0YS5vbGRUYWIuYXR0ciggew0KCQkJImFyaWEtc2VsZWN0ZWQiOiAiZmFsc2UiLA0KCQkJImFyaWEtZXhwYW5kZWQiOiAiZmFsc2UiDQoJCX0gKTsNCg0KCQkvLyBJZiB3ZSdyZSBzd2l0Y2hpbmcgdGFicywgcmVtb3ZlIHRoZSBvbGQgdGFiIGZyb20gdGhlIHRhYiBvcmRlci4NCgkJLy8gSWYgd2UncmUgb3BlbmluZyBmcm9tIGNvbGxhcHNlZCBzdGF0ZSwgcmVtb3ZlIHRoZSBwcmV2aW91cyB0YWIgZnJvbSB0aGUgdGFiIG9yZGVyLg0KCQkvLyBJZiB3ZSdyZSBjb2xsYXBzaW5nLCB0aGVuIGtlZXAgdGhlIGNvbGxhcHNpbmcgdGFiIGluIHRoZSB0YWIgb3JkZXIuDQoJCWlmICggdG9TaG93Lmxlbmd0aCAmJiB0b0hpZGUubGVuZ3RoICkgew0KCQkJZXZlbnREYXRhLm9sZFRhYi5hdHRyKCAidGFiSW5kZXgiLCAtMSApOw0KCQl9IGVsc2UgaWYgKCB0b1Nob3cubGVuZ3RoICkgew0KCQkJdGhpcy50YWJzLmZpbHRlciggZnVuY3Rpb24oKSB7DQoJCQkJcmV0dXJuICQoIHRoaXMgKS5hdHRyKCAidGFiSW5kZXgiICkgPT09IDA7DQoJCQl9ICkNCgkJCQkuYXR0ciggInRhYkluZGV4IiwgLTEgKTsNCgkJfQ0KDQoJCXRvU2hvdy5hdHRyKCAiYXJpYS1oaWRkZW4iLCAiZmFsc2UiICk7DQoJCWV2ZW50RGF0YS5uZXdUYWIuYXR0ciggew0KCQkJImFyaWEtc2VsZWN0ZWQiOiAidHJ1ZSIsDQoJCQkiYXJpYS1leHBhbmRlZCI6ICJ0cnVlIiwNCgkJCXRhYkluZGV4OiAwDQoJCX0gKTsNCgl9LA0KDQoJX2FjdGl2YXRlOiBmdW5jdGlvbiggaW5kZXggKSB7DQoJCXZhciBhbmNob3IsDQoJCQlhY3RpdmUgPSB0aGlzLl9maW5kQWN0aXZlKCBpbmRleCApOw0KDQoJCS8vIFRyeWluZyB0byBhY3RpdmF0ZSB0aGUgYWxyZWFkeSBhY3RpdmUgcGFuZWwNCgkJaWYgKCBhY3RpdmVbIDAgXSA9PT0gdGhpcy5hY3RpdmVbIDAgXSApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIFRyeWluZyB0byBjb2xsYXBzZSwgc2ltdWxhdGUgYSBjbGljayBvbiB0aGUgY3VycmVudCBhY3RpdmUgaGVhZGVyDQoJCWlmICggIWFjdGl2ZS5sZW5ndGggKSB7DQoJCQlhY3RpdmUgPSB0aGlzLmFjdGl2ZTsNCgkJfQ0KDQoJCWFuY2hvciA9IGFjdGl2ZS5maW5kKCAiLnVpLXRhYnMtYW5jaG9yIiApWyAwIF07DQoJCXRoaXMuX2V2ZW50SGFuZGxlciggew0KCQkJdGFyZ2V0OiBhbmNob3IsDQoJCQljdXJyZW50VGFyZ2V0OiBhbmNob3IsDQoJCQlwcmV2ZW50RGVmYXVsdDogJC5ub29wDQoJCX0gKTsNCgl9LA0KDQoJX2ZpbmRBY3RpdmU6IGZ1bmN0aW9uKCBpbmRleCApIHsNCgkJcmV0dXJuIGluZGV4ID09PSBmYWxzZSA/ICQoKSA6IHRoaXMudGFicy5lcSggaW5kZXggKTsNCgl9LA0KDQoJX2dldEluZGV4OiBmdW5jdGlvbiggaW5kZXggKSB7DQoNCgkJLy8gbWV0YS1mdW5jdGlvbiB0byBnaXZlIHVzZXJzIG9wdGlvbiB0byBwcm92aWRlIGEgaHJlZiBzdHJpbmcgaW5zdGVhZCBvZiBhIG51bWVyaWNhbCBpbmRleC4NCgkJaWYgKCB0eXBlb2YgaW5kZXggPT09ICJzdHJpbmciICkgew0KCQkJaW5kZXggPSB0aGlzLmFuY2hvcnMuaW5kZXgoIHRoaXMuYW5jaG9ycy5maWx0ZXIoICJbaHJlZiQ9JyIgKw0KCQkJCSQudWkuZXNjYXBlU2VsZWN0b3IoIGluZGV4ICkgKyAiJ10iICkgKTsNCgkJfQ0KDQoJCXJldHVybiBpbmRleDsNCgl9LA0KDQoJX2Rlc3Ryb3k6IGZ1bmN0aW9uKCkgew0KCQlpZiAoIHRoaXMueGhyICkgew0KCQkJdGhpcy54aHIuYWJvcnQoKTsNCgkJfQ0KDQoJCXRoaXMudGFibGlzdA0KCQkJLnJlbW92ZUF0dHIoICJyb2xlIiApDQoJCQkub2ZmKCB0aGlzLmV2ZW50TmFtZXNwYWNlICk7DQoNCgkJdGhpcy5hbmNob3JzDQoJCQkucmVtb3ZlQXR0ciggInJvbGUgdGFiSW5kZXgiICkNCgkJCS5yZW1vdmVVbmlxdWVJZCgpOw0KDQoJCXRoaXMudGFicy5hZGQoIHRoaXMucGFuZWxzICkuZWFjaCggZnVuY3Rpb24oKSB7DQoJCQlpZiAoICQuZGF0YSggdGhpcywgInVpLXRhYnMtZGVzdHJveSIgKSApIHsNCgkJCQkkKCB0aGlzICkucmVtb3ZlKCk7DQoJCQl9IGVsc2Ugew0KCQkJCSQoIHRoaXMgKS5yZW1vdmVBdHRyKCAicm9sZSB0YWJJbmRleCAiICsNCgkJCQkJImFyaWEtbGl2ZSBhcmlhLWJ1c3kgYXJpYS1zZWxlY3RlZCBhcmlhLWxhYmVsbGVkYnkgYXJpYS1oaWRkZW4gYXJpYS1leHBhbmRlZCIgKTsNCgkJCX0NCgkJfSApOw0KDQoJCXRoaXMudGFicy5lYWNoKCBmdW5jdGlvbigpIHsNCgkJCXZhciBsaSA9ICQoIHRoaXMgKSwNCgkJCQlwcmV2ID0gbGkuZGF0YSggInVpLXRhYnMtYXJpYS1jb250cm9scyIgKTsNCgkJCWlmICggcHJldiApIHsNCgkJCQlsaQ0KCQkJCQkuYXR0ciggImFyaWEtY29udHJvbHMiLCBwcmV2ICkNCgkJCQkJLnJlbW92ZURhdGEoICJ1aS10YWJzLWFyaWEtY29udHJvbHMiICk7DQoJCQl9IGVsc2Ugew0KCQkJCWxpLnJlbW92ZUF0dHIoICJhcmlhLWNvbnRyb2xzIiApOw0KCQkJfQ0KCQl9ICk7DQoNCgkJdGhpcy5wYW5lbHMuc2hvdygpOw0KDQoJCWlmICggdGhpcy5vcHRpb25zLmhlaWdodFN0eWxlICE9PSAiY29udGVudCIgKSB7DQoJCQl0aGlzLnBhbmVscy5jc3MoICJoZWlnaHQiLCAiIiApOw0KCQl9DQoJfSwNCg0KCWVuYWJsZTogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgZGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgPT09IGZhbHNlICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJaWYgKCBpbmRleCA9PT0gdW5kZWZpbmVkICkgew0KCQkJZGlzYWJsZWQgPSBmYWxzZTsNCgkJfSBlbHNlIHsNCgkJCWluZGV4ID0gdGhpcy5fZ2V0SW5kZXgoIGluZGV4ICk7DQoJCQlpZiAoICQuaXNBcnJheSggZGlzYWJsZWQgKSApIHsNCgkJCQlkaXNhYmxlZCA9ICQubWFwKCBkaXNhYmxlZCwgZnVuY3Rpb24oIG51bSApIHsNCgkJCQkJcmV0dXJuIG51bSAhPT0gaW5kZXggPyBudW0gOiBudWxsOw0KCQkJCX0gKTsNCgkJCX0gZWxzZSB7DQoJCQkJZGlzYWJsZWQgPSAkLm1hcCggdGhpcy50YWJzLCBmdW5jdGlvbiggbGksIG51bSApIHsNCgkJCQkJcmV0dXJuIG51bSAhPT0gaW5kZXggPyBudW0gOiBudWxsOw0KCQkJCX0gKTsNCgkJCX0NCgkJfQ0KCQl0aGlzLl9zZXRPcHRpb25EaXNhYmxlZCggZGlzYWJsZWQgKTsNCgl9LA0KDQoJZGlzYWJsZTogZnVuY3Rpb24oIGluZGV4ICkgew0KCQl2YXIgZGlzYWJsZWQgPSB0aGlzLm9wdGlvbnMuZGlzYWJsZWQ7DQoJCWlmICggZGlzYWJsZWQgPT09IHRydWUgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIGluZGV4ID09PSB1bmRlZmluZWQgKSB7DQoJCQlkaXNhYmxlZCA9IHRydWU7DQoJCX0gZWxzZSB7DQoJCQlpbmRleCA9IHRoaXMuX2dldEluZGV4KCBpbmRleCApOw0KCQkJaWYgKCAkLmluQXJyYXkoIGluZGV4LCBkaXNhYmxlZCApICE9PSAtMSApIHsNCgkJCQlyZXR1cm47DQoJCQl9DQoJCQlpZiAoICQuaXNBcnJheSggZGlzYWJsZWQgKSApIHsNCgkJCQlkaXNhYmxlZCA9ICQubWVyZ2UoIFsgaW5kZXggXSwgZGlzYWJsZWQgKS5zb3J0KCk7DQoJCQl9IGVsc2Ugew0KCQkJCWRpc2FibGVkID0gWyBpbmRleCBdOw0KCQkJfQ0KCQl9DQoJCXRoaXMuX3NldE9wdGlvbkRpc2FibGVkKCBkaXNhYmxlZCApOw0KCX0sDQoNCglsb2FkOiBmdW5jdGlvbiggaW5kZXgsIGV2ZW50ICkgew0KCQlpbmRleCA9IHRoaXMuX2dldEluZGV4KCBpbmRleCApOw0KCQl2YXIgdGhhdCA9IHRoaXMsDQoJCQl0YWIgPSB0aGlzLnRhYnMuZXEoIGluZGV4ICksDQoJCQlhbmNob3IgPSB0YWIuZmluZCggIi51aS10YWJzLWFuY2hvciIgKSwNCgkJCXBhbmVsID0gdGhpcy5fZ2V0UGFuZWxGb3JUYWIoIHRhYiApLA0KCQkJZXZlbnREYXRhID0gew0KCQkJCXRhYjogdGFiLA0KCQkJCXBhbmVsOiBwYW5lbA0KCQkJfSwNCgkJCWNvbXBsZXRlID0gZnVuY3Rpb24oIGpxWEhSLCBzdGF0dXMgKSB7DQoJCQkJaWYgKCBzdGF0dXMgPT09ICJhYm9ydCIgKSB7DQoJCQkJCXRoYXQucGFuZWxzLnN0b3AoIGZhbHNlLCB0cnVlICk7DQoJCQkJfQ0KDQoJCQkJdGhhdC5fcmVtb3ZlQ2xhc3MoIHRhYiwgInVpLXRhYnMtbG9hZGluZyIgKTsNCgkJCQlwYW5lbC5yZW1vdmVBdHRyKCAiYXJpYS1idXN5IiApOw0KDQoJCQkJaWYgKCBqcVhIUiA9PT0gdGhhdC54aHIgKSB7DQoJCQkJCWRlbGV0ZSB0aGF0LnhocjsNCgkJCQl9DQoJCQl9Ow0KDQoJCS8vIE5vdCByZW1vdGUNCgkJaWYgKCB0aGlzLl9pc0xvY2FsKCBhbmNob3JbIDAgXSApICkgew0KCQkJcmV0dXJuOw0KCQl9DQoNCgkJdGhpcy54aHIgPSAkLmFqYXgoIHRoaXMuX2FqYXhTZXR0aW5ncyggYW5jaG9yLCBldmVudCwgZXZlbnREYXRhICkgKTsNCg0KCQkvLyBTdXBwb3J0OiBqUXVlcnkgPDEuOA0KCQkvLyBqUXVlcnkgPDEuOCByZXR1cm5zIGZhbHNlIGlmIHRoZSByZXF1ZXN0IGlzIGNhbmNlbGVkIGluIGJlZm9yZVNlbmQsDQoJCS8vIGJ1dCBhcyBvZiAxLjgsICQuYWpheCgpIGFsd2F5cyByZXR1cm5zIGEganFYSFIgb2JqZWN0Lg0KCQlpZiAoIHRoaXMueGhyICYmIHRoaXMueGhyLnN0YXR1c1RleHQgIT09ICJjYW5jZWxlZCIgKSB7DQoJCQl0aGlzLl9hZGRDbGFzcyggdGFiLCAidWktdGFicy1sb2FkaW5nIiApOw0KCQkJcGFuZWwuYXR0ciggImFyaWEtYnVzeSIsICJ0cnVlIiApOw0KDQoJCQl0aGlzLnhocg0KCQkJCS5kb25lKCBmdW5jdGlvbiggcmVzcG9uc2UsIHN0YXR1cywganFYSFIgKSB7DQoNCgkJCQkJLy8gc3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJCQkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTE3NzgNCgkJCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7DQoJCQkJCQlwYW5lbC5odG1sKCByZXNwb25zZSApOw0KCQkJCQkJdGhhdC5fdHJpZ2dlciggImxvYWQiLCBldmVudCwgZXZlbnREYXRhICk7DQoNCgkJCQkJCWNvbXBsZXRlKCBqcVhIUiwgc3RhdHVzICk7DQoJCQkJCX0sIDEgKTsNCgkJCQl9ICkNCgkJCQkuZmFpbCggZnVuY3Rpb24oIGpxWEhSLCBzdGF0dXMgKSB7DQoNCgkJCQkJLy8gc3VwcG9ydDogalF1ZXJ5IDwxLjgNCgkJCQkJLy8gaHR0cDovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTE3NzgNCgkJCQkJc2V0VGltZW91dCggZnVuY3Rpb24oKSB7DQoJCQkJCQljb21wbGV0ZSgganFYSFIsIHN0YXR1cyApOw0KCQkJCQl9LCAxICk7DQoJCQkJfSApOw0KCQl9DQoJfSwNCg0KCV9hamF4U2V0dGluZ3M6IGZ1bmN0aW9uKCBhbmNob3IsIGV2ZW50LCBldmVudERhdGEgKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCgkJcmV0dXJuIHsNCg0KCQkJLy8gU3VwcG9ydDogSUUgPDExIG9ubHkNCgkJCS8vIFN0cmlwIGFueSBoYXNoIHRoYXQgZXhpc3RzIHRvIHByZXZlbnQgZXJyb3JzIHdpdGggdGhlIEFqYXggcmVxdWVzdA0KCQkJdXJsOiBhbmNob3IuYXR0ciggImhyZWYiICkucmVwbGFjZSggLyMuKiQvLCAiIiApLA0KCQkJYmVmb3JlU2VuZDogZnVuY3Rpb24oIGpxWEhSLCBzZXR0aW5ncyApIHsNCgkJCQlyZXR1cm4gdGhhdC5fdHJpZ2dlciggImJlZm9yZUxvYWQiLCBldmVudCwNCgkJCQkJJC5leHRlbmQoIHsganFYSFI6IGpxWEhSLCBhamF4U2V0dGluZ3M6IHNldHRpbmdzIH0sIGV2ZW50RGF0YSApICk7DQoJCQl9DQoJCX07DQoJfSwNCg0KCV9nZXRQYW5lbEZvclRhYjogZnVuY3Rpb24oIHRhYiApIHsNCgkJdmFyIGlkID0gJCggdGFiICkuYXR0ciggImFyaWEtY29udHJvbHMiICk7DQoJCXJldHVybiB0aGlzLmVsZW1lbnQuZmluZCggdGhpcy5fc2FuaXRpemVTZWxlY3RvciggIiMiICsgaWQgKSApOw0KCX0NCn0gKTsNCg0KLy8gREVQUkVDQVRFRA0KLy8gVE9ETzogU3dpdGNoIHJldHVybiBiYWNrIHRvIHdpZGdldCBkZWNsYXJhdGlvbiBhdCB0b3Agb2YgZmlsZSB3aGVuIHRoaXMgaXMgcmVtb3ZlZA0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoNCgkvLyBCYWNrY29tcGF0IGZvciB1aS10YWIgY2xhc3MgKG5vdyB1aS10YWJzLXRhYikNCgkkLndpZGdldCggInVpLnRhYnMiLCAkLnVpLnRhYnMsIHsNCgkJX3Byb2Nlc3NUYWJzOiBmdW5jdGlvbigpIHsNCgkJCXRoaXMuX3N1cGVyQXBwbHkoIGFyZ3VtZW50cyApOw0KCQkJdGhpcy5fYWRkQ2xhc3MoIHRoaXMudGFicywgInVpLXRhYiIgKTsNCgkJfQ0KCX0gKTsNCn0NCg0KdmFyIHdpZGdldHNUYWJzID0gJC51aS50YWJzOw0KDQoNCi8qIQ0KICogalF1ZXJ5IFVJIFRvb2x0aXAgMS4xMi4xDQogKiBodHRwOi8vanF1ZXJ5dWkuY29tDQogKg0KICogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4NCiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2UNCiAqLw0KDQovLz4+bGFiZWw6IFRvb2x0aXANCi8vPj5ncm91cDogV2lkZ2V0cw0KLy8+PmRlc2NyaXB0aW9uOiBTaG93cyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZvciBhbnkgZWxlbWVudCBvbiBob3ZlciBvciBmb2N1cy4NCi8vPj5kb2NzOiBodHRwOi8vYXBpLmpxdWVyeXVpLmNvbS90b29sdGlwLw0KLy8+PmRlbW9zOiBodHRwOi8vanF1ZXJ5dWkuY29tL3Rvb2x0aXAvDQovLz4+Y3NzLnN0cnVjdHVyZTogLi4vLi4vdGhlbWVzL2Jhc2UvY29yZS5jc3MNCi8vPj5jc3Muc3RydWN0dXJlOiAuLi8uLi90aGVtZXMvYmFzZS90b29sdGlwLmNzcw0KLy8+PmNzcy50aGVtZTogLi4vLi4vdGhlbWVzL2Jhc2UvdGhlbWUuY3NzDQoNCg0KDQokLndpZGdldCggInVpLnRvb2x0aXAiLCB7DQoJdmVyc2lvbjogIjEuMTIuMSIsDQoJb3B0aW9uczogew0KCQljbGFzc2VzOiB7DQoJCQkidWktdG9vbHRpcCI6ICJ1aS1jb3JuZXItYWxsIHVpLXdpZGdldC1zaGFkb3ciDQoJCX0sDQoJCWNvbnRlbnQ6IGZ1bmN0aW9uKCkgew0KDQoJCQkvLyBzdXBwb3J0OiBJRTw5LCBPcGVyYSBpbiBqUXVlcnkgPDEuNw0KCQkJLy8gLnRleHQoKSBjYW4ndCBhY2NlcHQgdW5kZWZpbmVkLCBzbyBjb2VyY2UgdG8gYSBzdHJpbmcNCgkJCXZhciB0aXRsZSA9ICQoIHRoaXMgKS5hdHRyKCAidGl0bGUiICkgfHwgIiI7DQoNCgkJCS8vIEVzY2FwZSB0aXRsZSwgc2luY2Ugd2UncmUgZ29pbmcgZnJvbSBhbiBhdHRyaWJ1dGUgdG8gcmF3IEhUTUwNCgkJCXJldHVybiAkKCAiPGE+IiApLnRleHQoIHRpdGxlICkuaHRtbCgpOw0KCQl9LA0KCQloaWRlOiB0cnVlLA0KDQoJCS8vIERpc2FibGVkIGVsZW1lbnRzIGhhdmUgaW5jb25zaXN0ZW50IGJlaGF2aW9yIGFjcm9zcyBicm93c2VycyAoIzg2NjEpDQoJCWl0ZW1zOiAiW3RpdGxlXTpub3QoW2Rpc2FibGVkXSkiLA0KCQlwb3NpdGlvbjogew0KCQkJbXk6ICJsZWZ0IHRvcCsxNSIsDQoJCQlhdDogImxlZnQgYm90dG9tIiwNCgkJCWNvbGxpc2lvbjogImZsaXBmaXQgZmxpcCINCgkJfSwNCgkJc2hvdzogdHJ1ZSwNCgkJdHJhY2s6IGZhbHNlLA0KDQoJCS8vIENhbGxiYWNrcw0KCQljbG9zZTogbnVsbCwNCgkJb3BlbjogbnVsbA0KCX0sDQoNCglfYWRkRGVzY3JpYmVkQnk6IGZ1bmN0aW9uKCBlbGVtLCBpZCApIHsNCgkJdmFyIGRlc2NyaWJlZGJ5ID0gKCBlbGVtLmF0dHIoICJhcmlhLWRlc2NyaWJlZGJ5IiApIHx8ICIiICkuc3BsaXQoIC9ccysvICk7DQoJCWRlc2NyaWJlZGJ5LnB1c2goIGlkICk7DQoJCWVsZW0NCgkJCS5kYXRhKCAidWktdG9vbHRpcC1pZCIsIGlkICkNCgkJCS5hdHRyKCAiYXJpYS1kZXNjcmliZWRieSIsICQudHJpbSggZGVzY3JpYmVkYnkuam9pbiggIiAiICkgKSApOw0KCX0sDQoNCglfcmVtb3ZlRGVzY3JpYmVkQnk6IGZ1bmN0aW9uKCBlbGVtICkgew0KCQl2YXIgaWQgPSBlbGVtLmRhdGEoICJ1aS10b29sdGlwLWlkIiApLA0KCQkJZGVzY3JpYmVkYnkgPSAoIGVsZW0uYXR0ciggImFyaWEtZGVzY3JpYmVkYnkiICkgfHwgIiIgKS5zcGxpdCggL1xzKy8gKSwNCgkJCWluZGV4ID0gJC5pbkFycmF5KCBpZCwgZGVzY3JpYmVkYnkgKTsNCg0KCQlpZiAoIGluZGV4ICE9PSAtMSApIHsNCgkJCWRlc2NyaWJlZGJ5LnNwbGljZSggaW5kZXgsIDEgKTsNCgkJfQ0KDQoJCWVsZW0ucmVtb3ZlRGF0YSggInVpLXRvb2x0aXAtaWQiICk7DQoJCWRlc2NyaWJlZGJ5ID0gJC50cmltKCBkZXNjcmliZWRieS5qb2luKCAiICIgKSApOw0KCQlpZiAoIGRlc2NyaWJlZGJ5ICkgew0KCQkJZWxlbS5hdHRyKCAiYXJpYS1kZXNjcmliZWRieSIsIGRlc2NyaWJlZGJ5ICk7DQoJCX0gZWxzZSB7DQoJCQllbGVtLnJlbW92ZUF0dHIoICJhcmlhLWRlc2NyaWJlZGJ5IiApOw0KCQl9DQoJfSwNCg0KCV9jcmVhdGU6IGZ1bmN0aW9uKCkgew0KCQl0aGlzLl9vbiggew0KCQkJbW91c2VvdmVyOiAib3BlbiIsDQoJCQlmb2N1c2luOiAib3BlbiINCgkJfSApOw0KDQoJCS8vIElEcyBvZiBnZW5lcmF0ZWQgdG9vbHRpcHMsIG5lZWRlZCBmb3IgZGVzdHJveQ0KCQl0aGlzLnRvb2x0aXBzID0ge307DQoNCgkJLy8gSURzIG9mIHBhcmVudCB0b29sdGlwcyB3aGVyZSB3ZSByZW1vdmVkIHRoZSB0aXRsZSBhdHRyaWJ1dGUNCgkJdGhpcy5wYXJlbnRzID0ge307DQoNCgkJLy8gQXBwZW5kIHRoZSBhcmlhLWxpdmUgcmVnaW9uIHNvIHRvb2x0aXBzIGFubm91bmNlIGNvcnJlY3RseQ0KCQl0aGlzLmxpdmVSZWdpb24gPSAkKCAiPGRpdj4iICkNCgkJCS5hdHRyKCB7DQoJCQkJcm9sZTogImxvZyIsDQoJCQkJImFyaWEtbGl2ZSI6ICJhc3NlcnRpdmUiLA0KCQkJCSJhcmlhLXJlbGV2YW50IjogImFkZGl0aW9ucyINCgkJCX0gKQ0KCQkJLmFwcGVuZFRvKCB0aGlzLmRvY3VtZW50WyAwIF0uYm9keSApOw0KCQl0aGlzLl9hZGRDbGFzcyggdGhpcy5saXZlUmVnaW9uLCBudWxsLCAidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiApOw0KDQoJCXRoaXMuZGlzYWJsZWRUaXRsZXMgPSAkKCBbXSApOw0KCX0sDQoNCglfc2V0T3B0aW9uOiBmdW5jdGlvbigga2V5LCB2YWx1ZSApIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCXRoaXMuX3N1cGVyKCBrZXksIHZhbHVlICk7DQoNCgkJaWYgKCBrZXkgPT09ICJjb250ZW50IiApIHsNCgkJCSQuZWFjaCggdGhpcy50b29sdGlwcywgZnVuY3Rpb24oIGlkLCB0b29sdGlwRGF0YSApIHsNCgkJCQl0aGF0Ll91cGRhdGVDb250ZW50KCB0b29sdGlwRGF0YS5lbGVtZW50ICk7DQoJCQl9ICk7DQoJCX0NCgl9LA0KDQoJX3NldE9wdGlvbkRpc2FibGVkOiBmdW5jdGlvbiggdmFsdWUgKSB7DQoJCXRoaXNbIHZhbHVlID8gIl9kaXNhYmxlIiA6ICJfZW5hYmxlIiBdKCk7DQoJfSwNCg0KCV9kaXNhYmxlOiBmdW5jdGlvbigpIHsNCgkJdmFyIHRoYXQgPSB0aGlzOw0KDQoJCS8vIENsb3NlIG9wZW4gdG9vbHRpcHMNCgkJJC5lYWNoKCB0aGlzLnRvb2x0aXBzLCBmdW5jdGlvbiggaWQsIHRvb2x0aXBEYXRhICkgew0KCQkJdmFyIGV2ZW50ID0gJC5FdmVudCggImJsdXIiICk7DQoJCQlldmVudC50YXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0ID0gdG9vbHRpcERhdGEuZWxlbWVudFsgMCBdOw0KCQkJdGhhdC5jbG9zZSggZXZlbnQsIHRydWUgKTsNCgkJfSApOw0KDQoJCS8vIFJlbW92ZSB0aXRsZSBhdHRyaWJ1dGVzIHRvIHByZXZlbnQgbmF0aXZlIHRvb2x0aXBzDQoJCXRoaXMuZGlzYWJsZWRUaXRsZXMgPSB0aGlzLmRpc2FibGVkVGl0bGVzLmFkZCgNCgkJCXRoaXMuZWxlbWVudC5maW5kKCB0aGlzLm9wdGlvbnMuaXRlbXMgKS5hZGRCYWNrKCkNCgkJCQkuZmlsdGVyKCBmdW5jdGlvbigpIHsNCgkJCQkJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICk7DQoJCQkJCWlmICggZWxlbWVudC5pcyggIlt0aXRsZV0iICkgKSB7DQoJCQkJCQlyZXR1cm4gZWxlbWVudA0KCQkJCQkJCS5kYXRhKCAidWktdG9vbHRpcC10aXRsZSIsIGVsZW1lbnQuYXR0ciggInRpdGxlIiApICkNCgkJCQkJCQkucmVtb3ZlQXR0ciggInRpdGxlIiApOw0KCQkJCQl9DQoJCQkJfSApDQoJCSk7DQoJfSwNCg0KCV9lbmFibGU6IGZ1bmN0aW9uKCkgew0KDQoJCS8vIHJlc3RvcmUgdGl0bGUgYXR0cmlidXRlcw0KCQl0aGlzLmRpc2FibGVkVGl0bGVzLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJdmFyIGVsZW1lbnQgPSAkKCB0aGlzICk7DQoJCQlpZiAoIGVsZW1lbnQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICkgKSB7DQoJCQkJZWxlbWVudC5hdHRyKCAidGl0bGUiLCBlbGVtZW50LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiApICk7DQoJCQl9DQoJCX0gKTsNCgkJdGhpcy5kaXNhYmxlZFRpdGxlcyA9ICQoIFtdICk7DQoJfSwNCg0KCW9wZW46IGZ1bmN0aW9uKCBldmVudCApIHsNCgkJdmFyIHRoYXQgPSB0aGlzLA0KCQkJdGFyZ2V0ID0gJCggZXZlbnQgPyBldmVudC50YXJnZXQgOiB0aGlzLmVsZW1lbnQgKQ0KDQoJCQkJLy8gd2UgbmVlZCBjbG9zZXN0IGhlcmUgZHVlIHRvIG1vdXNlb3ZlciBidWJibGluZywNCgkJCQkvLyBidXQgYWx3YXlzIHBvaW50aW5nIGF0IHRoZSBzYW1lIGV2ZW50IHRhcmdldA0KCQkJCS5jbG9zZXN0KCB0aGlzLm9wdGlvbnMuaXRlbXMgKTsNCg0KCQkvLyBObyBlbGVtZW50IHRvIHNob3cgYSB0b29sdGlwIGZvciBvciB0aGUgdG9vbHRpcCBpcyBhbHJlYWR5IG9wZW4NCgkJaWYgKCAhdGFyZ2V0Lmxlbmd0aCB8fCB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtaWQiICkgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQlpZiAoIHRhcmdldC5hdHRyKCAidGl0bGUiICkgKSB7DQoJCQl0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiLCB0YXJnZXQuYXR0ciggInRpdGxlIiApICk7DQoJCX0NCg0KCQl0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtb3BlbiIsIHRydWUgKTsNCg0KCQkvLyBLaWxsIHBhcmVudCB0b29sdGlwcywgY3VzdG9tIG9yIG5hdGl2ZSwgZm9yIGhvdmVyDQoJCWlmICggZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gIm1vdXNlb3ZlciIgKSB7DQoJCQl0YXJnZXQucGFyZW50cygpLmVhY2goIGZ1bmN0aW9uKCkgew0KCQkJCXZhciBwYXJlbnQgPSAkKCB0aGlzICksDQoJCQkJCWJsdXJFdmVudDsNCgkJCQlpZiAoIHBhcmVudC5kYXRhKCAidWktdG9vbHRpcC1vcGVuIiApICkgew0KCQkJCQlibHVyRXZlbnQgPSAkLkV2ZW50KCAiYmx1ciIgKTsNCgkJCQkJYmx1ckV2ZW50LnRhcmdldCA9IGJsdXJFdmVudC5jdXJyZW50VGFyZ2V0ID0gdGhpczsNCgkJCQkJdGhhdC5jbG9zZSggYmx1ckV2ZW50LCB0cnVlICk7DQoJCQkJfQ0KCQkJCWlmICggcGFyZW50LmF0dHIoICJ0aXRsZSIgKSApIHsNCgkJCQkJcGFyZW50LnVuaXF1ZUlkKCk7DQoJCQkJCXRoYXQucGFyZW50c1sgdGhpcy5pZCBdID0gew0KCQkJCQkJZWxlbWVudDogdGhpcywNCgkJCQkJCXRpdGxlOiBwYXJlbnQuYXR0ciggInRpdGxlIiApDQoJCQkJCX07DQoJCQkJCXBhcmVudC5hdHRyKCAidGl0bGUiLCAiIiApOw0KCQkJCX0NCgkJCX0gKTsNCgkJfQ0KDQoJCXRoaXMuX3JlZ2lzdGVyQ2xvc2VIYW5kbGVycyggZXZlbnQsIHRhcmdldCApOw0KCQl0aGlzLl91cGRhdGVDb250ZW50KCB0YXJnZXQsIGV2ZW50ICk7DQoJfSwNCg0KCV91cGRhdGVDb250ZW50OiBmdW5jdGlvbiggdGFyZ2V0LCBldmVudCApIHsNCgkJdmFyIGNvbnRlbnQsDQoJCQljb250ZW50T3B0aW9uID0gdGhpcy5vcHRpb25zLmNvbnRlbnQsDQoJCQl0aGF0ID0gdGhpcywNCgkJCWV2ZW50VHlwZSA9IGV2ZW50ID8gZXZlbnQudHlwZSA6IG51bGw7DQoNCgkJaWYgKCB0eXBlb2YgY29udGVudE9wdGlvbiA9PT0gInN0cmluZyIgfHwgY29udGVudE9wdGlvbi5ub2RlVHlwZSB8fA0KCQkJCWNvbnRlbnRPcHRpb24uanF1ZXJ5ICkgew0KCQkJcmV0dXJuIHRoaXMuX29wZW4oIGV2ZW50LCB0YXJnZXQsIGNvbnRlbnRPcHRpb24gKTsNCgkJfQ0KDQoJCWNvbnRlbnQgPSBjb250ZW50T3B0aW9uLmNhbGwoIHRhcmdldFsgMCBdLCBmdW5jdGlvbiggcmVzcG9uc2UgKSB7DQoNCgkJCS8vIElFIG1heSBpbnN0YW50bHkgc2VydmUgYSBjYWNoZWQgcmVzcG9uc2UgZm9yIGFqYXggcmVxdWVzdHMNCgkJCS8vIGRlbGF5IHRoaXMgY2FsbCB0byBfb3BlbiBzbyB0aGUgb3RoZXIgY2FsbCB0byBfb3BlbiBydW5zIGZpcnN0DQoJCQl0aGF0Ll9kZWxheSggZnVuY3Rpb24oKSB7DQoNCgkJCQkvLyBJZ25vcmUgYXN5bmMgcmVzcG9uc2UgaWYgdG9vbHRpcCB3YXMgY2xvc2VkIGFscmVhZHkNCgkJCQlpZiAoICF0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtb3BlbiIgKSApIHsNCgkJCQkJcmV0dXJuOw0KCQkJCX0NCg0KCQkJCS8vIEpRdWVyeSBjcmVhdGVzIGEgc3BlY2lhbCBldmVudCBmb3IgZm9jdXNpbiB3aGVuIGl0IGRvZXNuJ3QNCgkJCQkvLyBleGlzdCBuYXRpdmVseS4gVG8gaW1wcm92ZSBwZXJmb3JtYW5jZSwgdGhlIG5hdGl2ZSBldmVudA0KCQkJCS8vIG9iamVjdCBpcyByZXVzZWQgYW5kIHRoZSB0eXBlIGlzIGNoYW5nZWQuIFRoZXJlZm9yZSwgd2UgY2FuJ3QNCgkJCQkvLyByZWx5IG9uIHRoZSB0eXBlIGJlaW5nIGNvcnJlY3QgYWZ0ZXIgdGhlIGV2ZW50IGZpbmlzaGVkDQoJCQkJLy8gYnViYmxpbmcsIHNvIHdlIHNldCBpdCBiYWNrIHRvIHRoZSBwcmV2aW91cyB2YWx1ZS4gKCM4NzQwKQ0KCQkJCWlmICggZXZlbnQgKSB7DQoJCQkJCWV2ZW50LnR5cGUgPSBldmVudFR5cGU7DQoJCQkJfQ0KCQkJCXRoaXMuX29wZW4oIGV2ZW50LCB0YXJnZXQsIHJlc3BvbnNlICk7DQoJCQl9ICk7DQoJCX0gKTsNCgkJaWYgKCBjb250ZW50ICkgew0KCQkJdGhpcy5fb3BlbiggZXZlbnQsIHRhcmdldCwgY29udGVudCApOw0KCQl9DQoJfSwNCg0KCV9vcGVuOiBmdW5jdGlvbiggZXZlbnQsIHRhcmdldCwgY29udGVudCApIHsNCgkJdmFyIHRvb2x0aXBEYXRhLCB0b29sdGlwLCBkZWxheWVkU2hvdywgYTExeUNvbnRlbnQsDQoJCQlwb3NpdGlvbk9wdGlvbiA9ICQuZXh0ZW5kKCB7fSwgdGhpcy5vcHRpb25zLnBvc2l0aW9uICk7DQoNCgkJaWYgKCAhY29udGVudCApIHsNCgkJCXJldHVybjsNCgkJfQ0KDQoJCS8vIENvbnRlbnQgY2FuIGJlIHVwZGF0ZWQgbXVsdGlwbGUgdGltZXMuIElmIHRoZSB0b29sdGlwIGFscmVhZHkNCgkJLy8gZXhpc3RzLCB0aGVuIGp1c3QgdXBkYXRlIHRoZSBjb250ZW50IGFuZCBiYWlsLg0KCQl0b29sdGlwRGF0YSA9IHRoaXMuX2ZpbmQoIHRhcmdldCApOw0KCQlpZiAoIHRvb2x0aXBEYXRhICkgew0KCQkJdG9vbHRpcERhdGEudG9vbHRpcC5maW5kKCAiLnVpLXRvb2x0aXAtY29udGVudCIgKS5odG1sKCBjb250ZW50ICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBJZiB3ZSBoYXZlIGEgdGl0bGUsIGNsZWFyIGl0IHRvIHByZXZlbnQgdGhlIG5hdGl2ZSB0b29sdGlwDQoJCS8vIHdlIGhhdmUgdG8gY2hlY2sgZmlyc3QgdG8gYXZvaWQgZGVmaW5pbmcgYSB0aXRsZSBpZiBub25lIGV4aXN0cw0KCQkvLyAod2UgZG9uJ3Qgd2FudCB0byBjYXVzZSBhbiBlbGVtZW50IHRvIHN0YXJ0IG1hdGNoaW5nIFt0aXRsZV0pDQoJCS8vDQoJCS8vIFdlIHVzZSByZW1vdmVBdHRyIG9ubHkgZm9yIGtleSBldmVudHMsIHRvIGFsbG93IElFIHRvIGV4cG9ydCB0aGUgY29ycmVjdA0KCQkvLyBhY2Nlc3NpYmxlIGF0dHJpYnV0ZXMuIEZvciBtb3VzZSBldmVudHMsIHNldCB0byBlbXB0eSBzdHJpbmcgdG8gYXZvaWQNCgkJLy8gbmF0aXZlIHRvb2x0aXAgc2hvd2luZyB1cCAoaGFwcGVucyBvbmx5IHdoZW4gcmVtb3ZpbmcgaW5zaWRlIG1vdXNlb3ZlcikuDQoJCWlmICggdGFyZ2V0LmlzKCAiW3RpdGxlXSIgKSApIHsNCgkJCWlmICggZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gIm1vdXNlb3ZlciIgKSB7DQoJCQkJdGFyZ2V0LmF0dHIoICJ0aXRsZSIsICIiICk7DQoJCQl9IGVsc2Ugew0KCQkJCXRhcmdldC5yZW1vdmVBdHRyKCAidGl0bGUiICk7DQoJCQl9DQoJCX0NCg0KCQl0b29sdGlwRGF0YSA9IHRoaXMuX3Rvb2x0aXAoIHRhcmdldCApOw0KCQl0b29sdGlwID0gdG9vbHRpcERhdGEudG9vbHRpcDsNCgkJdGhpcy5fYWRkRGVzY3JpYmVkQnkoIHRhcmdldCwgdG9vbHRpcC5hdHRyKCAiaWQiICkgKTsNCgkJdG9vbHRpcC5maW5kKCAiLnVpLXRvb2x0aXAtY29udGVudCIgKS5odG1sKCBjb250ZW50ICk7DQoNCgkJLy8gU3VwcG9ydDogVm9pY2VvdmVyIG9uIE9TIFgsIEpBV1Mgb24gSUUgPD0gOQ0KCQkvLyBKQVdTIGFubm91bmNlcyBkZWxldGlvbnMgZXZlbiB3aGVuIGFyaWEtcmVsZXZhbnQ9ImFkZGl0aW9ucyINCgkJLy8gVm9pY2VvdmVyIHdpbGwgc29tZXRpbWVzIHJlLXJlYWQgdGhlIGVudGlyZSBsb2cgcmVnaW9uJ3MgY29udGVudHMgZnJvbSB0aGUgYmVnaW5uaW5nDQoJCXRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKTsNCgkJYTExeUNvbnRlbnQgPSAkKCAiPGRpdj4iICkuaHRtbCggdG9vbHRpcC5maW5kKCAiLnVpLXRvb2x0aXAtY29udGVudCIgKS5odG1sKCkgKTsNCgkJYTExeUNvbnRlbnQucmVtb3ZlQXR0ciggIm5hbWUiICkuZmluZCggIltuYW1lXSIgKS5yZW1vdmVBdHRyKCAibmFtZSIgKTsNCgkJYTExeUNvbnRlbnQucmVtb3ZlQXR0ciggImlkIiApLmZpbmQoICJbaWRdIiApLnJlbW92ZUF0dHIoICJpZCIgKTsNCgkJYTExeUNvbnRlbnQuYXBwZW5kVG8oIHRoaXMubGl2ZVJlZ2lvbiApOw0KDQoJCWZ1bmN0aW9uIHBvc2l0aW9uKCBldmVudCApIHsNCgkJCXBvc2l0aW9uT3B0aW9uLm9mID0gZXZlbnQ7DQoJCQlpZiAoIHRvb2x0aXAuaXMoICI6aGlkZGVuIiApICkgew0KCQkJCXJldHVybjsNCgkJCX0NCgkJCXRvb2x0aXAucG9zaXRpb24oIHBvc2l0aW9uT3B0aW9uICk7DQoJCX0NCgkJaWYgKCB0aGlzLm9wdGlvbnMudHJhY2sgJiYgZXZlbnQgJiYgL15tb3VzZS8udGVzdCggZXZlbnQudHlwZSApICkgew0KCQkJdGhpcy5fb24oIHRoaXMuZG9jdW1lbnQsIHsNCgkJCQltb3VzZW1vdmU6IHBvc2l0aW9uDQoJCQl9ICk7DQoNCgkJCS8vIHRyaWdnZXIgb25jZSB0byBvdmVycmlkZSBlbGVtZW50LXJlbGF0aXZlIHBvc2l0aW9uaW5nDQoJCQlwb3NpdGlvbiggZXZlbnQgKTsNCgkJfSBlbHNlIHsNCgkJCXRvb2x0aXAucG9zaXRpb24oICQuZXh0ZW5kKCB7DQoJCQkJb2Y6IHRhcmdldA0KCQkJfSwgdGhpcy5vcHRpb25zLnBvc2l0aW9uICkgKTsNCgkJfQ0KDQoJCXRvb2x0aXAuaGlkZSgpOw0KDQoJCXRoaXMuX3Nob3coIHRvb2x0aXAsIHRoaXMub3B0aW9ucy5zaG93ICk7DQoNCgkJLy8gSGFuZGxlIHRyYWNraW5nIHRvb2x0aXBzIHRoYXQgYXJlIHNob3duIHdpdGggYSBkZWxheSAoIzg2NDQpLiBBcyBzb29uDQoJCS8vIGFzIHRoZSB0b29sdGlwIGlzIHZpc2libGUsIHBvc2l0aW9uIHRoZSB0b29sdGlwIHVzaW5nIHRoZSBtb3N0IHJlY2VudA0KCQkvLyBldmVudC4NCgkJLy8gQWRkcyB0aGUgY2hlY2sgdG8gYWRkIHRoZSB0aW1lcnMgb25seSB3aGVuIGJvdGggZGVsYXkgYW5kIHRyYWNrIG9wdGlvbnMgYXJlIHNldCAoIzE0NjgyKQ0KCQlpZiAoIHRoaXMub3B0aW9ucy50cmFjayAmJiB0aGlzLm9wdGlvbnMuc2hvdyAmJiB0aGlzLm9wdGlvbnMuc2hvdy5kZWxheSApIHsNCgkJCWRlbGF5ZWRTaG93ID0gdGhpcy5kZWxheWVkU2hvdyA9IHNldEludGVydmFsKCBmdW5jdGlvbigpIHsNCgkJCQlpZiAoIHRvb2x0aXAuaXMoICI6dmlzaWJsZSIgKSApIHsNCgkJCQkJcG9zaXRpb24oIHBvc2l0aW9uT3B0aW9uLm9mICk7DQoJCQkJCWNsZWFySW50ZXJ2YWwoIGRlbGF5ZWRTaG93ICk7DQoJCQkJfQ0KCQkJfSwgJC5meC5pbnRlcnZhbCApOw0KCQl9DQoNCgkJdGhpcy5fdHJpZ2dlciggIm9wZW4iLCBldmVudCwgeyB0b29sdGlwOiB0b29sdGlwIH0gKTsNCgl9LA0KDQoJX3JlZ2lzdGVyQ2xvc2VIYW5kbGVyczogZnVuY3Rpb24oIGV2ZW50LCB0YXJnZXQgKSB7DQoJCXZhciBldmVudHMgPSB7DQoJCQlrZXl1cDogZnVuY3Rpb24oIGV2ZW50ICkgew0KCQkJCWlmICggZXZlbnQua2V5Q29kZSA9PT0gJC51aS5rZXlDb2RlLkVTQ0FQRSApIHsNCgkJCQkJdmFyIGZha2VFdmVudCA9ICQuRXZlbnQoIGV2ZW50ICk7DQoJCQkJCWZha2VFdmVudC5jdXJyZW50VGFyZ2V0ID0gdGFyZ2V0WyAwIF07DQoJCQkJCXRoaXMuY2xvc2UoIGZha2VFdmVudCwgdHJ1ZSApOw0KCQkJCX0NCgkJCX0NCgkJfTsNCg0KCQkvLyBPbmx5IGJpbmQgcmVtb3ZlIGhhbmRsZXIgZm9yIGRlbGVnYXRlZCB0YXJnZXRzLiBOb24tZGVsZWdhdGVkDQoJCS8vIHRvb2x0aXBzIHdpbGwgaGFuZGxlIHRoaXMgaW4gZGVzdHJveS4NCgkJaWYgKCB0YXJnZXRbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gKSB7DQoJCQlldmVudHMucmVtb3ZlID0gZnVuY3Rpb24oKSB7DQoJCQkJdGhpcy5fcmVtb3ZlVG9vbHRpcCggdGhpcy5fZmluZCggdGFyZ2V0ICkudG9vbHRpcCApOw0KCQkJfTsNCgkJfQ0KDQoJCWlmICggIWV2ZW50IHx8IGV2ZW50LnR5cGUgPT09ICJtb3VzZW92ZXIiICkgew0KCQkJZXZlbnRzLm1vdXNlbGVhdmUgPSAiY2xvc2UiOw0KCQl9DQoJCWlmICggIWV2ZW50IHx8IGV2ZW50LnR5cGUgPT09ICJmb2N1c2luIiApIHsNCgkJCWV2ZW50cy5mb2N1c291dCA9ICJjbG9zZSI7DQoJCX0NCgkJdGhpcy5fb24oIHRydWUsIHRhcmdldCwgZXZlbnRzICk7DQoJfSwNCg0KCWNsb3NlOiBmdW5jdGlvbiggZXZlbnQgKSB7DQoJCXZhciB0b29sdGlwLA0KCQkJdGhhdCA9IHRoaXMsDQoJCQl0YXJnZXQgPSAkKCBldmVudCA/IGV2ZW50LmN1cnJlbnRUYXJnZXQgOiB0aGlzLmVsZW1lbnQgKSwNCgkJCXRvb2x0aXBEYXRhID0gdGhpcy5fZmluZCggdGFyZ2V0ICk7DQoNCgkJLy8gVGhlIHRvb2x0aXAgbWF5IGFscmVhZHkgYmUgY2xvc2VkDQoJCWlmICggIXRvb2x0aXBEYXRhICkgew0KDQoJCQkvLyBXZSBzZXQgdWktdG9vbHRpcC1vcGVuIGltbWVkaWF0ZWx5IHVwb24gb3BlbiAoaW4gb3BlbigpKSwgYnV0IG9ubHkgc2V0IHRoZQ0KCQkJLy8gYWRkaXRpb25hbCBkYXRhIG9uY2UgdGhlcmUncyBhY3R1YWxseSBjb250ZW50IHRvIHNob3cgKGluIF9vcGVuKCkpLiBTbyBldmVuIGlmIHRoZQ0KCQkJLy8gdG9vbHRpcCBkb2Vzbid0IGhhdmUgZnVsbCBkYXRhLCB3ZSBhbHdheXMgcmVtb3ZlIHVpLXRvb2x0aXAtb3BlbiBpbiBjYXNlIHdlJ3JlIGluDQoJCQkvLyB0aGUgcGVyaW9kIGJldHdlZW4gb3BlbigpIGFuZCBfb3BlbigpLg0KCQkJdGFyZ2V0LnJlbW92ZURhdGEoICJ1aS10b29sdGlwLW9wZW4iICk7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQl0b29sdGlwID0gdG9vbHRpcERhdGEudG9vbHRpcDsNCg0KCQkvLyBEaXNhYmxpbmcgY2xvc2VzIHRoZSB0b29sdGlwLCBzbyB3ZSBuZWVkIHRvIHRyYWNrIHdoZW4gd2UncmUgY2xvc2luZw0KCQkvLyB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wIGluIGNhc2UgdGhlIHRvb2x0aXAgYmVjb21lcyBkaXNhYmxlZCBvbiBjbG9zZQ0KCQlpZiAoIHRvb2x0aXBEYXRhLmNsb3NpbmcgKSB7DQoJCQlyZXR1cm47DQoJCX0NCg0KCQkvLyBDbGVhciB0aGUgaW50ZXJ2YWwgZm9yIGRlbGF5ZWQgdHJhY2tpbmcgdG9vbHRpcHMNCgkJY2xlYXJJbnRlcnZhbCggdGhpcy5kZWxheWVkU2hvdyApOw0KDQoJCS8vIE9ubHkgc2V0IHRpdGxlIGlmIHdlIGhhZCBvbmUgYmVmb3JlIChzZWUgY29tbWVudCBpbiBfb3BlbigpKQ0KCQkvLyBJZiB0aGUgdGl0bGUgYXR0cmlidXRlIGhhcyBjaGFuZ2VkIHNpbmNlIG9wZW4oKSwgZG9uJ3QgcmVzdG9yZQ0KCQlpZiAoIHRhcmdldC5kYXRhKCAidWktdG9vbHRpcC10aXRsZSIgKSAmJiAhdGFyZ2V0LmF0dHIoICJ0aXRsZSIgKSApIHsNCgkJCXRhcmdldC5hdHRyKCAidGl0bGUiLCB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICkgKTsNCgkJfQ0KDQoJCXRoaXMuX3JlbW92ZURlc2NyaWJlZEJ5KCB0YXJnZXQgKTsNCg0KCQl0b29sdGlwRGF0YS5oaWRpbmcgPSB0cnVlOw0KCQl0b29sdGlwLnN0b3AoIHRydWUgKTsNCgkJdGhpcy5faGlkZSggdG9vbHRpcCwgdGhpcy5vcHRpb25zLmhpZGUsIGZ1bmN0aW9uKCkgew0KCQkJdGhhdC5fcmVtb3ZlVG9vbHRpcCggJCggdGhpcyApICk7DQoJCX0gKTsNCg0KCQl0YXJnZXQucmVtb3ZlRGF0YSggInVpLXRvb2x0aXAtb3BlbiIgKTsNCgkJdGhpcy5fb2ZmKCB0YXJnZXQsICJtb3VzZWxlYXZlIGZvY3Vzb3V0IGtleXVwIiApOw0KDQoJCS8vIFJlbW92ZSAncmVtb3ZlJyBiaW5kaW5nIG9ubHkgb24gZGVsZWdhdGVkIHRhcmdldHMNCgkJaWYgKCB0YXJnZXRbIDAgXSAhPT0gdGhpcy5lbGVtZW50WyAwIF0gKSB7DQoJCQl0aGlzLl9vZmYoIHRhcmdldCwgInJlbW92ZSIgKTsNCgkJfQ0KCQl0aGlzLl9vZmYoIHRoaXMuZG9jdW1lbnQsICJtb3VzZW1vdmUiICk7DQoNCgkJaWYgKCBldmVudCAmJiBldmVudC50eXBlID09PSAibW91c2VsZWF2ZSIgKSB7DQoJCQkkLmVhY2goIHRoaXMucGFyZW50cywgZnVuY3Rpb24oIGlkLCBwYXJlbnQgKSB7DQoJCQkJJCggcGFyZW50LmVsZW1lbnQgKS5hdHRyKCAidGl0bGUiLCBwYXJlbnQudGl0bGUgKTsNCgkJCQlkZWxldGUgdGhhdC5wYXJlbnRzWyBpZCBdOw0KCQkJfSApOw0KCQl9DQoNCgkJdG9vbHRpcERhdGEuY2xvc2luZyA9IHRydWU7DQoJCXRoaXMuX3RyaWdnZXIoICJjbG9zZSIsIGV2ZW50LCB7IHRvb2x0aXA6IHRvb2x0aXAgfSApOw0KCQlpZiAoICF0b29sdGlwRGF0YS5oaWRpbmcgKSB7DQoJCQl0b29sdGlwRGF0YS5jbG9zaW5nID0gZmFsc2U7DQoJCX0NCgl9LA0KDQoJX3Rvb2x0aXA6IGZ1bmN0aW9uKCBlbGVtZW50ICkgew0KCQl2YXIgdG9vbHRpcCA9ICQoICI8ZGl2PiIgKS5hdHRyKCAicm9sZSIsICJ0b29sdGlwIiApLA0KCQkJY29udGVudCA9ICQoICI8ZGl2PiIgKS5hcHBlbmRUbyggdG9vbHRpcCApLA0KCQkJaWQgPSB0b29sdGlwLnVuaXF1ZUlkKCkuYXR0ciggImlkIiApOw0KDQoJCXRoaXMuX2FkZENsYXNzKCBjb250ZW50LCAidWktdG9vbHRpcC1jb250ZW50IiApOw0KCQl0aGlzLl9hZGRDbGFzcyggdG9vbHRpcCwgInVpLXRvb2x0aXAiLCAidWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IiApOw0KDQoJCXRvb2x0aXAuYXBwZW5kVG8oIHRoaXMuX2FwcGVuZFRvKCBlbGVtZW50ICkgKTsNCg0KCQlyZXR1cm4gdGhpcy50b29sdGlwc1sgaWQgXSA9IHsNCgkJCWVsZW1lbnQ6IGVsZW1lbnQsDQoJCQl0b29sdGlwOiB0b29sdGlwDQoJCX07DQoJfSwNCg0KCV9maW5kOiBmdW5jdGlvbiggdGFyZ2V0ICkgew0KCQl2YXIgaWQgPSB0YXJnZXQuZGF0YSggInVpLXRvb2x0aXAtaWQiICk7DQoJCXJldHVybiBpZCA/IHRoaXMudG9vbHRpcHNbIGlkIF0gOiBudWxsOw0KCX0sDQoNCglfcmVtb3ZlVG9vbHRpcDogZnVuY3Rpb24oIHRvb2x0aXAgKSB7DQoJCXRvb2x0aXAucmVtb3ZlKCk7DQoJCWRlbGV0ZSB0aGlzLnRvb2x0aXBzWyB0b29sdGlwLmF0dHIoICJpZCIgKSBdOw0KCX0sDQoNCglfYXBwZW5kVG86IGZ1bmN0aW9uKCB0YXJnZXQgKSB7DQoJCXZhciBlbGVtZW50ID0gdGFyZ2V0LmNsb3Nlc3QoICIudWktZnJvbnQsIGRpYWxvZyIgKTsNCg0KCQlpZiAoICFlbGVtZW50Lmxlbmd0aCApIHsNCgkJCWVsZW1lbnQgPSB0aGlzLmRvY3VtZW50WyAwIF0uYm9keTsNCgkJfQ0KDQoJCXJldHVybiBlbGVtZW50Ow0KCX0sDQoNCglfZGVzdHJveTogZnVuY3Rpb24oKSB7DQoJCXZhciB0aGF0ID0gdGhpczsNCg0KCQkvLyBDbG9zZSBvcGVuIHRvb2x0aXBzDQoJCSQuZWFjaCggdGhpcy50b29sdGlwcywgZnVuY3Rpb24oIGlkLCB0b29sdGlwRGF0YSApIHsNCg0KCQkJLy8gRGVsZWdhdGUgdG8gY2xvc2UgbWV0aG9kIHRvIGhhbmRsZSBjb21tb24gY2xlYW51cA0KCQkJdmFyIGV2ZW50ID0gJC5FdmVudCggImJsdXIiICksDQoJCQkJZWxlbWVudCA9IHRvb2x0aXBEYXRhLmVsZW1lbnQ7DQoJCQlldmVudC50YXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0ID0gZWxlbWVudFsgMCBdOw0KCQkJdGhhdC5jbG9zZSggZXZlbnQsIHRydWUgKTsNCg0KCQkJLy8gUmVtb3ZlIGltbWVkaWF0ZWx5OyBkZXN0cm95aW5nIGFuIG9wZW4gdG9vbHRpcCBkb2Vzbid0IHVzZSB0aGUNCgkJCS8vIGhpZGUgYW5pbWF0aW9uDQoJCQkkKCAiIyIgKyBpZCApLnJlbW92ZSgpOw0KDQoJCQkvLyBSZXN0b3JlIHRoZSB0aXRsZQ0KCQkJaWYgKCBlbGVtZW50LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiApICkgew0KDQoJCQkJLy8gSWYgdGhlIHRpdGxlIGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCBzaW5jZSBvcGVuKCksIGRvbid0IHJlc3RvcmUNCgkJCQlpZiAoICFlbGVtZW50LmF0dHIoICJ0aXRsZSIgKSApIHsNCgkJCQkJZWxlbWVudC5hdHRyKCAidGl0bGUiLCBlbGVtZW50LmRhdGEoICJ1aS10b29sdGlwLXRpdGxlIiApICk7DQoJCQkJfQ0KCQkJCWVsZW1lbnQucmVtb3ZlRGF0YSggInVpLXRvb2x0aXAtdGl0bGUiICk7DQoJCQl9DQoJCX0gKTsNCgkJdGhpcy5saXZlUmVnaW9uLnJlbW92ZSgpOw0KCX0NCn0gKTsNCg0KLy8gREVQUkVDQVRFRA0KLy8gVE9ETzogU3dpdGNoIHJldHVybiBiYWNrIHRvIHdpZGdldCBkZWNsYXJhdGlvbiBhdCB0b3Agb2YgZmlsZSB3aGVuIHRoaXMgaXMgcmVtb3ZlZA0KaWYgKCAkLnVpQmFja0NvbXBhdCAhPT0gZmFsc2UgKSB7DQoNCgkvLyBCYWNrY29tcGF0IGZvciB0b29sdGlwQ2xhc3Mgb3B0aW9uDQoJJC53aWRnZXQoICJ1aS50b29sdGlwIiwgJC51aS50b29sdGlwLCB7DQoJCW9wdGlvbnM6IHsNCgkJCXRvb2x0aXBDbGFzczogbnVsbA0KCQl9LA0KCQlfdG9vbHRpcDogZnVuY3Rpb24oKSB7DQoJCQl2YXIgdG9vbHRpcERhdGEgPSB0aGlzLl9zdXBlckFwcGx5KCBhcmd1bWVudHMgKTsNCgkJCWlmICggdGhpcy5vcHRpb25zLnRvb2x0aXBDbGFzcyApIHsNCgkJCQl0b29sdGlwRGF0YS50b29sdGlwLmFkZENsYXNzKCB0aGlzLm9wdGlvbnMudG9vbHRpcENsYXNzICk7DQoJCQl9DQoJCQlyZXR1cm4gdG9vbHRpcERhdGE7DQoJCX0NCgl9ICk7DQp9DQoNCnZhciB3aWRnZXRzVG9vbHRpcCA9ICQudWkudG9vbHRpcDsNCg0KDQoNCg0KfSkpOw=="}},"time_used":93,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":63,"receive":30,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/custom-animate.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.858Z","timestamp":1785135591858,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/custom-animate.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 857\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"2fd2-68bf75d4-85b904f403f88b6f;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: d44e8078d7aa50a6fd2a2f741416b96c-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.015\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":12242,"size_decoded":1448,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"30c5619a1bcd522040282a3e6e03f1e1","sha1":"240d7bd54cf557527e2149a2fbec9340ac84ead7","sha256":"1767597a5d64130e169130a7c6396ae5c9df674b00a30d5b10443d614d7f5619","sha512":"c5d44999bfde043e6aea7b16157f2391d9f993159093aa7cce5bb37796d7303870b3a23198b0153b3676e6bdf952b65c936b5ebaf89f76e3e29c253df96502bc","ssdeep":"96:wol7i4sDF0971vxx+7i4s4F0I71E8Ll7MzsDFTrCl7HzsDF6gjl74zsDFD4Ll7MJ:eswJR5xn02lnI3Sp3S0ZmqxtuxtY","tlshash":"6d42bfea4440554a47330b775bde9a04dd740ca3aa223cbd72ef450e9f39758238797b","first_seen":"2023-04-18T12:54:11Z","last_seen":"2026-07-27T13:36:13.691231Z","times_seen":114,"resource_available":false,"data":"LmVtcHR5LWFuaW1hdGlvbnsNCiAgICBhbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOyANCiAgICBhbmltYXRpb24tZHVyYXRpb246IDNzOyANCiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblN0YWJsZTsgDQogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5TdGFibGU7IA0KICAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAzczsgDQogICAgLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW1zLWFuaW1hdGlvbi1uYW1lOiB6b29tSW5TdGFibGU7IA0KICAgIC1tcy1hbmltYXRpb24tZHVyYXRpb246IDNzOyANCiAgICAtbXMtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICAtbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW8tYW5pbWF0aW9uLW5hbWU6IHpvb21JblN0YWJsZTsgDQogICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAzczsgDQogICAgLW8tYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQp9DQoNCi5lbXB0eS1hbmltYXRpb257DQogICAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblN0YWJsZTsgDQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzczsgDQogICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5TdGFibGU7IA0KICAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAzczsgDQogICAgLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC1tcy1hbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOyANCiAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAzczsgDQogICAgLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIC1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtby1hbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOyANCiAgICAtby1hbmltYXRpb24tZHVyYXRpb246IDNzOyANCiAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQp9DQoNCi5lbXB0eS1hbmltYXRpb257DQogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsgDQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgDQogICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgDQogICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW1vei1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwOyANCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IA0KICAgIC1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC1tcy1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwOyANCiAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgDQogICAgLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogICAgLW1zLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQp9DQoNCi5lbXB0eS1hbmltYXRpb257DQogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsgDQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgDQogICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluUmlnaHQ7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgDQogICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW1vei1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OyANCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IA0KICAgIC1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC1tcy1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OyANCiAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgDQogICAgLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogICAgLW1zLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQp9DQoNCi5lbXB0eS1hbmltYXRpb257DQogICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0OyANCiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzOyANCiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0OyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0OyANCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IA0KICAgIC1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC1tcy1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7IA0KICAgIC1tcy1hbmltYXRpb24tZHVyYXRpb246IDJzOyANCiAgICAtbXMtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsNCiAgICAtbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCn0NCg0KLmVtcHR5LWFuaW1hdGlvbnsNCiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwOyANCiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzOyANCiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsgDQogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7IA0KICAgIC1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtbXMtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsgDQogICAgLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7IA0KICAgIC1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxOw0KICAgIC1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlbWUgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgIH0NCg0KICAgIDUwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMC43Ow0KICAgICAgfQ0KICAgIDEwMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICB9DQp9DQpALW1vei1rZXlmcmFtZXMgcm90YXRlbWUgew0KICAgIDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgIH0NCg0KICAgIDUwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMC43Ow0KICAgICAgfQ0KICAgIDEwMCUgew0KICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICB9DQp9DQpALW8ta2V5ZnJhbWVzIHJvdGF0ZW1lIHsNCiAgICAwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgfQ0KDQogICAgNTAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMC43Ow0KICAgICAgfQ0KICAgIDEwMCUgew0KICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZW1lIHsNCiAgICANCiAgICAgMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgIH0NCg0KICAgIDUwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7DQogICAgICB9DQogICAgMTAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgICB9DQp9DQoNCi52aWRlby1ib3ggLm92ZXJsYXktYm94IHNwYW46YWZ0ZXJ7DQogICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZW1lOyANCiAgICBhbmltYXRpb24tZHVyYXRpb246IDE1czsgDQogICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KCQ0KCS13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZW1lOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTVzOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KCQ0KCS1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZW1lOyANCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMTVzOyANCiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KCQ0KCS1tcy1hbmltYXRpb24tbmFtZTogcm90YXRlbWU7IA0KICAgIC1tcy1hbmltYXRpb24tZHVyYXRpb246IDE1czsgDQogICAgLW1zLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIC1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQoJDQoJLW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZW1lOyANCiAgICAtby1hbmltYXRpb24tZHVyYXRpb246IDE1czsgDQogICAgLW8tYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KfQ0KDQovKiBCb2IgVXAgRG93biovDQpALXdlYmtpdC1rZXlmcmFtZXMgZmxvYXRfdXBfZG93biB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxvYXRfdXBfZG93biB7DQogIDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgNTAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5lbXB0eS1hbmltYXRpb257DQogICAgYW5pbWF0aW9uLW5hbWU6IGZsb2F0X3VwX2Rvd247IA0KICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNXM7IA0KICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgICANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbG9hdF91cF9kb3duOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogICAgDQogICAgLW1vei1hbmltYXRpb24tbmFtZTogZmxvYXRfdXBfZG93bjsgDQogICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDVzOyANCiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAgIA0KICAgIC1tcy1hbmltYXRpb24tbmFtZTogZmxvYXRfdXBfZG93bjsgDQogICAgLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7IA0KICAgIC1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICAgIA0KICAgIC1vLWFuaW1hdGlvbi1uYW1lOiBmbG9hdF9sZWZ0X3JpZ2h0OyANCiAgICAtby1hbmltYXRpb24tZHVyYXRpb246IDVzOyANCiAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQp9DQoNCi8qIEJvYiAqLw0KQC13ZWJraXQta2V5ZnJhbWVzIGZsb2F0X2xlZnRfcmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTsNCiAgICBvcGFjaXR5OiAwLjQwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxvYXRfbGVmdF9yaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpOw0KICAgIG9wYWNpdHk6IDAuNDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmVtcHR5LWFuaW1hdGlvbnsNCiAgICBhbmltYXRpb24tbmFtZTogZmxvYXRfbGVmdF9yaWdodDsgDQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMHM7IA0KICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsb2F0X2xlZnRfcmlnaHQ7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzMHM7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmbG9hdF9sZWZ0X3JpZ2h0OyANCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMzBzOyANCiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW1zLWFuaW1hdGlvbi1uYW1lOiBmbG9hdF9sZWZ0X3JpZ2h0OyANCiAgICAtbXMtYW5pbWF0aW9uLWR1cmF0aW9uOiAzMHM7IA0KICAgIC1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsb2F0X2xlZnRfcmlnaHQ7IA0KICAgIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogMzBzOyANCiAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbG9hdF9sZWZ0X3JpZ2h0X3R3byB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsNCiAgICBvcGFjaXR5OiAwLjgwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmbG9hdF9sZWZ0X3JpZ2h0X3R3byB7DQogIDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA1MCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOw0KICAgIG9wYWNpdHk6IDAuODA7DQogIH0NCg0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmVtcHR5LWFuaW1hdGlvbnsNCiAgICBhbmltYXRpb24tbmFtZTogZmxvYXRfbGVmdF9yaWdodF90d287IA0KICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNXM7IA0KICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCiAgDQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsb2F0X2xlZnRfcmlnaHRfdHdvOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQogIA0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmbG9hdF9sZWZ0X3JpZ2h0X3R3bzsgDQogICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDVzOyANCiAgICAtbW96LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOw0KICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW1zLWFuaW1hdGlvbi1uYW1lOiBmbG9hdF9sZWZ0X3JpZ2h0X3R3bzsgDQogICAgLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7IA0KICAgIC1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOw0KICANCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsb2F0X2xlZnRfcmlnaHRfdHdvOyANCiAgICAtby1hbmltYXRpb24tZHVyYXRpb246IDVzOyANCiAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQp9DQoNCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb20tZmFkZSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbS1mYWRlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgfQ0KDQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7DQogIH0NCn0NCg0KLmVtcHR5LWFuaW1hdGlvbnsNCiAgICBhbmltYXRpb24tbmFtZTogem9vbS1mYWRlOyANCiAgICBhbmltYXRpb24tZHVyYXRpb246IDNzOyANCiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQoJDQoJLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbS1mYWRlOyANCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7IA0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQoJDQoJLW1vei1hbmltYXRpb24tbmFtZTogem9vbS1mYWRlOyANCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7IA0KICAgIC1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQoJDQoJLW1zLWFuaW1hdGlvbi1uYW1lOiB6b29tLWZhZGU7IA0KICAgIC1tcy1hbmltYXRpb24tZHVyYXRpb246IDNzOyANCiAgICAtbXMtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQogICAgLW1zLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsNCgkNCgktby1hbmltYXRpb24tbmFtZTogem9vbS1mYWRlOyANCiAgICAtby1hbmltYXRpb24tZHVyYXRpb246IDNzOyANCiAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7DQp9DQo="}},"time_used":53,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":52,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/background/pattern-3.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.172Z","timestamp":1785135592172,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/background/pattern-3.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 182426\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 5fb1f41720421ce78b997df292ed781e-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.015\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":182426,"size_decoded":182770,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"320a377585a0bd28fcce89853adbed5a","sha1":"bfe0fb7ef1609798ccf3828b067c5227974de18d","sha256":"8acc18a95f2a553941716e587e7abdad691877c73d573bdbfb8508c15979158e","sha512":"98676a2d4b02fc928cd6ce019325e3e755bf1e5dd3569b6f2d2a52542af9f8a5f64b7536957336fd9abeaf34a9ed66dce288aa618fa9147921372d00d69e0ca2","ssdeep":"3072:o7xzV3m/Yre0W2P2+57UfGDjcMnR3rkZrJI7LyzuD8fwLc9l2ieE:Kxh3m/70PdMMRbkcezA0HN","tlshash":"e3041216111fe40eab785dac0a9d93b29e8bce8b19f4cd94008b64667db1f1c258d7fc","first_seen":"2026-07-27T05:44:01.84667Z","last_seen":"2026-07-27T11:04:25.21265Z","times_seen":4,"resource_available":false,"data":"UklGRpLIAgBXRUJQVlA4WAoAAAAYAAAAPwYAEwMAQUxQSFwdAQABHIYBkIQR4f+jl8PFHogIBm7bNrLU3dv3CtxR1Y0FSp/P96Y9JHURLzUiDoSQY80k0/EiYh1l8oPIMSbj9IiWE9++GqQwv1CQ7aIpfVchVjuyZ/1Rkdcn9mvjB8nQCWyHKeXkdHzvrgzk7LCfXipv5cUV9CYrnU0xy6Nt267aWtvW+5wrk3MUoJxzAsne5wn3f1daHYsxl71Lwc9TImICGLZtG2b9//tQmCNiAjzKtu1IkiRJ5zAUjDHGGDK/x8zqUf//Y8r3KptGtoc7kTRRREyAR0mSHEmybUstQGKMsyorQWVWYhRm5u613///mXuAnnvf24eo+9CLiAnwbduWIkm2bfWhZMzMzKQ6xhARm/f//0xEfa5zzl1QZtpDREzAN//P//P//D//z//z//w//8///w9IKhE1B52khAaXz2tVKakuz6dpWkZRRH8gIvq5R3kEqjXrlNN8GDGfIQU2RlXNuwkCMGRVNa9GqLm53TaNEMGn1iMAFEJj/ciem0agXqiIiBkAhLEREWF7i0FosYqImGfijcWqWhkEgHqv3/ixh6SdIly/OBX9vdW9vWERYX0mAC6WJdgH0daxJzoBocnCIoVwEwSk67cxn23qJdv7876rB9Y2E2G2exCiQoJsG0DlbsTn7wxI7hLWPQgHFb9wawDx0SmzWp/4DXmi+NGQSqtDhc4P+K8cBZKrMar22gChfjUsIqKvDEi4rAWkd8MBO/H0T08TED3HwNSyiAj7pMejehkxeLlNheH7W0foPL1NwBJ3eW5o6EFL8l+wpNnvZAiujIgIfzcg1N4qoQZArxKpgnCwAclbAO0se6yzv11ixKeQiERQiXupMvu8ToT55qkmdF+fm0L/9WNeQvStvYKCszi2Nf+Kt07WufeIvGdIHxWgcjfsmU8KYOpYRAp3IBCahWFmcRuA0FFhEdZ3CsIxxG4FZDfzzyWZmG1Olf7riS8B4kkPouu0KfjxPMXXRP39tYDczJK7p6j1S/961W6WmVV7AJJXQPRdA2HtQgcQEB2dqrpnFX7v9bXWbBL4EzWqLu8AQEt8Vm4CyfkfTL3rIVg2fjtUWEQwWGm4ilps924eUbvbvfcvVS3NWbpMRFgfBOARYHPPQMjuRlXNqwI/Hl/f90WKcNabjRuEIDU318uiiuBYRUSKEUBYun/8UGJMZfVxUgYgccqWBCVSIqj8sDHyIfVt8qqAQmMcqvivzuj2fl8GXrQ3LD5nAOZGmLlwS/jpJs8/+wylUUT4I1VrhBL0D+cy1M95cevArz7tP3304cdIScc5qjE4vJfIJ5rG3l2JAP91IaKchfoyBiE+qIQqAKKTscbaUxYAomqMUgKlWQQKDZ+qxTIJZBejojwO0LQQkffAQ+Pi5e6woDJ4GigV6pahHHxFtiShVHf/ZSEAoED9rSLC9pYA+HSZp68IAKLZ5X5ZpAgTAUQhtPaP56EbmhkVEXuIANDesoiIdryZExFR7XpYsIh81CGG90PF17zEytCXLvEKcu3yXjj/roA6gwYAEOYsQR6C0HgZFhE7QjiuxvgjZRkh3BOranXk1QoVEWEzQoSWStBcQUgL8dlcYxBmTkRE3ek/DpTKJhXwK45ibU1cBf89IXTOr/frO/WWGtIxCOg+jCrPKUQAiEq65+fz0gtkuRYihXIVhJkE2e0AjByHXgnQl1JTAapvZRERXag1HrvgVwAcZO4Mfx0bueIPxk7pDRyN46qKH0X2GkJ0On3vXw5C62VU1R5jEIYcenc9JIPFpIpSDyAAhCEbY4xMvaFlERE2MxBWJmRO8b81LmFbAwYS1mXL5tNACmAybZUR47f7RBi/rbvgF0Q/sjNQ8Lf3poaeilRguKpCniX2qOG/CQSQB9pYFhG2IwB0sczMbo8Kiaq9fiMGQKi+DIuIyesAFkaCZgfCVEJuB0LHlFxB6GhJkQEjw/+ISaeFwpiwnozyMuLw4y4WJp9PmdB+emoIvSSbCkT3r/hMyV2eu5rCvaONX6Hi38UoQjC5qfhmCwCtq7POHeuVzArn9FDxRobF1wUI47IlgMpHA2YAQnS0hQiL9gBED2URYbsF0C3kHzBEaz1UrEbS/MepKwH6DytXAsSDNkS26hCd/shDPlF9p2PIHZtefUV9GCpIBWZpdoDsdJv816C5Pv581b30nrPzUJttNtMUVU6sMLM7J4gw+wbYbkCoS5BNCwDGxoio28KvXq0x1szgtwsrIu5ZASG6Wf6nSj0uA5h7Y8Tobqz0X+ZQMw+DpRoV1SjdOXlE42lPjqR3Oz1f4i6Oh/8WdJ7WWndrg0DflkWE7cwjgABQXlqPQ0kuLCKF6yPCyEhQFyBgbkVV7Jo89G5qX9M4gHS0Py5bFEDjUMhnXQFAaOXmHyrZ4wQs22FKzJxyuDkCyxhR2pKUqJHU/LDe9yEN0uQdKJqTUPpOoWwjc/EE/jNHOXS1zJzZA0DoiRERe0s8gABCbv1Q5Pk29ToSZLsEUHmagoVNXgcAGn+K4jOLEI7TNALIIyBOI4A8QjxYTWsI184iekckcorrZ7A+/pyCXwFJP0E1hvvHAnLD2JsnEUrvnmUrCqDPf9wIAAEg9DIVEdFnGwSMHqzZuYV8yqvfraiaa/y3FUAYsjXqZIpw1GgmKCVQTCVIpo/ita0h2Hwoi6zjQDTPRV5uUIpv+opRX3fK4H6gVKgbQjlMIxtKKNddAbX1IoDozS9z7582xI0UgTFLMOt7qI3ngxi5BAAUWDsWEdEZgLQIFG4IAtA9Ph6nPv5MZcP95ThO4MdHpyL23fSqHyMi4jYEgI5ORNQN3Y9rEg0Qw9e+wpRQWRUEqAgv0cLJIxrX94KClhhlNpmA/6xNT7fLpuZ1MhURNs+mRwBAeWiOhzX46dkEzAUELB2LsL2nCFK1GuGPlEYI09ZYY90hBQgzxyLC5uqtLXuidRCmhkVE2OBJV7FPdO7aSmUTWr/sQNqm5l0Fc0jNPHsnq3/YFsYaYy8pAByNiIjdgQCAiAi50faVZY8ZQKhfcx4ebVTV3KsgjwggKolmt+d9lQQmRpiZ3QqE5GI90aIF0FPCZgzC6Z8R1BwVTOoSTbQfB+BXAAiZO0ONkuvWFG89dxUcTFyN46qKJsZxcg4gOu2eI9Tu5l5TeB7/6SK0Ms2Y2X569YuokWOKCndGRY2ZgBAdrMe690CN2aIXI0z4a3ywxhhzy7yHioiwvqpA9aESLIYAfTSkMyC+/ecYGTLdLdugEMDOnRbAfNlVJu9PqTCzSR/MIQY2nin847OlcX0VKQAcLquQZ4nd5gAIOyXI/Xc85j9VBKLA5JdFRPRKABDNdrsxIZcAUKAtPptzCsLYKDMbbuK/Mm4OupXQxLGIiFkDyN4BEW4C2c2wp0UXoGuIbR/Axf7H2Jb0gWlGCtsZrKeruoII5rNZvYw4/nxwwmj9mAjt572u6KTpSNHL7MGRvM2tD0qFexcTGUdQe28T2/I/VSCEZzn3QOm4FoG8pXoiWRsELNk59xniv7J5sc59Rl58VfE1j4D4bUJ5A4SNC5hXDGBgWURYXwkICyP/UHDaMlfsE42PgWQ0dcry55kTujcLiFGvDrVWgZLdvqsoP+wQ+cTApFcPcmMSKkhKmGfZHrLbqQl+HEdJ5R+qzuawGwEg9E3AfCNMRHnx8nQ5zgKLEmjN17MG/iuzp2Vm1T4I6SsknIJwDLA9xyDUXlZEVIcAQFuroo47AJDc7X+kbZnGO8KIilukkqdEE2xFZQAzb4wYPY6V7t0YauyU3Q2rjqL+SnfIJ+qRPVPSu72eJ3EXvfvgN0ytXVPBf5JGmbNOvwAgOjgRUW7nFI2+nTXWbLyO+GzOKQpSWdysRx5haVhE2FwJSG4hLWIAtdyIqCm6IAC1s6p59RCMhtf8tWsgWD2KCN82Uooaku9SiXuxgphSAGv3E2WHKfmGVw42CwWe0pakRKpI1Q+rHU/R/csYT9GeliUtUY/i5Ogiv1whRH/33gX/GNXehplFRyAgPTDzc4h8ogBh5piZVQcAsLMqYnQC8ohAKKXZpyheg8DJeqLvBggzxyzCdge/cWfmZxfhqNZpJAgTojSNQAGguVi2b9u3EiGPnMJuakJfbBbgV0DU9lLIw/19CrkdJ5egACB8pNmKAuAyh5ilcbIC/+GhnKmKiLDbItieDhLkEwACANo7FhHRrRdvX1n2mCGfiEoWVlTVDP+NJgjp2RlV96wEQM1hO0KYABBAAWSz83XTLundRfjsBZdSdDsEy4z6plf6V32lQp2Aiok17yoolGoU0N4uQ4je9DhxvgGb9JUcFPxHhgBQYBmy3xQoGTVbCfzkaALmAAKA5nhYQy7hjzUJ6jsFYW1ERNjcYwDIVvf3Y1fBX4lCqEz2+3kdwcbbqlqdBkbGiIgiuhvXJZoYfgwVxKhkQlM6R3Mil2jcXktJP8xs0v9GdG1q+4p/aBv9ThQYhtwXKEBUoHW4P85TDxsX0BV8AgDKQTqcdCgwNOyxbYJQ/RgRETMGASBkjQrhjxGhtHFz1rp314tvthBh0RaA5G3knyP+pKNY9VLruiVVNaENyi7k9Vf8LglULdLILL4BbIzrkEvzsffPS7R+vl/nlhddjYiYdyenaONlVY2dA4Q+q4joux4AiJA/fLIWl5o3NhJqA0D7ZVRlhjAB+ENtf78fWyAA8dUyM5t3BYS2ZfHNFoQhyz8vqDkqmNQkGiB6j0MFhEWCEiV31NSE+7WncKcLT+N41BRNjBN78wSw3XaExjt+VvMA0BVKD2N3zj8shI01qvZRA4DGRUReIxBK72wmkumrCSLMMlF5DZBPFCAMCiMi9h4DaFn2RCoekt58UkGY8Od2bowxPAIRBsLi6wKEiZGg3ogw0/9UY8h0rtqgYJ7oXPek3aW0Zf1koEzTVxXMIeap7YM5RD8zE0V4jbug5AYqUgCc0bICeW6TFfNQGZQgd++Pbt4ojqOk9M8KofNWERGz8hANl5MU+QRQgF4qIsK/QxCA5nI9T5FLAEDwj5ZFRHQKQnx2zMx2Q4F/t9ofNKNA/DIiIprXEWH2DbA7gDAyHJArAQP+TzWdDEwtVtDNYZFSctQEvwLgYL62aJURhz+eKPTtNUQ+0bpfqpBbSdJXjEy6dyAGu8dAUzifUfQKBHXwsuZZBgG0kti8A4nkPxlEFBqrBI4gVEgRQlnOKFA2ajYi+PWb8djuQEDlYpzTfYpyKotmhbPmmHl9FZ+/YxBmLmT3INRVfLZzAMnb/AecCwzndVAIYG09Ugha8DVfRpz8vATLWhdTiK6TQy0yiK7TcxTlW9xHPjFI7JMS29OSglRglWY7R3KbVaHyMnFUy+HX6zHG/1kljCR0yCEqkHz8HDdNDz8ByTohoiLDn9tt3/ZqJZCMPz+GMapcWGFmdyIAyxz7BUKf1ROdgIC1YxE27wwABmr+823LON0VakepgshBJS2wEytMHayPXyZlQOdyWAYgorK7YZmK+ivZQq7HycmV9G5/6EN0t9GzB37DxiZrB7nUSJHfP11m/yej97Fowq/dLIuITlA+PVlr3bPrdURVxa5R4Uitqn13QIS99USmAQIAyqPWoBFqPJRFhM0YhImE3BIAdlZF1NwiAIg3qmLudQS7T1W+dKTkWlLUcEo0iqSEknmi9jBSdphS3ImU6XqmwOHXUyMlUvXDctNV9DITBYrutCJpiWYUJ0fkO82mAzFe3VYRAELjYW3WB/0fingvItkCAGGcGWt0T6UIa8fMbC8eBnfm91dUgCiUPjUTzuwxAqHzsqrGHglBAgi57UvG2aEOEHrKEtyCkL6VRVi0AwLiHYvIOUOQ6uNpJ0Z5pZVduu+kR8hjVwa4TmxCJQ4/DxRf81LI/cN9jHyiF6cXT6Km8kyzNZgDgNLqf8R8BPo2Y139H4uVExHVAfzu/nqaE/KJyENyNSwimnVBAOJuv4Z8AgDyepYlWAeA3vmdPXcpconymm+jKvaaejZnBwKmYlWN/UC4MZm1CSXwqaQ23SwNCC8lfzcCy4xGnVjpXXSUCnVcKGbWPCtgHkp15gDoHlYliO54O2BOfNRMjyAQGi9ntJ9HoP+jUHuJiLDdkVeSkF+7hd6DQNlGt03whyE2AVBn0EQuwScAhIMREWG7BKH5UI91Cn90ej4vM8rxy9CYrebtKDRmZ6wpOsd1qDQx/jEBvwLgUcmEtnR6zyDXH6+FBAfKYWqTVg4Wv8ZOERwczxMUJPwfxboGzCkOEKgA4u6gHsDJeuZdR/lodX8/D22vqeLrIw34lIN4uFy04dMzZx+BsLKeucUBJJ12imqHuXOOV5HXFmVmUvxJV7EaUWmcNiWwkkAN/JKjWKWxCQRCuzFvO8mLptshcqPmuEeh7vH2Gf+fhPQVsN8UKEroX9/v52cEEMaiImo2qHBnjYi7N0CgrfPcAmEi5DeObPT9QQCSR87Bi9aqYi4NBAkAKG94vl8mUaBjlJnFTr2LERFhxFHhpC6Ru0f03/sKCPuOSjzvlhHF1cFTuKt1oPF8VfGjxNwcAU6z5QjtOH5X8/wop3YVWQWSu1U3/d8f9dfrYeTh04mImj6oBKH9Nqpql/AXb2HeRqUIPRYWYbsGAcleWPgrygEoJzk6YVEzBYCzYc99gQBQe/HRj1GcQluxxug5BhAdDIsIyycCotd/xrnKOGwpVim1blrS7lJzUvN6pKzeH+pgycFn0lMMknSqqDzMAJTcEjWkwh2vy5AXJlkKaEyqkAeXU88jfBrWZxNE6L0lMzv63x5trao5xF6yY9XXDBWuHYuIZjUP6XjaQj4BoMCningngt9dLlrIJwAEgDCwLCKizwjAUJSZzbsdKBt3J8M6ABAmKr7dgJC+VIJc/8+50FJiHkv93ASl/KgFfhVConnYVVY/7mJh+HSR4muieX0MFc3IdgRibNKTIjy+hprC+TTxrSR85zdC42XsvRZYaKbPBghIn1b/Z4FcIvrf2dSKiJgvEADqLxdNFKVQfDIeu3agdBKBip1DJanZaSC4cAHhOgDMX7/O3ocghKlA62yte00IAC6WRYTNI8O/QTj/55139nQ3a4JCABuPI4U2fCtSzn7egGWN0z7URgY19aFko+UIQOn07AlE76/4SUV3VtZQgV2abSm5jRLy+m/RZwcEIP1xOkNweL5/xHn/SydcVETYXmJ4qDj6CdlWDhUZHU4/89jrs3pmCwoQFWh831+3VeLNf3NSD63ZctpElenDMrOaIQjp3Xii7yYQHSx7+o4BtEX/046UXGpilSmIPVSacN1UQUJYn7/NlNZJFyop7awfQiSqr2QJuRVlR1+h9gbDAKK3ft/b34DoaO0B4aTdoBDiwW7TCmWb4/B/ZzfjmWvNAxFRgWSyHJKH+S+zsLkmOUXnao212wgAvo2qmmcd5dObUzXum0DoSNCc4RN8yqsPB0loaVlEWM8xEN9s6FkDoS3q2TH8IavqqduSTorqVKIaFTenlDnJPFE8D6TdJZV0ECuTtyn4FQCHX09K1JGqH5bqVAxt8iiBeezOyxIA5hGNJLIn8BvS2TQGBUDzw5gC6d2YV82Lr8bI+H9TRDnfhkUye0SFvQeLXBpecjDGmncXZQmtTJlZ7NCLvt5ZdmohnyjnyzALsxmBgC9rVI10AwAREcLROuPsPQ/8qITrIKwtswi7IwjAMBcVXlIA1cV+ffe2JVSfQCYCG7sygM3EhEos/5kpTIhq9Pf3EfKJvrVXRyJAoRon6VYovnJqh4GhZZGpV3cs5gb631I02B0+G/DbbytisiGoVO1tRMSeIgCIF+fLdxMFiTxg+ssiImbnAUmnjnwCAAJAuBkREXZfHn3cX89LD/lERKGtURXVhXeUsHrpzamoezUQrEzXizr+YUspuhsqRtNeonTOG0qF0oVi+hW/QwnlmpMDoH9ahxCj+XZIAboJ6ybQMaKm79UMsz3jf82fzqh7Nj30Tu/3eYwKFyo+D0EoTQBA3twF9BAqWesNmgjcczYIpp1WhFyCTwChn6mIiHkmAD4te3pNAKCyexWfYxP/pVF7OhVGd8OauYPPGfhVdRNUVM6vGeTG/TWlAJeQl9ZpL4D1r7pJgD7erw/4tDDuVv1fEqHPwpKZUwBxt5uiyk3ITANEoAJoDHsRAMLAeGw/yhGGl0wen5H3rQE7BwEgAJSHzufXrAZv4djTbABC42U8O0WQ6u0mgf4r4i1/v8C44x5YZpSpU+rLOkQGh78EhNYvUbFN4igQCJlw0vfvIpR8nWYUQFRvdmoeosbktGuDAo1O8r+bT8ciIpx6BABUxTLEw0DxaPPK3pceCIh/nIiYV70UYSBGRO0KAFqZERF7SREmQi59ZMbprQsiLH9zhiCg+zCivKQcAEQIZ8vLdVsL7Zwwo0Jt3JBIC92PngLCvqeSrYea2v0cKPzdvqQJSqriJ9aePQFOs8kcYC7KXZAHEHKQ/sh7CgKQnNXmHRCANcujDvpfB1VQ8wAiFIzHn7NaoP4yzOxOEcqvjYrYRwsE1H6Y+dZF+ehgMxEWrgNA/8HC5ybyiXLGRpnF3uogDCWorzr8ePgxayDXAwgAofE01pqi5zXEv3WsjlVTseqk+nVD2l1qjkrnfsYS4ujrXVFM/8paion5moE5RO1lhxq/TAVJSs5kXUY+sbR2CeZgvOkhv3vYtTzC5y/bWwoQBiLFdwUidFnlu8X/OglJPQkNVZhZrxQq3Lga1Wzoof8QK+cWytdZRITdygPa416EfAJAXuOuEhx5iAfTLvIJAMijm4qIsJuAQAcnzGK/UCXV+oNmDAKQXBwzi+YZgOk/P6hlXurn5monbSWE7fOecvh5kwj9595T1M77QNF6RR3FOLNnUAgv0VBRfHAz5hrgx4Tmy9prFPhyb71nXpu1+M69kTLbU/S/jnh+eZwmBAC0cUZd1kOFR8simtU91GafkxgFKWckAbuPUGVaQ7BxyxkGyjb6vRQEIJYg2y8AqO/l9zdbUx4R5c3ZWXusAYSOYfF1BsJU//NuS+ft6Zw3JPNE824g0UTSi5XjnxdKcdSFWgmg9Rxo6zUoS4dbG3I/NVdP0Z/XFKQC+yzdQo46aU7fZvJuBNqvX/sBAoCF2n0CEGofK3YC+t/GyqkYO/OQzE+XXRelCb23ir8IVN7XgNshTEXqm/Nl3wMB+HYsIpqlOVRkeefsMgKA6K0B9+EhHsxnXUKVMyvM7C4xCENXsgOhLf/hR6dFFty0piDxEk24flYGIKZkkThcL8Gy+mFTMeoFUJZfyQz5RCf6OnqSPhyNAin+fj86HlC7WnNCuD7uEIJRrbsYJADQPt/Pswz/y2woi2TmXvOAJI1AFYxYgl8hIirSmk3rgfhhRETMFBQoWr9bY2w2ABE6L6OqZo7ShE9rRCwPAODbeKI9EEDwC8SDaYcC6UdFRNiMEKH/LVkDoIv5z74tmUhRKvlcmzkFeSQFMH0fgcLOklI+TcuA2dNEAfHr+QdI1Q+DChUjm9wCib15SfpOoevEHEJorJZpDjD8agUQ3dicYgCIL8yfeqB7e8z4d46IQgPLIsLcAXkACMXJa7+ERVgnoeJfLMwLD/3MWKs7QvmtZebMnhMAaJ/e78cE+UREAAitl7IIm6vXfBmjar8QJiJC7uDBLOcmQOgWIbcCofaRQoRFOwBQuYkxCmzpvFbTPAKbOIW1CNaX/5kq8KhIf3sbgkIvMTdHoqZtjNvmFF9bI20QgIkqu5bXERWz9uqiYod/3wg+eV3jybtdoGA8/ProEvytUxF3i0oRPoyKqI48tL7PxxkhnyhEL5VgBwQAtTohnwCAvKkRX19NAGjsH4/bknJAROQRuqwiYh41Ly9ZgwgTa0TU7hCMx4cDCYEnlfh2oBjNhqnSPK5LFepAOfmKjSehUnMEWlwO9bxouurlPDWzC/hDw2ybXk+5MDtvoSJ64t82pMPZMIGf3EzGmT1EKJ/srbXmg7x489bsp4ny8cWyiJhzoCQBAAWyAGsvVDzujYc1lGh5QNqMUSV9WxYRtksA2SdkxiCAxo9CXsso9M9fNyiMEasfM6WqCSrK5+cEcuv2nghAEiFMWLrfrAPyTla+o0B8cnYbefHd2bzhjVXEbPG3vX5zX3upemg/nXWXJqjch8uY2Qw9oD3sxShNaD5UvEeIiCgPUX/URPDksXk0UL5+yKxcel7npZ65IUgAKK+23KyHgfSp4usPAKysiLC9JQhW2t0a/snLkz5YZtTVfRlQm+cSQ+O6vwOE1gspEEdrHiVQgJBPONm3XYSah8ciDiBuNTMEK9PVdpQAiC9GPtW/b1fLzO4UQDpeDlNUmFxURNhuQlUnV8PeJVR8cH3za01eX32zRPn45ITFvJogwsaoiuo4BBDyu3fjrOyoAlqrqrnVECQAoLLW7qIKNWqTBlSa6G1GYFkQPWqqhwkVjdelDAql07msKVepKX5hkoOPXOp1KefTmHcvBCKUJ7vi0fSQnlnuKYC4f8wf07z64TZz/gYREYUaufh5M1CWAAqkd/HMdxQgoiLpeNYmAISVVWbVWQXtlxUxZuNh9GB+f1AByhlYFhG2KwCI1hnza4JcIqJQ8rDMrPYThGhvWETYfHhAfTLrRPgTKDQTtZePQdO5aCtWHZXaecMCKTGmMoiXErH6jw0V8+yvtkDMk3QB5hD1KBlqwoqrcUjJna4rYM6X1VUAoPn3EPntzSINzb9i7wAI/a+ITkGEtrIxA5AoP22cLMG/OwQABIDQyVVENO+AKkAUAQSA9jYTydwSFY4yI/qdAED0zdZka5QmbC2LiL4bHuJuP0U+AaDAhxHPHGP46aAfI5cAgAAQZioiwuaagNATw8z2WQv9m0l71Ksg2DEifPoYGGqpk/o1ExSI+kVbCWHvZlBG7P5zcxXt+9ZRlA/rAPlE8/FoCcDgyx4U5Zsdawpv3EVfOT7l1N/WnQO0tYW+KVSwmYGAmeMo3X7rZVFkrwH+9qbdYSuCn7yVhc0rQoXR7Hu/qMHvihV193opQodVhN2nBww/PnpUhALAKZQNQSgfN1IE5zk/UaBk2h91o8DGeKLPNggYPcyvntvIJyprXq11n3HgpCJy+bZkZG/LVUOxTzRuuxJNZMNU4NHPU1cCVOYtaEMXWseBtlqFMjxcGoqJsRdf4mBZU5CK6OfX/RSgVpLTdwVL5KFnrFvDT6/O3lKA0Hcc2+m3bhZFycX9m0OoX9QV68TD2Bg1OkCF9G2N+T2mHvrH9/O7iQo/LYuIvNKAXyhM+MnpVTE/3y6rxGtr4HeOCnsXNu993fvUgLk34DfG02GKKitPy8yqAwD0/meBM+fGhZR5iSbcKC8DEFGySBxtlgLygwI7StUPXR/K8iOZIJ/oJtnFkfT1z2WaR9/PaztUf6s5I9xe9CmAdDAa1gAgWmt8rAGAf07ieADmBZ3S3xLEp6+wuGkAvdPj1EGVEyPM7L5AABA3GhEqpJ0JaD1ARIT8qD/rR4GFijDbG6H82lhj7YEAYGVFxZ6TUoR2ZoTFnmIQ2m8VEbZ7kOdTgcZkVPMIC1eICJun9/hHwZY+lXwsMZU4iBUWkRTA/HECCrtLqbbMlcnjQNmSoMQtdFL1Q79ExTBLHq7Ewbwk6dsmTlfMQW2/SXOA3rQeQHzM5BMAqH4qin0MQjo5HOcVBEcF8/R/EASQR+gKi7BckwAoIhQlChC+VUTYnFCQShAAfFoWYXmmgaKE1lVYzg34ezXWvLooS+hmysxsZiCApvf36ytBLhGRB9rYTETYjgDgU4wx9t5AkIgIucmRWYolAYgOlkVE9FMHsDTFPxW2jFLJdSUkVIKYeAW1CNaX/8zAr6o02Fz7kPuJvXiFNK3JFvg54dPYRxMEwtKoZm0QYcwqbggAtZeaTwMEVD5GVGtlRP/dgQihvmURkUcaKk4AQIF9wBYqGPem/QQAoZUZZnGfKJ9eLIvYc+zR7HjeNJFPRKEPFRFhe/AARChIyE8uKr5ZeZhc7rddHblEoBCdjIiInYP+DUL2ssJABJ5U4vuhZLOYZkp9WVTRD6epeQeKSpUCZtd9SYpHy04AtZvJfpeBL5OxdL1PkcIuAMLWMrslQOjmKmx7JYT/7qPJdjeNA82XsLA9RFUg7vRSBMeGWdisQOUaZ2ftuQV/eDfuvU5KEUaORYRtz6uSAqtShak9mXapxGcAVItRaUdFRFhfVRCWJU8CgPopN1wwNLrrF8aIg/8eKVVNUFE6PYfIJzr310Ri6CKfmLv/eTQC0cWxnYEAtF72dx8BhI4Y1TaIsLPMdgMAldyImFpJ1GzRf28b66zbEfylVTHcRZXtw/t9HQfo2xnjTinK09kysz1FHuqjSSdChYuAmFmAiKhIazxIAgNWERFdVfHxcr+8TQBg7VhE2PZzAMqLprv9VzOwCAibNgi1t2ERsSME41b/9tFCaHnSV4z6li8D8kkqMTShr2JxoAZeSMUhtfdQgtI52rcsQAChdzebGMHmfBQj2L9cFjWA0GUVboEADFl5gnDllOfn7L+zvgqz6BgEgMbH23cHVaYXp2Kk5yGafB9mKSrsis/ZAIQwlSNMAmwHgeLx5sXZrQ//x6iquaUoPzXKLG4LIjSfRlXsPgoVjnfGWfvqlyO0XkaVpwgT/pFLBdOGRBOj1wlYFkKmTmncLCh0XtcqmENUr7eqptqgpmhimSQHR4BTrzIPX868ux6AOCLkRl+PfeohPRXFGgA6x+dt24CfDZbTamj5FXE7UIhA/10Q5XyKiLDZBoAoJlRImFkWYXMIACAUJaLQmD2RSYCICAUbo14Mv3E3zGwfSQVfTkVM1vTibZZlxwbyiXLuhkVYXm0Q0Dpn7/cmRi4RkUf4cMLM5lUD0FZhEdZnBX7cn42r+EcCq4LzDigY9VRqx3VYpMTUlRHT11Nl+fGaCsss6Shmf9mFohEnI02p6mhIAXBnqzJELhI7FpLVcYz85sc0Dn1aNbtA36pqBwAaLJrXvPShWrS9+KLC5hajNPpvork6rBqhpbCI6DqnJAGgwOcvi4jcKKcowSevLcGsGyhOa1F99gEQBg91+uiiLKH1VhER++UBabeJfAIA8uovleDIAxqdBPmE/NrVsIiILgDg4JRZ7QTk/Z2o1neAoaEWO2lQN0GBqN23lRCO7kfK8ecNhebV0gnl7cxDPlG/3eqKQZZtKFUf6VRTePCO4jvzghRqvOzvJnQUlgd5U1OwDr2NEdGFN3Ms5gICaOeKwp4RTqaHTf3/fxGFCJ23VftuBxqZMhvuVINaDT5hZj09oMp4tJy3Efx2zOJ2qPDDibB5t0AAGouvRQ0FKafv2NNTqGTUbMXwk6cJZMNQ8ag3HTcBEJpPlcDaS3a5M+8ZoZSISuI5Owe2dfa2XDUU+0T9TqOJ2jxTjn+elAHZpAk1cvjlpTKU/vZYQz4xje3VkdzRqqogKTnHNN1AWY8RngjzMw0snP6u4dfZ2k/FW1oWnXlrI2IeHhq5c3kLFNh/zfdd+f9bBelgM8nsgTyMXr8um6LS2uZy3bXgpzcroqZXRXqwv+41CiRbdrxJK4jfIiJsPwMVE3oaOpQjdA/3+2no4eCxvSUon3xnv/Y59+o35cCHh6g5GNTwXzpzzCp4cxxmUh5JNOHGRRkAT8nm4Y8DJRtnytZUCFADUAHHg7J8t2NQ6KbplZI+nE18iXavUwvktUTtIQpE88MyCqC1WXXIq32M3hOvY1R0jmBlNKzCJ7RYuLCz/z9F/c95GmrcVETkkQZQHwwbqDQ+OmPcteGhdVLzGqE8YeOY2bwbHqjZaUaosMGhHXwioiK18bgOPz1bZhY3KkXovKyqlaFXfxhVw0NQub0VZjUTELD59ZSbAcLf09G8HwWyXFhU0ONYYqRFkmsnUjOSAli7H0s2W0c1pX/bUrYkqX0jicLdgJD7X/apcEaLigRCJCYiv2uER+d9E7nU7CYBJPv83QcB2eScP/ogYPQsDjUKoHl+7yuBbiHCuippXPJTo4z+n0M5GxF9dgPpxbCwXJMAoSQR5YwsM2e/nyAAiBrNBFXWbsoirPNAkHLIIy/O1HNfIJSev5nfSwCE/stYY7ZRKdC3y0RYHxEA1DbP576NXCKiUFd8NqcEhPrVGmN0jjARUdkoF5Fn02taln9EbBk1tIFTmHklhEy8gtwZI44/D8Cy6gw2lw7kkUlOvqQkxqq/X6BA8YWacwKAMHNiHxlA6IuYvAUCKhfVdQQQqi+r7hQDQPJ0YkzHI9TeRuyrCgqAEipCRIWoEBEVSZqNCOGxqoi5EgDC0qmIW6BSQsFPFRG2O1RJAAgAoXFT8T9zCEXTdreO4JdjZpN1KxhZFVGdggA0N6efCSGfiAL1m7KICLe8kgSfvHlA9NkEAbWvy/U4QD4B5BH6oiJi3hXQPzQCTyl6HIPC7lKqLfIyoDbLUPVLax8lUCjX8oBoff9p5UWDWSPUeKjIHATCxuXyaYII6y+znXqbL4sZgggjwyJFEwSgffm8puQB4y8Lu2lOZ3tcNwsAoAIEUIHinRO/NzWP8K0iou8OCEC8esnrK64GzUE/Dk0ti7BbgyoAkhjhk2ER1kFO4f7VuucskHzrr3tNQChLFxURtscYFRJyG3eVylCfLGct+NOce8MDQCgcAQT/bFlExKxAyAr5xwdDo7tBAeuz/x2CZVVNasqnxwD5RPvxnApAI0H+zPzPNQ3Ub0Z0Fugb871EAGFqWbQHQnS0zP9aeAMVkbwRQFJLUDr5W+Pp9PeW5sTTr2lSIGnXkU+z7boTIDSelsVtqVgL4fagRah2fhc+NgP1lxFR7lXS3JyOywQAYShGxO2pgtbbMquOPMSD+bSFCukd0Fs9QERFksGkHaC9YxHRZ1yK0LvaX/cce3X22B0IPgFUoLk9HSeJV30aERG2JxAwd/xPj9C6455iNOp6JR3EEEkGplpSuU5hUMEPKID71L5cqWh80cyMA5iK/YkR7O0XGfx4ozwngLB0ItwDAfHVilkjTNPrpe8RmqxiPs3Ql2FmMwsle2N1n+aMbs/HZw59G2ezngfMXCYsrxYIQF9V1J4QJAAoRiHCUIyIu5KH7t3oe4TyhMbdWWu3Mfz+8f38TFCasLEswuYSIACgKu4Bc04DxQe3jF+bGCD03kZV7RTl6zfLzCbrAMDSqqp5d0Be8QFba80hBaHyMBw4etFaFAL+BmBal2iAmLyOlRC6mldar5UrEMPoXlXU7o+qptFxNcUvEnumFHVbFKKNs9wOoVYn5Maz4zQCAMr2+bMHIDnkfG5HAJDNj8tqydJay20Ee29+90EACDvxVx5h7oT5dxZqiVGjCxBAGKkw2ysFFpZFJOsEsGTmayMEEBGqJOxtJsLSDyBudxNUunIZM9sBCAAojgkFiSj041hEzDPyQESEfGp00gAWRpjFfYBKNTMjom4Nv3d9Z48J8onII8xsJiKs3yAA08f7fWojl4goVGFlZnZzgHC0hWcWHqg+hqCiOW+Dgk1GLAPyRWGCksu8Mn8/U9ZfUQUUln/ZDihM/koninaUTkGpXHM0pMKfLcuQN8bMQ6h9XybIb0wHUWhp1M08jES1qABA+yP2EAFAvBfZxR7lKqJ7kIcoQfnECKt2PWDjWNiuQx+Whe0J8FYqIsIxAELPMmf2miJcH/cIFcetdj3nx7KI8DhUlogoEB8Ni7D7QIUEABTYGU9vqLB5VJWvyIt34pzuYpRfGxERzdogAGi0IuQTAJC3ciwiYi4BUC1FPsEnb2JZRESfKQjtwjKru6f4pyMDQy1yCoYNWKRUe+yBZSGcP83AsuXnpVI/ThzIpdXUgVy9XKqKsf3aIJ+oR9lcU3gsrJckVLz+cO7DIzyU9RwDhJ0IuxZAOBhh2/HWVtiNvagQET2WoNFvlOArM+8P+IQPl0nmlqFPI0XmwiL6JPi0ss5lA1DoD9b2Yp/T0NqwsEizGp+86CfwO68CSW/YjgJdNsxiZxXEVysibuMhGq3XI0KFJ/XY9UMl690mwfsI6TFUsj1bjBL4KyNBzgCgdxVTHGsoJWS2XLZBIYDFVVuiifoqLyNOP0+VdJArIFG4H0Dpr3ZVUJik8RMUnOm6piAVdLe/O8ohpCHCUjO91gJ7K98V/KFVU2Te1esDhJuK6MHD2okxPYRnhcknOdQbdygA1O9O7b0e6hoRsSsQAKRXq+pmCMfDz48WClJV9O04M2YAAlC/OVW7QqXRZP3ZRXD+yyLCbVC55oHNa5PCn76dkxWVIszE13fdI1R9CGmvgmR1ez22da+bqWfGqHD+cr/m1PImlj19ph7STr9F+Gel9/ZGqVREUEkL8SxXQFjn8T/zMiDtpfj1KpKqH9KBSJSvZgC5n6QXV9I316sUufH2+VMPDVndIYKf7l6bJECzx6UFf6wqnxQAtkbFTAPR4nHuwSe0RQvVDiiAwo3VYVVH7lzUbCOEm5v7eUw5hP9mQ1mE7Q7Bxtf5OKFKooM6+54Foq0RlSkqjH+csLhVAI3hqEWoYG08yYYgAEREBag97lJg5ISZ7TlF6WjrVNWdUoCwVFW1WypFGKkys7vGAKqsIszfBXyCTyXUI4KQ40xzmqfiGpHUjSXzRP1hIFkkehcNAZ2LprItt/iD1P3Q9aAcJMnNk5zxqioBhDBhYtVtQPCXz1MbYYqzjDwgXT+PVQAYXh7nRQYguxXFLQsAlcmsGZpaluI7CSEezZt5QEQoWOs1CQXjCAUJoCIEorzB+X0dhJo28E0BIIpQ7dIKs3k1PVD3Y95EeULPZiIs71qgQgp8aKgTKF77YeZz06OtMda8eqBSHcsikrkp/MHhfp4QcgkgDzhaFhGWGQgYsbHGnNMAQEQorVyFiO9kS3LdSKppIUx9GYDMm6B0/DFVqtPbnFvIJ6Y2ObsKgHKmVtw2p/iQzTYKjJ3aq4eOiHnEAKh/up/bgexmjIxAIPSNFGz7ofRsVRc5hP8uoSx5hAEbVR0G0pdmnLlPUKg4EUAe4WLEn4NQIRGFxr8sImzqlaTNegS/+TLMbE+o8GRU1N4iAKDxz3HdREGi0NKIiLDdkleSAIC82tV4YtYeWsfbdZqgDCAKJBfHeASekn8cg8LuUmoe1sCvgGKcVJGaWCfJ3Vc0OyEg2b6OTeRSf5yGskLFdL3oYFg/GQDaWhYegIClE/upeJMvs73HABDtnHPbGMGlY9F3I4S4N2oUIICoAFERAkB58eRj1kDox7KIXsjDWJ115zoqjhAkXEOLanzyesaTd60Cmlyz57bmYfL6de7SLEUYsIo/A6E0AQB5iz8RD1arSeLFFxvQVeDfjlL4hJ5joYSh0dnPYf3gPxOlqkkJqBwfA8jD53uRg7iVIn8m9pSEWEQHHmZfsXf4a8fKXRDSp4rIGATMLYt5VkEA0tG8FyN8UBHJxiAv3bM+R3mIa6g8aSbIjQ/WuUvTQ3w23jtE/e3+o44qCd3dcd/3gJWnWQtVJvOvRR1+dHAs4j5RmjAxRsSdYg/txWqaooKlim++QkRUpD0ZJfA7hj03Rflkq86ZYw0gbIyIiHI3RCAqS5fny74Df/ZPk9D6455iNB3GStKJIJIBcKlhs6oK/MJ+6AeQo5MVphChKD0kc+0AltZc40C8fB6qgfrb6A4A4osRLbogQteo2AN8AqrDThRaWRZ9twCA8OWEzbsWotntfmznJYvNNAoRprfHfZ4zd8yZ24MAwo9lEXNGLkUAVUDov521MgzER6OqC1TZuKkztx4IQG2vyqu4HNKLyUQyO/IIPlUw5YAuQ4Xj7Vv4PvJo60TFnpIKPhwzs/smAOnNqKpZocLsbo1xPAYBk380sPo4aUrk7hGjj4ESQrfla/rvnSsQI/OsKurPV0PT7jtFqWltzRn5UbuRg6M1Ug9Rq00ojQfLtoesv72sKyB0i0LOMfzpO79UAsCUVfdRoHZXlTWCdDYsbHuhsTVqr/VQ7aaqx8gjDNioMaPQQUXYXGvwem9rjPRzCAAhnwAKIDrYjNleYg/xdLfpotKjFWZ7juFTo1tDUSKP0H6LrysPRCAUjGs1gp88LDObVwPlt0ZF7LsLAqKP1/u9SZFPFEofwiIi2gCA2vb5vk0ohwggj7C3zMz6roPQUmYXKnrRVqzGLAPyeWqBlKKa18y/Dq5A7P56V0Bh9h/bUEyzv8YC0Y/sAhRYbTgKkhLSr229wMboFBRoHq9TlKfdRoAwN0YHIBDGIvaSgFBZPuXd95DMz/tWIPsYETcKIPlYDxAk/JiM2bYD0Y9lYTMFeRsjIjr3gI1jYXuIAjtlYXOJEez9XE99VE2EcOOu4tcD5SmnJr6+eyCUJwDkNR8qImwWgZKDm+ql42HwsM4+xyjffKuIsN15QFSPkU8AQF5dxWfb8QCKkE/wCQCStxERYTsFgTZOkXCBoeYojRsmKDXv+2CZfWL5vtTMsr0jALXdCMpwPoKyfDyWFePka6NoxNlcUXzjLeaUIJdAJdXHV8cgAPHNFm4HgHByzNICEXaWzacGIiycsUUDRGjnKqIfIQBR3lCscfsoEB9VhO3cI1wC3yBvZ1lET3Ggp8rqlqAAQKiaxtvdNA7ULoZF5F2rhABQoB6Qd7+SqNGMENy5jFm5UYowECOiWctD42OzaqM0YcShE6qMu90a/NorZJqh4pXhct6JvPpHA98FCEiWb3J0zrugEMDitC3RRPu4AZYdfxyBktcN8TsdD0p/vq5AHn1Fd0rubFNXEBWI7/Z3i1xCHCLMvrm5Efyz4+8aBMLWsvnUQEjuhtl2QIjvhgs3BYDkbYTtIKf/c17XPACD7+NnivDSsZh3O7RXETErACAsHQv/fiJI04c8PyPkEqiqL+Os23mET8fCv2tU2+w3EIweKsLmXkOFrf3tfuiCANTP1lqeoDwdLIuw2QSCVEEvC/2Ayg3P7/dl5mHtWITtMSpFaNycc7KKACRvE7BjD6ghoUfOXi9RUCRQSQvxQU2Bg/nTn4syIG7GKJqgilSBGsCBsnR5dyCPkuzkScXbm1UtL948DkloZMSdEWzc7akCP7uYvA+AcHCirxoI0c0yf8ce+oXKF3mEDlvzu6cQKEJ+/G2Uxwh3WNU86x4Q743YUxoCaq06/oNtEWaREQhAvFXV76QS+nq+n9vIw0BVVaagcrWHVXXPNghAOl4tWlRB/ariXyhARIT8uD9I4dPVCLPorIJ+ZkWMmYGA9GJFzaOF8snVMrPYEQBsjDCzfVYAgPBPTEJ2qeYkOiqsO2mYSuaJ4nkgWSSGDw2ldVTDL6fq1xKgAo4H5dikZ19KPratPIAQJoycmqUHRJvi0QR5iJI0Ig9RdbKfRACq17zYNgiEiSg/qgGk3V4tAKxsxpJ1QQFEMeWAmr0U+Z2f+3cDudFgMYiQS/iD8WDaotBCfP0KgOq9JqFCwsoaVbMOoHu4Hfqo8sNkIplbB4IFCAB56cWwiOgRFY6fzO8lAUD3qdbIDhWeDYuwuaUAEM+Px48UuQSAABB6jkVE9EkA4rNaaz5dEHwCY0t6iU0qUctLnUgKYRqVAUi8CScAy/VQqU5vdWqCOYRPZ25UAKAAMP0ftusQEAOEcP+VT8nDyIpdw+/nYlcA0Ds8toM4EG1FD0kOi2T9ULS8P7+SHJ/y/rsEgAKExtWorqPAWFmE9SNUmogCqN0Ni2iWBkoT5RxURNj+xChPSNIYAAgrlzGznZUi9NmIqJ14qH0dD2MUJAqlTxUR0XcPhLIEEMLjkEgMADQ+XdY1lP7j41uJwFKKHsbS7lLqHDfAsqzvA8PdUBOLzD5dRaUqBfvXqSyh3vLy/LeJbfUbTyKSk3cyIlIDgKma7z4wcyx2G+gYI99LhODMqrj9H4hQlKg6IiqAuBEhTAfHIm4SSJ6W2byaqJQQJrQfKiLCrWoAUGBrPPeNCuP56Xrow0/3zjm7jUoBO8ciog/yShIAkJc8jSevKtD52K56AAiTkL7J+yvcdXMT+upjolQ1qakebwPI3ftrIMCr+ZCHL7Nyc8omjtLmN6wtm7tHNxWROoBUlFnr3klF9AkCQIPb61BH+KkiwkmIpofDjAr8V6en60/fI7SeIsJmRx46F+tufVSbjKYdD0hulkX0HVdC3UENwb4nZgIqRRtr1OoQBCCdrr/GMcqnZ+OJJAEiKoB0NO1GHo4e22uM8uPMGadzr/lSEWG7RpiICkyYcid9sMxoNkuVuOGhMgCZV3y/IZXLhf3QDSDzYu3dEwgl7yZKGiAA7m1y8XLCm3nW4Y+smDMAJCwi3PDWVsSeA0CcJSgzIiIBwtxa6z7yavNFswhFRdLZ1zBvolbduxNoPrUQknanhmpbV5bsiwAQFqqq9gNVtk7v7LkMYCmq+okKO4aZM3NJARB8qiD+sZ6+o0BRwvDOku0Tr/U2qoaHoFKNzDCzSh9EmKqqmmuaU5DwoUrwN2DSlGhi+NlXQhgPsjJi8nzhhPHrUyF0X88WKDj9kVuUfm2TvSvAqYQCLomNqjlw+30X+VHSGVQ86u0Pqz4B2FqVK3mVlxTPGnxC85rfW6GlMcYeEKzdTJbpox5qv0SycQ59PN/HRk7jJiI7Ct0MM5tvEIBo71jEjREkAKAiRDnxyYqonYMAYPZ4PxdURXy1qkanATTnizZVsTDiZx0QQAQQCkZJTAAIcyfMYjcoS+i8rIjabw+tn9f73Ec+EYU+lUWE7RZ+7+f5WKXIJQAEgNDjvyYq+qCpGGVKJZ0mFggqcdMrh+vzSDj+8ZgK0/VrXVikf00EYmDjpYL1tqsgQclfrELIqyTugTm1020I2auWcoiJ2rzhoc9qNiBEs/v7ss4AIB7t5t0YAKH6cmJe1QCtn69j6hGaDxGRVwsEgC5GxDwTj/BpVM0tDdDWiYiZggDQ04iInj1C6yzC6ygEEIoSAAq1DIuw/YkQpJRQIWEivrmGyhKIAjPL3rvtlYwWD3ksYwCItuqcntIKvhyL3/SAKEY+AQABIHyrBL7JK0nIJawci0FWxqRhggLRfhwoVh3Uw8+FMn85dCVAbTWEGM/6FPLdtox8YpSlG1Bo2q+5omii9ozsESJdUAjP2av1DdndsN2BgOhk2bxqIGBpxZ0IAAZs3Za8kRHhbw8EP4lQSgeXZe4Uw49FRDQbgAAkV8PCdhBI7irCv+sATsrCZo1wOp73CBXXe9041HaeOSahkkREoaUGnlQJiBBsibBk9hij/JcTUbf2QOPtdp6gfHSwoXGoZHvQjeB/htwGFUaj9WbZhL/+64jzDigEsHbUkmiif9ICyxbrA8W3EuwmHSj9yTyEPE7MyZX8+a4FCqQA+Lc03YB5ACGOsre9gADSq2G79ejoCvOqglB/K8unCULlaQqWHogwEBG23bLhpBYgtK7O3TsgL3qqiL5b8Os3z0wC8dlzn6HO26q71kKEPzi+Zu+feiB9qwi7NaiKfMJY1Lugytb2Zz8JYGGMulcHVKqpIiIsHRD+4NaFehXUdy9+/zS9ZuapDECloo1x1j17IMLy74wtXWSvmSqopVBpIlrVwTI4GCcufxwqUd0pW5KUSIUAFT8MTs828olJkp1dFFpbzwOIzuK6dvP6WZwcvxF9NvcKAEKnMDIDAdnDinlWQah/lMWMQEB8tWJPMYLVh+q76wFI+/0acudW1WzhEw6WRbQZwMyKmlcnhNbXfllDPhFVQui+rYg7BzBRFXtvoNLx6bxtwI8uRlV1VEXn6azTrwD1N4dVAxWODHu/4wARUZH6oO0RxioiYu5RuejgVMTdEgCYiKrqEhXOrDBn5lYDofk0fICa16g5rUZpUEgBzF6Hks3xS7sMaMxz/HJKO0uACjguNCY9KbzpuiyBhNxNTDLK8/fxvY78Sj1FuDqYTJsAYcSFbIiA6PBVc6/Cz5bHVYbw1onYR0nJ0em8iAJA4ybMc4Rp/nzfeiDkEqqPoryNZRGRbgDd3emzhko/jLHm0QQBqB2y7DFBlWfDzJp1QQBAhKIEUGBovcyNAsXjbZbxuQkCsFZj9dVBWcJYWURYlx6aq8O6jXwCKEA3FRHJ3BhEGL790JlJPqfim04aR1IAmXkFnrDoFS7eB0p1ust9AxQmqblSUg/TdzrNA0NC7lxu3QCGomYIALX1S99tEGqnR75OyQMGx30nQHcR0U9W0lpM63kl49GsiYJRiuqJCkSz8+WzFtqHhqGqCe1MRdhuEE5bEaqsv1RERJehslGEYPrWjDN9NcrRxomKvdbgD/c/X3XkExEFPn890T0IZQmIIoA8DrBbwG9Ysq2DygiBJZX4cSTtLgWif94QkHR8YPg7frjIzEtTrVAITu9zSQCqNSevkhuT10EAnobNJQYIZ8vmmQDA/G3ybmBmjdWWh60t2DzgE0Zi3bNdzX+WUPjLqdpjHFgqCwvXqiGAQsNfFhG9JKGSBFCg9jKeVJIu9t/zxMNInLEyRvmmiojw7zRQkgCAvKULfVeA2uJ7/9GA95DQBIS/dhkA3XVyEyqx+hwqVU1SUTleu5D7j+dAgNf0kU8Mn+85ARC6hbDtgEC4GzbnGAC9jYhWQKjmhvWVeE8V1m2g+nQu7waQ3G2WuT3l1EY9KkD030A6mbdzmoZF2ExBAOKTM8YuUXFECA0ci7A5xZUgihA+epq1UD45OWPdIfKot95veqhwaNmzXwEioiLd+aQBr5+pZ8YoXz/9GuNuLQD4cCzC5tX8myeAPBmAZUbzRV4GRDUn0R4bseJO2qp6vbAfugEVd5tcfUHtX20cNUAA8cPYRwa/V2jehn80Ys4xCN1CRLQSMCImhKzfr8IndJ4qItckNHhk2U8t779J6FxFskWoZ73fzwDSxeF7SNXE69t1W4Nfu1oRdnNU2fi+3dZpoPk0qrpAhV+GmdksQQBAESrthdwyUDzdZSLPMfwvo6pmT6UI346Z2Z68+GhFlUcg/M09aUo0MdqMwLIQZtNaGTF9vXLCzMR1MIcYvF8dUHBHM68oQCJ2Nt26klMOBO+c2lctB9XVIkM4a7dqkZfuP49RCiB5OdVz7M3UatEIIRmv+gQ/vdksc3sKJA8r4ragQLJ+3heUV59O63m0fLy2aQDRyYmoaQdahpnZzkIAoWI6GmvsJQFA6D2EZRtV0bhaY8w59lD/OGx7KE+4q4iw+QkQACpAcUyB5G6YWaUDKkNrJyIqPRBA09v7voiQS0QEgNB8KIuIvFsAEM3P110Hf3WymmZtyabLnBIPYqjcHSpJNy4jzj8uWQKsPh8jYZLENcXiK50oBqlZaJpdT0GAeYC/XJUgcplE7Ryic7lPIEe1NIQ+22sKv51r0Qehe3sVm6aHyfk5T0LZ3apZggDC5G3Nsw3yWo6FzSVG8Meo2mXOIFPNhqDAl1U1lwgAofNSETEfgWhrjfk911ApEShnqMIiugABQDpZdFEh4fOXRdiOA2WJiDzgbjx7RIX19eP53fLQe1lneY7ydfHZbgkVk9d9qYiIvgcglCUzdLIqOGmZIMuIzltfseoh8ujnsgyYPS0h5gddiM6oBWVpswohD76yuaJjvpaKoonqOzIXELleADm76KMeSN8qZuHFF8PmSQCinRg79dC8FPduYPxl0XcdBADd1aKOcNN4JwAgdDMV0VcUqN0Ms7nV4Kcs/hjkPVWE7SKA5Oty3TZRKaHop4oI212oNFEA9G1ZRMymCkLBnWERNitQqdrNidh320Njtdv0UGHHsYiInuMq6sNhE37tbjjQxF+oYVu2FftEcViTaIAYXbaV2ctYcfVY2VlvPPMVU5McXClY7poKUgDCR5psBEI7c2wPgSwX0ZWXPJTNJwJQUWF9RwCy3LJ9Jd7csWjeDgFEOfT9K8ZMQN7AE/EIXWERli4IQDO0AAHA0bKotEJAWkPVza/vTTs09cR85RAVK7hzgVUVaH2s50mgfreq7pKi/JdhkcweQPiDTeOx2UcVTO9inssIIKyNiIjdo8KxH1vS2ysSqZVKNBEdNsGvzDKSzj+XAlzhlG1JiSoCVPzQ31+bYA4x+UpvCn19u/AhOovr3M1bGNZjAAur76qHmRVdAUDVsphXDKBhWaTogAgdo+LuMYLJ7n7/oADij+txiHDyNCLmB4F2piKatQPR04ho1g01TqrvEXIJAFVBaF2ds1kvkDyMqnk3UGljNmt6hLGqiGinHGH0NE6vdQ+N9e36WUNpwlVFhM21Bp+IqEDU7iaB+GhFRNwE5YfGCKudAUC8N6rmmFZQf2riJLpvoJY6hcMGKAQwfxyZm730wK+AYpwo21LbXWpAByIxSu1F4c03FQkk5IGxaS+v8uC8FaL2sIJgNNgs2gmA6GBFtgBQEaPmVYE/zT/XBsI7Y4yZh0ARCg5fIreGB9DWqbotITjMVGWD3KjdTVExeeQBm9+M2Z5jD61Llt37qHTOLNkMBACfLMwzVFi/W2axhwAojlCQCFRN8e4ty95LD+2HGtUNlYtPhkVYnykARP2v9TBCLgEgAISFYLKly6n4jApb2iRRQsgsUuAJg4ypLF8HSnV6811NMbX26ErqWRJ9jfMQtxOUN/e7hkfo5+bdBCGZ3x+3dQZgUnw+a4ST/qAdB5KHEdELhRDX0zyk42GM3GR9u60T5LY32xH+k/Ver4ZgejYsIlwLgFptQqUdFRGT9UEA0F4sGihPmBrxOQ0UJ/gEAB+GmdnuQKWab6OqugABqH0cvocoSESB2lt8tg2vJCFKIpC3MrJs6WJIuRZCSsnTSNpdCsTgtqn4OhFWUsXCfrhK7c1TVKpS6RJfywJQbQQI1Y91jxQA4rst3B4AYWfluwOA2v5x3WQACAN2bh978VNF9JzTOjyvkzwAlAfEMf6bBFDe6OXsrRuIf6z3yilNeSsjIuxWobJEFJoZ9qRWAZqLr2ULfnJyxrhbE+V3KiJsbin+ZPoMiKkiGn2f9pPYmwsz38oA6K6TmVCJ2UdXqWpSUz5eOsgn+o/nAMxB2Aogj97vRWggzHkHBGQPU9hjBELjrazPCgjVh9XvBiAkT1sUbgACsHaqboJgenFizBCUV5QAKkJElRVusjLbewyAMLci/LvGn94Eftc5RIVyCb1MRUQfUSlC7+acew08pB8/p1UTpQlXIyKiry4IABFRgXS6GARo51iE7Smu4MNatfaLANReAoXwZKAYra2KMsAXlGjP7YQaf9HXsNUs7IeeTwHOJbFXFwVmT6tFPVB7GfvMABCWRqUPApK7FXuKQRhbLvReAaHxEincDH60vJ4n5BH6NpPMbRFON5d9O+8/G39eLsso9CEsItkABIA+RfU7qaj7saiFxpaFxc5yiqeL3aqJ4Maoqg5RPjrbjNk8Ew+IE4AqOIUerUDx4UM0+6kBQONuRM27g7KErgozi+kDwMCwWVOiicnrCCwLYX3ZVKb26ilWSdQCc4iheXcU7mzpFwUosEuSPWSWfKHyMCb3QGid9nUEqTfvxgQQep/i0wcRuqJiDxEI0dWJMR0Q/KhZjwpwZnOiq7X23cprjntRAYqjIulomObQ1hljNxT4VBFRHgWAWrdJqHbDIu9BIP4xxtpDhAqbN1V9D0EAaHF/nQcoTehnIiKs4wABIORTFHnAVJWZ3QHlm5kRUbf3UNs8n7sW8onIAz4ti4iYjfdXKCuJkzYo2HS5U6KOh/V8lJQR5593yuLr6Ssm5lFTTP9KR4qhTeYKtvu+hqAULJYliavk3cjD6PVeoZwqcQDovngdAUAyusulCmAtOS+IQGjf3+8lIRjv1F4a8NPzrxodgryJCrPZ5ixVzU+Sk67v5wnljDI1z45H6Kn4HRCAriqzedZQLVGIMFMV0XfiIfk8nz9iVEg7JyL2VkeVRESBEXsis0DJ7vf1OCGPduqcvbYq2BgREc36IFRLAGhjArr/a6SarVAg2j97YJlRl1A5/3GkTO4PlGBSh9Lp1aEMFwtP0U+/JgLRt9kGVBDFltO3OQjIaqCS9PA5VwNJruL6Ht0N2wMAdK4fvdcAIJoc97M4MHcs5ugRWvvbZYLwQkREf0AAoccq/PsZis9O1M5BXu1lRMw9Coz+h0X4dxDABzv3GqNaAkChg2URkVGg+tpbRIRdH1SOAIC8xlPZa5cijMSourUHmu6+P+ooTTgFRCdVxP3JMIU/d5mIsP38K4UuXMSirYQwW9Wg0sT4tq1MH4ZlAHMqv9YZjHzF3CZHyOH60FSQlMK3TZfSn5dOvutApiJm5kUiIk8CUCmU3cFL7s66deBHRcwzRjCqRchtq4iYOeAtLIvoMQ70LQubawyAMMnEbwV6yiIinRD1l/M2qm726wj9uMAkh4iqyUKDKtAYjxsAQPi0KuK2KJ/cTCbM2vOqJuw1wMMKGkdxeu6BCI2nYRHNmn+lgIHJIwFoZxJNJEdNxSgzhSc/Zgozp2xLHakiNT8MtucGKEy+kislfXO/8KVoeZ9TaKdsduThZJRrHs5GzQoA+sqiTwIwNMzMsbcxIvaO3N5qmYawVDXfUWhqRdh+U2BiWMTcG4ExB5rwaWdF7AZhAgCqJtm+3o9laGlERLmeU5LSKBT9GGbWZ7OK6ZP5OYVPs4c+P+NShP5bgl8BAlGRpFP3gIGqCNtLjNLR1QmLvTdAQO9lxLwG+PuVqcZdiZ3CaUMKYO1+aO7weQiWIOt5ZVtqv5YqOA6Uw9ScFd5iW5VAIp8wVWuGIK/xYe4gGE+WDQSz/XNXIQBpblXXADBQZi0CzafKaxQgfKrqpR5Cc9whhNOLU9UBgi1VZndEML5bVXtCOF7erosoB0REyCcAFKK1U1UzAQGIftQYnqLSwfX9Wsceum9jjcxRmtATFVHte0CcxChIRFRMQ8Xp853xqenhU9WYZxdUaqIsIplbekgnH5Ma/raNUsmlWp0Kh4USQuaxAgeLLqGyfBgo1enNNhXIK5scPElJWNv8uwihMqiAAkBtMc88QuupxxRA9/b+rDsA4ruzxRzB2nIziT1C62mYf5c5xZvft/MQYfoQY+89kIfO5fU61nP+JAERgQK1t4iwPUTwafq97aLSvqiq2QfQ2J0PfVS5sSzCdkOBCgkAaneTMbP0SxFWRlXNPfXQ2+4/a8gnotCXioiw2+IvYV9oTSmIlOLnCSjsLCkNn1qKy2GfOlLFwtTE1qYXX2Klmgc0HuZeLwHSCnxC9fN1VwKA9G7ZbkBAvFdrxiBUFrf3qu8RmvvnuR/ov0XYbimUTD8mcQ5AKEiD1bKJfOp2IvwXm5+H7SBUV8+ckkDlhJMREc26IPzB6GA88xNV0ZjOehEAwlStGrdDWULzYVhEzEegSvI+ctagv4O+lQHQXSeD9clrR6lsSkDlcGlDHjwfgxLUe1WUD56Pcaj/r1zyOkCov4XdCURoshbmRiBUrupkBAJq919xjwYIqD0ss5siGO+ts3vKIZSmPAD0X6hff62TUSC5GRZ2G4SJqBLg4QlPQ0REVWDlPPeFCsdP9yvrBP7gcDsvowqGLL45gDwiKtJfzBrwWxLU0V9D1KgFkMd9xSTRPCkUn1GiPT8qlOxoorhBj79M73qQ/UtiH5Laf1obBTn1WM0rAYDo6ERGXqNQdmcAmPyLC3MGEdqmEJYhCIQ+G93Hob5lFjMABVDrVf5AhD8TofJ00AkRviwz6yPyMFIV82yCAqVjyrl4yv1Qyag7aniEdqaqmrVBJQgtNszsFgHEtQTlCf0soN+hwsl3ZvQ587A0qmrW+Ct+1pBoYvY6UHaYv6552lZWb9dpCXG0eWqBJaPX544QrY6zX0RonU1qDwon9IXgbUwcIrf7ujZBAJAuj6MI/soU+QgETL4F25PXYC2MdkEAkHVaEcJzwyK6LFkXRTEtA0X0l7IRFZi+mc/10NGyiEgtgO73eV1HteP7+zmnwESNqj2hysaFOVsT/P49y+59VPjhWITllngEgIoQeUB8thmz6hBlCVunIkb6HgbH+2lCeUREgRonrA5q4zYo2HSFLwN805nQG7NC4OnnDYXF25Uyfb4pUD7dvPeF+fP7AixxeiNPAqhAuFwGElfJq5GH4es5hzKJEG6f70OPutvzeRYDtbfTYgoCaGUMr1DaP+x7oa4VVu17hJGqqGmUNPa3Xb2MWv025dU+T/t+TltVxB5C35aFOYtDlRMmqip2HsDi8X791KqIrkZEzScIAKJWK0JRCtHGsIjIq+aVjMbfh88GAEL/aa3TNcoSWk8VETFHEEoTAJDX5KSqpx0TlFr/DMEyoz5nGXHz8wwsweB2AtGPCohs1yAmi5kThm+baQkxSNMdKDmOQl81b7thHio1Ukg3j00aSD9WTRsE4GzkOwOhsX6/LvMYQNw/XKe10MQYY3qBaGf+ZbYEeHvLImYaqudW3LsGCnzKr9nFofTixOoo9GFERJ9tEAjdzKq6T1RMRAEkJ8si+kwDSHstQpV9FRE21wRVEkAeFi4TET3H5aKNNWqfbfitr8P3mCoYZBJ4VIHOdNoNRLbQhWzWlgKYzgsY5+yhWwZMbgYKEio76waDCF8T0y97UYS7Y1NBKsLIZnP8nFg7+S5AILRzKb4jEKGRK+spAqH2NMaNAYC24j6twEOF9RxA3Jt0CaGNZWE7CC1dIWwXoaERFrv0CHObCes5DnwWATA4ve+fUVUFG3cVETH1AAGoZiq+uTdAFcStGgAQGk/DInaCsoShZZHM/kQACH4V3ZcGzlV8vH9/szXh71cGJnNSp5BIC+lJUzHq6xTc8Y+xghi6Ro2USGXLYL2vQp6m6dmV9O3DMpDc6XkoHF3x3cJPXsZwEwTELytuBRDmKoU5RiDMrBT2FHkvI6KXEAFxFAAauRHzSgO0tSz8XYd2IiJ6BXlfjkXkVQt0jQi7EyGcNGuEiof7wzwKJCfLIvpKAwCh2o7H9kwoT7Pb87FN4Heuqu8ZlQLWjkWEpQ4ARAChYL0dI/jjWER1irKEhVFmsV9/wegulshd8ZSWdck8UXvoadw94uhtICBpOSmApAISypGxe0cKltuqBIfIJ4ZJEnXBb/1Cih4IAOr7YxvB3iu/1Ly+qtg5QNgoiz4Sb2WsNaMQem9+D0Jont7HGsKjr4jYYWitLGxOoZllzswpDmApLPcWwgSgEBHlLdQY/SEAhJkxauwSlTZX3x+1APZG1cgUVG5qjKo7kIeo2UlQlChAGxvQQMnG6Z29FuQ1bmpUNigfXw2LiL7Sv2u2jFKJqZY7xfVzKYRFXAaAsOgzKgf3HaU6nem6jHxilSRHSgAoLLK3nX4D0Jo1UJ6N+pEH6h5vUwJoX3zySQpCT6yaOXxa3a5z8gi1jxGTt0BekELJTlQ2hGA7s2pkjGD646zjAXJb81GMagkAKFRnFRGdgQBgfns+PqMKCP3MqHk1A/H28bjNUGH0UvEHIJQmACAAmLpMJDPXpFz9ZkTFzj3E8+/tgPKIiAAQWg8V790F/bWzJZtaK1KCSMm/TEFhdylNX7rgVwAS2CclUuIvUxO7NLk4EitVqfFMr2XIcVqSvZ3bBZKnVTsEgPalcM86gOn18R5HHlCZL0dRYPBlYTctq9QjlMa9WRflo8vzOkdu7XO/6+E/2Rq0csYiImx3ISStFJVGF8si5hQA0laEKmssIsJ2Xklr2Evhp2enYswQ5ZeORUReNa8kAQABQO1mONDA3/ZsZ7A+fuhIFU1KQHV/boNC//no5gCo9CqQ+7d7LzR0BUvqVS2L7kFAVYXNAQQ0Hh85p15y/Tq3CfQcC9txyfTxOjVKCH9P2jVUTlRVvHrx6yMK9DWwCREAqoDQe4nPaYAAUBVJpiIiOqmAPp7K5x4IQH1zf52GVC76Nh7bVoCICqAxWw5jAISdFRExR/w1TI2Bccd9xSTRviwUJghrMmuCXxG1swMKbjpwv+qHngfZu1l7o6BOCmPzNNCxYj6xlzyN6ggAOo7FnL2pFbELr+eYpagBQHK16h4ZggM1Yp9x6N8kAJRHBCqEighLp6xuGohuRtVk3RBAqJLQfWkgCQCEwhSFsLUibG8pys+Mith7AwSAao0YFdLWBkwzUJQweorhUx0Aalejah7Nv4eCzmlLIi2MN11lh6lR6lz3yoiT95sU5avP16YwfXnrgiXBbl8uiAAlZ5fYLWQncIVMRKQSoFXx6iLYvL0W5CV3q/kQAPZaiDl6A1uIFk0QgGx1XmXwCUdlYe2UtA+XWVxSlgAqQABAObXVz6YZQHI2LGxOsYfWlbPXBNU2FutxBD86WWa2P6iysX+99vVAchCRRxdUip7CIplbegQAVIRCGDlmZnuJyxBamREWe4wBIFmczqsa/oZlZVCbtBSjvh6VAa5wJvT2qi64s89LXwIsX8/jEmL0dJUKk/f3Hr4mFjbZgII7nAYSCG24XgYSV8mzDn7DuigWFACI4hBQW+9aAFDd3s+LFoChNcoDr5I7a89ECFa67Th0UGaWtkfosYrbUU7U6TcKgGIUaXQahHD9YdS824H6VUVEL0kAUaefoNreW8WcUgCE3t06c2tUkd6MqrnXPFBvMY5RYSw+uzUqTGe7dT/yoo211r66KL9yLCJsO97f7gddE5R6H2OwzKivO+XqxxlYgu7lAKLr5lBrKUQ/G3lhkGRjxSBLNgrQU2iJZhSla+RTpxOhNF1eZlEgezn7qYEA7KzTLhAtb+/PsgkA7dPl2oNP6OXOHVP4HbH6vZEHOjoWkRbISw/m9z3N624Oq3pO9JE5/ohCWyMi5ggCgJ3LOHNr/OnkZkTYrkAA0PzYLFOUJ3yqiIhZBcoSgQL0CthPUKn67dcYuyIAiKb7w7qJ8tHeBMz4bx4XME46oBDAbJzD+vJ5AJYNLjoQ6ajsLNs9B/I4M3tFeXduK0gBqLxtNgdz/kpYfo2bgkDoMxc6AhG6rLnbAoTeW92nCQKy3f2xTgAgediicOMABpfnroJgcjEs7DqhL8dssqZH6L6tcbc0NHbCYqcggHANPACA0Hw4dbfaH2tZFmFzSgCAUDFh79g7ggJERYp+OBY271YFe5sxixmB4BMq/XIB2/ubh4GJqKBTl8hdoZRetBSjSdspJx8TBR66RkrUSOWH/nJbUSyT7ORJ+u5pFUKM5+dhAHSwudkH6m9jipbXzI18VyDCwnHhViDCxBnznYEIjZcIm3UIcUooXX9ZzLsWoLuICM9B3sFmnNlZIPo2LGz3BO8QuHgAavOvWYqKqdOiSkBEVM3WevqdU3x2uuzbAdqo6msAQtmERUTYbuETQEWiZs0j9FVExFyTv3l0H5nwFIjDpmSeyB97Gi0cfvQVXxBBJTUgtJM42TpSuN5VJDiEPHaG2x5hrMp9EEDov559EACshe91b/kt2M1BwMFyYQ8EQnK3LN9xSTrfjaJQ5SpcDEHwLsrMMvFAZ8Miug4dlIXNPoLfzawxMs75k/17ll2ageRmmeX3A+SVpXYvDfXZiBjpocK1GmOzngc0J8MERSlUy9kFSk4fWXZswl+wGn128FeyS7SUClOncJAKAGGeRVxm1udUJg8NpTqdyaIEeZnaMyioN64wMw9Ab9MBIZx2mpGH5myz6QCoP528hwBh+S3YrUAg9N/y2SSh7GnV7EOIeuMaSsfGGndJAICwdxmzmwQwdcLi5iAPg/PtMkHVRJTTeBtVc4899J7GmUOKKts31WxG8GdPkdccpQndTEXEXkMlCQB50UNYJHMfoFJTqyr2XvfQWX9/1JBPRPT3ECOtIblmrMBTMkopepqaoLR664NlcLBPapTIon64+UpukFmtUOjI91UtAShGOLt/7TRAN2u0AUJ9+Xm9NhFQu1i+t0AAUB1tBmloYlm0aIG8v9PsfP1uIdy6OeuOcSj+YsvrGLmUEv444VNFRHQUQH25nsSosnazLGIGATSnsyaqWKqIiL7qVaDRriE4NkbE3hsoHT9VRNitQChNAEB/DVU1W5kJfXzVkiqalIjq4dRSDJ/PjkDNUR3lg8u5HZopyzv12sqFmQNALTfiRgCy8edxGXmE5UcfjcDaiCj3S5qrdacESOqE/ObHZp4gN+qOu4QCqK632S2S0MayiMg8VDVhZFmE7Td5BABUxUJ886pVkKxvz+syQNOrZIc2yrdYPLuPAICIqEA0WC7a+EuZGgPjjgdgmdH2bV1BjLAWy67SuFo6wZuPnaJ+6HmQ+TLJyc37e/Z27pYGxqrmmXhVVrF9b6rMugUIU1GrTQAYWcP2GuhaVfPJAIDQeTsrwxxCUUJxAgDK+4NDcc4e0sBUhFmknUNEVQBTxyKiP7EHEKHS5tt4R1R4cEaNWQWQthoxKmxKwH2TVzw+ZEZfy7+Ugs5pW6KJ4UcHFHaXGqXh/bCMOP24i8t4+LGuCQuTDEChdDyXVdQAlHCyyYpSlMUljUL1XQMBiM9c9BEc559N5DXYqvS8p+HCzL2tsAhHHi2keHYRPruCzSsJIep04hwQAZQHiiJCQQIVoFojzknuhpntAgSAfow1uka1lKaRR+hbZs7cF6pMl/tNN4A5G6P3RilCn4WF9VUHAAIAKkEAcLHMzG4GKrW1wqI6AplGSpOmYjRqRopLCevds4Zy8ePCC/Pnc1eG/sNlLEyt7QrE/MtsQMGdLEIFAUrhehlApI15NULYs6wIQaolKI2bk2kFAMb3962bgnCwItrxRkbE3ckD0k4tCiU3ZWGph5pXo9dWDhBFyCcAoAKFoy82r0moYVmE3RbB+ON0mlE19R/RSxd+vHPG2FcTVIbQuBtRnQXQ3R4+U1SwVBERzQYglG7OV5Ma/PbbWuu+I5ROWUSE3Z5gLStjy3nHBAVi+DFSdphS0nKCv/h5rHTOuhDZSKBmEUR31CPyiZ41Q8jjNFtTguejSEKP2R5Agajfi1GazPbDUPb4unsCAOlev7cKUL9r8R5EAKK98K2OcG3/PHc8wsFxYe5JIPpxzO6YN/nez6IcxJ1eDfntz80sCRBWVkS0G6hLYA3y/mB8MyLm1fCQfl2uhzaq3DkWUW4EyhJRaCahbgWjt7O/t5aH1vZ4WMQo35GAOad/2ehkyEZtUAhgOspM6KevY7AE3ZOGYtNptqlJ0o2iur90QIFUtArjtiV/X3yt6QEg9L65FD0QoW2F7QqEbF7kso8AUPd827QD6e0r9l0DAWg8nMvbCNYyFtFHC+QtjTV2lVP/fmfXPijQfTvrDpGH5GpYxGwCtHUshrs5RFTRRFlEzAoEP61HqLJ+UxZhOwoRUZGC6VNFxJxRvvFWZjYX8oCIUGUtZA/RXzwIjaPUa0ClifSyDZYZzfq+jDh9GykgVIISNWqk5ofefF1CPrHO0gtR6Oi+TVEaTQ/dUHzWQjeBlhFTtLyuY7FrEGFqRcwQBPTZfN9NEKFtCinsNIBKr58hnL5U2Nzr8JOXMgunoe2vsH3UETyZjFmnIACNuxER3QeQbEUfQ/zxTxERtt8hAkB/wIxDxWm82w3IwyBTNfdWKcJSxc+6IAAEUJG4EQXwY0RE7AwEj+68CU9p0QaFAKYPPYW04I4++2WASxBWUgMQiqlJtpDD7b4iIYpQPjHKjQBm1nAPPi34M4GfXow8GyDQ3hSicxDiq2U2a6+lXLAdh4CsGoewtGrMF8hrvsRvAyA0HsKSuSEIAGUiwmbrEQ6Omd00BEobMSpOlodNOzQ0wszmM1SW4iiEncuYlesVRDs1qmvyUJt/TRNU8JUzDhRPd+/3c05e7SJGZU34W5hOizVPhYmTRonkHKyziBWjcc0JGN7Ulep0RvNA4jIxJ0p/PpjcDUPx9DQEeUBcq1c9ZNPdapiBMHBW3+2AKdhuQUB8cM7dqgjGe2MfzVC0vF4/CUG6GWZ9xcVGobsys1l6QPtqnOzjnPKUV7taURkF6OSMcdcUVdbXt8tHAoDQulpnZYbShLkVEbHDQEkigAIT8TVronR0MapqPj3Es92mj7+UmUmsOcU1IymlZJRU4qexDZYRRx89JYikRhVZlJ7rzF41zVpZT//1qYT+np1t0fdAR+seGRBNz5/XvgtgaK15VOFny92+DQosjIi9UgAgFBy83G82Rnj7y5l91BEcG2vcrYZwffE1iVExIZewciyij9RDurledy1Umd6cqttH8Buf39s+KqS9YxHRfRVAmnpAdHbM4jYoS5iriIi+6t4/CNlMTBDK8LwuMQBbUvcHSQWqh0MD8uzz7oMC1J3UESb0T/umR1iYwt4SgDBQyb9DEKH7USdNIBpuX89F1QMmx/MsBkC4qYhILa/ZzEN7vuhSTn2v5tZDmCbHy6aFMAEAVRW12hRAdLAswrYRANXrhEqXjkXYjEEAoeroYAOHKprby3nX8NA8qHt/xRXsLIuI8BjkEf39x5MhWGa0e9sCvwLgYd8JROO0rzRva18RrudOUT90PcjRx7hzhH+bUH05d4kDS8Pmmno9NvIdAISVkeI7BQhz1u8lAwgT46wbB45GRN9xqPHzfG7iEAFAHuJWO0XBuEYoSESouHF6Pc+dAH07FhGt5wBElRxURPj30wMRqArC6pdF2M4raFycMe5R8xC3Ok1CZZoNQ/8EnLYlmhi+9qSdJSU6afY4A78CTz6fvLDN0gaYQ6wzOwKFyvVWUVEDUMLNuA3KozQq6RSs7yoIQOUhPAYBoAPLIfEmRsX2QEjulotvD0Q42aLQcwwAzdwYs0Qw2jsR9wnyAESEXAIAyiMAVACVRTeram8pAMLYqKjbRyEQSlLOzrAIu0WgLHXHHYJfv1pjzCUtRVj9ZsxsvzxCYQqQNxJhZvNM8Lc9KY1aks24EyuMYH541Sojrn9eQJw8nlLo3p4k+JqYvT52hXlmVwpvtiwpCFAqrxeB5CzttfQNcHdW1wgnvQpK24NBJwIQH/PPrQUgeZiCXdc72qKw58hDfb3pwifUcxE21xTBaHLctktAxUBERQigAq2Pr0EUGqiIiM5AALB88vunjkqTyXbdo0BPldk+m1U0LkZ1n3iob6/XTYry8Y9lEdErIUgFQJ3ZrE3wN8ZZ9x7jr2FWxpbzrgmyjBj801d2mFLR9YK//GdVBrSPOmAZCwc19hBdvwOxE8ddxcxmGwW8AEUSzSQyG/AbgsEwKkE0WnUpEF+/bkcA0Dm/izURptbKvQ4QOuxs0UY47s8GFKi9hdmc49DOqZFOCer9XlygJLVaUd5IrLVfFJiyJ8sQmqNuhErjw68xZhGg+cua+xCE0tHJsbBbBwAiFKZQtA/IOadotDLW6Sd5mP+cdn38fT9qSQFMBqkJ/XQzEdA6rCnfS2VLp9Gk6ksiasdLV0Eq6tYkCxS5cE6agYErWOte04jaPkCDffG6DgCgszqf+hSIT+5rNwhuvqJ2AvJqysLmBgJA6F85O9RyaLjdDPLS3ePx0wzV7iZjNj0QgJaKiHI/RACoCsLSMLNwwwO1xqMGqmwbFhG9NwIEUKEwYelYhN0CZQlzy8xiRwFQgr+VHUM2rJvLLntgmdHaOFZWL11lS5ISt9BJ5YfuZFFSLL+Su0I/vG58gZxs2yF6Sm7mgb4TlcDEFqJzAFip2qIKAL13zvtAzzJL0QQBSBaP6zBCsCMioi8EazfH8ruh0EKd4zko8ONU3S0CQOgKi/DvHMGVVTVb5BIRqjlYFhGZhACAquhbT95tEMp358MYfvxjVOwxLoXkZFhE9BgggKhIGv9FROg0QW3WBYUAprcaTZx/jMAyRggrqQEIxdiaHSiE+0NFgkvIYzV5AwQAG2tMJxAfuVjAr7E1nyqA6KHMOgQQPa2odr2xYZGiHwAoJoTT3IjaPQggjISF5ZEGaizM5l6H33oLC+sw0M5YJPudgDwMv7/HlFeSas20GOs4ABARSpJXV2HJzDVF+fQgLNcWCEA0PfzMYpSvX1X8G3kl+9f3+6f519CWLtEijVqsEINEijyss54oRpOmV4YXNaU6nf7Uh7w1du9ISuJo8m8/lGxvYyIPUaNVTT10TvdlIwawc6KfKoCYWVhmXsMYcZ8Kwv3DoUcBDD4i1wzwhuzdQx3LIvLqgUDovlVEZAI/2jkV+2jgj8crVv6IAmMjzOaZ5hRPBstJHT6trFFjp6Bya8fC9pyiSgLIi46WRdgcUJYwYlU1zwZJ22ZUXO4UdpwA1LxklFLyPDZ3+F8d5Xdwl6ZHTbWcB/TNvz610N/TXXFrgQBEK+M2EVC5vPPXpALg7MTkNQ/j9+fcAQEgTKwxdhhCbTJMEI7PTvT3A8GGsrA+GyAA0d0wK9cDqG8fz2MHVBFR3tKxiF2AAGDF/+MeA1SZHp35fXQ9xB+X+3mCCmuZiAjbAagCRPAJY6PMqr1SiE+WRcSsgdLpITsEnM3URCT1TnOFrCZSU9kd6sgnRq97B8xBb9ZAefe4rnqExb/YXQAQRpZZ+iBgVsj3nALV0/t5aQYom+/HVfjx3TCbaxz6e2v/eqySEFZWjf0AwR+8nNMZcqnZTvDnk7uKsD0nCPZm0yYq3VlmNtfIA9Jmgioblr3fURXtzc/3EMHZ27nXlMoQWm/x9YrVtzIAx0PF6PC2A5bB4TfTcSCHd5se8XNC9ePcObT6FvYWe2PLYoYgwsIxmxEIWPGH5yAQum+19zoIyO6GRe9JKBofltUSxI16hNxost+PI+Q2xtM25RAAUFXj7boVqr1FRPRaD/lUhHKip4qIZj0QAAJAVaRPFRHRbgW9zFpnFgE0+v06oVzzqX+bhXDWlmhi/NiVfmedQ5JswDyiNCrp2FzzOND+qM5BACp3o6cYIKy/hZgBImQ3I+ZTByG+OC6+SxAIW6fmu0SQNkbNqxYiAKAcgAiVE6Es5XyLajYKREfLnLk9hYgI+QQAFEhyBgGAUJSSmAJYWFV134TS8cUys3IbhHA5IDrYjJnth3fUBi1QsJn0EwUev8vV9dKHGG30XvGA7GrNDuH6tIlwZbroViMQWi/L1xoIjZwL4R4I2U2Z3Q5+eng/10mobkXEbkEe0Oi2igBERYiKUZGoXiP4hImIiL4TDz121r16oEBJanSakUc4GmbWZ4IK69/MP50ALR/P5y5F+YZlEeHfGSqMu+NeAoDQfTpr3Dl1iJWh86Bvg2VE9396oPB73rZsVyFU55OkBOjNGgFEOyMTAKgvHtdTnxCfv2LOCQBsvqJ2BIJf7TWiUMeysDuVzN+/vIqKFCaAChRvfD8e61poa1lEpBtAd/ez7aDS6OPteJPCb91/jeMpKkxuTsS+Wx6Qdhqoshly0woaJ+vsuQUC0N6ejqsU2hPDpmKVUON+jN9yUtG04hYlf1/af+X1wMSycAYAzcJYqQG14714LjMQst37sUkRpPkzv9QDFVYRs/AIHTYZu1FO+vG9bheIWjUU7K8+mjnxxam679DaiN8KAREqJcydsLh1AK3VftNHlTNlEbY7EABCxelDxe+CysRnl3HmzgmCSYy/lelCNraXX/SUP0GavvZpWTReNUve+vnXJDBTEVPxNsqFGwCgvZjvOQZAw/fj1gkMjRF3DWAkxp5jwPsUEdFdKD045+5tUKB7eT7WFCB8sDWvfmhgMxHJuiAQOplRNWcKEUBUBZKzYWHmmkdARKAqdiLeCWGiQrU2BTBSVbFrlO8aFhG2QxBABNDfSqBGe5MOWBLE7Kor8fcPiAlhwlzNsw7yzlZtFwSg8lSzIm+gxnANQPwyzN86QNHNGvtOAcJeWESyAKr9BkCBuTJn5ssjjH6ZM7dBsPayaszKI3QzZTa3JDAxLCI8AgHA6JXxqY6qKadxUxFhU/dABBByyaPAStk7gAKFa4cse84C6B6fl2lUwSjkJvirmqlE/w1ea2VS7GGd9UT5kyVcbGFGoerxOY8QTEf9agCrx2tdAUAvw8oZCK1chV0LAJaGWYs4hKzTTBCs3ZxabnvA0mXC9hAFZioi5kGBmWERto1A2whn+myGEPfahIq76+9ZGoh+bMaZPtJAWaq3aqHG2zIbGVUQXYyq6hyE8kREgW4gc0PQ31RbupSKK7SukxqJZJRS/DwB/4xm7vuqhf6erJ77iofK9vWegDASx9cOgEquLFrzKvfvV8YIdz/OHdIAWrvzTx8+Yegyztwa5C0Cz9BYRYSlHqCVtc4sQPjTE7XGnRIAhJ44sWaCKtOvp9xm5GF4N+a5QIUjFRG2lwjlCfnx2WacuUuCv8RdqsUIOJsp/pCj4aKJ8tZ2mYbm/xJ3AIHQd2KKOoDWlvNiCcLMGN5EHqqT5aoSyh62YDcHeaCUkBvvnXH3RqglKmL3IABIL5b5d0sBxJPNeog/n7yEmc0nCAB635efEVWydSpqxgHUR6MWqlx5oo8mqBR6X5t54qF5sdZdW6C/xL6V9tzxQPlDr3yc2wdoawt9ggDMXC5FDwQsLCs3ATS2/LrUARBq18d7AYDQZBa2ewQJUSfJQTz+mteRO2M1pxTh5oGzrxhhAuEP1qKcrogIm58QojRGBYTOS1hYr+QRAFAVM4/NNUH5RWadOTc8JP3pIMW/EWctiX9OBCprf3MpyENfjS4AEFps7C0CEJ9ModwDIX2quisAxDenlrsgQvVtCv6uQB6m7+w9zQlSDmrDToT8KEkI+QRQESIqMLq/n0sKtAN2HyIAhHwCQIERi4goBwAiQlHKSZ9WRO0KVKotysxuD0Jp+hcAtV4LFP4FzF7ObhHubXsItw/7XgwAI2f1lgJoOhbJ6yBUhEV0BQIwEWfv9VBbVFXaIQIi/PcJAMgjDFlV3CKAkxNRGYVKUwSf0HkLC+stp3htedgNyUP3xvLeRij/pSLC5tEAlSHUut06SqyOLQ+G/y6gvp7FJUBrVA0Ay/ejA0I0PrzPixpQVWF7B4D0rYWYcQCd+aSC8KeKiH6G0F7vP2p5BIAKEBUhAFSgP5/UEP52LKL3JNA4snkuUCn1t/tVE8GtU1EzRoWNmzPGfgaQjGddVLn1RB/tchjd7e9Lv15D+heTMDffWwUAYW7FPVKA0P2Y7zUFTUTzSwsAhmrNlhBurfcDCiwCC4/Qejj7e0xyUOumqDwm5H/J/7hLK5D8GBaRrBZA3B+2UO1YnXH3FghA+vWS+5zKEXaWhUXagconHttLhNIdNsyK0pZ0IRu3/9UgKkHyNLkdg0DYWNZ3DYhwsEVhO6CoepaCJwCoPn/cxjEAQl++1gwDtadR86yFVi7jzI1BHn08X/dZXjT9miV5nePtOs0ZGWW2pwDWv8xsznHIp0rSp2acuQ2CVG/VCBXGF8siIssQEVUSnY2qygRUgvCtLCJCgRq/gbsybUr/mkYXZ7QfaOfGbiKAsHKi3AChcjdsXlUQ4pOKWwdOtijMNfbQ2N+/GwjvLEvm5ggOjarNuiAvPqrqpeYRmg9rjM5A3k78Zx0AoXW31vAAuUSEfPIo0LQswnpOPQKAIgSAQsbTRah4Y/t4fKUe0t3rfRuiNOFm5G8pnbFEp21JrZ5KRfIvDKF9ey0Jwc56UoGfXYv3Ogah+ZFCXzVEGKiwfmog4GIKlkcSACiJAoS540xsD+R9q4iYtUdYGhGxnx6wdCxsTwn8jbKIvmoINrfnfRcVJ61WgpDxzCnxyhIoChA2jplVWhXUH0bVXGIPiFMUJaLQUf/K2tKnEmtaK1LYzKR/aylBeTQ9LWMAiLqH87EJYP81ckxBGCiz5nUQYeZUv0uEm7vLvucByc786gchGNCv0MGxiB5DX5ZF9FoPdEWZ3Tf+fPcoeu4Goh+XMbsFqIJ4svuep/BrR2edLFCasDUsIroIVUgAMDTCzHaR35A75V9hAqhs/jXfuYeOMfYVA9niws9LG0juTswSfjR/3GZxKLk6dc9mAPFw1o8QHloRw53QxrKI2YUmjoXdngKYPp1+p3lEVFF6t8z2WfPQOFmnXzEqjL6ste6QeEhnm1WfygEn65kDqIL+ct5E8EOdNXbtMP/9+ftZC7mStzUFawMA9qruFQO11eVzHxH8xvm2yQI9mzHrCgSAUJjmb/MYIdx6G1Vuh+IfK+bVBgVQ77Qi/GnCTFiEdRZA3B22COUJfcPMmZt5BP8P6HcFtM2MvmYBas+XPcn4Hf8yT4yxM/gDY+wrBkAvYTZ1AMlL1Ew9Oqu1t8gbFAJam8MsCgFxPUF+++d57CI3mmw/68gl/MFk8jmMQp8SXIWCVICIPGDpWITNjuATQChP+LDCrDpCWcKnVRHDHe+fzTQ9z6MALe7XPgHA3qm5E4ChiOibADRFRLTrJQ+nv1kbwdbLiNtRjk85f5YKEUB5zbsRc0wCAxFm1mGhfAIACixc5m1CJZP+tJ/Aj/bqnKxRPr5YFhHd/dPp78nscqiDUDk93sdeDAwMsz4DyiKm56H9c9334RO2loVNOyfu9OsoSESVgYqA0iiHvh0L208QAOycNW5PlSAdDpsAQOiIMLMdoTSheXbWneoeaLJZj6iC+tWIiJgf0L+cSOYRo0zdGf7kbdwaSG5OeRUBiG5OzC0OAK1xKwmdHAvbTijb53zvgEr+3zo4nA/9UO0lImwPEfx4fjgsYlTau6p5TBGcqbX2KyqH6OAyztw3ecEqcLIsIvqFf0Wv0lyfFRCw+RaSN4DK9CbvawOEyvp6WWQeoX1nOVUCc6OiRSW0cMLukSFcW++H9JfoL9SddUOE/tsay91A+tRCQByh2vRpmU3WAwGg9nzZi1Ca0MlERFjqASIilCdMRFXNu/GPKGJgjTvA3zs2nxYItbfq9wQAyVGKTwcERKev8HcBAhAdmXmEYHJTFi56IK/1MarrstHzc2mUxAdm3lHox2bM5hCgtRNROwcFCKACRACFpsoibLeBIBUhokBP2bONQMn65/6rieDslWW3Dv4ZzcF1mwEgdHJTbABCxzCbZwZC34q4C4FQfaqwORCCzU4CCsQXU7AUndDViqg2PMJIVcy7BvKWVkR1AQIQnSyLyJ081A4Zv78IVRJ8CixFvH2RggQABACNh2aS6TMtRei+jCgPA4i77QgFqZ7Uzfllu8iAytuK2YGAqWM2jwyE+OKK4rsCBag77oQwtCruSPDpZUSEhx7ik2Xh7xg+XVSE3Y9HONhM2OwRjnqTNipOZ5uvXqirzMK6rKY9GdURnFsj1kxRPj45FtFXGihO+PcziUrQKez3EAHdx6u4L1KgY4TtAQRCO3fmnCEY7c2/ZBGKRpf7uoLw1dNGIL0aFnbzAE6ePYQ6b6s26+QQKk/2zjqZBLD9VXWnGBXS8m3NtQ8CEE1P99M4KkXoZCIibHsVgDr5pL4YZqkAiC9ivlsCTQt5LVP4lcFmUQ0NjbBqPQDECcrbrGq3CK+/LGK7IG9iVVUmHoDW9rxtI5+IKiEsLHOmWS1A0+NxmaLKkVFmd6shmNRiUBUSGlRQP7xLam3FvBLvZZi5AqD6FH43PGzyQsaBtbCwDEKErB6VoL7eD6ikclWWFSFIn1n2XqJgRKia4pgCwM6yCNteAIgI1f4oi7CZgjwAhAprV5sxC9fLxXunJZWe3s8uANDLirknIExExG0JhD4b0SLzhkZYpR5Kj8bc6yV+GeLBrIU/pp0ElRNRXvzxeH03QxvnmXZOcSKAAnQREWG7KFA0ajQTjzASa6zOUZbQU5aSAtUTBAcf+WxrIGwMszknIMxEhG3Vi/bm/ycLhNdfZnuOQ4T/LxIKb5yIfdQAEAaqnNlzXAmQRAivLYsID6pofL+zyxDB/v50GFMFo99/TaG8tvp8XkOgI0bMCCC0RNm8Eg9Rd9CLQunVsEjeAAUG+93gD/T/EkT9STOnLiLC+gECgNnb2XMLlTbWp+MyCjSeVtTtCOXjqxMx0gPBTwjlCT37jymASmhjxb4SYHh/F485AMxYPx2E0/X12g/EZ1uwvmuhiTonkzKk6f8r6j8Zvz8o0A+YXQiNXjdGpenFGWO3ATS398siRoVjm4lk9hs+AaByQHJyHFPlyU0L+VRAqOVsdA4A6a74rCMvPjvr8hYIhJFaY5cIxrkym1ccSg95cUzLkvG0UWBwvH6lOVsnonYAAlBjYWZd5JQlogDh0zCzSDcAiiNU+qEiwuaUemVr43mHABCaF4kqTK1zRwDoGRbzBAFdI2qWXsWwiFmDAGBwu0wolIn/roQOVsQeolD7aVQmoMBEVc0lBkBoPFSE7ReCK2uNu6SolACAAj+ORUTmoZIEgAITyyJsD1EF/ZdR3cXwqV9V0eSwSLy2Y9a9tzMi5gECquqtQkCUltBDmc0dAAiNt4qIVgLxyTKbZxMEgB5GRHQaaD6kULQ4ntZ1VNzoNeETdsbTUSWIGjGC6dMyqxmDSjXeRoTdJwj/xI52VvNTG8DSspizR/uv2LyO8PT+2FcDaH2c+3RCTY9NqC4swjIJ1J/qfSH47VjEDkEeECWoOFo83s+vONATFTGPuJLJ8XqaBtC5WveeocKZZRE2lxr+bU2gAKLWTUVGQOWpknfgJ4vzvgOfMFQj7hgFUB0Mqii9OBF7jgO1t/jDAO6WWXQSql+M6ichTABVNLEq6j4QHL/VXFuocirWWF0EkHS7DVT5oSIiem+A/mlVTqg+lO01AdLxgz+rCP4s/xyywMkWXGgl9PfqreBbDeGVVXXHCMERW2vOUQhRb9zEn6RAfDYsrPd6AEm3FaFKehhm1lcSKEsABUaWRTJzjPFvbEL9o4W5pSCMDYudgAh9UfnuAkdbMEtJNDzsOyVAsxmhNP663w8N5Pb351WM/2JzPG4imN7Ff7ZAXlkiCjVfKiL66oIqQBwhGJ+sqjEj0L+xAKyds2MQsHPMbgsQVl8WfVa9rlj97ig0c8aYASgEgEqAJMV/lIjypplz2ShA35aF7TlG1RRInoF3AxXWP3/2s9hDbXd/Xib4h3YyWvUIICwds52ACAvHbO4Z/P7pPEsQzD7ChbmiNOk0/kAAUQEiqq5oK1Nmfdc8dDIrVoagSgaLURLAxoqI3aPC9PprrNsFQI12in9yZxcjn10VhMrTsoxAHuLJoh8FKirC5paEOo/8s49z/rM0Pp4WkUdYioiwTAJobc+7HipNvkX50ghEW6Nmn1axNswsMgJ5AOifWgQKIOrmIkUDQGV2vm5q8GnLqvtAfLUibgfykpdVtYsc6q0W9SIRFYnb7TjvwxhrvimkxUARoUrC6ldE7CHygGa/SShPuKmIiK4DIMK/uqciYrYA0GXRouG1VEW146H5YLlWAYDQZxXRO4U+jZhXBxRIlpfTNMppX9U8OqG6KLPICASg9TbM5l3LKUtEAaQXwyKi9VBJIqLQNfQV+of3XJl1CxBuRsSsvaH44wDSTgNBQpdFRG8eoSMi7A6E4LdT41ah+GKZzT0JdB2LsFsEMH059xziT9evKiJsG1UQABD8pWVmlW4FvdiqfqzRtnf3Nl6NVVTqIdTny6YH0NWqugECw18W0Ws90FYR0VcKgNDPRIRtL9BUEREdh9CeTJqouLPefaQBfDsWMbekCnQ+17M4EH07Y80SpQmn2EJ9tWnDH6uKtDyMWPMhfEKv+Lq8BwKAyvb9GFGoq8Jsj3FgKN67XawfoI0TsecYQQIAqqafWWfPNQCE1tOI8gDlCeO3dXpMPUTD1UcXVT5qCyCER/fPa9/wkIwOm5aH6GSLwp5jBIlQTltnLI9AXp2V2TwIfnJxIuaVBhB/Pl/bFLlEhIIEgEJ0N8ziNiAAqH0e1m1UWb9bZrGfgdJE5BEuvfXHoWGT1wBCqxCVPgjIbsKi90qAkDUbFEK8PB36yF2wta8RfELvytmjj/8ipTEo0GQRYXsi/EnCWEVE9EYVEAqOuis+GxZdgkA7y2zPHnbfovgeKID+2+kmCpWk/teqg/x0OK7hv9jenI/TKFATzxxBVRAACkyERUTuVSAdLydp4B/e0cmy6AyE6GCY7ZUAQu3m3LUG8rJcWey8GgCgHMJ/tHFzau0igINlEbOoBlEKn9B8Gha2X6iwcbS/9tr6xxd6quaZAcDIiegcBABJs9dEuCcsokdQIF0d1/UcEIoTUWVRpxUifLqMWbJaoHYyqitUSvPr/dwHAYSZqJhrWsXeMbO9/OsL9cUkxHeavfjUJARHz/zZCDRFmM13KDlZY+4NUACUREXKUpHePctODQ/YOhZh2wiA2oM6ql1aNTYbgACgs9kvEvzbhPpbWUSk8etLSWi/xewigNAVK+aReDha983bAECYWhF2S4R75+w2KtDsd6K8aLJbd3Nqb6Nqzx5h5TJheddC5Smn9lYRtocIlRKFmm8Vv/MzDHS1zLYPIqyNCLtaIF4eN02EPn5Z2G4p0MiMGB2CAvP3rzmkoWjr1JoRyJuLiOi7CwKh+bCi7gPVEkChpmMRNtdaFQQABADx3bCwFOnvsOxhmN0MIMxURLQaAOJKljNSEf6dIbgwLGz2HqEjyuy+PELfMmfmmsJfqpf1QQDQ2d8ui7iqVicK1UVE2P7EVSBpt2IAIAyNUbVT/BA/OxHbBQHpw4pZIly/fN4bQnBj1P7EoU8jwu4ntFIRkQfBn/2yiLzbIABtVRHziBGOaykqbhyfz2svgI0TVZ2CShE69zy/d0AA0D29rgP6JVa7c7Eg+Nn8uGpQID5bNXYJ8tBb9COEu0ZFzSL0oSwsd48wchlneq8j+CGi7xHCBICKEFFOdLGq5t0IxNt39l6gPKH+Mar2UwMBAMURfotTPUNp9aHmEHsVFWF7zAEI+YtX9t4Sgq2XVbVLBJOjM9Yukdv5XDZQMQEAASCMWEXErAJA2o5R6cyxCLsZfp+frYiZeVnBXJhDTmv9s2nkoDHuIH94fj2+ohDqm/NxRnl/Mu6NezECMxYR0V1OWaIQbaxn17/PKBcRPYIALJ1a6YfS66/5vac5JdNOk1AwiVGUqKpkw5Z3aaDL6s0rKjj5et/J7zNcjKhZwI9Gx20XPmGhzJmd5tW7SR4BKEAAqEj1CycsboXg1qiac1xN83PZDlWeRsQ8Kj/QGm/maxIAWrvvMQVWKsJmGaJVlr0mOWUJAOVRsXi2WzVD8VlZWK+1AM3O11WKSieZKm8CqF3y/FID/T5DMugSfEIrN2qWgR4bVtMNja2oeXVAgWS46FEeEKFo2qzlxSejmnUDyUVF2OT8wTqriMoIBD9J8HN945jNrQZ/8ZT3ggK0MyzsFqHk5Kzd5DW/9l/NvNGNH0vyCB9GRMyVPKxcxpnboFoiypmJiLA9lPxOpz/sLIs+miAAaHZThGljWdjOQl+GWczAIzTvv8Y9GyCvI0bULUDe3rGISBSona1150ZFRRf/aisnjK2K+0Y4mu3XNY/QVxV7rwMA4aIiIl+hL5dx5j4RXBsWNmeCt7Usoq8Q4tFylKJamux3g1BLVER0/LMNoMUnO9Ry9saaew3B0T07txHaG2Y2cw/0bVjYfEeBrYqwXpJA921V7Qf+OO3UqC4CWIhR2RN+uccJctsiIuYjVLzzdtbdUo+wchln7gPBsWNmtwPBH14ej8+oIgKIPMLEiN8IoLvZDvArfujJJifujZo56H3/bOoINa7O/t7qoWirv+5YRy41E1RPCBK+flmEzSj0T/lapiJmGIq3os9xDihCwebn9rOB3Hg4H6fIJQBU1XD/s26GPgN2kEP0Ow7Dl5EP+IS5k8y8myCPUJJQkACAcgAQKh6Js+7aCPQyI2IetZx/yyetFLk7y5L9DkPobPdjyiECKA8URYSCBCoSJ1FO9FRmtmsQQJi+mR9d/NuesHYZs/ZCfVU16xwgqUVFAFCB4rOnPiahmogI26MHoDYaJPjnXfv1a393EXw6q4hmrRDNz7dNLS9q9+rIT6ef4zhAmBhhMcNAnHnmO+cf+Z319yJF6Om9ByCAsHBG3TEOpZtXdhuCAvWLc/YQe4h+DAubfeTh04kY7v5bD4iQfzAi5lWHH19Nxpnphj6csH21Qd7OMotdBNJz4BQHaPmSSx//1icAlNN8qPAcwdpVWdgOAslVWDK3DD1URPQIAoCty5jdCrlxEuFf/sl82UaQsHfMJkvzRNh9eISrsrB+e4TWzTp7beT93wSbR2OfI4Q/fzkzWccDJsao4S7Czc/tRx3/90AqgHQ4aSI33al7jZE7v77OI4QJAOj/IlCUAIByELc6dRRMGwnyiYjwfykkQkFCYQJAef/XRKIi/3//z//z//w//8//8//8P//P//P/j2pqpET+3wg7S/6fBXmkuMmYSqdP5f8YZBlRv+8lopXaqqL8sl0wj+gsvP//gNrTTFmk7xqYA4yTuKcYRulCIKrPZKah+3HP1SPl4P0mFea6bpY2FP04myv61l5BgauopSH48Y4YbA5+We2+J2R/s3YUwf3VUPRic1bUrD25is/1kQAs368o1B9nUMsBtI4DbbUGZXDL+pDbNn74iuGuAX6ia9/0wa+I6eYYIlMv/ZSqH5YbVNQSe3alyvvr6ODzPHG0OS0DknmubMsf6EmV3tmaLvKJ/tvcK6BA56Obq/ky4ODjUAmuG0ATmXtZ4ujS+OTW/xgo2aKGagyff+2QT9StvTsf3OabA6VCW7OKAPSzKC59WMuodNY9iawKfS/VBQ1+OiP6Dz2FsZOqk6BAVKPkQim8m+mHMiqL9VIJL3/Awn7YP1YgT4y5l8BPZCLRum6HhaDqv5zYmDiqSQT4KSw9roNfAUgZFhDqZl0VVn4JJWBuzLMiIQjxKbz3z0wKK1E+LjTV+FEGheByr4FSqcHC1JUoWyOfqJzvrU9hjde+RHvhrgtKk693qBibrCsQgzhZKMKLbatYFBojTwAWWXL54MXcKcwcrDNxyiw9u5DmaVRVDJOsrRhHdiUQ7dTsNb11WUNq1N7Bmkeo4GctovHSV6xSat73y4iNvZUUnezuKML7KUA+UYvTnqKbRSdKpehroync3VvzDBQftonu+9ievticewHoZDsonU4V2lIIbW9A5BO1KJtC7sXxJVRUh14hxDyzJ8hsVz9qAX6Ymqsd15X55sQp2Ag1v7cz9xSd2F4CKbwka7AAINieq4px9K6DH67ctFDsE4ebI7CsdtNB4aSOKlKl9+7pDPlE15inj2LpQHZfcbomPlwX6wPQGGMqRx8nSnCrA08xsPGzpKgOfIW6EsXm7H26ik475lq3bbCsddZCFRLNKL1RCp9fGxYSxrE5uhp+jEq8Agfzi89FGQCPkFMCML22IfeSdxQUwqvNJlB6+BSdXPelAI42E4VgyPSOD+XIRDYsBNXL1lfMHvOPUfcDY0Tjuq5E3RhV30rs05e4ujXAPLgO8olWnMRt8GOTk5BGJijNPmfK76C7ffWRT/Tj9OTg58Q0e9vlB6dFUzJPDN57geF/G9wSFeskftRAgZRm6TtZf27i09ScH8ZlQNT2gfmhH/wXEDKx+YFMDJPIjD83oRaZ679NwLLgevOOJrwdAoW7OfkasjBQM4jTswvRnazcHCC8pfcAsut/bqELGSW3aINCAAevM4n2nGFV08sevmJsbRfMIbrWjhTO9lkrTM3NowkKg9QuBJQGZci1x6vzsaU6/WnPnqPixwnMUyCm75fK4vU1F+ZPLwNh8h6tFXWbLDSVtluQ3j3Y+OUI+pO1N+8jDF1g6pEC72A9u2gqVillx02w7Pj9NhaGH4+JUH99KITeazJS9K3Zu5J3/5qBEovyziaOPImk4EVxlJQ/wjgfmJumZJ5o/Wcs0YZ+8HlClM021xDjgx7UThOiO9h4inqSLpFP9CJ7diG7IYtxtkn8oKQNojhKKx9hAsiak1pRSID0tCHZTEaxcvh+6kuAaNpQvtURSmd1qygGkb34krt69YtBK04GkKunpZvnPE0cBZ9nilTjr6Oj4k5zKYR1r4AwTkzXM6X9OgbLtqZESlvSgbL6+tqCOUQztU8Wg1qDikuajsFvGJtkQQX9itkyakpsUkkmiYIUYS0eJ5JRCsDq41hhTAR1cqggn+ilUewr3BIVSqL2jpO9g1wORh7kwWn4i8Ylku9JrnBSCCnl9yNzxbIoI3pPfSXgRDt9vx3J3UX9Yhqv2B68PADMI3TESQf0c6ayG97carMEvwJczQWMlAD//DWB3LH2GhQAhK84XUMmpJUtzP7nDUPmly1QCODybaFUaFCnYhrHrypYAJZJ1ASF8jjMAe1tYU8/b4JLKX6fSjSRzlMlP8yhsjL0Q2MeJUV94Ers1JBPlG7m5uVgawt7/LWku3Fd2l1Kw8+h8jsYPrIlkUs03sla0g+yyAy+EYZWzaSMQL9P+DvQSpQQjv4ZhYYSqeOvQH0cQJqn8dMvZJFEZvENiDf5LkJ5Gv8++R2MHsYSbdSopAdpaIK6SuJnpZBZEplZHuJ6hPLe7Vz7gcRZXbJIdO56SnDZyRW/21DB0ZS/gpSIWWYeniIs5xHtxJhGHuGvyce6Pf0mqscKCJOUJuu5RBukVHil/XYelxCjJG6COUTDJm3NaOUXpSWqdzODXH+92zkA59EUcjyZxKGBMhfZbxVWBW9HoBDA4rQumSf6b4fK4vWpDpYsbDQUgGFq5opKlE1ByQuLAVBpQbmz9ujmAYRyrW4Vmqmwrf5WqUz2c1j3k1wJYTzKy4DV+oHCdP1YCP3U1AWil9qxYhgnOweis3m1VdSoeTfx05dAKXmrvmogAEMRkcrvlsiFhfM6WBbCxs8pKNDe7OMI/Io42Nwq2dWMKPfTEZTh5VFS9OJ0jXyiHScXUFE0byZ+aERCM1eRZqBSiD1Hv1scw+IOmxJprnjtSzZd4cqI0/dzlBLFeR9q5PHLgxBK7266oDC08cOBPDhWisHUJktKbFdzgPpHpWgEMNZPAz9inTNxlCgg7DsqTB0MklJ/3S8DJm9L8CsAhMWwApHomPQCuWyyvaOi5G13AfKJpXnUwW+4W3tNEE5jlKfrfe2XS5xpiUbJN5200AKYXLSVAHK1XlFw3QghdTbPjqJn41egcVAkUXmYZCN0nq8uKISkEZXsnHlEH1y2dB0p7nolnkRSWInG29Rc0o8EjH+MEW43hLKbvFWDTbWYdhTbI5GfZShPT2YfASDUcxHug59hQMlnVEDIDArgJ7kxYr4ZK3E/lhgYfTnKdk4e0Yi/jiyk+Y6TA5gHUNnky3YYaFsWnX+MqU42E8U+cbReKhXanoeQZnF8r4A/ArxLYqea8uhgWPcgz/xkil6moDFXd0r3rimxMrQ/czyBaNw2DkRaFZNQfFTWY6D2Eeaugh+S3HnPXH89AL8CQFQ80Yq/Tg7E4By18n7as6L1ADa20BWCc+vOhHwC/FTC34DIKSDMz37MpODyB/wFAKbHFiiM0vjOQjaGzcQjtI3jeigeL2LIfuVzkT/uSgGsX9RD9t/pQObKxnFQyF7ZLDyABvs+/tirC5XTc8wPJb+B0e0QNEXUL+sKPQLrOxqO+qpa/XcQlLBM4tgrZG7Z9kMAoZSw508L/HZMjG2An4OchMjBIqXxz4lilZqnUo22EtG177Ki/I7qoFRtF6bvpMkesrdZB0K1MI+khJDEAUKH1e0dACg9zTuZ4gMqg0bprCOZJ1r3bXt6/XGsLJNnDRRmadRTDG06gRy+7BCUWJgzOYSKpckWApqrKsKE1vPeCC2U9VEGicbbRMmKH1Bc0PTjrjk2fBmAzJlzDa8s3q8jYWVV48w0NSaRiFGc7hUcbEoqKn54M+YSCH+ObtaeQ0vD8qyAQPVlomSOj76sJZKH+cbTEBTME6PnmcDl200sNOyekEvHLRVlYxugMI6Tg0DUTLZW6ang3ZhrKFEg6s/Y3CsgiEEcm3sFAOhl2A1+rcRRWPxZDxQC2H6dSbR3urkGS9B6n0Ot+NB6DrSNBpTVVzJV9LL3g4pKz9OoTzbZu5JMNN+xedZAAN7DpksEB+pO8a8V0l7uFdYTBNUNElik1HrogGXLzYnC2Em/tjNykE90sviq8O/JTEMqmq93F8whmre1k1d5xOYWIrd+XCYhNAdZVBalv1G2dOmuOInnuRJCP8qVEB5uVhCzVQ0hLd3sGHIvttdQoa9UIAeXxIy+gVhn6QLM0Tdfr3ao9tQl/V5JJF9IPqPiFlSQ+5AQtc+xOV93yuLHAiwLbnXgKEaRuZdBodp1FUqiYSJ7APHdn888yM1FPZQ8jb5jLzpaNr2fK1tukXacwrYW2uS8bYwYPLeVfFVIDIy+aZKTh1yidEvnxTTTyF4EfT361ysNNC2LdryKsOgB9MtlW+LXMwBOQuSMAYcfB0rgqeHq1QKFURI/vEKqb2PXyCc1a1vYUaBvWGTsNSyLuf2S2ZJaAP3VQDLqBWL01q0MPV2IxDSNH2UN8wAskmdFAMr9II9nI7oOtL2+V/MuP2tCSCm5n5jr3LfArwBXc5WkJQaJebgSh4tAcjsVyKVnevDyTnFZmqsWmZe+pTAr/EhuxSYord4Xyu9gcIwnkNtJtqagn5sobYMAsEhy1w9gJDxFcOL+9UjKiOi3CKuPwwYoBLD/3Pu9QKkB5dpEz0CiRBxslA6RW7p/L3GI2i0KxePlvBuV/B6OnmYSTSTzVGHuEPB6WeW4v0O/M3GkUBI7G2X9PITdBCWo7yYBwvCjm1CyPrdBP4XYrcF6/+dQCW7pPJWIenT3Ff7tWgIl19NRQ2omiT27ilotDxhYG9fAHHX14XQCAlB5WpEuCISds68G6NdPJ1VC2N30wxJumxIxT5+hAEwS21YM4mys8E5xTVV4cHl1kE/0jOmBOdy8xpDjfidAGFu2VwIIPRb+LkCE5kcLt/xZwuq4H9qLpbgf20uozL+OnmKTPmugpqWYRulcIPrG7ECp1vcKgl+G8miTE0QGUC6dGYeWrjDPqtcXYbf0hipsDxF+/bRTc8VZS7FPdG67ysZeQ8UwvTvIJ6rx3Vc0bdpXjFJzUgSvr1FR6uBizCWQIBLlt8iLQt/CPCpepxB2M29kmO3xZ0nQuWiCgnmi/zaXaA043Jwp/b/WUDrdGrTlAEpOJg7yiU5sl5C7Nj57Gk9FhXex9uwKSqJhWD/VwMiwO8OPb1a57fVY2G3xEzWKTfAbVi2J1oD0tC7ZrB0WyurjVHFagebPEkouToGib6Orgvt3D5SUxDxJ5qDgdsuSsr4r8OOLyfsggND98BQEILlblR4oRPTLZFv3DdR0NymUELKIFPvE0XoFfkW0rtvKH+UPiq/YryXziG6UnhzIBPMAd7l0IXKdvsrfgPBlzB3hdNxGaVprNgkg9J75pRUhSPid6opv2LLFgKXvI9AYnXS6OS4LL4fbEqSJMbcSKLiBQl+2kV3kYcTvbglASQkW1ozgV1a521CoO0p+pcBJaY1K3NeOvBLcdG2vdVUrAzpXbYWBURODyF59iN7q1lSQilYSmb1AzQbKk919FKqJyCf1opeybQdm+j3Fv1J0H0GNGlqEgLOIYH35c6ogRsCpAIJ7MgNziE5mb5TU9TQyW+Hvc2u5AQIwFmHb9DoqYpZetRC2g18sFcppoVilNN0MpeosNQh5mrwjvxD/niRdBcUhwkNzN4E/VWHb8QYsontvLCJ6+GFEZM8zc8VhpqSTuJL0o/QduYpy1RHQuMwdKVo/BgHQy7BdBPpezeuIiK69hYrolX4XAW5eN0Ys36dK9RM187WBXHklfTBPS0zUfmogAHgof8eB5GPcNfbSQtj1vKl3wq/h1Cv2ifl6JLHqAHTmgWJl7NmHTMXRFGYcmhuVJggAOo9rA8GZcfvIa6qwnf8YYfXxegwKNOEbrgyIe14KLp3/Ai1xNPGjAgoycbKFm4bi7XuE0jRGmDqT1SIBQCej7+zHyG8gz/qSzc5rHywLrjdtasLn3lNwtXY0pI4qarbG3ELIpLS3rIMQKEYpYcrH2APWxpwAIF1f3rdOKJ4f2j97IqdYpTT4Z2KPKrdflohR+nAVY5s0wRyiF5sBKDizna8qvB1/zZFPlA/7QGjn/7okKI+iAKFj1KwAEJoiwl0QkFyM+VQCG6dFE/RThJXB8z5oTU8PC3v6yddBApbJu6yYR1lbMTd2IRAtm0w1XqUoDCa+AGwyuwGR21/VUd48b1MPWDg2j0D/y6IzEKHnWHQOIjQLYXv4NcLKWLRhPZlnSgjL+5pE7JNrIBCTr5enaGXvimJk7FgABlm0Vzj7ZxssRl26GnNDkcnduXWAtpbNK/YG3gIETByz3Xn9L7O5p/iZ24wUOBojepuxRHuL/7emAMyzI5TBqgcle00ovePJRz7RTe1a0bbZjiiWVIRXY+4UiP7QNIV8yMPSsXnCa1sWGZa5AwgYO2bzqPwyYVCIq45knmg+dCSbcc8L7mh96oR40QDLQPx6x4UyOEc1xTgy50Ax3JYUameXJgcwD3AotJIojjwARCsxyQLfk6tzrxQg9FwhZgUi9L/M5paUEOjniEvNMfUC0IjsRSwDkDgTFIjl+0xA73kA634AZctkO+YRzXdy0JAC0XrcapA7t4WbV03e8ZP47sxfx+AboXW7NuFnT2deFa9RSOEOoBAA+jWypY8s+MMmKAQwPmuDgnnibH0MlrncmdNzd2+CwjiN755CXwoh+y+T9vLcc5rOkM+yA7k6n8QAoXu/X4cpAKy+7lFF6WA7in6bJJKPtUjiOFGYRwhqsT4wly9SZfo2QLjdECIxSs1D01sGCnU7jpIVc1DdLVwBqHXcvPj6LzeHnx70u4lASCe70zgNDdTZ8U+TLdO65A4kdCMluH5awPrB5wT8CnAFA6YlGu/kALlqshUlUtGLI7tx8uAQ+UTjYdYEQBgI66vq1XNl0wKBsBe7iz16mkI/6c8UUEKkBTeLlBCuPmdK4CkB6G1CxcRGz0ACQKESx+kEPyd2SRy3QCAsjYi0QISZCrsJQOiLsuuCgEauwrb5O6UqifRpZC4ZRErjvFYZxc9N9NI4LuR1fC+DQqXt5cC/2Hc2zlkZLlmosJ17G8tsFwChW6iw6ZUR/fKhAMSXfWPE9Edf+R3spvbsSt5yX5Gcbgn5RO39tc0LrooRs7yq3piF3cjbe1sCoZWrsG2X/RBOvbn550hi9bmbWxP5xDTJdmCefplEUQMEgGMSmR4IQPK0bgW/kqtIE0TYeksAiN9GhCsl8WAY//A57EhGKdWOM8kogwLHp2Jv41sJIhXuzkbR8BvRj9Ozi2B9O4sDmKpOARCGImy7IABLI26NcLRROdKvDlYf76YSTTRuW+BXAIiwshFovO1U1en9Di1x0GmdnY3iwTcAnWkJctzJAqgMrqcKALoavVbgR+v3Ng0Q+pbFjEG/OX4Hm7G0u5Rm67lklJIrvKaTHV3F0L4bYA7Rik1D0xq4GoIFzdL0ANnptJhDTDL7LqPA5O5e1UByV3MlAOnq9n53PCBd75seaGuZ7emXDgd1UAhg86ptTyWG70sFV9aGinVs+opJFs8VFZP1NCAKDrbnBiiM0qSTA4S75xiy064IE8d2Feg6FmkAQJqrfhIvvjqTV734YpjNNUaYQB87yKrwt1NzrhkrTGE+nmTK6fqWEubpO1AMk6ipGKfxVDEwZk3FdFspCK4P2bvE8UmAX4FyZl610FFFb+TNjIgMvaljkaHXtcy6+q+pxB87UBnIY9gmmu89JYSzzYFytLmGsvqcQemtxxCJ6jMqK4bWbgSiGX9twEIIUApesbkzjwClchwlWwqcVPQZmP5hY0R06S2MiLmBANpYZnsCBaLd61b92BFw4rQlmSdanwOJJlxC5fT91AmNm6EGDjUgJQClEpTlt+1Cmsbm7EIutynp/VscnwUQyl4cx/c0sDaFOcJvOxap/2HhbbwHCISuFdFRycoae/E+gvigAKtGSIBokEi7S4EYr7vKdD2H9WbfUQwje2IeUb6nExUlTDPbh+z3qkI3UjTUmV4gvn6/BxCAkS3E9L25EdELCEC0UT0QgsnbCCdNieTHDibmOMmlALpxpgTQHb+vlGiQmNOH92wE5gD9LHpQo/WmI0fi4etVAb+V47fdRQEMThMKoLpdVOFnubVX+C1TiJkhGPU6CBJauYrYqfQxNEl3hKmTZoVEa0TjZS7RRNTzZcTix1gJIjWodxzIwzSONGGdkpZoRVEyzcPqK27i3yd0r7sUADqX+22RAaD9116jEDDc90PdwlsIHGyGn0G8l6Km1qISzXMluMlVV7I5fxmCXwHpMJYYgKKJdmrOivAaDxWkYhhFyRr5TruG8mh5rHuEZm7dFgSgejHfPQAk4+15HnuEhXXSB4HQyr2pME5SOwE/gGzpC23gFEQMDCU4GCdO10sl7KQEeNuoBXlsk4svgZR60TtdgDnfKUCYWfuIA3OX67MCEAZGpGiDgMpVzR4AofrWwp5jAIheykXS+EZUXvHbPsrgh5EK9cddULDpclcGDG46VfFDOlCu4vheBgVt8MhMW+G4CKc3IzIAAVg71k8TRFh+me0YRJg51qIDIgxEWPI6CMDMqju6eZ0simPTk+rD6gccSvH7zFz/ra0wReVPY3MJILf6FNA5jCB782PbI9TeKjoDgbD6FvpuBByzm4JAe8vspt7Ysog0A7S8n0rIH6VRHGVjYWCSuPX5Rmcnh/WDH2Pld7D0zibIJ1o2nUhwoBxmyTuGX3moyCQwVLZXAghTxyIDEOKTZf4uvKGKSN4IgNII4lAXvOLIPNyPN61ECWHnuQH+TqDSdARgncR3CgQlZ2fe2glg7zSvw49OVvogEBofY28pCNhZZjf1mh9lc00RjoctfiPaaRTHcTdvEMdxbFqfaChFtxOJJrJlqtAjsC417LdUYfg71O7OmocvgJDdo4l56BGaT14gnAwa8Amj/DkEgTB1hb6bIBB2ztgxKJBcNJ59A0p3+7a3ALkr82382YIVteWyJVkk5m9TxSp1PjU1s5SIvn2VBKLyikqasKwiC8IqMTcoA0/gxr615QFIa6AQ0N11EYwmxasBQnq2csoIANL9fRUjPLNiTPUb0Y+TqA/mrHNmny2qOosk88TgpW9PJZq3vmZpnxVQWCdRD8wBhqkdKfx73ACloolGZEeK2u1YykM7ya5U8ueWWGmBANRF7CUGUJk/80/HA1q7Qz1Ad5XYzL8BaM1aEOff4sEHGl6MQIE2KAC+7c25BiVg9XWjYm1fVcUiiVqKcWImimGcrqBsjZxCANQ7VJxsNhfYnVdQ3jrMIo9w0MKu4C9U2NQAoMlinolX+Tj3SLyIVWK7B3MAUGjmlD9o0FXGtCnZzG/aYFkIx09jUFqnd03ra+dArjwORD7RtLaumMTJhnlE5ZFMilK7UWSObp4+eXzdGOQ9DOsp9nYqbFveUYVNy5srF3bg0b/lQOTBxskanzQZGGrNVLFKqf3PVKIJOoG4WB8lomdmULLiQ+s6ULLfp6IZf01AYZSYKyjR05BFUSIMhM0pgnc3bI6RtxZh2wAINyNsBgDhbETMJvAQic0c+f72vfHyEOzfG/ejRsh50QOt6clZQ9pdSp3bunL0uZEAlBzN711sAuQT4zS+QXZ2UVOhPyfpHMqUSmbK5p7BX5vCzeF3lfWTehev592MiO49zBzHpi5skjhdCp89vbeXOwW1BObrXgmgO/qYlwHFsoZwEo04WynaiTm6CoJS7XoqKQb3LwrNmM0pCTQe//NoBOjnawbwV8qide9oRMwqEF+cXcEnND/KkjdAJfS7g84acVGXzBPF/UCijYwCV58zJYSkBGCwDBRjEz98hT70kU9UXlbHIACov437BHlozZsIJ8N+O/FqhXEbAoCRCttOAOmwRSUjw8Ku+4dfoWmxI76fCEDdS7TXeB5KFonxXVtA4zRXSJr7gwNrrp7E9bkGCkpiYDOzC2H8+E6Rn6QhRKviUQOA9v72OFYARFdjD1EI0ezUCU2dN0Q4Gq4bv0HoJDeQ/DCSelpwG5G5s4+FAqIiw2cyRj7RN9kBSiqGSWa/cxBHyO8+eeoR+k7sAQRC86P2CADp9HBZRAHaf82nCQJhbFj42wd5tDZatH+CbOskZE4JLnu5ZJNemr/0peosdxzFOjHXUCETrUjMR17R6GA1S+GvLZt3DAAzx5o3AEKzULMFQGirsD0EWrkwF41Q04jY2w+S6ozWB6Cx5nkN/AqIOq6StMTa6vwwD+DanmvIbw/jUC0TkZEX7Q3rpwKAtpaFByDQxrIWNQCYOmZzT+EfnXx3CC+MiH7qv3vcYdvc4sdUqWxquibbgULpdK0J8AcN5Hde5pMCdRWRiYeVZfOO/o3kpiw8AAFLy2KeVRCA6jE/VEoOKqJFD/RLh1TgYH703pdYUfrxpgR5niZHCQDl7Q1rI5A+VbQPgNCzYvYgADPHmje8p4rI2Js6ZnNPEUwqMf7G/Z86/mIg2fRtr0RNh7CSqrKvcpzfAUJ2DyZ6UyBRHt2FbT+AL2evEXxayzUFQKjn1hxAQHwxrNwHEbq2KOwJ5BHibr1kaUQ0b+CXrr8cGiOG664S3HA/BPOIZnx3Fd5x72tcT0Wd1tmb6Cmp6SZsuqF0e2ohTGmSRfD7t+uoCgBzV5h7BADJ2TnuhVB5GRmEWobZPPBLk9WHNDJBafJzYI5adthQltk9hDTP4pain6Q9hbs5hJriR1m6gpwsJxTC2kpWCxWPd/mSPES7L3dAqNxccaoCINT2pylKD4b1kwVo5xx3f2pU9LwlBTCbJ+bgpYMfp66E2JlHDZTSqK2YxclEIHomW4BSUC7KX2wCxebXTkCB+k2myCXqpAHCwqr2QSCMTWEuMQjZ/MWfDggAJsdDDQQg/Rhh2wsgmW06+HVL3E4kmohXuWKf6F13BXf8eh2XAOP07CKfaJuHp+jatAsKszjZK4LDq1kQHEL2nmIPhHCtSXlYZeeGB1xM4TYACAfLkjdAhKmyvcQA0GHnzglAaOUqYuahH58uaBSAxEk2e+9zMCRnmzOwBOP1koIzqkFbK0Hp7tYu8omByVYC0c3sQUUNoSw/1ZzSHIAoQOhlxm1AAJKrYbsj72hZpAkCrpalaIIIB1uwbYP+Cyj+4RFaSm7VA4UANm575oqDTDn9kKJ+gt33jtcq5FES3agYLEOF2nuK3VMeIUxYuMyeCP7FFG4Lb29Y8gYI6d0w2zYI8dUwuzEAZB8jbPsl1f1j8huEtKdz0rJHKsxgktLhxwws6162Yd31IRKd1O4gN8zXWkNK+HJmBMppLDo5y9/MniMAhKUVMwCB0Fd2pwiE6GJZtAVCevdmHs6mkKISii9O7AT0AyTy9qa5EsLktKmE8HSzLAMQQ6YJgALgbe81xSyKL6FCHU8HyE9P/59nLTQWtj8gAEgOvI7g09a+GiAQdpbNowICLpb5OwQBqL+/ZgSf0DXM5hbjBygh0+1KpBCHtZAQ9c+xRANE+ypT+o9tKbReCE1sL4GiPXakooShy3TpAfHZZYMQkmqEcFzrLFoAoZEbXQIgrKxo0QigOmxSAJg7Fv20QP2xZVTXEokJFbdMBIAIa7SoSTYPPycKPSqyEX2tkE8032ahIMoB5o5lF0J92Uc+DcZxAOlTuQUAzc2dbxUA6UNkhdJsva+H1pZFiu7PkS1dl0o8iBVklEKYOSWEyx9DpULH27JinpoHJRCFCGOX6TrHp5y5tRsKLC2bo4euEXsEgGx2uiyjQHq35p0Flt6n/dukQqObkbl8lpQRtUVSSfpFGj98RT6h+f6VbhFCOM5VtBo4q+ibvIOKcAoAXSNuHhg6FrMAQBhYZvPI8NuU1fEwMbdcT8CvqpuUiHFqrpCj5SoNABj8zJAfb346IK/Owrbj0VVFc49uKiJNAPRQkTz2dkbE3EAAsodhswL9NqnQzJtbvWqsJn1wMW3FzP5+5IFQcGV/Twn8mtf2sDOs18BVRbgOIGER4YZ3VBHzDKD9tvsEv3vZr4GCTUZUsnkC8/wDDn8fXB/Kk8g1yQNR3l1ZuiAA0UdFskDbGDuCvzSF5jGA1JOWt/fuISQJfu1S8k8zc+2XJlgWXG/U0JRva0fhTIb8FWq6itzTAgCF6GHY9gMYsS4QHj+mFKgVTiYAEOVe1Rvbgs0apZV25XcHq0nnoG6C0vifIcxT8gZliZh93amYpLaq6Ca2AwrsTxwNi8JOzTEq0Koj96YZd0LUG8QlQG2QeWhvj8seAGxsYY7w07dzeTVAaH++7yaodBqJEsL6Vd2ePv7PWrNLnxWJC2ubikWUTgSiZbKBpvj2m/sIE8avczNnYX5/IpQmtPLvKQZAqN6/OgCh8nT5vu2heTz0EKarLew5RulejiWaYNsr9DBO1E9zgQd7CRTL7OFJ6GfvUDEx6UgxTaM9KDiLU7kgNJqUg/hq7RYUiBbrOsKExm4QAHauMGMQCCuXmysBiBe5fLogAPHmfsgAEDqFCHPzp864Jlkkuo9DJYSrj6WAxdfOEYDyfgClO+lAGT4uJeQTo9RsFM0kmxdVkNB5ijkhn5BfuVvuBLK7YbMDAdHRsr5qIGDt2J0BEMbWuH1gZET42/0FQhcYas1MMkqp9zIyF7e94E7XJ0ppWwelP+p5UFQfURvy2JqTq6g0nGLaJQAKEAZfNkcQgMpd2e69+GhYXw0QKg9lfdVASC6WNW+Cynq/QILOsyFoTXeDyASl1XoCfkWMnvvKf2m9DWXfmr0jlZ/ZGPwZQGdnV6AcqkcBYO7YPALx2bAuPexcYe4JCLW3sn6aINTeyqIDr1uIiLZ+jrjIXhIpyGNY96NcsU9cro/KAF93Ev8r9KVX1kM+MY3t2UGBhO75O0UuLe9fUWjyZXPzCBNrixoAwsCIXYMIlYeyvuog1D/KYkYgIHnYwl6T3yPeHI9aoBDA7McEFGgin8VlwOJ1qISQ1KDSdBRLYy6BwgsEAJ4LuWpN0vxG6KqaTwRpfugj/PHeJfB3rrAngFB5KAv3QCD02XIPVCNbMt2VgVNQS6DSXnzfk3aXChebvuLqhEp7hRMDkx0hly5RS6Ee2LedfgPwKackBAIohHhxnhEI7Y8W8xgANo7tLUWwOWnixykzyRdOiTqUlpEUQkcFDtZ59HOsVKe7f3RAYZSZCxWkNDaRmQuoEfKbx1MrNFQ1PQBorJ/mVQeh/pDPDBRAY7eu/DbZ0udUfMtJoXWLhmQzajsB7YuiiuCEkLlM4rdG20heaVcqfDbuGAMgnAzbPQHAwrDbEYDa4npbxoFqbtw17pRvZVCI/HlmjJi9dhUSlT9L44emWpGc3dfRVXR7Oa23ctYBAbgb1lviPY3IOwUIS6tuElgrs+1VC7XQcpibO15PlOonmiaZQq7fX20wB27DQz5h8OIPEEAYvJVtr8A1BhC9jIhWQEhzw3pLvIcR0U21BDf2ilVKnZvCHr+Df4DFAGgOHYE42HTvoMijNY86vE4mGXdAIHybzK3hP41wnoHQLlSEMwD08g4NxPsZaKw4ycGvAsyar3GXfVWjrvudd2suoURSqN2MZH0QAFytOyfw2y+XNUEg7E1hTzEI3T/g4W0i6GRgbvI5sUeJjaiM6GcHzTB7V8EcomHiqqbapIrFEJfYHH1JW7saeed0z9ceyENv1UKw9v7XpwMA1VxZX6m3U2E7SBBWHzxhvfvetacPn+fgV8A6jXzFOkpbiqWNp2AOUX7FdVXhoySbgkJ5Nc4j/BhzryGc1pBPs0PTQ2N+OM8A4GzYzeHX2dhHkiAVvepKRh0VVzhYT0ZxGXG+vvIoX2VvTzFJ4ppiYY0EDFOz0nRGbkHOcORBdLZfppfTeesMFCAgoZyF+75SAISmOB0CqL30c2x56F72DWQvL4bGiMZdSwnhwWainG4uWEI0Xwsog8uMyCea71dNMU6iraL6TsdgIVqi8ozNEYRgWkc+rWQfBZKrFjoGgOhoC3MHAfFCpWh5qJzyY46QIfNU4J0JSoPPkTmfKf7s/diVAK3rIfgVAI+an7YaEIlmkvYUkzjZu5Bdv6DaO7KXPIDyOlbsNFDLRHTjJXdl80oAxFdlcwYBWDnRHHHBoUCc9KQAZoeFMWLy1BYw/zGB6mDQGS0cxSyyB0/yNtdGEUDpbsy2SMEPw3oIvUR09ZcIQMWImHcEICtEJEfCPm2YY80pITxfr5RklEjgjlD1w4bNZmAOMUjsqRhMs6iO/NZXO2dtWE+B+GjY9DzaWzZXAKg6Fn2nIDQs/zpxqTkO6qAQwPx+CJbRhm+yjDh+nyohJDUYzH3kE/M0frAYp1lFfnr/vTdCM8tmG8BA7CXy0FXVnpexiHkRgObvE1Djrjgqbta2R6l4nipGZ6898CugmEYS7f2UUIxTc4PszLahpJ9p9jsN1V9GOyG0BxHCg9M4IQDRyYpuAKAiv090V1BxXosVYpkpwWUnhvWzj7lSlUTtaaeKTpKsWMiXsv0IoXMYoWC9EUJyNBsCofUp8nkVQHSybEKFHmrSpOImCtCIwsJ2qhh1KZXxY7t6QDT6VKyMuXkKMm+hmZvnAKAQYWp1CAIIG8tmBAIq24/7NEBofswzVLZkBJWpFlYie5lINED07mqKr6Hy1ya++Qptky23QSFCfv2t+kgAIL7Zwu0AEPY2t1sAqKwf1fKtDAoQXfQkm6sfI6WqSU0/STaOFOx2tRyMfobIT3eHukcYFiKfNgio3A2bYwxC5WnY3DIQsHdBE0JKcDRGjN4aEiuEGr2zuVSQTyzTdAMKgVBw9WuPoZGI5B0vudvC7gFC/aWsjwoInUKTaNGSbMaDqAxwGSWr1DB0NOxUVUGg+5XO0dpLjHzKq12NvpuBzkf0VQFA2Fn+TkBA9jBsrikIQ5UMosLHubnp6wgsC6IPbeM11XSzeygQ5dvV03j+b3BP1l6SArmE5kMl64EAYP/9rkEAUL2ZQwKAsDeFW4EII/M7SG+l9t7GISHa556Cy+wVCMQ2jjqgMM3MQOEdL2XwTxHbJNmDcqjXCAC1i9F3E8FsPksQrrYrHlB/fe8tgNApfpGwmlqFFMB4FMO6y6ns/7oonI2NJGCVRC3FPI2mil6STaEMK8UA5eutjfw5PxoBwsqZH5QnpLf3yEPWvz93ERBdbJBUJyV3NQUFmkgPCyWE49chWHbIbgr00q2jqEV7F/lELzFNxSw2a0rB7d0BJWrgushPX8Z+BYDka1fLIVRntQBwckaqHmbG2BEIzWf4bNmpSxaJzn8N7HkKvHw/IsqG0UzjNH1ofRdKdzaDsptkE+QTY5PuNYU3HOsxp3j6sp96IGFlO/Kit4qeASCKE7qQdXPJPFF7aJnrXuQCTj6XEFlzNL/W3R1LioWxR0Jkf+EXpKyHAlRgpvydB2osYuZeLCL6JABJ9hA3A43GAKbOGk8+Z0rtsADLfi+pgetBMYjTLZhDNJOveTHx2bppkXqIsFc2+8hLWNkOvahQ0bvXjpPgxl4AMq+ZTE5bilWnuOONBELmb/mD7uFehTxJozsLQev4FRXYvL4CwFbZ7MjDyahUPZwMmzUA9EqF+TdQ46/jYQcUzBOtt7m58V0D/IroXGVSaB0Xymmiqw0oD0QIE0ZiuQ/yhka+YwSrDx4h2GJ9ZV69VLZ0XvvOeqKgHiOo0WHdBAXi8v2grDqJVpKuIdejZAQKSmJh3+k4j058SkOIEpQ25/1uhl+ucSb5QutQ4aQmhTDySggP14PqAZzJLhSIjUmOHmQqlvadTfIQdVKUV9fz2CO08n9d4l8uW0YtbewUkGGJrgagQBON41RJ+x7VTuyNuQQKmRjEsekKf45OX7f2EJ1toRPQj5gKjd8mks3Fz4FS2ZSApUn3rqLdyQOcY7oj5Ho9QGgpyzsBCLWXsD38XmKRwPps3QEFVpS68oz7YA7RN1FfgFd1IfeYh6H+l/XTCLyV7fE3UiNRjLqCSjr0ME+NunKgchwVwYJQqkJ294k5S+r4avQdBbqu0E8NACp3LczmJ5J/mBsjBs9tJbjZSVcimtHRUfibpaP5ncHFmLuGUsYiXAvUctEHgiun0v6JhHnL3PJ9ItEaUTusKYuPa6DYpO8mKAyytKXgfO79AnefmLNGGagiOLFFN5TtHmP8RnY01zjLpQCuPk+V05dHBRS26butmJt4rOjYryH4p4iBNT1F5Txz8uKr0XcUiho1lMZJZxD9PmF1UDsZg4JN3/ZlABxMUhrcdcASf/p2Q2G6PnrIJ/rm5kEeZUlbsYiSFWRncy2pKABotSDzkmTdPPSKYoA/xhQgjNmsf59U9eHQXGszBAXzxOXmWMBsvYIYLepgHoBuDcrwtHcVkzhdgDlE39o1qCi6EkfJhnmo1fHHxWsWQPQ2Is3fQbGXCJPUPuwV80S5+jhRklGifKvjQFl+vBuKaWaummrLKaYWx2brCACFCH0x2gOB0MqVv4PfKnQhO+qBQgB9L4JxHv0clgH9m46yLXXUgRrUahCJcWpOitLT9orxoyib4ueEnSnc6g9u+FsFDNm4CetulCkB9GfrmYIYMjWDROVpO5DH1hzdQjBJ72WB0Fk3So62cFv4lY+y6fxY0Ul7o1wyTzRfJhINEO2TRMDotSkFkJQAlOtQLuL46ilcV8FqgHxC42WfSWhrc7cEAcDOuEv6w8Ul38BvoLZq2iOV4ror7S6l0/eJwggVOUjTvSMF50cdzNMS5o51DPI6/OV2KN4ca6Bu2TJKtS0puXEhEYFNnAmVOP0YK9UZnJ5N5BMLm+yLWTvWhQdgfB7hj5UUReP62jhR2EykAHLeBAWb2ShSWqukiuCXodgn5uKjiMWXZVICQjmN3tdaxGzJQiucEtzofWFuvu6DXwEgKp7YJvbsKhxK7cJ+KggT/lhhtceiqVAeNM2tPkZSCMni+Aeo6cfpHBSq91spB8Dw1EF5utumob5l5lyKnGLVU2meZjBP3Q89qn5IqvTjuQuR68SupL/vjNuERkZEaskd940RzYtcCa4/qktE5TjTOMMONb/TuxlzpYLK4kLkkwU6lqWoJX8zNTf/MZBoLx4Gmul/TlTMvuKyop2ZOih1uoWRmqsxF80fqyxiKoHkZdymlpBG5vovDSmAs6+5RJzMrQLmAOskaimWUTpAPtF4R22wGP0itTPI1K+XxCySZwG0rrskVlhNg7pkNBIAJjRBgWgcZYI/t2dPsfm6+sgnxtk7UMxt1lcsbLLWdMdOQcFh5yu2+m6CPOys21AIESGKqBA3M3ONhw5YZp84XS8Frv6zdQSgeh6CeYC/6kNZfd9KoLA0diMQDZMMdZT0tVy+y5L0sM9QXunGSkW3MnOD97m5pOPLwIv3U7AExa6G31ktQyRaNu0JwCSNjxrHR5GEbiF2T/gvrDy/UdRtgEIA01UO68v3PvgVcfA+xC8nVaRKz/6QkCdJfKLkbs81sIhWLm6DUiojLFxRLj5gPJ1ItJF6BQ7WebVZlAG+cBJ1f5QaNdG0yRjy0H5tUCjdrQ5AIVBKAdDecrnQHrXIKYg8bBPFc0+ymQ+dgOXrQAkhKQEczh3FOjZHvxDUDxOUJwdZ/obRnTMhE+dtySil+npggtLqo6NEHQeV9v7gIrYHV+Jw6kp/HziRukdYuKJioshELZLaiT3d9VITsjv5GCnVWYu+RmAOMUjTRTEryzLxgOrdVcyWvqZ5ialXOC+EMDYjxaivC8TgNpdYFWh1XcjrJL4VN8pDuZs0LtYGTnH9VEFEifaSu6lEE9O7NvgV4GJKlcxNYgrqZ7GpCx9xHWRHKbT+eiTtLgXi/H2qBJFbUEUWRkrENEsOoODORo7gH8wKIj/hVGgM86Prhj1qO0uVvnS4ViFPbToQ4FUpoddO7NVBwWY2TxSmCCubieLP2qp6RfUHXRcy77HdO4Ka93byLwtz4396YFkIXc2VEcOXY2X41ztQ1N/XEiiFQVGElq/YnL0iqq92Yr9hbvjZDcvweaKcvd8nZVybpKZYxclQICqXe7kgPc8mWfMzVETFKqWkF8EipbTvBV68n0XCyeYuLsM8s2WB2ETJSDHJ7FwTVgpCO3o1kE90nmvmOfd0YRURVxNz2WGmhHC5GQs425x5oX+/gFi5LhwB6Np3XTFPoy0olF6mpSEVqJQgB9ckHoDfMEiXij7oGiPGb1NzLlPi89djpX3TA78CkFGB40A76kIkhmkygjyyyZqKgonWO062wmfkyEuEueZty9z0pgWW4PDHRGFM/Hqq9P5q6ynmxhxcxWjmFdOOok80DNnhCBRCmMI4cbNZKdkolqBzCz2pgetC2UvSBfKJTvw1A4so362dfpyhD9mgZS45b4GCTZ9ROX+fKqF1j7eyYm3MiSiQmMZnHx+O+zUpgMV/puZm703wK6CxSBBwQrGx5uQoyhXmASi5+GzrY3vLNhiS6KhhzZ9uRqhcYmCzNSjUIttSfLx1keZ2ZZpKzsE8JatOwXzdAgVWA+DMtyXIiyQ+fs7Zkg2JuVN8N5aGsRTA6LSncfeI/lWuRDWiiulCdncmvvEzD5zW8IprRFIIKRD541TbWUqnHyMliNTxlwCUuErNCcow+KRT1b3UhEosXjqB+YP8I9pGFHcVbfOqg5+nsliy6VuuDEg6NEdQChyN06lo4Ls6FoVGh4qLSdf4PM2rKSjQxOC1A5YF0aGcaN1Gmk569hXl49ZV/UrvYeze+0B1MZZszjYjifa6Vz0wD9hkL0exjU0DzCHmqemBgr/Zu4VRwYdJds7nKTjCenGSwbpLWUZcfJyh3NmlkavYWFNXbJNoquh9JX0NHZV6ZdMh+BFq1JJsRt1ICeF001Vu3i9YQoySHZTNaOchn5hkpq2Y23ilcPenMiiRCnc5IT7OsjIo8XJqjOhvevacEl28L1kCTF9mYB7gdkINayGU/mZByOPUTBVDky00n6mLxN7aGtE/ywR/+jGH6Joeu19+vMqKdWx3LuRKU0N+cBo2pABG7cgYcPExFdA8KZRtqaOKoAZhCcqZSdfIJ2r3d1fx8ZYMF3EylmjC9RPFKJ3Ci81cASFT+68sP6M2KMwyewI/5bgAUIu8AMROsll/nYHGBtcF+BUxvMql0JZrUC6T+Aal43622ZYmdC4HoGCUUnbTN0GF55tJWXUS09QcQcHf7Uufc1xiInMKmjmCytzB+slmoLAyyrdXE/IkzZafc0At/QanEEc1KYBuXFNMEvVVpOSjCFUclKE8xPHJ+5yzZU4lanvFzSIBiJ1GY0T2MpW4MxSA5aar/A7uY3N0P/ToLqWCGAGPjtuSzdXnb8YozWb4eM5UIBoL/3vhLlfBx6uDjrnOZR386u/8jytzq/VU4u8G/wRRESL6d1MrNde7bUq/zwSACgCgAkRE/zhKE8mmy5yCCL/LRERFWv0m8qk/G8YFfPpnCiuJ1wvQFNF4boHC73n09cwei5xoo7+6j3No9LWo4Z9GGHXM9f5r8BtG6P1cdo2cmVUxMgIBhJkRZrcIRWs15twE/SOlOhMnBTBbZvjtJozYWntvgADQRVkyuw8dLIvIiQAQBk6Yf9c50XT3Wf8HEHE6tpdS+T2Pj5aF3Sd8uokI20NoazJh3SO4cCxsf2L4tDdqno0cAkC/TOhCNmqYqz0MfvcadxVh3UcePh2zmGmow1aM9j3C2GWSuR2CfRURs8sBUsJPE9qj1qkJASSar9PfveRkWditEIz31pl1hPDw9LpMyAOSs1ObdUHeXLwzKNDcXw/NXybbehNbHvRAgdYA109+8wgTVTGvNshD1Bu1CflJI0V+bfWz7SDcVRUxawSrD6fuXQX9SElM9GuSI8zHXvkjHF1ePy1USwAoDxQR8teicq15hIktuPhO8IvV51TotTalYV0KYPQ4BgX+AfxRiqgQAMqh4dciRmjuWAo3LYnavdrvFHqoUZ/S1Esh5Df82RJKUoySFGoWhlVbIC+92G/e+5lS1cxj/DF3vjbTKG94OG2bBaIaIXfwlPcQ4YVjNq/4BwxD00qVP11q9+K84cs53QUIQ7HGXes5o8v9MshBVktRehYRyRs/YELrr2ca/zQIoLz6mbPnEBS4W2bRvofoYDPO3CzUFWPsq52DKI1L1pbZvJOSpJH9CMJRV/sDJeRGP1bUvNogAM2Xioh8BtKTYWH7EdoaETFrUGCc288gVHkYxxP4hM7byIJ+9pDSH253tV0koYZhEXbLQPxUEdZpADuXcWZHIG+vImx2HqGrKqKNALLptIFw+jAstgf60TPrg39EhFHmrDslIev9fgTwYVXtPfEIrYcz7jtGcOJYVEahnWERMwuBmqOWR+jkImzn+P3Jijo/+ENCfLEZs1sEkpsRUR6EaH577hrIrc9Xoxhh2qjqJ3zCxrKwLUlPqsUMBEL9bZi/ox8gVR17/BETOk8VET0E0HuLyCfyo5hQdXNYR04rt8YUtdDEMZu8CQJhoaLntKQ6nVZ+3ozb0p8yoflQFja7EOrzjy6qpyLFB/fXvYMgbQ0LyxAEAJ3lsopws1D9NH6CMGRHoz8wELZOWKWb80cJoAIEgHJA1RilC1ewFJ0QxpfbPAqcjIg5gn5/0AcmdlIc/YkB6SYzjwnyiapDvYaCyWBURy7hr5XX17gNwouvVTfz6K4i5vYLJLirnvTHHjXaNfwX6/vH41DLaV6y7D4EBRCPZs0SVGbrflzyVGZ5EQAsrKqZ49coExPOSe1C4h8aAQAVISpAw+9dP4d+nKr9iQPRwYq4ex3BykNEZiV/f3nvQHz45Ie4JGp34t8g8BLdN1DitA0K/0ISAFDOl1U1S4/Qz1SEbTtQYxERHYO8oxFRqZdU5+tBHFpaY9wc4ebuvK4G0qsxzxroF4ge1yTWFWKcKkhj/LsZtToJwi0REX03AiMWrxd6s4hIzsOIiMw8Qvvl1K0pQKv7bRGF0psTd0sBwsIxf7f4beq6ClD30r+dje/n69gBeTNPsjEIhMbTsGhWD9Dul9neEgQvnvY9YOcyZu2C4EdZBJ/QdYWwDkDAzjHbU/zb5N/b5OhU3b0Of6giolkPBBAmoipThNNvMZc2wmNVNWcKJEfDkv0OQzS5PTZxoPdlER2CCFMrbJeg3ybU+K8JoWdYJHOTQHS1xtgjclvLZQv5lNZi5A/Ot3WK8OY3Y5V2aGqNMQf4lacz7lEFgGib862GUvpR8u9qMpwPk9DQZSLsFgHUD4/7d5r33yS0rsboJ4J0VRHNqwAIjcttX0e4fRNeUKB32Hd/vdVOzrhTLdDOhIXNAOQBtRoqJ6IiREQBAPXF1wA5d/HqCHfHwyx0NiKu53XUWG3/dCPsLTPbbxAAfFhj3HeEMAFUWfWEwsuviL3CJwyLr7tVvORtRHQNEA7CrNufboifKiL6jOBHw933NMF/sfsxr+fR/PgzzikZr1hP1QCypykKt/LwtKJ24u2NiFn9dksegUccAIhQeZQmlPcpoo8OKLBWY2WRE308Hqs4BEpigAAQWh8R1mPkDZiLSwIAjY8yt0oIoN9rhL1jZvcNCpUkIsrr3wx/xR6hpyLsfmL4TRFm80w8wsaouA2FEFWqMYLpwxb8XSBYXx5GNQ/V7fvzmlAAcYRf7LWT/bWnGiolFG1lRsStPWDuWESfTRCAoYiIvjogEJoPwyJSD6W7vDhUPUL/7dy1Eoq26mTsYWxZzRAEJLPzrv2LDclkOUlQbTRar7oBwlpFRLIkMP317g34Dc88EwCEzlNF2DVDmy+LO3oA6sNugvDAMesnAxBfjLA9eNOvulf2i+0P0pdY+56CvJ1lEZEaAELjYUTcGuGVVdU5gtHZsphbEqh9WETeDRAAQjIcpaGlskjeBoH2lsWuQYivWjCPQD/YiKiinhVm+2iAQJiqMNsbIdi5vN/rOIdG+10fQULvKfzqI5i+hVne9QB6hcq7HuhbEftJAaCVMz+rIEQHJ5p3frKVTetRzqcRfwQCQN/G2XcP+bUEVSfjSQ25q6+q2yNITytiToF4J/waIlhZ386rKgitT86vfgKfCPSjLV5eHoduaGFZRHgYAE3Xqxb+6+n68dxmodpHRfRDHqLWZBiHsDHinhkI2a4Qd0m9n+2Er1+jLmsGmqzC9hLj/8lUraI0ehsRc4VPqO8f9wEAQjNXLtwARNhbLtzQy5bHWfKDjdB8Kktm1wEMX0YvLeQS0X8k6tSL4K8jVS3aAWTPr9qiDSI0Pyr8HYBAN8vsZt7e2e/idxoVGWbinyiAtNOO8V9sH1/nQd7omWWbKAfVYTcuQXO9qMEndF0hhVuCABydMc8qiLCwhosmCPW3Fvqo/E5rjseNUOulLJld48+n449xktPMVA2PQF7rbVTtR86A1dyroECQAh1bcOHmgWxzffTh0+LOt1kVqLwMm2P8M20qzvEYAAjrXxWbtSoigHJqJ2fctR76siJsfzzCh4qIPggAofYxzG6PMPWWiwaCyfmr7lMPAOPzY5PAH4u6ZwaMC5ZLPwoR6LdZW5XZZG0QgPjj9vjpoeKoESNIWLmMM/cV2qsIm3MMb1Ws6woRvVdCc3XfTyuA6vqyayI8tFa/Gy/6qLBOQWie2LhtCITf5h+GRdh9BIC0HqHi4eVx/wwg/jEsopcksLAs7PYgr5MZVbtCoG1Y2FzTQFYIs7mGgDhCkHBWFuYIAOUqYuYA6KksWvdal8ecfpqtjIhk7jMHABUgIsrpZtYY/QxEB8vC5hQH0osx5tFCePLK5JB4QHyyauwE5LVZRPRFoeohfw9DR8MsHwKAlTXyzgBEhbAWNQDJ2xo7/Gk2sMwsOixSKWFvRMQ8YwCEiVVRO0U4+fhe1ZGfDFrIz3aP2wThjJXZXBGMr07E9OC3C+fcHH60uOerGgFYWCuPCoC2MOuRfplFW2ut/UK1rdmsk3Px9NWET4v7+7GMcv5shD9O9ft9NT1CtxBhsyMP3f22RwFgwlZnIETja/F5jYCMjdghfpSnHuLpdjuJqhm/3S/PPGDjmQcFgEavgaJEhagQAVRG3fmsjlCP/4R0shxHAAgt1ULzOghYGzFFExg8Xq9V60fZR4BAqJTQykzGqh0QgPrDqOoYRanIf5QAgDwguVsR20cwudivOZDX+xYi3Aeh+jTMZgJC9ciaD0Bes0M/xfYgACCAChAACk1cJpK5BYL17eWnh3wiQkECQHnUHjcKJJPdNCkBKCaU1q/FZ0qhgWNW6YII9cKIfddAiI5OzLuJCI1C2V0AgFbCl+SX2CcqpVqK8LTEn01rMXKTH6O6olB2t2LvWUllfdu3SoCEUDIzLMITEIDx53UfgEBo3t9yqUWEljLbE4jQFFUzA/0Oa1TS29+uiwgAoc2SsWgXVAlRgWh2uR+6oMDGiogZeoSFY2E3C6UPJ5aboJJGBeG2kUKLOoLZajtpwI83HyNTQrz/l/I+BaGtBZvVL7FK22+r5neD4FSs1Tn+/Myq2FcL5D2MiOg3CADtLQubfRQYWpbC7Eu6l/djSgFa6DefwCd03+6bNwNPy6J1IBvfi8+rC8Snr31U8MucsDcsLFkrQK35ok0VxZPPURRKbppJ5r5C98AOAAhfjoXdCsFPI8L2GKo/nRjTCyCqN6sovbiisHsCoZGLsO2CEN2N2GcCpMP1Zdv+QUYEUOimIiLZGIQ/27iIyDEJ1N4swm6H4KcxaqQfaj+stc8WyOtbYbErjzAXFtZ9iNCc9qJAcjfMco0BRA+nylUA9UKYpQIgvakWLRCAzv0zox9hBBBAgZOy162GAAoQ9lZE7GcgPpmMs98PkEfb1/s5R257f9k3QfCjNRs5pkAF0c6pOUYACLuv6r8W8LuPV76KANDNqV5iEIYs7JYAkLyM2B7oJxjqi+267wF9MaLugGqjeopw7WpYRK/koS/O/J5qCFOzX0PF0eBjHCNcf1pR0/UIPcsiZgQCUDkU700aQLK+P/ZVAI3DQ67LKtARKb4jgNDKJf9O8Ru8cXLW6TSAyU2yba2a1uF6+YwD6S1wCaG7/v6oIw8AFSCiAoTC/dP7PiEPmHxZ+LsIIKqPWhSqF0bdBQDio5jvJQJtrNwHABA9rJEm6AcY4ctlzMr1AGqtBqHS2tMZ4zYeYWNFxM6RSxFAOQChciqEpFlDkNCzImJGAcLi+bk3AlPDInkVhIyFpWgD1Djn72sGoLbe9RP8BE9OhkXYjAKEkkSU82EzziTrggAkP8y8jXIIAKEIURGKiiBOojxC0XinoscYwZExah+RN7LM5pN6ubLJmyBURdVuAIDmn3wZqp5eC/rFRRQ4BuwgUJJQ9FvFHweA3rSNigkAKG+4/1nEOdHiJecOKABq92oUQjRYjyP4hJMREa57yd25YgZ/psInAtB1hZgzCGgYVe140dGKjv4vixr/JhAkfDrmTN+1KlCbLidp6MOyiGTdnD9Zn0zaCBJm1qj7iUJzJ2yfDZAXbfSXpyVB8oCdsrBkHrLZYVcPRN3b53aoAZXcqcwAoOcKlpmXPoVl+39L3OLvhZ81+OnBWcsjVNk82197rgUabyvqvpFPlXXvzr1mAaQ3w5LZXiC5qAjbRWhmhVXbJdl0O45DjcLqd4Nwbf/6LCMAiM9Wv5cEaO0fxW1TASq5NZ+Kh/XXaOf/lrZMCoktzXG/zx1TD8noc9GiCggHx8xuH0D7mD1XSYHKo4dlNlkbAKHzVBEx89DN+116hKOKiKxC2dk6u08CaKz3Qwoll6+oG4EIAxFmboJQfah+NwAam8N2mHjxZN1GOdXi//Mhmk0prWmpxHTPL3NLECokIo/QvCuLCMcBUBKj4mjxeB2aoa74ugQBqN1Mxmz7Aawdi+F+6KDMrHOPMHPM7HogD5TEAUL9w8JuAxDarGyKBgjdQgp9VEHILqzXFH5jd+6Esqu8WqD/gynqApAm0rcSKpP9O7bfhAoJAChHCpUloryVFTGPRqAdkABhoc7afRSqH1neHwj32ar7VD1ga1kKN0N48ORzA37laYrCLUEAbYwWMxChkVuxOyLCyAq7MQjIHlbzJgiEpRW3J/zfqKPU7oFCCLkf53aoMu4OuxGCPzbjzP7gzxKaTxVhtwjQ1TKbdwPhyf7wkSA3Hk47yJ+cbuc2fMLMFlzYPsjrWGX7SjyMzff7qHmI+pf7skMgTPMPH1sRYWILdlMQoVcI20lgbQt3RDn5DwYxHUjBdXtxYqagcrXvzGTbNNB+OOPujWpo9DGJQ10VETYb8tC62N/nCAUJBQnF40aE0vTijDvECG6NiPAABIC682GKcHYzX+kDQONeWJ0Albsz95pXfVuVNghA9f79tEEl/zySAlCvaQzMltxX0w2hPG2csPx+BVCfrWc1VBr/iJVLI9B8Kgu7BcJJt1tDPgFUAERUgACiEqSj5TBBePMnoLM79EM7K6wPAlAplLWIgcro/LnPCYTO5dZHOGukKK/s99V/GFZz6e+PfVRZY2ZhfTRAqJAo78uqiD0i+GmNsbd6jk95AKFqQmkqaakx9hEDAGHI1pgxAMJRmeXttZVZNAPQyNWYPgDQ6H7rBhCvzv2Qd02Su/u/H6V6IfGvD4WJKNSwLCLybldBAEChuxERfdYDNLtcvxuomAAqkLbbSR6as0mjjABC+fDxujQQvlgW80gAYKDWujUARHdnZAcAM5XCbAlAQ1S5FjhbMe1AaN6RDSWC/zOR0nQm/d2SvPQhLGyuKSqttxIUe4UARKg+ipDfPhs9tkCBfuasTErQ2R6mSQniFKBAdLMs8k49TC/ndeyhtrvztgugY1S1BwBTFbY9LxIuzDzgbLPsQOl/9tHYHv+CQKPPRRPBmVVRMwFVkH7dHqd+aGNFxJwQJoCqSj5/fhZRKL26LHOnGH50V2bNKx6hL9a4fVSCtIYgYWOF3Z4CqB3265qH7KLOTEFYfD7FvgegpWqk6uHs1LYD8AdDD/JwN3L+NyKaXSm4LpVczr8DxD9szXMUoPH5dRqhymjrVC13AsnJqHk0c/4g/VjrzMoj9C2LsHRBAOriFwMQAFxMwWyboWjxep0bHpAcjJ4rCMZ7Y7/3zBs4LswjAaHzFCtDEIaP6yyUbU59/NHNIzpxkvTB/42ObiQGoF6X4jYoMIPqM+7tfVllts+6B0RxhAoJHRGWzG4DiIefkwQV18bjWoAwEmEWrgcGLhNh7QUSFmYpWoH0rixse6GRNepuaQBRmhHCdcvMOgEBI1eweVU8y4W9AEB2KvK1B9Tmi2ooPESnUt7MvrP5/zB0AhBFktE8l/JcAvHrCZXpPh09jPgzkFeSAKLA4JdFRI9x4E+OMtVsHPqQYB9+/WGzzF1SBL+sMe6E8MkVLFILxGfDItwDeaiMpy0KNG0hLDMQofZxxqxAhN63YHsEAUMnhrsgILtZ80wAENM0Tjfgt9rNPBsKv8T/ASgd3MaKUVLq96QQcl+NQtEzoMtKEKfwCR0REbZbVEoA5dQzFTavFgiEEQfqHmHwMObWAwWij/NtnQQIzadzOqO/9UONj7M6CiQPJ66owW/vr7dBDEJy/mqxIgBzV4hMQISuY+EhCMQifaX7bwAqgxqI/PrtNf0fQO8fRObGQ1AIruOeWv7JU+5WES1P510bPm2dsOFONaAYuSPLImxmIAB0dKruC7mN8aiOgkmKP9am806E8Ngx20cCAISzYZZP4qF+fJ46CNdP7/yQgVCZvIrXpQq01ZhHChCaIirtQO2VvVuC2tmlsQn/9jXmkWKUWrMOlQzMvnp/VA+130bVbFHlzhrj7i0Pyddbzz1UO7/eTr0c49kQ0o/LaU55PuURQGUEAFQSzQtzaSD8UhGRWgBUG9TJI+yc8HcBEOpvFXcgoLO7PHYNEDDhfIJwqVWCXFmvS3lcJ+bt/80jDn7mCsHdI5YzqUK5P8ZZ9kkeWvvndU5VdESY2e5AAEBxEqFKwoexxkgnUGcVMc9WCIgiFCQiQkECUQmI/gJK0hhBwtEym0/sEZr3Qk4pANDNMOsxAmEmzPJKQWh/xLzrIFDc3a2qATjDZTXPuVl7cnNQPt67kBvnYwWU+LeGmQAkNSpGm3WNlbFHrqJ2GihPOXMREbanCJUSUQC1u2ERsw9g/FJ9TUGotIRPJaAs/UOQPKD+MCbvIxhfnIhbgkA4uEL+tQIILTZitwTC2gh/JwChmau9pTmHxLyqIICSiaI4zPtOgTebbB1o+Tdm/tYHy3aY0nQOCn99FBG9UxUEgAJj9cwRVAEhl9B5qYjojQJozOctVEwAKC+erhdNlFZW9+ssKkva7QSl2WTegE+of1TYnmIAqN8snyrwZ+9XPotBWBhm1wMRVkbYdEAgfJp31sd3nrJs72hkPmx6ULDk4++li6l0T+qwPhzjL5IeV4Jmv45g8jAiotNqhpv10APqd8MiekBRqgjNUTcv+rbOfbogj85fVbsIEOrnojjXQYE/Zw/D7HYIZr3trEYemvdPfqkC6fUrr0kMwsSIcuMbb0mctEAACMfjAHJ/MxDQuZwbkEf3Y/XvRe+2o8DBYqsrhddLLt7DM9cqkt3z/fyKPHTuRvUDVdKnWKcrj7AyqqrdPCJCxYtnlh1qoYFlLuyFABC6IsxSxB7i05f5e4oRbqzWzRDGqjZvggAQ5q8inwb6quoOICT9d1HcMoC2WoyQWztc+8SPia5NTRfMge8hnyg9kmT5/0ksbvRzoBDcPeLw2imkvawuxR3J51R8vgenqmaMCr+dqtrPAJLeqI5Ku0aYVQYgAFg+37c+KqaIQoShqqhbU+BTRUSfNRAIIxY/A0BoFCwieQPkdVmUByF01vMKCH7HGDFS8TbKrG8A6KmoXQNAts3vrW9g0G07ef7mvfHyZtnLLiW1f7TxWNE4mfiq0BLD10DjUiq7Sy8A3sN8lkp5U6KTtqWWci/t9XrMqRSh81YR0XcSKEtEOZ9GRPh3FQLFqLq+vpwmFFo7FpFXGpjajDNzS+A338qZuVLoLcLybgWimxGxjygEqtUjBJciwtLzhlaMO3hTW4g5egOrpsi8+GrNiQLzr5hVqP0x716BWp1y0N59UJ7ziNOuxqWK/D+AiqtFyuLtQNlhSsuHSLFPDPtSCLk31umnKE8YSZCblfgU+Ah95pQlykuvToz79IBN4F0LpHenxi5AHubZr3t2EKTvX+bfb4Ifi4joqxWq717PdRLoG2Hhqhdt8/el5jXEKg+8nYpo1+s5Fml5tLWFnkDwm9M28ru31zyvuPO2X32BaB/nnuaH5C8hKBHqwce8DIg7kQm9d+DNDYZgSYAd98WqJXReKiKaJZX0Pz+7CHY85V5FRZfKIvquAyCMjQi7bwqgub2dpoTc3mLWRG5993pt6wjSQ0XMMwp9/4r8fgawtk5nCFLvej30QED/8CrOYwJGTswn8TqWRRseuvqVLv4rT0a0nkdUAJ3DwhfgXjM7BAV/1Kbmv3Nw0VZm71PFaHMRK0apNZpQGZr9caJiaeoB+Laqaj9R5ZqtyRYBLFVV5qi2Pl22A4SdiDcAAcBa1VybyI1qCfIJxaNGI0LuUFV1CgCE5l2F5ZYEqNuro3RujCvaIELnI9aOgWj5fux7EYBob2SJcHNUR3lt81nL+TGa1fJKug5kHtJ3R+I8iRsKdzZyNKWSKmtRObhqgyX+4seR4gov0cT8ow6WkSbmU6lCuc9VvHd9vw/1QPKdZdkXlSOMVZlVOgG0l4sWqiQMXsL84QEfysz6biBIndkgRj4BlAciojwCAMpBe/XVQajx0CzTHCTL27EZqL4MF27lLb5c2GMEQvtd6DECQNXupB8HQL1JForvxu6jUOPyHCNM6F9+mnkEFQgnHcjOLk27irlJBmAO0Xi82ork/nUkRA8/TwS0TurKDlPyBZUoJ6w3GxorY1+8x6pirzUPaHRTVEjYWxYRXYVKUw4adyMipg8CUHs4Y+0G/0ECQDnBAj55IGycMXaOYPTj1OR1L3toUXwX3uxb8HdPIKwci/ZBhMbbmF1ob+0jA0BoFSzPJsjzKYTkYuwBFAJRePW0chVTm/QU/SydKbKXzVTA7KKl2CcWHz1lhylN59JfHenbsgj/zkIlCaAc58lXRQB5hIFjEbYrBNv76+UzqoqICiBppyjYmQySPELReHW5LONQ27KI2YAAzJz9fhogILt85d0FAVtXiA695bfQTxNEaL6VzQgEIHl8/+cQocLkbu2xSNkr6ofuuO9ADhbrUIHuLFZCyJRK5yg3oY8mf4tIrioibNeVAITQQkVEzKCauNMs8xUC1Wv4T07Oj8ssb5k5/anlxLPdupsDpDFy246F7TYQjzbrDggAKuPX8zQhoKNW7zVv4Vg/DRBQeRnRXgCN1aqBXBpvxyHC+Hbp53F8P1eKIjW/l6C5wX0P/MpsqycFnvt08cmwCLuPKuLPy3XXgE8Ho2q3VMnk9nru00DzaUTEDkAhgKpqbI5fjZy+WLE69ggD1Yx/P0PRxjr3GoA8ApI4J7kaMdwNAOPbbZ8CIPQLY00fQGv9zh9zAqoPI3MQAAw+xRz/lUPjeBAAkKbIDyKTzor6IakhqCIlq47KaD1QaGN15RTSXlxIaVuKC4nFvhqFMHMiYrgNKhXvrRpza3iIZ4fDmFBlj40aewQAwjhT0S9CLqHq1tMYe2+BAMJeWdicQN6ny0T0kgRaVjhzR4Qbx+y9ogCad/5M4BN6hbVuHwHA1TDrAQDGrMZ0AMSd1WmVeYiyZpVC8eb+EYVWv2/zlVfYuxjTVzQPE6eo/8uJ0etAYUQYpJe8h/kkkfIuKNBLdBKc5rkv1l3vV61AtGbV1wSlCUMrIuxWgfJEAcKPERHNeiAAaH2seqiYWoNOFKKNZeHfDeCdVET0FvpwmbA5xYGhYWFzTQN0sap2HgIIAAW2lkU4AwhHw+y2AGGvwmYFAENRe4kDJ2MWoYUVOwv12by6BdIa5aC8GlJy78YOQMmjivyvoxY3I2X6NlF2lxSI1YtT7BOjkWR0b2wq1thsAAKA7nLRRJWflkXYHOMqCACFbp5kk9AfjL7k13wngeSiImyOCfwPy8zmC/BaLytqJwi2lDmzRwAg9DIV0RuFot5yVkNgY1i4yACg+fmaewUAplZUWwDhaoRt1RupiFYDJ810G0Lvs4f83vU5zdN7zyTTdC4rT/ND8g9wCyouZhlx9HkIfgX4prMgE90DmhsMhAC7Pa5MWNhcE/zRpQscoiqQdusIfauIaNZGmIgqISysMLt1IDpYFnbfCMYHZ90p8QD0Tq/bPArRlzX23QV5/cA9Z26de9RBABqFle8awebschpEAOJd8fksqiDsDWueeRMRNqGhtWaQU5RwNebVBIVIBTq7qQfRv6a2r/CnPWp+r4M6uu6UAfOniWK0tUjKwthuSQwN97gkmA1AAIiIKiB0WEXYTVHl/P567lL4zbdRNVv88ZNhEXmTh4GqKg9BHuLhcpggP2nUCLnR8OujiTBdrapdAgChVUhRuHUArf15EgUIw5z1QAAwLArzqAGVmymWiZc+1K4pQMOPLvIbH7M452LMo5H3Q4eQnV0aNRRrmzRBwV/OHU1Rl+pdJ3B50xX8xY+VwsxBpYn5WwMsI03MZ1KFci9rGCjZO9x/BgjOWUU3UTnCxBhVtyMP7ePrsaRqat+v51cSoFAWwuj+vg1RLQEoULJ5fr/XUahvWdgcCEFqDeoBVNiISh8EzC2LXYNAnRfnEwBI+v12JQBQuxeH0rPRXQBo315j5Dcu+1AiQAnBqAnlwWYdgVimdgTmEM2np66QPbxNwJL07vMILEFjmSk7TClueMWlMN9sSmRl7FmLMGf6qKP8WFRVZiAAaH2seqgyOVkWEW0G/mB6Nar24BFWlpndHvkRKieKihBAlAPUUwQJzdwUhVuAAktVswzULAvLzNvagt0BBKysmLwKANWHkUlo48wxAkAYMOu9HvIpJzhbewDzQBRePkwd5BMTG3UVvc16JK0VjM5qCChx8J+WsrukQEzn0l8Rv6xRY+agUslLRdg86qiUKFS/KYuw7VVDRDkTxyLCQxCA5GB/3bVe4A9THhChIAEgD8CIv/ZUQbCtIqItL7k7ttz0usaadwuE+GxYuQcCVo7NJwEInUyERyAA9YdzP5RDKBjek+SkqXhF/dDpd6CM5stYQHvgEVRXsAxoHaYWZGI4/ttCNDvefkaosCtBHoE8IiqUHx8ti4g2qyn6pSLCdhZAMl5OU/wX0/nnMMrr7H627Twk3RT5rXE/Q3gm/tRD48a3Pnwa7O+vWQXA/CvmHgGgrWX9VLx2piKDAHq7dRN543U/B937qQZ5ej9XiqLq95L2xg9DsMxoqy/8nTGuxaiykzMMFY/G68+OR5ioqrgtVdLaHDeN0NyyiMgwQPijaYvymhdjZBN5hPbbWndrgQKT+/OxzPtzV1VUOwFEve2sHsD4w/ZWAeLl/fXe10HoiOoawaUxa1Q5FMedHAQ+ZM/EX9OifkiqSImUjDKh9NSXaGJ1JZH2XCwVLSlqacm+GAGgKqK7YWZ7S1E+PqhqNgMBwOT5fm9ilCd0n8bquxtIH8YY90MIE1ERAkA58TZ7P4YBwrdjFjv0gLXLOHOrUJuNGhnlRL31KAnRXlR38AmNB2veAwHRxTF/xwBhxmKfVRAa8+W8Sx6ljTTKiT6Ok5yNfbt5ntq5maQvEO3T3Cnq/0T+utF6qMDBovOS85LRKJZqPcl5ie4buMdVkrrLjz556L+ts68RqNzSioh5d0EAEDUSVHt0LGIu5KH583jsaqiYYuRvrKp5tz3UroZFzDoQHVSE3RbBLxURcwB5tDNi71kA1J93iDxg92W2pxiE+G6Kws29k2X+1xBEGLDapQfa6HsU+jJiR6GBWO4U8H0J5eXAERBebTQABfqOivzv05NuLL1oO0sKxPIlUkI4mIKC0djtia2stXYTeWh+fX91UCFdVUTYLUNlicgjNO8qIsJJAKilqLq3PawaoThTETEbEIDYY/MRwKfLOHNLUAH98Qh9EWE3CwFxPUMwOloWvWUAYfU1lpsgwtEW4jog4GJZX1UQYW7EPOoACDfN7CpEw68ewkTzfOtJ+uD+ZfuK7nXjaX5IapTIX+cylhGnn4dgmS+chS07c2eMGPQkEGF1+1qEqRFmsfNAkKq4BX4/qinYuBsR0SwOEUCVEAZi1d0bgVREhO3OIyytsnIzVL85dacUwbaoqB0B3tSxsNlSqP/43EceYemYvzv48eJymccAoZVbvbWAv30ZlncbBODTGjsMlTwmyT2USAXau7EL0bvbrKMoLfrU7KyPpfldXxnfDmC9u0wU+0SnrYV2j+vHsIjoDeQREaHKjRF/UEl3f9o0PcLOiojd4U/HJ5txZlcBuhgRkakH0PKl1z5y09nXNEXu+GmyOUJ9FeHvHMEqG7FFCwQgPaqeKwFg/H7e2wBQnRWf9xqEPqtO4bfeancEP5ptBxQi1BbjIvZWkn7oQOnsk7gmEIfMdkAhO156pdWi0hl5wa/uuwKvfqzArwAmkGli+VqTaGI2B0v+NkhEHnC0nnmgyvZqM4oC9Yex1mxQ5ViMNc8OCEB6FJFTWlFnPkw8QuspIqI/sYf2S1W+CblxEqHquJ4gl/ZGzb0SGlsW1lUAUaWRIJx9jLHvGABWKkZ7AGrT6+tUA4DW57weBQCq1SmA9KSyDhCN27MHCo3LPlSAlOAP6lAcE9MViIOP16HQen7tlRD1h7cZWJLdbhYCapMUFiklHa+4GOabLYnVwf0nAgACQNgaFmH9AZVbqqo5xh5q28t5TlWkTxVmtycEB/N+hEppa9XcW/BrV2Vhu6MA6h/rEf7zNNrNM4SHtmDWZQjdy2tXCQxFRLgNgO4irEsAWBsxdwKA9EfvnQCt1Kw9Qt9l+iTvO0Hk+3dr1xqA0g/L6yGRT4xeHtpC930zLAGK29exgN5RpoRw9p82WLa7pDSZSX8xbPbbEfzm04nYrIOyhK6oiNh1oPq2ZRHReyNU/dyIiLkEsHTKRnv4DxJABQgA5fhUkr6duHcNAAhtMeIukddUZpEaAKy/otoBQG8V0aq3tWyu5DUNi7YDzcy6E6r0nzbZaSo+fqPrtCC66TQS0Og6BNU3nFJfprA+nISGGvfFkq9n9trXPPR+suzURwVrFREx9xCBqJKWx3qr51A1hIuKiL7bgWj5eJ+HyCeqDhShYNQd1lBtfX8/tBHaGRY2dQ9bZ80SfnYq3qcaAFwsm1cEgM4iwoGWZdEOgoOfbbNAe1YT0L2fq4r541QFiyE1O0xrxPxlqBhtD6S/I345FbGnGAAhbjZiUAUby96DAmUbw0YoPlsR/t2g2na/lmcCHRD8WiPBfzH6uF63tZz48M4ek7xsvh3FJYhSApVYFra1AHXGoywATPPXewZC/Wk+hx4BmFsxW/i0s+YbuYSC3Sh5VcEcBj7k8G3+mhX1Q1IiJVKz6WpOGd61JZo4utZoj07K2xI7Gve32iwswnYAAAQAhDAVmSgzs/kBlYu/mfk79tB+iOixVkn9zPxeeMDSCrO9IkgoS0QF2quvbt7KqdqfOLS2qvbVClUfqnqIQgSKY4Q6hTX2FAeQnT75hrz4ZMVwG0Q0lUJ3AGj6s+mlHqjdTShvuu0HiK19fvUlaN2rNX1F97Jwigoif91sPQG/AuBg0ceS85pNHwlEsye5SILTMidxr2rgWETELL2ycWc8SOHTwVrjnm1UuDOqar4DSKefowhVRj9OVOwoEB3Umkc3VJoAUM5UVc2HR2g+lYXtAASAXioiugQBhK0VEdcNYfDka8sDMLi9jhUEaedEzRxEqH9U2IxBiI6WNeuDCL2XyQYgALR8/LQ9wpdR7oMA0I/TqCYAni+hsugRuUTpbuKegoGrIWmCmp6NUmX8NJB2ltryKVFC2J2CJVYZc5+qpx7baQW1b+Pcve0hWZ0v321UWH+piOi7GShPAUJXRYTNPvIQTVbLBiqOu706wvW3ERFpBTosIvw7Dj3FX4TOlkV0Fuqosv3UQN6f07cKuzMISG62UO2AkN4MC49AiE82sxcCCHMn9hLBP5v372ce+ssm5Mb50pX0wS2zHcXgvvUV25IaJVLTfY3K8T9LxaUw3xp7C6RA9HoSPcLq9p2Ss2URzRoVbBwz20fiAUmNUJ7QDWV9kEdExcKEvmXvFAf+ZOP4zm5DEEAYZeLP4NduhkW0G8DqV8S8G4D3bVnYjUJfloXtIqf+uZ1HgeRumO0eBELnbfMRCMDcqTnHIGR3w+aegQhrV5hnDQTC1hkzKPlzfHHmHZeRCjQ3Y0diFH91QKG6GlPza6OCyuHjGCzrX3UUk0T/OFHsE92OFNx9J0LnaUSzMcoSmi9hEbbjAAFE5YB66FVHlcl40gi13srC7gthIqooPjoR+2qDQOhlKiI68ghjUTFfCMdbMfcBwq2nEXuMC7mc+t06swtgYNTkTRAAJOP7dRIBiMbH9+fUBGFpRZcgEAai9ohgujwNUJ4OWyXJxZp3UvZDQrtP3jXF/i/TAYXyceNp+j0q/Xkk+JPHfhlx/XGoMKa5xVsm0cRsLuz9p7P1RxMFiUIdZhERXQbK1seDJIAvY9SYDaocvFiyJYIfxhj7aIICZaOYclqWRTL3AQKAk1O199gD0Flvh5QD1Box8htf+0UMnzAwRu2rHVpZYZFmAO3VvIZweldjl/B3ovadAdHocNoNIwAYnNbVEEBxTKHkKjINELqvzxDlzcsuVIBUuN0qRGKbvDWLr6yn6D29DcEviObT+0yI7zfzMiDrx7BIKetHZQA9zLda1cS9pLIEgLzGU1mE7bAC+hQ1r36AVo/n44uqqL+NiMoYBADT8+W7iWqHp+dxEOp47L5CtZ/n49TCf332eN5GIACEg4qwDEJIB+O6R5gbEc1TANHbCNsuAKxU3NJDvLpv0tC0yIehjmN9kQeACFQSP02yoAKg9MPSvA9lL3rWNS/vSnH9NBDQmsdKCA8+emDZ7pLSeCb9vTButVMEV06Y3TUuRZhZEdGs4QG1Tg2VLkRE2O5DlRMmxqhqP5C+lJl1FAI1m4TKiYoQUQGk7QS5cyusUvMIjZe10gOBsBARLjIAeBoW1wKQvI3IJwMIeyffbaCuKlIJ1I1xZ/xXJpHJNgqnEuA3slmDdjR0EIsWwhq3vVLMElgfjEPDvbTm4fG8jAPJFzvz00D5+GhZhO08QACokpV67idEBKoE0cWwsJ4DGKuzbkMIE/AHqicAlBN/WycThLeuKOwtAYB6buW7JW+gVjYRgPhtWJ8JALyU5ZF6HRV2tQCNrof6H7qzegn6t1MVImevY7koUvOLaY2YbfqKSaIzlP6KmN6tqtExCEDU7LVjFKVQ/aoiIroOAIRqB57Yr1DVhOZdRUTeFKD253oYoyCh8tp4GBcY7vcjygGSBPlRb9SiUHI2LPKqgQC0jrd5jGB98XnuKwCmqrKIvIMRuyEvuhl3jAJAQggThoV91kEBBB7yicrLJnOwmB9SR0qkZjNqeaV73ZBoYnWl0R61uA0qDe6HLU0mkplTAoBQJQGIDjYTyew0p3D88Xj9tALYG2PtrYYqo/n5vIjhxxfDkplL6M9GcUx5oxfLvQMKLMQa/ciJ1u/s2Mgpvv4yu0uCYDQ9rquB+CTGXQlAY50X7x6AZP8+1RFMRv0EYaLevF5ycoUdlwFgDuCfkndf0b0tnaL+LyR/3ep9Dn4FwMGiTwXAOc2m8wLR7ksugxxDZeYl7lUdVEREn00QfCoStzp1ACCM1IjYW1IB7a2qZu1A9Hm5bmuoMvq2ovYnAkCYG6NWR6iWiCivuc9eqzhUf6uwPUfw05cRUa6FVk7EnpKc+mzZChBqV5FXBxRYWzXvildzLFq0QYgvKvYVA0DtWhwzDzQ8LZIAFtbk9dDUuLz1B8+HXJ13IQfvKOloQk9D8L+C0pa1WaaMbgeSzdVDooSwOxYAwmSyD0UgCuxM4JFXtHkU91pE8CfX9+unidKEkfjmOwAQKu5bFhEzBQHA/HK/TKkaQtH05ph/N6GhZRF990AgdF8qItIP1K6GhU0P5DUfztqZByAdDDIQ/ExExCy8qmEWboKQFSxaNEGIb5btEQRg6NQdA+lVWRYgAKDJrofy+unckvT+I01aivFrFyh+So3UqOlJ0wk8/s+BggjmmyNngZQ6PclHUgi5pwRCeGhZhN0O5ZObYxY7BwFArduJUcXyl0VEHxQggKr5NCLCv6sQ0laCiqPpdjsKEGaGRVjqgX7g1QEBSN/GqwXqN2Vh2w9924ylqAUIqDRiBKuerjzafo3dAkB0cWxuBCArWMzLo50p9BN52H9V+6G/u+fUPh2JVKCxGjqS+7K2D+YQ9e2Ump1NGhR4+DwR0DlrSjb7F7ESwm5fCu6eUv/nel6QR2sram6NCiaWRVivNQAgAFTJ3AYuodJEOXPLIuyWIQJAFW3UOfkMLX891wykD6Nijwgvjar9RHjjROytBp/uIiLFAAQA8f7zudYCdDNqtOUhHq524wQA6tfife5HQHSyohv4Y6f2jGB1f5+gPO7WSryzNS9Kf3CXPKsCnP1ftqOoXR4nAkdjChwdJoK7eB6BJThfLxQ6GCdmb4lEA8RsIu3fT9gYo98eaLA7LBIUpJwvFf/dBgEAEQpSXEtCzacRUTtHla2f93MdB+qZEbGvTggglKVQT5VZ363AUIXZvNIAOreMz40cDA8/Y8pJD5w9uiAPe8useR0ACCurai+xh8o1fw4QTi8Fv5ogAFstzJqA6vFzGVa8ePk6VEOgKKKS+Mo8CKH1fHYht06bQEON2yxB5jp5NxSH7x998Ati+PIyBr8gGq/rqeAf1nMlbjllhykVo7gMoINxotOqJu4JJU8jIipjEEoTAArMDYuw3BsoH39m+v6IARBGD9FsG1XRfBlV80MeBo8se4xAqLI2mraj0FJFRHgKAkAb66xMkBt12qi81YmQ235ZpysEo4tlEVMJAEk1CxAWTsQdCITq07AWDRBhIqboggBEo+0wCmD0uLVDfRG9xiE4Dih4D5suFUThwbgLZe/+ri70np4HJUB2ed8W0BjFCOrqrQeW7TCl8QFYst9PGGYqImx3VSBq1hGsZyZjdmtU+OVYxK0QbM6WPUJ5wtayiOgggHQ4rKFKQufurK6iwNTTbBgATXebPv7zza/tAKUXwyKchdLt+72M4O8cs14zEBpvYdEWCLW3Kew5BggbZ9wMBEJT1D6zQMvo90Al6uBlsrXCqQRF/ZD1DGq3R4hJAfuUkm6kFKMY1ocT/B2QMGapbnS8X9eph/7TWbtLK2ioiLC8WiCAAKAK4BSQZcinKpCcXcZsR4H0aUTsNcL/OxJGxsh3jSBtv6JuDgJh5pjdHv7BqT1EIDQ/yuaagpA+NDfnGCCMWSRvgADQ/HGuo7wxLAsY3E5VMM+ZP0/loqjaYdrQZz/7itHOkMpfBOsvFRHRWQVjtqruGHuojabdGBX2LIsIm54HIkKVhH1AJzlEqJLQFRZhsyUPnYvqsYlcIvqv1NMCVABA/3ybxaH0zczmAj/Zq96qgWxxvu1aBNDRipmCALo4cVv42du4Y4wgpRHCRC+yl1BA4CGfqLxtMi3qh9RIiVvYTHqR0jqrKaQBYnkpkYFxdYkp96nwocYYc4pQmu6GhdnMQQDBpxzyyGuZAHcCJWm0XfdCQzaq9pHklKyP+nGop4FdCFG9RqiYiqVfl0M3r317Z7skB62PabUMEYFKXloU9hwA1fr9SgB0ZtYJgHR+eT7XCQjtZ3GrB1BfTlKUNwdpANikbzMA89TB2UZdxeC5cosKIjUKxNFmroCwGGcC4BxMUnJOIBrDb0gkl3PfCfPb475JUL79VhFh++2VJMSNegQ/OjpmdvsI5eO9FTWfCM4e2fvSRqUfoubWhl+72ozZTVAxFYm600Gak1yNqgxDtZsVceucsahyFxSirFKCqbVWRiAPExaZBToionkMgK4qdg8AUXtzGpMHai8HFJpafWYeMc7SV13huRLKsy5kP46yDig4JV9HC6SmN5eFMrzuSDaPHiPFPtHtCwCdtLt+LwlRM0FBIlCg+QrtKkD/+H7uWh7qR/01Pw1UOHcsIqYPAoDaoBej0pEREXOLABAGL+fsNq6GAFBOvLbWnRuhuYqIuXqEsYqIvNJA+lJhe48RTFbP1zoORZPzaYhwnVXE1L2hsIikAOoiIkwA6ObUjQNDa9wskDxVZOIB3mTTgdw4HhuS3n1maVMxjQ6BhtiSCimR0pZpxytn/1mCXwEgLNJJzQEsUmt1wRIgjiWjbt8o9ggAFSh6MSKiMqqgm1kRd6t5SIbTQYoKo4NhEXYf8AkAVUE4qohoNgQBQGvxMYpRcdSpI3fimLPfXWgTeCSBqQnUAk3HIvpqgLztV/W7Cf2VMGIRNgOvkhtxZwBIWcS8vKoyyzlwUpYXefHZiumG9LzZ5OpJpAKNRc+BGN6TeAAKzdMDrzhiN4u2E/zx+0RpH9UhErQwOE+VEHaGUnAd/Um8kvHyfPluBjpvo2q2qPCkLMLmEwSAAICqsyGACNWcjYgIT0I+VTS+PZ+7OEBbyyJ6awTmKsz2hkDzaVTcjgJ1VmbzyOCnH2Fhjkt6h0Mn1CqMiG16aF9fu8zDVLVYxACS3KhZBtZWzAnB+u0zR5hgLZAesbkp/uAmvZcguvP1e1toXZ9mgp8dOMEdnGRCdPUyAUvcyWasgDA/uc/AMtLEZCqFnQA5PhhjTNb10NhcfsZUQfwwIsL2EAAREQpGUQgLx8xsB6BA8WS2WdY8YGWFWd8NBIlAKEgAyCP0Mqtqt6GNZWG91gLxxVjLIw+E0YvlXEf4wxqrM5BX+agwc+IRJkYND0AAsGbRNQWQbPPXzEN1x8W7A0L/k9/r5KXX4lYNgSKiENxD/GyB39B5vbrIJ9rnjS8R1Li1AIrV81O9hDheb0bgF8Ro/ToSauuPqXLzNhMQFZR2l1JjHit0MN9pV8aWjyDC3AqLmCt5ZQkAebhrYB8qHi/P13UzUDtaa+0mQmlC827EvDqB9GKtk09US0mKIGFrWUQ4BUDoWyPyu0I4+Tr/9JCfDDoRcqPp8TxA6dGpuAOC2cMw20uCYGvUIoSnVlQnIELtreJuMQjR9KPHDH7aG9VD6B63NY8YxFGyc5DvuJBLN5uswDwQhUejBsTe3VVd6Dw9dIT48q4loOg6BJRYvXeUHaY0nkt7/fTtWPxGFYhrEYIry8yiowqig1N1j6aH9OOwn0WokPaOhc0l9pB+Hr5HqDZdXa6remjvPGnAp/lT3ps05z+b7d/vQ+YR6m8R0XslRN3FrBqIL0bYnbyOZdF3A4Rarmy3IABz57gDAqHNxl2iQMeYbEtBSZSeNt0qnJpf1LZ5ArXVhhrFsE8p7cdlQN53JvTh9G8B0d4GuFVBtDxdDoNAfHDG2k9UODYswmYHAkColtB8iIiwaQT+YPTzq+b3Jw58GhHRZxQAGoMOIZ+IChEVIqIyUKMRIRxfHLPbI7y07vuoeNHRMtuDV30bdlcCoWOZ3QVEqL60sMfA1BbyboAAOPPHuQYKtZ6fA2B4P1YgOovXuVQUtd2lDX3xzwgsM9oZUflrIOHz1zPPqIKts8bKyEM8XH12qYqdiHeJ4RNAFalncwhE1fRtxsxmDAIQn4yqDhEmAKC8/yyhnNB8qd6rIC9jYTYrD11Rk7dAAHpveQwAQvVpWJcgoPIw4vaBVq7uQggydCG33/HZExB4kMMkzkZFbUuJ1KjZzMaJ0jgsFNLE4kIiA8NEot9/ouHxcZ4QANSvVtXoGGUJQxVm1mfklSUAFNhoKAqUbQxaEXzau4zZXuJQWYopZ64iwu4jgHhx2LaRT0QoSACoQNpOKS8arSZpGaIkDgFIup0Y4YaIiB5BANBYrZsIxzvOb1UQ2vfivm4ChAkXjwaCneMyQ3m57uQ5u+RtO5Lau5m4qRg/125hIaRGafk5UUBYTHKJDhZJiU7KRqDgG1R8ToXZXtLCqKr58tA8PB+3CSpY/bL4nSoQpRHI66sws12BysU7VfNTB0Do3Kyzrx4q7f88foYUGNpMhM009CcJURoh/4OVlxSKD1bMswoK1A6f55hK/hy9LasZI9w83jcZAEKfVdyOAOCkogMAqI5ns0YAqA8aJSOTHN0cTNP0XVF4roTStAW59DSmBwq+SBSCFkhN7x03wa+I7nVDskgcvjjFPtHpSS7BjjrNPYOaEjR9EADUWzEKEohCLtSuYnS4HMYBrNRZd0hQ4dqxsD0i2PjYfrVQIWEkRtWMAvHVqbpLimqJKA/9/WXXDRBmRkTcKDR2LOw2CMZPK2pHZe3puBJC5ynFljxCPbfyPUXe2ojIIwWhy8rmHAPA0TlpBfry1W6AbxMlzTx/vu1Cbh0OdUnvP75MS+L89TIWQIlbkBJBZcu8H5URVz+PyswyEoB6HyYpNVsCkGaS0QihmfHYLeETQEVyCSPx9RGXIiysVWvmARp+fU0TVBhnIiL67oEAQuV0NiwsD/LQ+H4+dy38+T47da926MewiB5CK8vC5pwE+soiegcBIEzk6x61ECrdBiE0dyzMTRBhpML2GHmFsrnEIHRZCrcGQHiYwpyinIeJ00aenrckO7kSNWjOO0Qukd+9vPSE9vkiEhB76TsbAy/4889JGdA8KKDSxOg8B8tC2BtKwX3uLEJ2FQAIBVvfl/OM4G+NquoQZQnNp2bMktUCqLrGnvDIAxFRFYTGTcWvBRA16hEqThbbZS3nZJgz+w3yjtb7Cc1+WdjtEByJiJiXR6h9TFG4LQUIVKuWzL4s4gG0U33WASC6GtYBQGgVRtwicLFiDwE0n2ZOiSVXcB7GnAOpeK7eb9MyXr9vOuAXRPf2PBfi5coL7uisAEvS67eZ4A7XAyWE4+tMIU2MptKW3BvrWhaRzI1BgaL9TK0x28ij2eXx00UFYwkPPRBAeVQkeikLy6sdKEv1duoBydWwsLzjEAGgAkQUIjSuRvXWCNBTRNgcQ0uronYaqt+ssVkf5NUzI2rXgDdiEdFLEkD7zcWWAvWXM+4Qwaf6YjfLACCZn9/vVQRgK8WrAb/15kcd5CGKCaXxkZ9NkIdRnvcgty8bTyKogFPxoVzFr6pi/1cyAksGm/eB0Hz9MROSy+exAJdQIbgjJMuI5mGsgDDf7v66vfCOF+2tirpjgtLJ1bCw2JFXmgAKjDg0CJRMJ5tVlzzMjFHj1qiydlDN5gSA8GFV1H6iUgIA8oDNL4u4DXk4GubMfnsAbd+SbaMQGt/Xnx4IwfEzyw5xqP1WzuyeAunLqJoZCCC0zrdlAvIwVDHPDACyj4jZAEB7dTqPCACSdruRIdzczBKPMLLiTiVIEuQTpbu1C+lPOr0qRKJzP+Uobz0+NIX47LopIG0ipMTBpintLCkQk7lU1dyXeTUBIN08s+d3A+WbhkWE7ZaqQBQhWH9oJqzvpIL09GusWQZodn3cPuMqoqNjETMBAaDPR/ZcRxV1p+M6gunZsIjek0A3c/r7aCG3N+0SKq6P+oTclXUu6yDYcCzsTp6f1isI0ltFzNwbWBbz8rKPUTvwMNLvrQKA0BLrjmX8lz8S5ZdNNqDAul/UTwMPaq0OlRHsU8qHSRmQdp0FmRhOfgP2Zu0OBIBavTahwpYLmF0Vja+fn2UKgDBRa6yMUZqwtcws0vaApF1HpW3DImx+IgSb/Rah2s/s1167geRkvUsI3e1x3UbhIgSiAgAKROP1qo1wzbCwPZSMHsVrGGIV0bXX9u5e37HoEQRkLIVdw59+c/0k8JMd31t/aHS8HADDx6ECef26lAujhvijtKcSx58TsMxoZyTs19tTBA8AqIL0pZ6boyyhcbfW2p8Ufmfzs+miwuRqWER0FSAAVMnAsojopRYgABWNVJntNQJAWFpRcXPkUgxQHhEqJ1QdHayYoh2qfawYbXjYW1XteNHBSt7xWkZFFwBQERGzA0DoGrF3hONagvJ+Hh1cgYEPuWzjr0Fhf5Db2C/maRnQmGdQaeLgXCIDQ6dx34g8EBHya+v7Y9v0MLdG1V7rpUBbmzHz7zwAEIoSAPJqIfkKAITCURyFWoZZMrenAIhQKeFbRUSyPggAfb05W0c5BIBQkKgyRHGUR4UQz2+nNnzChFnYTALp4f0YIBh1do/LAACtuHh2IwC0MfKuw6fx85CVAEmNSi4mSuvCdwruLY6boDB9b91fYZTUnLT8OVaMpjUqpLS7pERKSU9KWk7xTS3e//kCeYXrd6NqXh0QQPP783Foonz6UBFhc4hChQkUBQgHmzGzDnIKxx/396kfoI1TMTIABUrWhtNeHPrxNBsEgHq/jj9Jec2PzSTJock9O/VyEPVm/SgnSKG+CBd2EACywbDuEXosqkMQUDuKuVVAiPvrcSv1AGTNrGTCZhOFNi41ZYXnQi5Pm8gnqk8b9UHBqQUaAlS4M5RkYnDRUlrnNWPE8ilSQtgcSC6TvjWl5LiHc6mhLOHbiAjbI4JJu4GiRBR6hn6qSKa772Ut0Hk6Y9w3qvx2Ikb6HpLV9X4aglCa0Hk4a7cx/KllZn0k+PNxf9RCkNDNnLp9HBpYZZO1QrR11u2jvLiaIBydvsZd41Dl4Sz3QQA2jtntCYSeCLs1CMDSfi8ZAEIvd88GCEDyMWzbIC/d7LvIJ5qHXR3M0wfXv+KGxEV68RXwHX45uQUlvT5OlIufS8VqLAC1Lk1QajSlrC4Z9W4Pp4ny9PREHy0QQABABfKjvWURdkuUjzbWWneqwe9szsdFXI7QZRERcwkAaTNGpcnZZcxuFqCds+49xJ9vHNk8ZwFEPzbjzI5A3kFFRNcggDBRYXbTAKF5elwGIWSz/SJDePEtCnuP8QeAMHXMdk8g9FQKNwMBuNr8u4P/N4CQ3UuangiRGtSnbchB9M6ait5lFStpLG3roLamXuDNjzn4FVCfpBJNTC9zxT4xGEjBdXsyoHLxI/RsewAR8ml6PG9bHjpvo2JvtQomjpkzt/IISBNUSJiHnnGAAFAFhJ6yCJufyAMNPhdNVB2lBY6O2XAbAKFxVxG2H/DprCJsd6GdYRHdeYTq26rlDsj7M+0Miz6rIEIrVyk6IEIzN2wmIMJAhb8Lj662KMFE7DZCmOBRCG7Gnl2peC7SS6C4Z2898Auid3+VCfHJUSLEJxd18Asiu1uPBayeekoIx+eJRBPDKViyPQPDPRlCbtTq1jzCybBIZi8xym/UWPvqgwC0j6/Xto7ytLUsInpNAIAAUCVj8fWOMBEKR5TTN4FjHPiT0efrfeuBvOZbRFi/4Cdnk3HmpgEsrYjqJPRpmDO7Cg2/BRduXZIuzqssgLFTcWcEG+vDOIXfv/Nt1QCQXo08myAQxoW82iAPWQXl8SY6l3KI4evVBYXWZe1JpEMJLLkQiXV8WysBjj7f+sJo/TEoIdqvH/MSIDl76Sn0UMldodY+SRU4mG/3v2G/u3tV5VUEAN3MihiZgEoNVZnZXWIECYUJRF70bTy5pV7ZpD/pxvCTm2UW+5FTPJ6fjosUfu1uMs7cJyolAJTz4UTNuwPKEwkQptYad6uH4kOmvEG4cf+17t30gLErhO0Wwehm1DzTQLItinsT5KHzVpl6SJ8q0gKQzY/bSQ1+c9jNIoRr0x6FBmlsNyByPQ9yEBk7lb5T+iFbOUqJ9s1ZIjTu7holQHR8UYMYZwjrbN0AhZ0lBWI8k6qaey6EdmZExK09DM7v92WK0oRvFT/rg7wKCQDmLhNhu0VpQvNsrf2peehezG+2iaqIDk7VHWMAhBE76061akBphHDtLSL8uw7gZJlVux6A6fG8a4ECiIfzPvJb2+OuDZ9QLwyr6YO8gYqIzgKI6s0Y4eRtREzDmxsRPQBAcrfuU/XQe+SbKNBg5xahUfa2ewkAhdDE6ULh1kP8Sk+oWYrAUqpPUyVuOlgfjH8D9l+3lkVEuOEh7nZrqOJgAjysorvZb7rw07NTca9mOcRHlzG7HXmojSZdQpVjwyKsCxAAdFebeQ3VDg7nn1Gobjy7Q7B5cY4XyI9TFCQUpxgFe0/5TAjBaWAVINSWh1kCgNDKVdgMvaWK6MmbGS7szMvEiBsEFqaQDwWyg73VIFearoDh41CSuIlOZfDPEd/IEKjEyc+hYrQ7kfbh05MJjT0CACoHLFVE2DwaFYzZWfcegwDUVrf7roXShJ6yiLA0PAKAarYiImy/Q5UTBm+rVkeB5K7C7D5AHtL+qEV5BIDyQEQFiADKQ9qooLQhqqodj1B7fJ3bRgCQfoyobXm1woj2vKmKmInXEGa7DAyt2BvCXiWA3H1Ea09g6CGfqEUmG2lY2NaUQthYFeBXQG2cSDSxuNC4zxYF4p+QDD2ACAVHp9dtRl5yt6rGfIJQtpYZZrb3OnyKY0JBAlFg4AKu5QFEhFwCQDlfyt4mRACoAAGg0I/NmPVGHsZirL3WESSUJRQlAJSH8hTChJmXCM2+RcHaAgEYM/OSPDT21/0gAZA+tHjXvOhuTVEPRJviWgEFAMdjDnFNoqQB5nxnDuBfzaslcfbeub/DJkGFTjr8nCpGswYVOm1n+Q1pU8o6VNjWuIdzHhFA+HQZC2uWhAoSPlRV7ZYAoPHzfN4/UOFEgjoGoXJCm4WFOauFisej7XYUBdpsmA33Q2Wjei1CML0aFhGJA+j/XNY1VEwEKhA1GjHya6NJmwokWYTySr+GkpVjYdsJoDoaVuATGh8x9xRAMj0/HxMCUNmcppUAgKSawCf0XvFY2Kbpu6JwHciVSQP5RO0dm47CrSe/jrtCSluO71pK47Awt7hPlBAWA1CIC+lbcy857sWomQNA7fRr1OoEZQmdt4qI6MADNTspChJRaB5gM60imX4uOwhunLK6JSqMdtYYu408TF/OveaotLa533etAE6ePin0xykn3T5f+1ZO6+6cLvJ6p9uuVvZHQlcN22eGYLR8vVcxANDBspgFiNBWVTMEATR+f+YeoXUvDpmH8G7Nuw4CQLg6diE39puKpA9uX1FVsVnfpEripS0JCtxiy/YsE3jyc6oYdYmUt2mBlOoNKWtJRr3bi2F5NUFAfXW9H4ZUwdyyJ5sQACpQsK2evrsVpGfrfrMpCEC6espjGZcjzCwzsx0F0JpM2qg0PjtVd6kBIIyNitg5comoKpru97MoRLtfEXeOQyfDLNzyCD214h5ZSTya9wIAJh+5txFefEXcwouvKmx3IGDhmM0OROh9RbULAuKLY7cCgVB+mPjdygMdyP4lTc8KUoHqpAXZsY/rDvgFMbg+igTWU2lL76XeIlHufyzBEhTDWKIBYn6bKPaJwUgKLvdWJHMjEAhIaxGqWLiA7gIAoWBtdfqZkYetVVWzQYXflpn13QYBoHqrBioH7ByLiG4CBABUychmIpldgABgfJfHnPIqJ6ystXZFgYZmIsxDEIDkqSIiMw842IILNwB58VmNbEqQVROE6SEs+gQBmH/FcN8bORGZgoDRN2ede5W7YbsHAYSZSbbEj4nS3dib4g/O3y9ilLrrzWsPLBk83uZCdn6SCtnZdUNInj4nysFNR7FPDM8jiSaGEwEgdO5LsZuAAAIAQi41hp0o0GdhYdZJTtH23Vije/Jo9Xo/P6iChEVE2H14BACEKrfWMyGAiFCSAksVEf79CiFKYlTdmC/bAULnrcximoGmZRGWSYAehpl1GIiOhqVwEwQnVlilCwogbaQhXAyzvQbizec9hx/vmR9NAqFZWPNqwF9ak3c9gNUqITqr197/BmD8fnUVnfPSk0iHCiYOpcTy5TpDKQ83644wef8Yg18QndfNVPCnT22FHjJN9M6yMgCE+XZP2s8Wlq5XMtmJ6qMPf+tU1J6ogqNjYdGZB0Q1QkEiokBNAr+fXum41Uo8wswyM9tRTvGoMx3VEBzbTCSzy5yyRJQ3FlXzEZoIi7AZBpK75cy8WgF8GGvcNfIIy6+wagvk7VVEZB6ilTF5P9Rh54oewo3ddZ3Bb9/EHBMQeufHuhF70WjZj1AatqrM6yVxMhMQ+JCDt8nG0ndKP2Qjhdi4Oo6Exs1VvQSIlmepABchrPPHFijsLCmN5lJVc5+E3Y5QmraOhU3W9uKv+/uxq6Esof1UERFzAnlVR08VETHTKtpHlssQfrxz1ppdVEW0sdY9e4HkZkXcvY4qCUVrbxVR6YBA6GfidQLov91vNgUhuDxfvxsIZwe1+QThuS2YZeARRiqiRTWAznbZBAXSh5PvOQYISyv8HQNAsjd2G8NvH64DClSeme3mjZK3XUvq0MRfM4XXCPErCTlOEFZSaixSJarDfH/yG7BXqtsayreURYTd2gMa3Sahgu4rdK1kvF5PIg9joyLuFKN87elEjPRAAJLJdjOJUZ6wtMxsHomH5uH9PnZQbTqa9yg0kuAnCAAdnKo7RCG0ZvMOCqZ1Qn7SHTZQWnk5dacI8PaWhW03BKq1MwAgDESEpQUinByzXQGElWV2PRBQLZwxLRCAlX3bk5sTXrNnTVGuUcDkfihJ7jo+lX8FKG1J2pOJw//pKiaJ/kTaN29FoHJD44meYo8AVACkN8PeBuVpp87pT+zR5K7ZtoYKl5ZFMrsDAAJAoAqAk2ER1mEAcbMRo0pC68zC6zgwUE+XAaSrx2OVoloCChD+XpltRwlCa8vMthnKjlzc2yAQ+iIs0vSmqmIH3tYyfwcgwoAl/47hz2yc7J0cBLUA+UTv8VpSYOgin2hExo5AyfHXBb1zUisD8kEk0cTiXON+GUDIjdOEAgPrsfmJPBChYG3zfO3bAAgLNar21ShFWBhhFrvygCiNCQWJKPStIsLmlMIngJBPBaKzZRGRScinAgSiAKK9ExE3DcR3K2JfLeTGMaEgERUoS0R/+HvtZY05xqHZV8VdIwBILs7aQwwAtP7wLvG6hZVXHQTU3tZKCwTAP0X3GmS6ecApjd9NMEcfXuyjIXHxdOp/GUNAhV4gTjczsGx3qeVNASC13eWvSwop6WstSuR+TG40fyh/N7z0rRlz5uYo37hZUX134c/v79e5jQpPlkXE3EPFCQU/DYuw3VOgZNQe9hKPsLPMLNwsUpYAEFpvEWFziDx0bxk/xvh/z/ruukwQjI4qoq8GCEC2Pi1ThBtXyccA0Du/j4saAPSvt1mEIEPfo9C+3no5xC5LnlWFQwmVUQNy6e1x3RLiZiptyW+gRm4hz567ZUB9lsL66jZRQlh0pLROBdQc5NRL3Hv5cipi73UAGIoV4w5pBWvHImyOsYe014mQT0QUiM6hZ1QBaqNpnwItVmY1Y1C5ZGOcvbRAABq3X7X2A5XS6GPRRqAdOsYBJKNxDf8vvXZFYZ4Zwp3Fsh46W1ZtAEA9N/ZdAQAaHY/dACr784Q5pbu1r9I3oLI99SDXd+uSpPduNk+5cLq5SQVmXrLZXWYCjz5GitEolfIWLJJS0dDaklG/79LORETYbEAA+vvLaZmifHKVcN0jAFQgn7APnVFh72J++TvxMHo5x3NChR+OOXPnBH5z9bOfUCW0Nb/uNYYfnx0LuyWK0v+bEP2h/nbWjEGBuf1+P1WPChGRKQDaGWadeh1rbV713FNmkh4AovqOzasOfoPjQvZuSbpTkAoUkybKk4eX5x5YMrw7iQS2cslRShJpvMoFf/tjISDtRxJNTJ8SJYTdCSiE0O23EJYSsKcIfpTGoCruGjABgFC0/33cNAOdzKiq9CtI75ZZ3C6A+mDYRJXJXViEbR8EEBATqpkZYTbPGgBC92XEHpM8Ivy/dnW2bCGcvJULuwrcjap2AWBjRGTsLUzBOvCCdxSZFb5zndgDkUtogyg2F0p/8OD1JEJpdLl+awujp7sCLKldnuclRH551xCSlx8zsASTi7oSwt5pJNEAMRhJdJBpb0vukYw6UTFzjj0CUCQdjJvk0c5mIple4lDhD1Wr7z783i3L7kOUJsyURURfdY9QnABQoPYWEeHfkQcCQMgljzzCUUVEeAwCgNriaxTh/8tWPsKsOw/tvMi38Bu58Cvz+tbYvOo5mySJWjlw2i3IzuKx9PIwjt4dyN3z0lOQCiMHcfZ8lQjH7x/dEmK2fh+DJc31eiS407uWQgeZJkZXuWKf6PWkfWk115bX44D9BqH0+K1qdglAaGdW1ZgRyhK6KsKi98QDNVsR8omIQiuVQBeEsoSoliAYn0wmLNIJlE4bCaiS/+98dGJsP4B0shrVPVTX9+etB0K0fjxXqQd/ue1A9quBMDJxNhYQ+pDLT5NOQOEbmUcQa5fLCF8T9cuLHOVudhQLABHWg/smaIDSaA6W7GkLm2cNAL6dMNt3C+V7oiLivuF3T8/XZYwKl45FhF03UJyQS5hyKEWF3d31vIg9DNSIujWhwmjy+NzHEfyxZWb9ZKjwYHO7jhmK99bqEATC1IopWiCgvns+Bh5QW6ybofr9+2mDvLUp3FoCQKESmWym8BphUX/UO4SVlFqHmeJymO9PUP3c8xC2Sy/5ypw591GacDQiIvruggAknU6KKr9swA4qQDr7Wjbgx1crIvYLFXbeTs3vLkDD4/P2kaDKqVNROw5EO2ctD1DpLAfIJQy/XJhnAkJ8tsxuBiLMv2I/dRBQe3+/ryoIhJ3L3ZHg19//4pYirECe3PcliN42Ooe/glSILWlvy+V/d8Eyo70plf1vEdGDB2p02ymqvAdEJx4BAJUjTJwn2ixFaF/UmtfQQ/NoVFZUxdkws8gABABxPUWllaeysL5SD9RdTOv4b585wNQVIq86CNg7UTMCgQ62YBmCCGNTFDoqYXeMAqh2q8gnOo/nQkLgIZ+o2zgZaFwWFnJicFFX0o6HSgPE/FQi98H2gSDlRfVm4hFuGuChBxAR8kfX930ZAUDtYlXVrqkU4h/LzOZd80DNboqCRBRKnkZERFchn/IIAAEgNAsREZZK4H+ERD6hbVTcmQBC610UpxggzJyaR93rijHcBQGoP+XTAQUAUB68Y2JeVQlgHlC6mldV4ire+YUxMC6mcrIZKztMqegIAB1M8tdFmeT6WuEk7q1kdppDKNg9q3kvCACWhpkzc0tR/sOoqvkGQGgeX6/nJkFZQkd8ttNASUJ+9FRPPooUpKyWIFB9KQvLJ/2fg3r6el8bCGaz03FZARBvHp9dIwaAxfsxRzhtZyhvX86NPGef2VdZ4ShQGtUhl22UtUAhaJdVW5LfQImgRGn1PgC/AvJRZEI/vIuUEBYtKetI8FpMhanbV3HnOCef0M2MiLiVF/04Y1w2BJVqsPhmDAJA7UEdRYko0LcsImI+q0C910sC2Flm1qyFCqPFM78OEVx+hcXN8T/TrE4o3Vl11xgAuk9rNwQA2WSxyALIVvs+BbLcmKf7jagdzwPI9c2qJOm929erLDmHv+6hwtUiSec23zg4LpTDt6FiNMqlvAmL1LK6VO9IRv0eyWuTosJvxyIiXAeAeHE4brqocCY+uy+PUC2hnYmIsB1WMbll2WUQSE/OWJmjyq1TNWYEApAsc5Mvk/+h/LVWKBe26Z0ts2167eL7vcYeXb9WW4GaYzGlbwBcH7L7SL7WlKhBZVhDPlF+2KgDlkwezmOBvYaC2EtZIc2OCiG5+TFT4paHShPz+xwsC2FnCgrbcr+n1YhQYf2qEhx7QJwAVME8Z40gERWI5/v9hOBvrKiaa1KKMBAjYrnlIRl/fbRRZUuYpTC3GD5VG9UI/0MlKqvnKuwRHkbYdgHCXrlwDS9TLswsEF+MOTKP0PomtgdX+oPTaOOgNLp5WzeF2fNdA/yCaF5f5UJ2+9AU8uePA7AE/ZNCCWFnGUOlAaI/lJyHSmoBJPc5ACrQmk2bFDJciAAQcqPufJQG2iIszHYK8grXrqpGvyMv3mYZnxooT3ubibDZBMoSQKERi4josw4CCADofyp/3qsxpxgAZmrllQLAyqpq1Yue1thOAOlk5IA5cKbniZOHWfTuQO5eFo5EOhq6DpST58u4hDh9f+sJs8/3oVB/2wwErq7qCgiZBojJXa7YJ3p9aR863qmqriMA+LaZCAvXA8XrR6P6HnvYWKPqjgnKb62IiF2AAKAxaKMoEQXSs7KIyImqAAjhjogI6yPF/6Sj2WmZIji7fw6jFEB2y99L8tC43IYoj0sevhMjY5IhmINyiHyi9rB2Cub90cRDLE7nDl8TtfOzROB4HglBpJPmD3UTlEZzYQ977VhE7CdA6Lwts9pPlKcfKyIqXS/6vL3umzrKx5mKCNufGH8yOlhPv1Fl93P70QjQ1TKLW4L+J/X3gag7RwCiwW63qnlAZThMPUL9Eh3LeWv7yhYSAAr1t00WCrcZFvadRGgp9Y5r4FcAE5gfTPe4aiy+PhogQvco5r6IShEGmfi6BwFAvdNAlYn4bM5pFfXZoucRpkZExPTKEcaZs7/PtofqxTpdx/ifNRGVpE/Dwn0QMDL2eyWv8vi6YwR/842yLfitEX1FDYUfQuTksQshuvvoGvwKUiEokQHQVz8GitH+lMo+dmPQDA0krF0QgLjZrqE8YWbYM7cAAQAVIArR3XhuhwonLzG8i+F/qCrPUWH9YTLOzCWAuNWtE/7HnjxVNBBfTSFFCwSMvrlIFwRg797p/huASrcCuX1/TAQw8CBXv6KsqwlYWNhHtw0lbjhYn55I5P7Vm7NT0+vmZB2PAIDyqN5rRYGxBM0pABAhv7F7vo4dD2OjqibrgUq1xIioWwXQmE7qKEhEHmEsQW4E/qc/s8beIwC0c2LeFYAw+IrhDgiEXmFeHQEABfdsTRQI3ykE9/hdUWzjnffLGBifS4efQ2WHKdW6EgmT/HUuldiiwthJ3BtRVfOsA4ieyiKZOScon2xF9doBgNrNZMxipihffxhV5b5H88f7fR2CUPrLigibRyNQkgBQYCLsSfN/BdHotMngN56fzy4CgPTInwUIfqNfglzfrkrCKdUQJORwWEE+UX8b0wFLkl4hbUlK1MgtqDgvEOfvY7As7TkTKnH4RCWERUNKx6CATEu1ZG9ERMRsAGAoVsRKH1QqOjgRNu8WQBi+nXV2R6UIO8siYq4ekA56CQoSUeig4r/boHJI23UEmi9lYb3T/wr+nMxvr0cHAJL2dNiJAvCG00qe/7Lp2c1B43wZQG6u5yVJ71/+upXLovPNfSqwmUg7SweRk/N6GXD8NFSMxoUApDWYpJQWAtHsSbvrNM99jxsIoOHP83noocKuYRHJ3Bp+5+uwm0QoH5+Np69WwKcCBVeWRVhvdZSPFtfH7TMBQFhYI0YG+F8iUYiwd+JeFYDQfDgzD0SHLHuWQACNOIriMA9eCNl7pNlKQQ0qgyq+JvL7l9eGMH86TwU/aEtJLNUbijs4qwnx3c+pEtUdrC/uC7AshN2JsD13Zcv9j0cAUaMeo8qlEV9PMQACIkKVySX0boeIULD1tV81Ak1WVbGfoHJLa9W4NcEf7i+7Dv7XmT0Ns7RAhJMrNK+DCK0ofmX9HO9mkr0jqCuvONk70h8c3y9cGe9f1y3wC2Lxdt8ES5r3N4VQu3/qgl8QtcfNTEBnkSkhbM8iiKSJzkhyXuIWAST3L3QHnwCA8mqz1TQNzAJsjh4IAOVRc7bsRwAIO+uZK4UKTzJj9DXwMHhmWbaOUL7GwsIiHRAAUET4X+jRsj6q3sGyvOsgoHI3kWnmIJxPfIjOeD9gHlbvVxcUuue5K5HU0EMdP5/G+Jo4envoCOP3167QfHwdlgCcnWXKtjRAjB8zxSgpdbV9Yk+6gZKdl1HzaHgdy579QmnCiFXMLvL6mYqILlA+fRkRsXfykM4+uqiy41hE+HcU+l8poZ2LTkEgjIXtIYI/j+3WwY+JfmKiDpiDRhn5ROVpzUD6o54Qa9eHxNdE7eE2ETBfRAg1sfioGSM6XWlvGVZQOCBOqgEAcNYDnQEqQAYUAz5RJo9GI6IhISS4iYBwCglN23+/4T/u/4n/If/P0Sn38H/2/9h31X0RZKf7H+p41fSf8B/3v9f7AX5p/VP+1/jvO9+fzKmef4/9vfcB/G/6F/uP77/lP///x/Jf/3f9j6G31b/A/9//W/AB/JP6n/2f71/o/3L+bv7x/0P9B/qvUE9L/3n/Z/1PuA/j39R/6f+S/fn4u/1X/i/0P+x///qp/QP83/5f9t/wP/z8gf5D/SP+H/gv8x///+B84fsxftp/9PcQ/gH9Q/1X5+fWxAH8i1g/Bfwz7M/o9/IejFYJYJwf4HfTz+o3Cnoj8D/hX4H/p3/RfMB/APwA/QD+S9YR/Av4D/CfwT/pH89/pO4B/8XZo/Px5gX4N5i/pG/Uf5z+DX9Z/pP9G+B353/v/7R+BvyJ/k/9J/7/4ed4j6E/6J+xlX/eP+x/hf8J2+8o+oP63989FTmPvQ39/0X/6/5/vG5m/TP+D5RfnH7x/7P81/jf3U+bP+2/bH3C/1z/l/tV+//0E/0f+w/r7/kPg1/v//h/qv+l///kN/e/+F+0/+6+An8m/p37Lf93/////6Yf+V/7v9Z/xP/b8sP63/pv2l/5fyA/xj+k//T91v//803/d//fuPf4n/if/n/ZfAF/HP7H/8P2x/9f/U+oP/w/+v/df7L///+L7J/6t/rf/1/mv+b//P/Z9gX8c/qv/w/aH////L6AP/H/4Pdl/gH/E//n/w+A7+Af0//wfn//9vIZ/k/4e/q58ePj/5p/cv7Z/nP8L/gv+B/kfcX8b+f/xH9s/y3/K/w3/q9+X/Z8YPp/9B/8f9X/lvdL+WfgT+Z/f/8h73v6D/t/6T/M+Svyp/6P8p/oPcF/JP6H+uv+D9lz5n/kf37/a97Fnv+e/9/+U9gX1c+d/93+xenJ83/2P8b6m/nf+J/9H+T+AH+Nfzn/t/2j2Z/2f/c/w37/+iZ9P/1//n/3X5b/YD/E/6T/1/7p/fv2++mT+u/63+S/2v7aey/88/zH/p/0n+y/b37Af43/Qf+X/ff8V+f///+8D/4e1T9sf/h/tv998iH6j/7b9p//7/vR+JR0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGQ4NUyxLS8iC09KhV6JWW+DIvQuEfAuE4o0VwZF6DFyvbwQNEWVk6cxx40aX4AUdzDIqkti4TijRXBkXoXCPgXCcUaK4Mi9C4R8C4Rzolvzqy7mn/imk+Tn+9U7byu1slO65z7dK2/1IGmgIZxJO6mANLhScNNxFx56kSuq/iQwHiIpViFv3P5u6f8m9aKyPbH7xYqg7uM1sRbFwnFGiuDIvQYe/f1IhK8rGvb9rwN7DZF9F9d9BKR9+k6Tr8H9Ir7xlGtszVw4MK3brojUIt0lTAD7S9ENXFGiuDIvQuEfAuE4o0VwZF6Fwj4Cxv4mOqTn+rZMl0qRXgVH7EHGwD/q7RUt0u9RBRjBYFlunyu4b6kjy7O5OOvnPV/UL/Obvw0UFzGXuvB19/OQp0bOLZUJejFhOrXqnatYf6DQcdd0q7OCZXNebE+FqWoR1MjcH5dH6X345VAKYUI2QHjrOCcP1mCIsX6+CWShMPECE/hurPJIJR0LhHXZ4QNuVA1/PzzlaYWp7GmjuTwwqrvnEjmMbJJMPFCyH6oXOF5fE5x8vXSGCLtjTe9H8RlZx7Ue/om8tvQLFsXCcUaK4Mi9C4R8C4TijRXBkXoW/qUi0GfVcOT/dJM3OBhvYrugKWVwcf6C63x9u0QUl8HEiy0p3F5YO7zlu2ikdR/Ergp4/L9WK1S4QjP/IK1vEAkitEjLtOZRPEftQYB29ZFKjcHOHJPljF1jBYUEu7YC3SFriZxcP/bhFovhtZBu+JgxH3poM2A/7EFd/EAa08gDG4kwkZWlYtsPGs8kglHQYe7vOoC/5LRTDfv8h0J55p+lY0rGXLngYCFBH7HztFI0AyhHjjr/RMk94mfVGKtkfYZ60c6Cinotbhur2rcR4m4g7olLCspxL4sWeSQSjoXCPgXCcUaK4Mi9C4R8C4TiK4BrPjNK6eyHAGxefqB+SK4Tt3vc7Th1vNdvwPHeHPsTEvnEGmQ6cHPe/A7ypdCkax8y6Z5nejfherOA4wTJQxiXdwTTakS7ETOT+eBsD4z7P6XYppvlPOKQ1asLrnpE0bn0VNq3Btgac+aDp+JdHRA/gDyzmKiaUMEWt5M7Pol+hMXnlajWkRO//PVWHgz1Q4PcuPT2WLW1qnHwLGQL8p5tV9SBeabRZKCK8kBTnpo8icPzGhSDd+ne6/ROUiq8vA7UkJYYrG+3JjZ2dSJ2JfdYP9kAvmgtCnnMmVx0HIqAGlaePJwBvyHINE+DygXCcUaK4Mi9C4R8C4TijRXBkXoXCPd2RnhfpY46i9Mv/mA5KllPywPzZkfodutvRqPztlkLvjgShEdUZQv2m3h95lHaDUks9TCzE7OzDKdsdP2Mv7WYDXhXAQq36goZ+OglJVcs/cy/sW+HPFDQNk9AAs4Vv+YUweKrVxhDt5CFh2KNvS7h7R/D8wYODXkPq6EBasfS5dTnzoXgFMSsNZ0ecBoVR8WZ5nWr1xCgQjWWvEAAOKQrQkPNzvX4ikBd+8GxKGvZoB2Hbz50zBtm8UNMe/FOWjQPiEZBvIy77OEisvcI+BcJxRorgyL0LhHwLhOKNFcGRehcISOW6T25GX+dHb21H7y5k7nkYot7CN9nR1JtLSTGiiqBWgTgXbEITJY3Jw9PG3BopZk7AU1ts2J6i+nM6a2Iiyct4efFL7Y3NCENLnnTfhFPS8cqKil2GVo2HLFGfLuq2TVQixBpEHYTOeeAPxS5pP4emAly6c1K5NHmljL2C4DCoECnXQeWBxXh4WVWUpOKcWZWGbm66BbglAK0ZkKAp1sIsyBeqvYmxpNaOYrEizDzqneOEgXmLwBJU6QACHTfF+mPs2iG3UosqCPgXCcUaK4Mi9C4R8C4TijRXBkXoWeBrKn/r3nlOeU8Q59RwP1S/fi0/2LaHHQhuz8w0B7ag/tVaebBBNVhvl0pLvfOO06275a4rLlA86JgnWCB5/7N0otWZ5l1UkdfFz1Qr0hTWkNHDKAYTEIdgrI/QglcM+sbe4NDNIYx8O+O4Jrk3hGQsmdlGKIJYIL0NJHF+Ef+jfnNEnMfy8NQ7cy49VViIRJWN4lYhWrg4UIzVt0p20xxj62U798EY69vtXRmyVIQKIBlmPp0AOwgxj+xlpGApIFTuDnY0GEOXhdrBP/mENLUm+BiLKgj4FwnFGiuDIvQuEfAuE4o0VwZF6Fwjr6ZIIcvRxIYVomiCPdWSDo2sYQahp5bSrc5X29jGLk//I/MuvlUcM3/LR2sn5Iu158bJPCkobx3bfM0UP1eI+9CqyAn91V+ccKQQCE+jrak7WkRMFECOx5QTOokHWBhR4mvBdPsPOwtPVZDQyEcgJyEmBsgQQg4HWuRlrY08kBOYBIGEOs+SKU/FwnRpoeasgssC6V+WkozCHFLPuHszXAAWMNYfgF9UcWGoAJ0BNYVJQCGC3o08nsx3P5pQR8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8BjRPFV0qg2UVB4sUkIyvki7v523EM2lxe8t5KvmgISphq37/TipDlM/i/Mk+Ph3znMSvYSenqcN4inTI0glN6DWJGvZvGalli2Z3ofQKmoYVi/E4NBTm0b+yBMXKJ2sXKYX4jLl9bfoni1jwsz/KVNAumgBmQi8iASNvUR60SYvS9Chf7lIBtC96Hwe03EWMuSESMH4kigckrM2VpAAKGwbCIyZS+AepYjDhGQr8x+lzKktztWlvm2guTLhwwj0hpFKLhSr2Av9gkVvhImAulE3YuE4o0VwZF6Fwj4FwnFGiuDIvQuEfAuE4oywRjJOh8ipv0zjGumRqL4vA1q1OtEVurR8wcD2/KD8iJqaDidwlXL0vJz1E7H4kIKDoKKjGpAcM21n0lo+yl5QaISKZZWvQMzr3yxlqI/rn1bWHKrVAMRXihsgcNkFL/ZPJKpNfzs0CYcnBKJMFN38C37L7B4kRT0wVeF/dnSEJMyM1HfnIiv5y7nuL70VDJKJrFOkn7rakp4BxyptJbKn/phgeC4/gWrGfYM5oeDeEQ0yUdW+ONpwv0nzaxXqJpQR8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8C4SHvzQyf5Ei+QOowxO+LR9gIJQmbCRljyE7WKj1n+dnKE1z/pzPVEKez9zET31DuZndHcYDL60Y9cuKnItCb+FwBXGBTLBanqlnjEfl+nQlBUO6zom+q3/iyEhTHtdjWiCm4naQm27bqoUNK4RfDn0eIb3rfHd3WzRdWSHAJxmFArXEUI0P9yeAdUXlFlYwwBOZwGt0IebmqtLSAFQ94JGiuDIvQuEfAuE4o0VwZF6Fwj4FwnFGiuDIvQckNFS7Y4lnpQ0p0oldUtyYEo6JrP5sT+C+F5qghhn/I9HS6h5jqYihjKLbiXXe7Nc55Tp/YcmZRUvYeRjny4aocE0hSH1a9CPwH8OEICtuqujy1n9THY7vZSpXwiOt0Po73w6+BgdE4eSYHHNsqfqeA7eI7/eEo6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF6Fwj4FwkTbcfQdHB9wZF6Fwj4FwkTTTHYPDviBlJ5ugXHRcc0zbjOay1MXc7g58EbBiryEqEoONJshv57V4UuvmMaXo+1pph+kbybwI8EZ0ZRKDUnWLnaJInO4R/eUuYsqCPgXCcUaK4Mi9C4R8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8C4TijRVVCh7Bz3dyEBn6/ZSD9IjcgoS2yMQ6w12t/6Vva1x9/PGXZPoLxveBLRX4wDUAD3G7Wck/Sx/rJTr5qBhZDCTmRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BZaiI5WKzMSas9FR2YCdagWoHH4lY6lp6boEUEBTPxUHR32KqzKqdMscodieLYIDirUPLbYN/nYRpBvLf/cUjRXBkXoXCPgXCcUaK4Mi9C4R8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8C4TcUtaJmgmUDcx/5Sg0oAXX51ku35d8WEil53JzaSF95qlBHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhC7AeI/d/KCPgXCcUaK4Mi9C4R8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8C4TijRXA/QGqNKZYqio6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF6Fwj4FwnFGiuDIvQuEfAuE4o0VwZFwF3GtTz2+hxn1wP85CDTfxblG/wvFdv5CTczXOWywbLEanhb1XhZ+bplydKCPgXCcUaK4Mi9C4R8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8C4SBOKFW3fdXloeNrUALHCEf8c37THe6cwS9h/NCxHHYCkwyxXhG+Qf1WxXuXCs7ZqhpDOdsjZRZpgHfF7RuDJIX7UIGPqKypghcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHu1nb0NLT+5Iz7Bg9/0+WwswE9P7PYL5r24MJhWSdewqZwglya0ZgYmJayObhIKqcTfGxQmu0YcdRXcWqhHVy97oF2pzmB82d/HYLMAEwuC0oI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwGNpaffTNzhX+St5FF5NzPoJi6YVGVzY418uCOu9bnUMS4LA2SIkwNOASe5NYCO99WcD6JT1KG8Dx53tQULgpDzYaQloQGWgO2vdFatoF7lhGiWHZj88rc3k2IORorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFVUVyUBXve/Vq+F9xTjLUdlRM/yeDSgQGNPLgA6WswS/6TKDZdlLHBbU7r+WgtFRJiuhebLGcpMh1qcW+wHI4frKps+X32TQLqd60Yg3BRZUEfAuE4o0VwZF6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF6FngQxPsRUcbhSjLZwE7q/O3UrGwoxan3zN5AoQ2h4z1aziLqv0CgUwX4YzVMKnWAspij+FIBROHy9o57iOm35WJfLTSh/9898C3JNhq7pJ7TZZ474XL4TBEBAq76+hpZP0siCoI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHcJGyuIIRmYfKLrl6eakR/iyEwxstednPLOb0TWDK8uxmpg3MqO6v9E4De33SC4oLW2DW49RIzoNH//Mvwc+55pfS+REFN2R/syyQ3hL0A3vwkTPgGvuflcSnHvQuEfAuE4o0VwZF6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF5k0zdUJTlI0WkmBX+7p6rblPlbiTmDoTGuFxaSNqmqRBbAdPnbi37/0edT9BEM0n4YsW2EFSMhw7qAwJtduPHTU7Z9d7Ymea6EfbVEXvE5V/bhYoDdmOXKZfYEy8pZNorCus+atVglHwm5xRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhNyc9xcxgFFUZSttsxUf3u1ZuA8d/uZxpsbHzvWFeRCtG6rW954+d6lBz0M7Meswdv5OhxygfjPCEHU7KtqrRcpV16GWDm7JSVOpgIWm/8vEeeABKyO9e8eNX/aJMtd8QJwLAWDsBR1S4rgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFbpbyNVHSCjIWLtcfpIDZVl/8c5Qboj56/zmUpvn+Eg5Nyn/E8H7ATPDnAI1MLXBBEYNQ+2ADM5Ix51XSR4K/I4yfSu5qEcBz+jrNSgmnZM3Tj4FwnFGiuDIvQuEfAuE4o0VwZF6Fwj4FwnFGiuDIvQuEe7WXrkGbHX5SUReg4B1m6v84p7bHvQX0PULC+/WnZdRWDvVO8bqc9HYxottccEr2Yqn2XsxEneP8YG3A6VFIl/nPxJJQTmUPKL9XQzGg8M1fBMmrNhZATBNl/1sXCcUaK4Mi9C4R8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8C39iANp/Q4NfpGIJv+IH2AYS+y1J9P/Nv8cvPwfacjh7gzKjDf1L0nds3/qR70Viki6YaM/VnDWdgxru6OSAva+N/FMfBIyhSTPQao2XPxAg36cfAuE4o0VwZF6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF6Fwj4DGlBrMf4X6JGKUCZ/qLsw2wqB/341S9fxy/xLh+Mn+rFKKnvU5n5OykRENJVytMve+GtBAnCdsza+FkEqHkZX7/VkFxHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+Bb+wyr2YqkXtqPJUHVGjN4IgAgf6yafn6mVkSComY94MUbxfpnTPPmuKK3wX8FwAma3rgd4eoYjDnhsYaaUL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI7hRNwL9xlS5/7pXmOlyNv9kQF/AIgoj3UUleBT/0UWW8V4Xh9Le1zPc6k5N+xsNArjxI2gB22nChOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRordLYr6U/r45KVtxAf5MpkmQ5VDBkKqs1LfvXKKD0GhvZ2TDH+a++zsbBjEu3Mu6UK4wJYjQfnfM8mWjwho/S/SRmxKYSqLJkbGi4aRNXYGqEyKuxci9C4R8C4TijRXBkXoXCPgXCcUaK4Mi9C4R8C4TijRXBkXH9Nwjj8XFAlQJS29aAGI0kAQo2q6X+iflFmUO+P9E+aUOoPEeoZc6Cs2jVpkFMSv8NoZ2RjYW1J4g09gvcjKvsE6aphJTS4HBS0e7Q30UZC5F6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF6Fwj4FwnFGiuDE4bsPZsvZWzUlF3GFmbZQkkWX0nLYO05nvx5W/GWAd2Hmxa4rgyL0FRUWGAuOU+MVzcP3CiUzvX96IzoDtXJGVzq7BcraCDZgS1xZ1sWevyJGMbVefD/oNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxQ2xX9TtnjGPUb05yE4o0VwZDGwqN7ZOs+n2ahYYXqihZwBn5lEmpeHD+4gIpqEefxg8ebIrU6p7QZRjDj21LztgMBeUT5AOw01FHPgyL0LhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRjlwPTPURS69I8mowzEES60/Qb0ZCIwBYnoGIzREmJNVAcDA2CTcJCms9KCBQV7w2sf28FgEF0aRjawdC/mKZq/WxcJxRorgxAap7jGQja47uMwazySCUdC4R8C4TijRXBkXoXCPgXCcUaK4Mi9C4R7mURibpixTUPQ8OaXkQgAMGiSGBFzLIcDxDHtExX61ONDgW8BCxkoZxK/amRl0JMvsuACtSMSOALTVJaKA5mVgXth1A7Ldoc8kRPBENTZv3p7yZaChgV88PhmHlCHSH1AuE4o0VwZF6Fwj4FwnFGiuDIvQuEfAuE4o0VwYbsVaz3mXkEE2iLLA7G+78LUmAbBonNc0IThoUISZtZNXU9RFaq5duJFRSQSSnW6mDwrrQCDlgFxGGLLAGPaxcwJAxEsMFeC1lvT//Q+ZwNVDbXDCM8OnnLPzvcJ5l0G6VSXbPLQ+T/trRQ10sZZJUQPifNIOc8zmsJbCV+Mf5VU5Ieq7sDIOiUBpT+t/hf4Z+ULeSz81NuTZ4L3CV47ArQuEfAuE4o0VwZF6Fwj4FwnFGiuDIvQuEfAuE4ghAsZAQWMAtNXAXROARdCXh2WoLcBzSfEpWzczE6dCfbUqCoNsL3hD/BYUdL2l/Ebd+PfewkgCOw7fqjqCPrOk4HzvugbJcGFO5sZ6q4Qwv6/IO23hYdoC6g4SRmsH9E798LJOpwDQHus25BADGNbCOJlCY9kZIZXmu60zpmfif3SVwZiSmnmK9Dhb8dIIkJxRorgyL0LhHwLhOKNFcGRehcI+BcJxRorgyHbbhwMXLE/9+BywGwJf/3PIuPOsWXB93uxjAQABQ9XCS1ZuXCBWZ9dB5hIIWr7qBWXH+/s/e9cYuQuMBD3fF45/LdKxlbPyGWALIjKJlWxwFwcAgvWl+GCCYb0IV6JOrhgSUM/GrGyJqehMY9Vrl0FhHJnbvLWGt/OeIRc1jCr9XGCIzB8xpZV9ALeLLLmYf64kEo6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF6FwjpzcQ8bKyg460uUhCbAw81egHScV4fU5KbQvn4meH1jDSQxk43yF34/3O+y2mq+sr3WIdRfALAHjfaJGcet9eBmEKXOzIeX2IA2Q2iZxYqoUIa02zwKMo2EvOKOIkjNsfZYEQsBid56XIHTxHqueyrcVFkH6cXyjyuqA+hUuEav/h2K4MYh1+oAq4SG4rVb9OEXq9VPiLPMR19CXHtBtnA0UM5FPFfRSQa36xNBHwLhOKNFcGRehcI+BcJxRorgyL0LhHwLhFTaBFZUG0xLY1muCUNQECPCJLRhzglJD/O9R4NqiyOwy576x0G6gzX+oiPFJr+CJXb1ZS7CHxhplw1n7lFLTT0N/8QW0uxjjGFisYThO5W9iAuqDkiB3dd1kRgMu+vrjFErWa3QtRr+8m7e8GCBlCxgomQAdn/tqgoBCFIsa7tIRqF/gvdl69cu5kY935Uoo8OQInUrsYwDLLhHwLhOKNFcGRehcI+BcJxRorgyL0LhHwK+kXBGZkayOtRTcxSDnT8PwxEEoB5jUfJ4ZQFhVLAUrbEDLJwivM8AAdBjwMYXFgLCogrVRB0QCveh7Ce/8P43ExWv6QAM52twk7EBIDTQbS/wlZMydwkmz8Y3OWkjg93JOKIXHRHHL8774KM9SW4j8hzynmVZ7Vz472bh2wo/A90oLWMqh4seHgFILiJcYA1N6PL5EJ1Ewj7QORehcI+BcJxRorgyL0LhHwLhOKNFcGRehZXhw/ewKdyIpG/nBhY28+LsIlx8AxTUTtZHXAy+/lA9mlyQQfR5AeRMSzf/xoN9nBck3OaJtLlo3NbedS2v/SRhKrknPZPlNcI39/PgFZdACjCEK75Q4AeWYXH/esupHRD3ZJTym1reWbxdkBPKrisk6C0jtCXWdeLOwsA1CFoedb3XNuif7Xy67GUKiq6om05F6Fwj4FwnFGiuDIvQuEfAuE4o0VwZF5d1Ncas43UWLJXsmym5yCRx89JpUwcXsb7s+IPN74hocoC9HygVeewZF6FnfgO431vfhDiqn3rTPsJ97uQIJrJux5bJY0h7u2mYmoRAI+K9Gq57u/cTXtnH2ukDcZMr8ya12VKbFFt/hakoI+BcJxRorgyL0LhHwLhOKNFcGRehcI6AAA/vl04AAAAAAAAAAAABm+80Bo4G2nYgmaAjpEl7zLwa8iWZqrZzbVgF5bytxH/2tqbo2K+/xb6Plo5LcDWhMvm8AAAHvxgC3gMCYXwcAG/Qhxgz4vn8VSgNASpei4ozp1JLKHe/QyNy2EotbKRQMIH5YQG7lVtjN01q/swOr6nKnXQnLg0ABnDem+C1R78riWlAd/g2JQBSKHlZowWiYKYFdMnZyW+KeWmNrPFJPBadtbH8H1V8KAnpRLG/ojOY0ryxkE9tBlzLVsxl2WpN4esAYp/FLJBQk9pmUP225CU6y3Tu2mktzx+zYvVJCrZqxmP7TkJ645h2vYaX+mMoxjvYJpQYvq/jV4qVr4tWK4mXhr0+nhRcQKgPukkZWw+4b4wYvHERzaxJR4vqdfI7wVqPtwB3axjdX5fIMBKxu6GNdxC1Z5UABmZNof21TCWNdL5fRAl4qacpvwZH5R/Fu5begzXkmNlnZl9xqIMkgWUXv4h9p9RvQkIXG7bFxOd7CLH9P9mSQ00NMaraAAACetE67TV6QfDL8J9kOmAEQZp7pvDzGsHwazE140sRf//DUYAiO//wpz1/foqU6XxHvuGd7v3wUyNowDN9EEzxmkHsIPXSax7K+yklFjDOEkboPld89y6xEDNWv7zb21N1+kOJFhdyJWMbHrmKBIC2XTXnZ9CERc18n+2ZsWj/0ed2df4eC6Y7ACKqbH41ieFGjHSwb0y1Wk1707wfKMADvdvymv8EhUYbbd6FoeVo+A1Lu4wVIn58AqPt4HNDyyl3e8Gs0meA7Wn2xlBLctYGJ1fJ8MLoDO+DcILd4rriw8wOXPiHu/coDSLGWXYydqnPVtkc/4t9XN/lkc/iMJpwQ50Pa0KNtqsJcSBmCxtaOtodiXd4DzsBgpKuIZVz0yl+mIsCMVKYvpvDOATi0wOcn8KasWqArK5dR/7LiSAfIxmOj3BKynHHUeVncsMuyBci9AdaUu+ntJWrjHAeHI6vZ03ODMH97fGz4nT1QbULMU7aLcE1fmxDez2/x8JoFBWp/FVJLRUyszpmu9eGM4qNPQ3TWVj32ivyce+6T40g1/VLw/fHFRDBBidgrz7iyqbSqV3C30Yf3hjKtaieJ+Aejo3SlB9NBJ7UKwQymfHAEK4gOspv7K1EY7brocRtbOA7uXpfw9clag7wPElW809CV+kUCSaFEsR5af88gOMasg7ABwIIT40B7fwtqP4L7smTHLYWRVfNHRaPZfRgIyPJLynFH1q33Bti00oa15dHiLb9sC0a5viNo19f21HfSRLdSUiT8QXxTewngOxjoG4H2gZaWsPlo2JAQE5/CBV8obJEFrLK8RehYfuH/gvKdmGvX31cBeT4FJqFfSWYkxPvuDbvR5TtaZnc1Q5nY6XKiJZL0Ri4n1ybHOnH4gxBWfhO+VdpSN2/mHutfyBXK2u1V1ypBJim8aszqe6XFVBTBznzB+a6e1vN6d9ijLlD/cLrYYALhuV32oSE/vQfCKzLAv+iTcQBHIaUJwFueyPPFqhr1IIMgoolO4lHZsH/t3MOjNx3WKdCVUORxCVQwX3CsGxexh6NGJ5CiljT5gAyx5QbiRcuCJ5FW37YpQcAiUw8hEhErYejOYd09u4jKvvirYf1rXNg+2Wn+2PoWpGxtquRGaACFyvPAhNcCTuTS1G3JJoMbcrG6YrHM1Bw16mg0emS2X77K1lB2VlF14ksyn5XB5uxd6/SP/RvpP+s46/LckEQWOGIkns4Mq4KrIMpODZ1fTmrZVw10iyLgZjDr90+kEtxp3nuRCrvWUojfw07pZduPJ+jcGPRfvsNzGKBJdS/43MMpQpEN9dXSQdo1WIojEL9CpVwSU7Vtw7O6s+AtrkMoxgud99cFl9AAKlAwnhUCsNzmcorJB+gUvZsKKyRIm/7ATSSyWXYISg2oZXg4SAFn5KHlxTIeM6GbWuiVDezV7y3gJnn5IQo2Ss39sGQn2jzFVDkbmCRJwk7hkq0LlJsSm8z8Qi2MW9l4KuGeGK96X91EnxTIODl6Dip3aBs0vNh6hnLFfahwJupedftm6+bm65sIRixEIxcwI5wAjL8jYd1upAZ2nyFzlYzrdt8SsqCeuUW0SPDcaaVRt+ekJ5OdtIUxQtv2yWZ4tNVcY73yRsHIiMLkJ+FIyH4D/EdOv53ZGqhwjNbE18ZIMEwh4E6J8+AJ7t4dpvcDJhadVSwMUl7ANWBxTi26JWS1hLCLAKTKYwtEpq4dM7XC/McBKEcW6q52Ab8FCta/r4Uq3Aipvg38ws4bOPtThbLp5wU1LUmskMpO6kofS8u3c8M8njsgtv3EPiI5vhULrW+zB9qu1Avq1x+HKaU+lx4lUVOhVsh6k1oHOgnMgOLoouKRrezWSK4SXaZAS0Co8MhZ/rj+iRh3pPkISAvnmtleIDn8BgnbuzGcPIvIC+Ni7oLlbzivobxngNagLfQj4Ah8uA+SKFP9X9OompaixHduVrfYnt6TKNjqOTSmfBU/dJxq+nU+uEbDM09s4np4mCdPU9VwMSjNdXMuOzcyjnH2w6tij2fJcL/H3XFAeya/ene5EayGN8iBxO9NeYa+CcBn2N8JmfByq9yrQ+DxyKKLabRNWkDN//p3dFiaFvJNSe5mE4IaLsNbCqxd3XvdWRQAIvU3HhLLrpjs/H5tFTQU4ARfW2LmAavEw1/CL20NLOZuDe4qt7upIaHdjxL1zCTxtfXsj/+YuQCG5en50qE9ts+e3FtPtnsRG/M1Y7ovKpx6S++BFPM1e2X0YXZNc4qLWqCkwDa4XCcUzqW4xbQn99zZ+ab0irF1Z/WA7dwtZ9Az8kXrd6DRXNLh+x1cvrqL2fLdoyte+y+ZwxsuDtn36ZpVpn8889jGiwr1tKmM9js7rFFom5dkvAXMLrnMuQD3zaFxb/MM33fRKPy8tLms8qjS56VEy3dcRz4AkRCYcNjzMegzfiR1mv3ZEjIbSYLD1L7YemO1dMOp5NWY5Z1KGvpFbsFgAA2VVktXv38Dd/7Bm8dB0N33pJH31LleVJvhrrf9oky9xOiHKJ7gYn63CIc0m0u9PxfRghKCWio///8i9ZCDkBUXpJFFXu2yGF1XpqTjcdLxUXsaPnctaHtOFtGS9K29bEGov4djuVOmGPh7nVd4cPeG+ORN8/os1brzWSz7kvRIbPtCWILSvI+46UPE9ZKXf/3hkhPePrjkWTEFi9CHYCCf5XuNOzmBTsnLcnFJ+V3CLhM5WbXRIvzU7iqZonPicW37Lxk9kebPnhGB5sEvPjFspwBMEHh8ARQClmmSF2NYYzXWU/c8naRKBVZ1lPFUe+9JtxURbYyDMgHbQCI4e6asgW/Ji/r7DbcJfSMPwCpJMB+ltZaKLLapWgVO6bvCEPr2jNhmvgZ/NVDi3oMbpu6I0r6j54zYjtCw1jwahru2MYo94o3C7LGDCanUU9JHjsduC8oGHxKTmx1gRJX6Jgm0SbA+V7a7njfLk8sdbuVIwAFrLXNr6FbPGnvXsmJOnDfZTuuqRRbfTgxEZ7E1anH6v+qSGq4zDs87WZdThZs9BWBBCxQ4dogoUuC8h8VE3Xa4ETbEBB2lF7ZfGS+2RRR8Ytgd7yiuKdY/1TGhktVJ/DzXlNBwgy3xvjR5bOv5EJRs1nafmj3QIrujw9vAgG057atR82922HAJolsA1HdTmLTIEhjCiS7q1f7fiAJGejQ3wt8xY0U1+5ZbI91uT/D5+ivRKY+jahyXa9Aw1UVNZmT6WW1cGASRqtvSHaP7NpkbROfnjxGOwgyQ8FZTGyJgJjS8Eh7nz5oCfUCvVtcmKPrTrBT2xC/SFJVSLD/S6jkj5gfO9JJuQqfh7TQDD153zpZqOE0MyCd10KEsFK/EO3tybc1TBBhx1VAxfiN2CwNCtuW7BioeqtoidRcOmvUFX1A7NAuu1N1SkhdNS6KBaOV4cAB8uz6R4ZPJXamvsJqTC8kd7sxrKhNRjRxHV9q8ddC7zkpouJvRpkSzrrbFnrEx5rC2RA2QB+kqo2wRqzeFIopAeGQtkKWhbcKn0+MT0w5+Tw3p6yoLmfPAPBp0wmEcwgXq920iBqE6WmSLk0L5U+ngka7Fdcx8hQo8tkHJtRvVMNkIpi7WvvE0eHh6BNhNCK6RAKOZP9MKqKcRVk+1m9fhD56qSb/aOdIQ5lUuXzjEJpefTgIp8h1o+7ozPuQoogom37GrUCYu7tB7ABDEvvozHHOgDrwXQDwOCSeQwQ0WBFTThdpDdw4l9sXRM48rlEcBpqAib89Vxggh8bB5nXJE8f9VcESIFIL7rfueFXXgJEJlraxW8k3VzE8Orzfgz4jVgx9QtpjGqfDPqXDYy2n3tFlAvVDzRL0KH1mBAjRHBRPcWN4ofLQ7zb1sVPND9a6XId2cz7T6SlSrAhZjwg5fmtfJYOyx23+ax44IUG8KTUrRg0m73JXxVbDS8++WlA9qHBblEMKV1XsPj+/l+RyNr/lwPVaKzRDMUDEnY/xz1v+LXojPqYuhM1rJsG+qcG08bnCG5pZeGu9ggE8J/nxAVrb0xL7ljOtrUHysQ7m2fDCQ4/5K2jDbnQtXXwIWQVFjAIcv+w193tlE55uMKYZenDPsA/BRJ/Vd2xfv0hU/hICedJqAdjhs/OSvKTUB66Y9nBGFR5cLzv7En3K4QAbVWHv7Jx6wm7Si7wtbcEAKmRRbls4sCQQlZ07fU8tjDSDdeytcpm3fVexQjo4O7igLvH/5bOtq6ude4zePOkebrvb4Pbrsgf3HZZQnciRohcg2AfV3tTkWB5xvFghrWBgcj/gjTvlWVR5PRXPYny6KpQnlwdo3ZaKpU9YLCWxkKiYvVeYVaSorLyTWzvyo0943MtpFKHIPmvTEE7g6RuXHxCnow1xNFonA/h8biHvay/g68gPp2T5nGWz9BGg/HXOTDxVI7eANlJ0cfJyBTgsVylGog91H2lPo73Ss6SWAur4GgtmWSuF9j3B6mKoPA5Eo1w5QCFU+iNDQJjhnYVYJkPjwdLtje9IXS1lDuRF0IaHeDAheXwPot5ALLyU7+F+KGlDDdtmr0BsGXtRcmTRX8kE0VoRF8Rr6eUtGZKhWWwU4Si0DZIy0ynPkx2Gt7nk8dmPbIEHHME+TiWDymkjZm66fWv+sqBX9bIN9/0AIGLBzqxtsCfdHXAIuQRmq52ybIiSdLqMGJ44BMvvV5EMMwmF0IlGLXNOTWihA4kGkZ2q1B6EDBVZGlqmv3vj/yxSF5mP0awS84UeWKV133KnQFfOjGoklqz5P4QrRYeZGpi/ZO3HeE+p5sApt1diKsbKOlesOK8N+dQShLBOVCnvsaPA2qSmu7GdFmQD1CFORthlYtEVQd7zRxSoQSgGMDTaiJIQHbCpi78P9eyE435RIRZxDhHwFZu4UK5ZkvjC2S3NAZtUiqHXrenHDWnN3/2zu2lGG34mVy9DS1UjRtZHIde8zv6vFCPWFWfAky/CV1igv6ylTqP1Fh7LR/FB7YCaUHYfQB8zkGrr7TrxAymstPTNmH6Cns9C1HYf9JyedIK50dx3oa2qJvCX1+gdOdzXTZHPZ/9lrrcyc+qefWXzVkxA/Pr4//RUNSplQsQR+N6I4Zo22rFRqp8IcpOyoV5JepYsIKbQ/hrgEG2IY6U3GXAWGdT85hzrIYqz+rDLGScR2nwnaxeR6693+VLskz8JHNReSOdaRpQrg25sAa3DQXcTPGj2OcZ2Put6cmIErISejQcyXMHo2acDuf4zhueOyDwFm+iClfFL/KEiZjbvDRhNghQDlcrEpnnBepL1bA94g9ftcME5bLf+hdp4l4yBqPt/ZLqizHt/4rdNlZv62Nm9ZbCk9Fiizb+fEdtQI7obdrZHPuyGXfsYALcluGHDbyM6JJVad8qjr+Vf7BhBbct4Mc2tg0kEBJ/MI5zXpH5eaHTTtYfaWM3eDTC/QsZLblnDkBrTHT3dMAkNEFwn5QSqt0ZVBNIgRWhyYbdSEqLr/7F2N6iqSTYoGM32t+kO+79Qe+M9L+KTwrXfVCFLxcJ7Am8QyZ7jqxZD4YYdrDyN0t6EUnA9LQaguMJa/RctI3Lu5J14m8tyl0UP8VZSs7Ufkd2VFhYwbomuDLlJ9XAAztSndZ1MQSTbAnTd9O7+M0VTWmOQQ3C8Z4OZy254f5FgZA1pD1ABNVHPL7sXWHfuw61x40xlT8QgLiBe3uUYj8I3LZulmmQflxvub2XcaD1MJPmOmMWpV9WfIXyBgBuSmogckFZn14NVe6SqWouGB1fPhd076YUh+tH3Phe8ztFydi7FbgQjt5+NFf6mG7wo7nXkypE93qw3chnGUWgM7LgFuVVVF0Ts+p6diRZrU5drRQBvmTBWtPVn3ix7WE9nB6Pdybl417ZCPfi6rtmaupXxucCHGWa7d8+j9VHIedfWelCmMiSXXcL1z8ouYaMplkDGa5+/FMovyxpyTDdLQyFfr3yUVj8nSTQAdo9/Njix6Xdx9VssEbMKkaNOjr4gh1m0F1Pn7AFkCPxMVP1+IwT2umAyacpHP4y92BF0boAT7usTyppb8Tlf1KvDyC26nEHxOTQgm/1lrgPOMtoxfpY+IzCj8xTIDzBv9yX16BDFKOWLZq9ipyDHdbMQIRdHjdN6MWtBN+g8zSybkIAAB1E1rvrF6rQ/STNg6mt4eO06iCoVpFt5Q53kveJtNrYmxGGWt9ZVKfVchW72gAMcli9NVOHv0xQqqFrnIyc9GBAsEC4GDS3jVkgvj90LILFAAaHdenIIOxuiLXB7bFPe79gOUmu8HsxmNqWKab32otdRMUzxGI3FeyJnf8KSLRD/ZBwBgwrfnVMAAQRcRp8Yi0M1UL8bwPepf4+P9/30GFxLc1VACFE8dU8FWNHcSaG1i4HE5Y8ZH/OtQWb7YrwlO39CoYw4jUSWGuyDbAerADeXq0V26QmBAFZpabC1EZRRkztyjr+dPqbbLRGF0Jfu1JnxullbDJGrzR9nhrCnn7qQKpo6PvWWnnAVfok1oaesfiE/vnE8IFwNcci0NFw9DcohUjpjFyjQ5erH1CaCeIHMnupPzvfCtgo/Cm+mJj6XLdpQOAfpp03/GUouot0hURa85NHClzqlQwA7EAG6hm4JfMwTpEprzs/Yc4kWZucOX217Zt1wWfE0/YVke7FyfJFfOSZH4Sa6aB746XQlkosM6UsN9pFU4UFS7ItmVgD+9EdCrtSn7ADhOkB8QPnyVBPWIE0RDphNAUdm+t8n4KnikD2Z35N9vC2IKHWyZfZRdDA798Pn2QRGvWVUXMzwj9YU49MNXwJQ3F4TwNJsqe1WK/SPiegYpL6uZnzbKp56H/KBfKGzHEShySsbB/hbodOFlE8J6sy8bpy9yFWVLZZCDFrSJ/3MW6RXmLruKPwZISlb7K+glzjQYaOfQf0c2EucgzzD4b5ZnYs/PQ28ldUaDtIEsff0ANW77Jn7H11Vsg6OvfelMNRSZvlhrawuOIZ5CsGcFarL1q3X02ua3ZujllrSmqcO0JSICjskyudZmt9JTgsfC4nAjoBsUJ5l1tX7v+EdybTKbgWAG/ftKtaEA4QjDyldTGU+hHk8nqqg79jx7L5MHfIqkxvM0mVqqIFuk5OvW5oglxBFEIlNmEPU8zH8tFSywjCjY6DOrQTt/p/4F/hhN+Mc7EkIQqwtzSF7/mCRspfIPDOU/LHvssR6X55pO1j1w/lTjUG5f5VjEJ13p1eTD26ip9pvjEHtzAUmlaMJEEQh69sfCASwJoa4RPmaOeC0EncF1f+3XeW78b7FCdFBnM7yNsZMGpzljXBEppL3i1QWXHQr9Djq2+zuqUmCV7J7Y19O5Bvw8tHq+cKYyxKAR4gBxEFjbJAfA8+WX05EhFTVMNRuBYf420yyjMny7wZJfJvjfz3vONEOZoA1D81ZVVqb2YAY2iE2R0Pa1ckMwBGIOfeGAr4woylqj3qxvc64lVNAPUA6p78Y2aM4PAIiPaVUBAPeP35gvDdIC5SEFWsSAgd5O9UxUlqr4YtUoZu6CA+y19GNZf6wb43rMUUSUWS9rnZ+fsf0ONI5NCunLw5suBEK7AWT8wdQod2uF1q+inI6FBMC6VML97lVda+pRciGiM3HUKlM47prcankMBzmH5DSKH4VvH0OKFa4SYzzl+3ssN4CT4v6cmSZ5LxHwPf1VzuGegjEoVFp75na9kBQVmcC3SgCuAR7d4enNwxTmeHpFrJEm+M/8nwE+BZZDaj8q5JLdZMOLdOwJYAVRkEq77LbHx/zYAvoDI/rx7L9Cx38G3T4RNeACfsYp0OjX5WCY+aLRv7ZS0ss9NNmAqVnGDKMt14js67kq24QZx8IKvwGrVeomgqbj2DKT7J7476GzTc2sUQifRnlY/f0WhoIRV/Ehd17ZvYHoZuqHvMCnBHJTrOKddmjCk7bPMNlZV0ZhwNN1EE/KZ4b/qZPJDOAH57U2pQT9us6uK/9k58g3ZEVcj6Jk/d8REwT8wcKvf/4okaGmDYRajCRSfL+BQMEpKyPZOZtr+v7Lzu3rhokoZXnrqhZg8JAWDmwwphpszPkpxsGpz0MVOQiY51X7q6FjK3+SUqc42i1fth990AmS99SRbkasZTPQKqtnjFsUfFjmU9LRa+6fz+AYEVjlj3JnNn2OhWS2ikJzHgO+Bx+ThvdmLsywch6FWpB52GvmIPeNRoeyOwRJzdlhHvkh8Yl/HNLFXN+0ydbQ/bGu7JgFejplauG+mGI33jSovj7P71KNioNAgg13bcZIXykuQHwJoPhUgFdasMJ6yH896ijvONfmvaja2jt/C0KzWmwKHL4T7Si4FZFUCzaFL+1jj6kKYTUSCPpXuVWKSnZUAmKI4knrOq0LJv9CMl3GZ9q1duO4YetdQjgOl1BhLrOzJvFUjTyx7o7z5K+NAAJI8oK+88yw56LqjONylb5HCmCxoOoLGIO/C9YrIhTd9CXvCj1/8quHDVKtHdH38BseV1ZKz9hqKKzmM5ur49aBJV0SEt2hrOC/jhZ4zfSV/ihDbJTRx+sFjGVper64BQI73miMP8TP8eDuhhxWbsbHqtbhgt4Yvr7aSHQ+sjHg8HKZdN9Dgmd5441y8AZH2lIjQHGcdWdeCOlBALl46hHLkHH/ofSoK4FFgJ23z+DsAADqSO9nQ4DuyGQcOy4WXkbADI06Xmsjuuao96vkGYsL2W9mRhoVVa3wYAAsGYcYHEgmgHFheuSvgEoaZo+fSAn2c60WlBSObNQ3jqE3yEt12290KFN/3d5eMPsTbypb/W7F+GLcsUAvHWkF5qj/1ur4Z97kjbCx8rowZRSYbwLXrucTk7NVVIBkSVCx91SKfXxAPkkGNS4hqgsd6rXmu/zx1xjwtRXU24aJf6GShkVRp1cOIcgNY57fWw+X2EYdlfcOM7YHNK+2fQiZXQq5ewOuH4pJzOX/nWVzR1NDrTP2XSvvhZ9ghWO7w5BWUUdxQ2ExmE8733NjolOIkK6+IMW9gMQXdiSgL7Ycq3/cBFtweJqkAHJMMZuEM8qDtgPyqtYVVeQ9pJgrbFwwSYSWLd1cjs5MEoc29vnTzeD2y0JAXp8+74TTB5XSmMnZHR+n2N3n8GvtHwBXloYXdPLyd2RNER8OJj46IIInFDeBw7n5NgrWKxy79kJro5ePDQhSRgprht+Lj2wl1v3f+1kLo62dOIRRoDoQQtKH/s44fzQulN/ueB1ZK6SUrFbofgIRtd2W14M5CaTEqUg4PIBtwCy7tJjpBh/wrISALUaloV2Y1gVLwDxUxc9HZINrcYQO4Zj8kCi8VWsQQjvrbOD0Q+4IRysq7rfFSajG/dgRXuED8VxoLyWovzAWE8w4g2KKjGcu5vPRmWOp3IB9nZjHCuDV/J3hHIHFYxf6D+RjoGgTxpzRNzBpL1eZ0+Fg5qtu9tAtgFK53tmBYgf2bonDspamMlFshQbTWJALArtbWnzNGWUiwgt0r8Od/96N2g+OP2xcGxjKLxV4jCnx/TcSeFhwOfAf2szIPSxOzViPOqYNV54JyzhP9GcM/PQwOqygZ6O1bWJL4WVU1g+rknoAhF1RCb1wnRKMms9jmbDxq58kRuWIu/JkzhYZ8uEbpc3a9dnNEtmUayr8lxTBnQK35+kGyI+m11RJyuU7Y8YLslk8H4K+EQGnAE3J9fF7pWdgHAzzHnwt1wXrhcO0CbbHf+yxgub3AcsEK4L++5UviSPHy+fu/41yl9BpkSG03e4s9ffvYyvNZ5c83U6rpcziIG/E0KsDbMRabvfSKYe4m9/5AESWZ5E2npmxnRylY+MdHYLdG92PNqVyDF+B1c2UFsmoQrEwsxJV8PpB7WbAdJOk6YiVX7inkydwRBmIXDZTmhyB50lSx3vN3Vd9DXVvKp6/MOkJaLJH+0d7IxKFzF5eTEPyjDUcNT2UHcixcWYBSmhYp0bTH06LxnBb8jN0nCVcXohhbMtpd7PAGlqrxbrBfANoTgkT5gZM11lQK5fuozRG43ncXY8X4RZ0VzBhE4lDZL4gzmrgEhlzrruE7k43zOxRQf02uE/YbI5LBw+FNQ5jliI1ZYo49s5rhNRZIHOZB+gTyhgo5dUc09MYYJ0LZ/IycnedSSXm+taQbUDKHYy/ItXV1N9NLpRnKfvDjUj81Rnlrvs3Z89a6kMaVBqsBFKnp8a8ZMn6Ds1mWaZsNStadcRLIJ9qSw8UpjH4C//84ZnaioTPLCMB/lwrRzJRPvPV5n9o4A3x4mhfk3RpkKRTp82hlWZ8lF1TZCWOqgJQo2ijzSWAIw1mqudSsWcxoAGcBE4XZErbMX1JrF0UJIV+AAANGbJKqTLDw8OTz4Eup+YCMWLIZ3Yy5Ik5ZbRis9HB1Lzr6PgBJwC8BApJljOCNTE5AwSkLLrtrtWlaUGSsvOghqIGzEx6oiwiEjTR0rNUiBhrB5aBTM06xiH5h+jj1R+3YhAagocEJDeHMaSakwCEvlEy4SonzlW+aeAsoy8QMrMWla8/fgqdUGch4sd692pycX6+q+7dhNYQ9QzapZ7KgvZb7DVCYpTbNCmiUTS7A+zZPK5hbjUcm66GuWVMujs2b9NAaDNvpIwu5gixNgyFN4fbJkaB4KE7g9stQDPI2w/bINHG6kAnXFwX6jpvFx74Hn18g6kEMMleY46ug277rgW8LoseNh3p0j65l+KGUsPRxUwHa7XVx0xT5nAb16CIh4QM4XYvDgdO53+4EU6EdRnynHWhL3bUhaSCDpPzTHObdM/wkNESWSF7U0PBRzMd7a1UcPlOOfswHc6i4Eg6PlbrgIv1GjTvJ1g+9JFuQmhsIArTspae5o9nTxpH8fsUdKCOrEnE6mK3Z0/6HLycJpg6jwqNj6tFdjlSER8zNJpRXjBUyIHYPW2tEsvJB1OCpiJK8E3chgXSeEzKDe1DJ3RGXx1njSURbpqvRzP3zPTn/V4lVw+SUlw14gtIX+63pWT6W36ceQnSR0j+8SexzY/IKvMOFm3e0Vsq0e0g52ZbvtLYh31XRylwYxRSvXBoX7vcSZPjQuyH+ynGWuClrc+2KWosLKcA3d95h/1fgmVKHUAVJq+dbvz4JpQKMG6vADO8gsa5jFsJ5rbYTVjOSJKJEvupArnAaQoQqWZTE+6OwmFSDuCUyswbMOgFNfUchJ1occeQ0D12BP4Xcfn7tvEvmoasvfJ4C3G/m027GQXNDzztOuci0/tIYFEv4RPoLDFWbmp+Qh6BG6m5Ript2/JSlUrYsaJVXkuMnBpMZPzcVaFrdaKSw0iop5JlzKP1fyDpK5hTw4r4RLjLKAMq61smPwiIBSAvVWMnzBSu4TTKfU+5xPpYCjkEgXAEgtXJdy+b9IiL2kkLDxzzwz6tOK+KIwN/lDwXhDCS24yQgAA88NwRucxfpqCsPn4FE5slZbyQt0Ge59uw/a/bbp3x7D9sfoJbILI+ybSz/IclBK5loItYVWG1HYa+bumkJJ8/ulJqIIJuzk+i0kImr5k+JpLG/40haNV+Wwg9mnSsf7DD8JPd8wwy0agZuD3KrLRHkqSAkbkhnrv8IWETHVetYlhjpXsUn2CdPKlkksrd8K3Kc7ByjfnE+vnEncpDU0rUbIbqFUx47/Nwk2BN/Iyt6QOQq3qKzsfKBrdIshxlgsa7ELmoOR1UB7cz/Zl/M9Q3JPb2IEdaSLjn4ClOr/brxp0nxodTdmyXxCdP0befqYCZSJ85NrX3uVA7Dj5T890W3TJhiwyx8sPi8xxbJWbL7ymb+yqkEHesrIzZGAuK63ifGqXzELj449CqhC5Mh1MW1nSWoLvor/99FFELaNuwgYpWVX5cmNv6O9ILcRijs9nxbevDaYMdKXroSnxqeA6YqxydTxjuiaO06NEvi0TQBNUu9KBQ8AAgk3xERN1KhHumO7o1PlXrDD7jOPCN3p08QEDtm53jQ54pWseaXOa+xx0sEnc6aTtYfyXOD/Sc8XhXtCqXXWin5faa1V/c988wPhum9PGsZ54w7Gg8afO/zm+kCRaZ3+4MKNHYLCNOav77HrOdP12lV4oyz23q/NCG+ebXOeQjOPL4b0dyjTe4MXcURFfUMhzROq56l6TZ/pTCwRBOWKEdIVboZqvlIskuned/74O2eX8c9HyhudZtXRLEbluE0jpfZtEOdes/BZcpqkW0c7IAyLpVoITnSsnLKTFf4VmE8CzjCcl6p70NRkLG471BMm18Y4QuNtHbG9MzhxP41HnVmpqesbmLWFVXkM7ZJJoI6puuapNzBXAmgSRH6hcdsfIkzn0lKa538iJeI3/JH6ZfKsTnDY0oLCUkVxBHJYPjokI3y2Fh3mlU5NFQ3k3CUVXp2nKHneqOB2NUDdfI9EdmIKR6Yq7bBXGH7JL2eAItg8jBSRVNO0H1B2gJACra7rkmLqq3w3sg9LtN8JjUkcKVBSRSVNem3JXKNWyTqPssMEbveCKPDSkspbCjFJUuASjggnJienWpuX26QREfd5nwFZkeqmSSzVl0PQrAknffG8qdLxGLVe/MdVfTJUd6yY6xM5h2HXBdE2jd89MaVnh8sR2wDXCsw+0aWDg4q50O2IF5U7Tf/guOJFPtf6Wv+0Hf+FCE6u1lxt/GxIawkRqyr/AAaD/Pf/NFSz1OTLTZ1bD4leCthoC6/It17x6V32vdnb5SuQ2JwOg9xUezS8P2taDKM+FMBNVnqsxDZMskY+KY5xUTXZhDkqrsmWNHpBwBZ947g/bWq6eN/oc+xnuCrhBYf1uR9Z6EeYVJWGTvu3NqrchkAkPUt8jAkrQrtubuBSzjmaMMH1KAAZR+mJ4xjDFXjuRTmpB8WCk5O5CdzcTQcrHZs/BDYoTZ7pqv59SUk474lNoE2/CrNRqxvt3/lkNugV+29iXvOS7fcT01nZRztqn5EvFON+jwjKSlt/I76s3H9eulsYfDFiWhNUvG0vKdnY/q6ubXdpID+2VSspyDzAM8TPVPR+mkFHtPSMxKwD2EusoHeOh6zLwhqVdECuLaV5xiPJ75GgY5PNgCuBeoCt6N5eZvi6bkB0eeyo/tlBeKFmMnf81+1FFnrOmZMp3cDvZFyjnNKaS40oNSumr1apy0ek3c+JbTNgmplOmGH1JWfiUxSXMZvZ2Owkc6qFTuoSyerrDFr0tSnDePe1R4JQbQeOeKi+q9ep2LpsmvEVOAeAAVUanZHme1DoctJvHgcZK9znPkrYx72foWTlHMgyZaXIRoomJ7MNiwz8l+faCBR+umZRHS6eKkn45JUJzZu13rU/PlV2GnKofASVoIhSx7LA3QmH5273jOotmGVSTcBzTJ3YEj9aRGHtRh9qkNkqcxD0GB/W7iRugfF7UinZjbv9FUd0qe80TkOKQzgNjl7S29XRAE3/JGOU+nAzmClz8lx9I+ILBpwkDcxbZkWitpf0ZjxwAIQNNOZq7qbGWHsNw69Jk3cdL5ekoMipz2BAafx5AXaX9rv184zPPSupWq4RlJJAXlQ9mx9CA+78d8i2MwLWJbvoYg4ooxhfJNVxNaQAxk3Ld3Pc4Ju55GgZmKTXZeyfOY9v1eVpvz9q+jVi6E6q5KKJ8BZximIDzLRmoXZ+LaLb7ODAUcpVIkKrPIOqOQEJavOipDWDn0JI4VkrLpnTY6CggNoQp86eqJdEmH3UnCYocY52d3kMSLDStd5flQKensa/HtpHvV8CwBuvl2Yi6NNlUzUWxTVhPnpTzYAbXEZwVmpQ/qPkn8tQ7u+6JhvPFbcjtSxiou6IOxHX/3jDHvF+lhWzXSiYPG2p1ttriUU5AN9QdehFxMGmoY/6iRyNLWZn3ZuwYNQIqSIuE0zTfnVyoNAEq9Q7fZfYhRg5Fc2V5BYMGzerlYZKWuiRRLvi5en5rNQvEoe0cUETd2e/mIIWiAzobNH/4O+YqoRNBne1lwMfpwfYHJ5WbxyD+1DSOE5DXxvUhS8q55qnkroR236tawWJfFoCw4DLhvbtXTE5saRL6vLJyDR+Loj/PnxgHsy4VHnh1jnOsaaSc9Ix8q/mza1itbD2wLeLZvif/on71Pa96ugxVwKKFROqqxnolSvmREKFkN2T7vBvqfT5CInspobMOajHAN6XAXPewEiCUohLBphYMy3WAlC6E6ydFpOY/nubwR54sdDz22flZ7qCOtXkrblckz778BaimiBHawEg79eZTOU9H7QcI2G0agwmjcHFCa6j97smRx1SXLXBn2Rs6AH0bvfyLmnSa7NEkIvL7+y6L39u0dOpw7U97qRknH44MPxasTVISZB0WVrIrDrkxt/iBTdCizflde8Pnl3eRvgAD7gd4wX/mNk+N8pfYF8lw+aEiW6BE3QPjxRDpYM4JuY825iBqIu04xLsSoAmToMhUVQqKsWfDC1H4801jX/g5lUsoAAqpYlNM0bZcEe9B8S1wbPI/HizuEfOZjjifxPiH9b7nQEg1TPkQCJFl0o2Hb1JV/sNlephN/2fZ8/R5zGgTasjT4or5v0BF0xw9uNRORq4HI3jiqa1xhhz4a9ar0fKO+N/bIAzfPUbfUGCizMOiH69+FY92PxQPbgBgLJ1qfttgm8z1qDOFpM5P63ODFU2AHyPvKr1bPIQkpYaBD5zDBuPJJVcyJMN27S6iX/fS6YAps0PKpxEPhT8Qf2U3neGDIMKqLTZu3qSd8NtgXQcN8qpy7ufUI8r4PsBn1Y1XK4zfnIV1miBq932gAAAAJAMG03gqn2rDKSFfZgO67GSsWAXy/UDI8Xj7K4bXsZ9vJfOHO0FaCgldgbZGHUaFmFDjxZfTn214Wqs1+pV+kB3KE6dG/JkN/716JjPHRLCEDUJXyQOXc/XFoKm/4hXoIe9fjzG2dlKTQ5eYdxYSUUT114JzXxDWd4VyoozYENUN4M6r+v3wrXgfFjaY56EyAzZV0qNlkjCJRxE0H2ghVg/1p93riFoEpNETh/1+1psFII09CSQW4gYbCfUW30oM0euGX33xJZy3N2XpnJ+v5XNqR9Y59GWYNMTnog3eC6vmjIvX2JrBuUdecZGIYEZ6B4VjGcoDMBSjP+BEL2MSbaG9jJDDKKivCaM4DPsG912ugaeiqAlFQcXkLEOavxUfcd86kCwpnI6iF71FcEpi3DzWpoPA5R7hNr8jXK0802Aekx+OZP2kf/3yVFMArWmTuYwS33U+ftyGE/yHkcEtp31VNX7hysaG/y4Fikc4Wm8iv8epNz2RHqZXiB7Bu2WwUc1Wh8qtCmAW81l8fRmHRUNW2I1mZBJgL9O+4hGCgYfQHQVYkbfeoCqnGcKnLVn1+4IHIjYpV29WlAjPkbtoYgKNaY71cVQzn4y5iuEwi9TYVBYj7tG6FIeTz/tA8KJd/NcLnDtnRtmBybzS0CB3PUxslNTx0KzmzPdaVPGopAgDlG9cg2JENoxJfvwtBOWMCu18z9/7fj7qws2lN0GJ3GvjlYhBunxlQMYqe90WeeRy2kFT+m5qz3DbAw8ddowH7m0JdQ+45ov90nY5NprYltpLE6bQkP9CC/b7DdrDHWGLinMk4dJKLst5QXtUt7z2D9wpYgDF1BE2nPvH7WAtfh43beFTf7lXxiX7ubDi5Uv+E6Nol7IRk526CRJ3QU4WQzSe+AYvp/VxuTN4HCHjI6AAALbeswGm0SMVIkAITYk5kBnLjsFjR2Xfc2dmoRI4d9A1UX3TTP9acoE+a/2PdjKDBh/l7GR27KX8bHUHbEc9MVDGmt4wWWEPF22q+ObBMNZygUm51mjxJoC9qfoRBEyf/+xlmUL5YkeoUxh9qkbdExONUVhElk1scLM/3MBMVQsDT0ZFwDyg1DqbNCn7ABpaZG9Juv/GEF+qOt8BFQVEYuA72w1zzg7Ngu8s62WFvK2+NWO6Zq4FSX0FalDQjBTloMUMSRhQTDQ3rCAOWxFWKafZPIALzTcN3OOv+maFz7as7yE2kO9XM/eQoCCEPnGhpSjKtR8ldoJFvkloaai8D55k6h0hbcU7b+KVCglrw0SiJVkav+nxxtsmycnYC7C2gkg8cRRP9+7yeVhr0o/mLklqFPctrPnOIJqHnQp5NEw+j2xbrFeU7E8kRNUK1jzCGhxqr71LCJ3I1f8IdHytweWRFjVUAEzPkynxitO3bk1yycrfsaYVEc/V5c+410ebSP+zIewhLVCifS1VLhzh7Q8A1fT0oW55JEWlcKCpIl3ijw0KZtHdju9IJrfJXqomtMmkkwH5VHE+WYLoEPeTfDFNZfDpNje3YQHkwIyHr0+qBesFXRCSrl2poThbeN0VoVG8IvTH0mAp9O1I0k2fHePWiQnc4owQ5rvWIym3Q3LJ6i37f+qCfzNZrz1mjL8ReVIq/TU4/stdRCY+r5FEVBffm11ivP5zrlYYu7XHv4zPGR2X7GqjoR2RuFDgLGOCsIJlMm2QU9DawG6e6Sa0mewd+tshEao1s3ICxqMKCtljsMeQyNur8it0sR92uMoOWkOBgjrox8v0BE4Qdc1EjCmy4XpfKCShkYegQONiwI+Ul2HCjZuTvi9M/Qr8ApDYoW1zE5gvOuKqJmiT4s4Y7BHAKEr8MHmo+NP6hgYxh0J9I0rxxghsLLTZLII/SqS17J5IJjqAQFlL/5ebWnpnF3te7EfCAOsiWVMLDf57QN4HKSsO9WD8dg5FYtO1zefAr2jGNDR7vWwuBw7XzvKVeJgdbxxMTNUomiQ1Hrh11prcXQq5V+4mPmMYDgoRrTdamrNp8Wa2p7ZMsk+8nEzTXgze+5e+0t9iibUsvBj8DyIxyPpDbkL/U5t/WamxjJajaalHi377bUpYrvWnUDjicZCJNUBOTZcQ9BUFoWyBQFdcwchmEpLXIoucGI/OLyVX1hhIAb45BPPf42FN/heqB5NhZMFPENBRBYfoRcqqHGb6OQDDav+CMlj+FtRjaQx/jMaOjpd6bBWgpNzxiKA8SZU1ncI1Zhb+nJ8K5IcrCy/5jfuvUfA1Y8ErCMxOZXP1VqEmUs4m5sMxXEW8imL8gLjEfewGRqcvMHsk/sJW+q7/8AXq+Em4UmcHTajuvPW1LBb95Qu0nONZyH1CZNH7RweAE0n5RvdNIO6j3C8wZ6R4et6gi3XzTdy1VtOOzNgEq4kU1qlnYcbAIQkuSL/o/+qrNf0+dRQdxPySKFb4zoYQbQB152BexkxUwi0jfIXaolNyebwf5+QzrW4HMWL2zQFmXsb7GCBgK4i+GOZ2IFF+6Kpf8muppg2OVAdaziIRthPu+9teGgSw8AaG1g94bTPFOCw0orKGckimvBzyKDbqxvoyQYfLsux9IMMy0mWm3Ern4O9NxOFKZCHyId7m9WBW/F6kd3EwDscGVqZ7WhEYxi2ShjnOMV5hZoOXixVLy868sEK2SnBMgV6+YBLnsuMWqeUlM6B+uist5wOeL7vfMYw5ysy/c3SzVaUXdhEHCWLMtbRE7XtcMFfSzH7+J0qFHzUpHGGxrfTbnCMhA78fHYoBjzbtVf7PK6jLbWDpJXoXcvgJF1/sOajSZJc8Ro4GcVXSrRrTxlfFKQxqIfU3Gf5ncrGJ1s/On3ba6zLsVPF4ya4qvgprSakzQs4BI3S9J+3tqdGibuEXy3rm4tZhxHz9NS8mquIORHX/jX13rX6Y+g7TpWPtFzarBWdH5GIzSXCbh86dRB9NhLDXRyN6poyTVTG7+VFTanxkJ2eJX+0c+cyKighAUKkUwtmNL9JpVEHiNnS/bBZi/crvbDoPbrwFrQSmMMTdW5H7f/2Agprc7gv88q61OU7BgcCLXDVtvTYz7FecLXbkT2F7aVwxaYtccAWTNH8HU5QyQzxLA4YT7GSCug0pGv43gyLp3+qUSgCkklljsPgSnQdbZPqH5YvjTSk+ZXLhTRPhbxFx4P+T4mz0Mc2nKHWBVQMFOGJ1ZpcD07AcKFckbdL3DyI0SGCPcIUAru+tbV56hAT595rFeFLirtdAP4VqYEuSiRMnLJszP03UkIvNBlgYKDztlOb4zd7P8oTND+edpeTqKC9tMXGh3NU74tXjfCR4diab7aAeiRGKbonpVskxJ3+qVE9XTuTSIRRtkZ7OHt15n+lGFIFUABBFuUFfcFdI3m3j+VfCKobCfWeVHY1wpNqaghrQl5NT5A3rakI4gIj93OImrLXPm8oqIE0UQPrK84zMozlYd77ioKej3+IyDH8VQJHxsauGttQcTKGBY4Tg9+vgS8PCaKfnjajk8iM2AJvyBpoUmVaAqvqpBpiEUf8TjjYbY7zlRHpA43VxtTsObc5MdJbKHf42uw5Agojwetpitoa6PByQVpxFJUBACpI9LU4HS9Y4c0FdRwVQpsCe/QQRzg7ujcuUEI77qSeGDdiSC+RnmCFCW0kfJMchlYQu+mjTVIYBMbC/gEAVcykw09jALfq3mYmfyb14ze2g40FhHorJjXhn8UXHBkYxpAlqXc68nE/Gts7IWpPwDcjvnCf/MOreyRPYerDemlIJ1x/5oDo8/fHTK2axfox9rQX49lKrb3gKFBVPfRaOhhkDWy1IaIz2tOHZxLSdQ1wksfpb0Icc5+8hSWls6yehMFmpbTSgVUTv4Bi3JicfljOfE7JFO/03rixKByl3pQEkDic72cu5hKUd92zU/+0znAAR1V80GiWOQLU3F4NTt1BVPT3KVjEp9ymcAqAHvo3HKUWxFk+LxamoTfH7b/u7/xpuSYRtPx4E8uydsg8XjdJ0AElGCbr9ZHthTmM8LeoCdDQcF9oWnnMhDmBeDT21JE0h48LHT5okScoj6dz2JhlH1odYZJOASJQdjFYd3NvjvuqhxCqZ2jfAt3i40WWf2fAyiVUWxbggB3hSdoOUnvf4kGFKVqVswL3NcMvC2xr1UkI4YtddTSPz7dJ3SJ/gRpDm7E+Ql28n7vY/5iHFqGHsHbqfgkgDNe3GePeDZxLkbrwXcZgAja9KKw3XLy30Z+Leevhw+RRbsi5DOV73uByKQq+QKytz0Bvc1WjOjeUN8PO7AA0rEezVKkTuyTcdl1bM0PYZ6aXfxKWVrrXmkgMhIqhsPppLVK8KH+1/iPABCI5ybDmo4qpTBHL/3NziUNCnp1shQS5KhUP3Nt5PMMIgQNbxA6sAX7DA2qMaaha0xqHfWgunh3qHE6FAtc8KgE334oiu9/7fjJwQUea+spnhCOrdgU28vFXsAmmHk/gpQqYRi2RpDn3T10UGfVksql3aXJVwgaucBX5L6fOSpJypdtQs6LFkpB2Ox3bqHjdiJILm5lIyGIi+GO96hQ8AB9mYFTyNysBi8Nvr05n9rVS+lUzMptaUbBqRFjaXM1NinHV3fTUe4E0Y2giTpNlb748xKFucgQ/KEiJEp3dRmytSHR1jOLxPIHEqNe7fWSRgBRNwPt7LNs6yEyQrJJoNTgD780DkX1B1vwplWglJw6/yBeePebMaXUExp8DNvmEbcfSUgIPr3NGb2Dttd+uiLxSV07vD1KfNbo76PNv0hAaKYiaj0t4IlQzeLr1VqTHhsxUZEFsvMobARPZTQ2YYvGPS2VE2vi4+gsH0J+iJsBzhDcfeOs59EvYnAp5inY5pWpIy5YRZVgMYZmpiKX3CHb+2yg3x6ZcmKM0Ali6fMTta/qNNHq9wgyaM+/CKLQGkBmrhkBSyqElDz6KRLdIxMNAcMYbX1fTK9+FcWk6SpbQBhujwr1LiL+OFYoXbPBu2gf7VQNZzWhezleD2NA91wQ5q817wr0UWMlZ2BBVnKgTg4nd4DvqYzzWUCF3lu6ji1dhsHLyOlasunfqwk5B01MLM/NOSphqli/fYIrBsghinFfPnDYMlCLAHNqXWIlvapvRaNM+PCt1NmVkxGHBE3mvwDGkL2MHLvu+RgjfXAaql2RamfCza54VJgXQsJrcLy96ufKdSLYud4mbUUccBUHORS+wWkb9bM5YcrH1N7wddsPEVXtPCJC1GAboAoaNnyJOE71E12x9wm3lr0SRxcP9/ebdlLQSECJn/lOBx1wwcd5lI3I9W1UA+jrWlqv0rPK1JkROKFCuUg1HtX2H7H9t9hpLsIg+cR3sowADMUBqs+MvE/owvUVQ7cAocKXHHEdeFVIBMypjelvMDBec9DNUbO2FGYea1cIJDhLPj+S4b2/PYnN5vAAAGkyAbjEq3YS4h47+uM4JM1QYch1qX9cLOHxXt4chAP3QhuwNOrXnbhMUCGhgshqENwkDIh1d5bWt/9q238rBIP/NHCh63nFhuQKnUGme3xUPB31HAVaf7qVfHsxWpR4WJq2E+XY7IWj3Nz0TnOkSKfuobu1dzy76/Oqhgz40Pvv8/n0QO51lWfm+9kzuMdQLns4yIvxFBemjpM8Idkn4BTDQnbnaAOPZUP8BPbNwA/FFeDOvU3BkUzMwLwRR7gYZWVmqWAUp4g9Dw9gcVIf4jTZVkXFRMCF+7Smvxf8rthX8neEcgX/LzZzf79Bh2+BGEA/ne3ObRxYOJh9drH/m0dx0+t7E2fQu18kfOY19o5cxgsMzn2Pjio6mqPZbwVBEOegWEuLbWmDl6ct6ADpseu/9KRSpiqaaH6rskhbjG9FPD4QPhiQ3oXcBXHS4SocEieZ14ZTIyN0aP+16qPG5/Rz4k9nGSf0nkq/wWfI+0Vho8lJu5li55BB4ovfeFt1N85nXTNShrJAwGLC9zJCGr9Ksp1ha58NW9Ki0TSe9mlXv+uwQeIaKvQEUdfaEFBlgdYEYcqnxN/h4rRGRp5SPpQZo+brGPNxQpzdZYv1aryHTl67vwsQFuyk03s+QsOzy7wEJVG/JHwlCO7sO4RoPCW0nTlAPEewmdR+O0/IeLaxibBatNdU9cvolpewXIlq83BrTWsNad58+hx7lEVE9TUIit1pzg0TvX44Iqz70/cZMprZElc8mtHP2gruMUVegPKLDLGUjehjqwYfQ8sZthhm2KuA1kzetCsYlJaj4qy4J9wLEx7UR7tCmJl5kIPEIxFYwxoVSwoXt6TwkjknJMuWDw7t2d9rEyvriP5itTYnHNwvmZKvowUSZvznnMYAgJs6CmDPfcnOXVo3wgYireAnCtjrzoUGRe82kB07m4xzX0srp+1S4b/6DKx0bJwNxDgi7tv4M3ZrY7ugGz6Q3P9pmAGd/eHHhIRif83yo+Xibga23lAr2o1eQ4D/6V1zt0xc3usyWQ3GdqCMahLsxUPWzWbR/B/bt+TvvSjDfweUGE/1E0zM+Qs0/Be3lDxmqrOOU4H9IBHxt8dlQtLMor9jjY9sxS4PkBYApUy8qQj5N0Wb3Mcxnqp04NUPltMfuufJLVX6rV1eJnkLuLl3ItQDUyQ4JeIj19nLOcxkzh2/Fhg77s7O5WWa70RT7ODQuHFLHMjVrUcjrwexRp6MGCthvDDBmwx+v3mN0n/OpeMMwkxU2qcOnUiyE86BKV8M8YJv4t0GM3+PUpfJ1pNsYH34wsKWqPAjdMX9F5nqnJZeEix79bdrJPTJ/sJ7puvv1C886/CIDwp1CaVGa41ou4lzvnQJUhc7foTSNzmkE+zxDJcaaI7W1eZ8nS1xbyuZag3eoMLmniKNKmxm5RTNiXFs7HVRuYyMrOZ/3cgeEzNBvK07nex8nwMC5DKPc13INuHc1C4ZZmTsIoUpvAY7He2+zS1FtV1JqO0+tG2mznyuS224NowD+UpKpDJazNHRoVSALIdUyrvL5q6do/Yg8I9N5pijVM+z0gqNZ9hYmXBziHjC8qMp7CPDVwiZoVf5YwWHmOMdx5qIKN6peeIAoRcJxhwq5YOdnS1Imv/WtIygut5TziLrTnQVkMuxpJbAlCVOEDvdNgkk8On/pALCKrEdF7MFYOkCNWSt+mYG0EqIlTFOGqUbpDDM+ggdO1667srOemI2UHcKpjKUtxJRKHoBCBitiReZmkPLPwTcx/PcAimYSJ7sWQOda0vmCFVbSdnuAg+GxYHFgd01cDnPvLgJZxSy+SYfVgBHk1HR14VkeyKiTR/b5+5wgveyZxDCx25wLBImLgdBVwKm37fvezVhZ0IUDDdIX8Tflq5jFWsbCkan0poe+y3UGD/MaEs1DxOPggEuiVvF4ZPP2wlgxHXNWCJl21isJEQb6gvCDiTxvBvsW5Sw3vduxf7RoC87gk/JHS5dnjfslaetvZtEdL8kqj3oSLzexDgZ80iWig4G8qGszBdPQ9OYrpISITIx5alwK668cQuI9NMFdE45j+SUf3RpdzlzkU9W8N5w98wXXq/YhzSt0hprT+wzexqN1x4t9Y3w1GQuiWS2hOpWq0jZX9FvzCdIaku0vs6MqrRBOJIw2amt2GsrAAOgx1jLLa7KbsMYFH7kzwVMKCScRa4Z0jB5VX0MQCmod3jB3NsoxZT69YXt/hEFX28Dv6MBV6SMnGW3M+mfaCHJb5E/2vPUlLp3YewF2zyPndrR29QYKvcxqUS+VWgwSameQKv2zhy4Us8l0t7gl7zYKN8FjEOo+V8slXT8gPrzqbJAGfgVDgjF5WOvEquTPsyO5D6Pt6KCC2zHCsmv1wbgPCGRJpiyQv+j5HxyE55/PsBEn/3M3KCzxYFOikXZO4A8uZq0M1O4V/DXD2k3eN2rR1ihJzqLApreTS4/SnR2qv+pQ9+QkiiwADHcndMPtEaNoiD+/DchlvejkaZOWa54y9AOhjpKZkXCd5SKCKGxownBfQwlKODOIA2mASfkrqb2OTPM5xknpsE8u/LcRbF/KihdHYJWbpcItGyn23zkWRpNJm8KqmuxMS+1aJXYRwaxOZ+J0eJTLtcqQLcmBhhQNRf536gFRxoQDcSFRb58YBv1SWw+ZeXBGRing77YQStQPZVPQA6gW8EFTTO9KOqkIhG8M6CTVajP/jrqvOf05jHPoFoFYIlkxMDGjoj9+5Mp/8msLiH2HHtfP5r2twXqiEDMtfkZ9tyTc7EVogrq0TgsT4u9a2Qb224Rm+AQqmnW4cNUg85VbAoAeKdItB8fdxonpRVNCXboFEcumaPEj/zMQofIIQCFbuEVgbBgg9E/JJ4AvdIiUXLkW3PyD6fPNpEZzzv61bdxFhvjlpweVqJeBXA3uKsYC4HKONjfEfXwDKZLLmRuMk+gi/PjHb6DB4k+6KfV6zKJtDE6TptZeEcIt3CKZ/dlNYo16lRc3GcSo5weY0qVFJCpBf1iRCb2NM3veH55iOSErrXwXETY9DP4I3Wnbff6MyRJ7GkQU9IzvaoeyL3syRlcBTUh4ua3+2AwDSX8k/rmpy9vdqb5BybqM5sZmZVXXXEJu+kqrOR8izOneHrfvXSxW5VSd+ngpK0jaxTWRgxuTllPPqeeh0vkeQhozn74ygxGZvqTuUmwRoZDxUhlEhxgVKj41V+Akvwn9k2p+A+59oCtljwtxJgPS/g4l/0siRONW85+7JyR5BKCb4TumIB4X/1l2PSHUCJWBicTakJb049y+D2MNZPkx0r7tqCweCXjQOgPLe9Vsy/Ckprv7D4zx2hh53oRV9BCgeDhuGJ4DQacsvCTTuP8W4ELjvgphaQuXYygXE/UPLRanxi2LtBrJG5B8MUd2BspMeHxiBDZXzowIn3AAjxRkpGrHn5VxWesFKzaeY7VChwwYnRrpnmYT2i7nFcPtSDTy1em47kAnUpeFU9ZWIvoHMIIuJHWPYpZxFBvVA9+t1yaEeh12Ldkx9GXI3Xwrjxvbe9qBsoY4qHl6TzmMN/TWkAhywyQjeLEjtEG/97jAKCx4oNPkXHwud86NbvcIzd4Rd0Jeecd9lfkmPvORP7zZ8RYb42s6jK7Tgkv6HS9iW+tiY4s/X+RMrL0jU23LDWBFeHocPHV+fPlcDKlHKi8Q9zepzDMe2MD1z4wIHLQYy+Zc/kgsymP0GK/plr5gG0/fT7cs9vW+SMGYB1cDhSn+d+gBWx9t94zDckWV3rKCsTPiq4tgRNW/P1UO41znvxg0PsB2nCjnEr0nD8AlwplfRVmblNEXgJM6I1BObPjSw9yvGLxEXq77JeQthZ04HwOtIVtvywIsulpTGw2vjwfT8Cq1yZxGZtGtr6yA/FByQeTI13YRpDeZ0f6MS2P+FtlOiInaKlPGPbeCveYNptRZGjMWCLc+FWV0FvdpgwSnVdoem7BwA+fR5d/j/YcWk8qxm59lU+p5cW56e+qHAW/1yUwqIfqtm8LWeF8Ca/tmPCiutWuN08nMzTRPQV+01gnbf1ySIOj5H3J9zaOo8+sk3QEdhvO78sGhXAlMh2NpM4ZDO2ZKDr5w3rl5yTzEl8MPljDEqkaL8efh8Tramp2UyxJIGvF0SsFQ7PT9HLNjAW+tuHSzu1uOL8bt6cRg5M4IFmlkZwKkfccDw3rvIEyX4llgb7XtlVmaCNv+M8ZnBMZQVg/Rh0UzOr49madeqToQmWHu2Rmqa04o4CTa1KUE/J9SYo7s1dXoiAFw5FVo7KYCaHQMolojVkMti1eZUlnZTzysMeoYpUEP2ZJ0PD7ibdStBEmKSrWwf/ujNbUGKn9zF+GBxUhvrAewi+54hi5jQp7AbdSfJk98Umndnz/sQNCSOZcIa9l1TymGKAQBfxoDWLNYGzd/j2IEKV8XYZm2K/GxguME/qZYDtJIuk5VkAqB6vptqHJHm2cqTeTtg8DvKSeHqvVdXEBpFFSgQhLbGti4zEx8mb7hfELa9GdbHYExMdzJQC4V5uHwRUjIjjPgzLy12YvMJHDv+HIgpuqC89VjLAxBYSKDI+JC4sXeyRPrrzrcZyS5ECdGhMFfo0avkLxRPx5qPKB6MyQVCuvJmJxmosJBTaPl3MLjmmsesSDABHdaC1RjlG2aU/Wk63byp9po0oCk/McHT4Gj92GVMu9noqhoM/DglRWh7Tun/iI30uLXVtcVw6YIGmyjBcqF7dR5Cb5bSUoNokQs3K3GfHcENnZYtJUZ0+d2vTZ/JrlQjrn9ALxplfBMQYNohggKmEdgQ1vd/rD96BW6e87+nRFE0meL/emjLe7O010MoTa+NAwDLcbXqyvt2kttOV5TLQ4Huubehdk67+wN4MO7c08V3udgsAHFgM0UJ3b13/rR6IIffiQEYLjzrNSkbu2m5sKvWopXggrT/RqVADKZqeMz24jP9Z4/1wcikogR3EwZsRbMLpK3FggaXOm+jaFgWf6K/BhfPx4Yz/6J4qiuRaiVG5C1xFHe+v1crqCQe9CI15jYYUoINHHuKc9tCHajmE5Iy0VngUPQDmQJHOY7FY7iWy05K33zaMLDFBBvBMrFC1dhSPhmQ7eROQQdqwbt9EjRY+PFyQkEIJLbyTGHvP3H5QML2jc6JqHGhAhahcgUe2kdiM7LsMi0e5Rml3fTZOPyqByZEMF/3pM0ETwwRhbPFD/woR31/wYONdxlgoQCh9xKBrYMKSgDR8YUV3gL8dxWIMDHfGPEs0sPafm29SQBvzzdO8J95BDCLDesJksC6z2PAuyTdL4a9eOmFqOnFugi3J9z8m5PB6dG8XjBgoua3GdQ4tNU9Niz2bZbz6NF0vNw21XxI8f+LDQdWLK1THQVQv8kRcTuYn1sBKEO8r5MD8YmpZCHPMtAQJPPwg+/VaJat4ZBsRxdAt8H6O5MaxgzL4fWD9vjPJmJwxX5txuw34P6Rzsf22b4OI482kBY+bYzOCjx5ee7atRTNrDMjn9EjwlF/W82AfLfdqGUZ3IvWMeD1SsN2B9pKZMWysJkP0cigKYQ843hR/BTmIQ5pem1iuUHzmPQmkrLzhjUml8yWfxB48XxOBO8+9wtP6k2TOwMPZlLN2FVatFL73U9QpNH0c9YxDGOjR6RumDSfdqYc1lks9+nyz1dGyh1878X6c1tR3OduUAAACUCu7jA/AuggfWn+7yXhWqtpBB3PN26o2sbhbQZpdegeldEtbIQ0ZGGlX8jY4jjYQj4LoCrlGnQ1B2PvOYdfGK4uEkiKn4wCl+sJDi5xdPdwwG1YQlRsQqgftdXRhZxe2NiNOrLYgDHjF2nsiVU4jXNjgFuRGQdyj+Lv6kAIhZ0icFkNgIqbRYJKWV47hpvzjANa3NAYT2fGUha7vktoG+FojP0RG/LZ3P7XeikWSbRaBZygfmM89FDTPkinAOHdscDGJexKGUKzca5TFiXwY6zmr4uUTmQcjNgZmp6/ZDqyk7ZBinaqBrNFSOiQhLo9idnwsFpZWtrz8ni2C/QQs5uVxrb72LNxD4F7Cf+gCqxNgWMv6pAQ+I4KQRCbEJsjZRAUfTF9/a72Nf7cw7VwWsiiNeTCjZX6vKEBVkOUu67zImwxJ14WuO2f+dVfL62wGJ0kYCFpkpzpz8+o9ARWw2Zd1rMJgNlY8hsUNSXhBNz/taa2LU+3sLSMS0XI/8ctoQ1RKidg8BCvLrVk7b79+Z3sXNaDCt8UFp5Pfdn4moumBL2mndMHI9Sj9eQB7cCkwwRXmH7OZ8xCG1BbRrbL7Z6ePj1HnajT98bO9RA6FYdqQgzT20z1c7PT0J9joMrALUzC4lF+216r8QWBnZciyGgpFHkWcywvE1gHB1Ag9iylmB9o8+vn0+AzI+NHvIpA6c6aLfgyNmiJQSyw/WA9LnjklDgZedJmlMcNAvjRvnMHLZuwH6QC+/va/zZ4F3ODBdCBanuhdyUgt4Zhn7eSH4ijMnaZ+aWKdgmzrpd920gXhGp9AlvuM8AeZXwkMhOlCekXWaoqjYSDPvNP0X4/ezbJH2Mt8J28YYlZZwZxCDmQn8K8vvDzHpxSDt8mUV4QFJ8JHA8ybCW8JS9EGtgmU/3jmqxc+O90ict2CZumojVJNjXLLl/J5BMk8a4W1lM07XfYbJUcR8bNNZ0zsSZ7Y3xBxGX2uMw30xDySsv1NSJLFauMr4/s2LPcosu3FD0sOHieyoxpGVrO76bwNlKiLI2/kzR+MHIni/AkBfeiitKj6fwLxL0XKQnfU2pgLWgP8U1zzDYomh7gDP/AmCbr2HeeMXJ52AO5olH/W+TyshcY/NxN/fhLYuYEvfiENa5gNWb/fIu4YlRTSHwGs/e0WBuoAE/MllKLNydy0e9Fx92o4ZKAxj8Nz2I7dLy9X8HAeVg/+9Q23tQKXCZ/HppIW7tSIm9k37i862gn8W2xyxPNGzdfjBUVyx6nu3+9LzechT7cGOYpcBNspZNCU1rTGz6d+B+rsT1cSlyVXVK0VFvIGHHbt6ob09wRSxEUboft1y9rnERv1Jqslg2E7NCrK8BTB4FdFEP/+wHGtHFHDQY8y9eiJx/TmkHmWGSv/5qI3XRI1XjtpXAbcgj9r+h0l3LiIg6QYeIqmeR0mKzZ8JiGeGtlX9mqA+5fObjQm9p+Cklfrr5KfSKYmYUmb0bpxL3xiJD9NRLXFpKiqfVpjy4BiOUJCIihOgp+zOYdaAoXEdj1990LN8hhttI0vldWRMOWRzqhg/pxOqMeC6AOBVq0CMEY1svAQnP1k+uqrC5V2w7epikQkF/BKP1nxlIKUTX9EKNEg74pQENs2DzUptXyc7sgCHORec3TwuwKbfsYcUrAW8jDs2uhsyc64i0sq+WUML9AWkYCn0lGJ7v9qRv3FBKY0Jh/KHCLtPk9yRUaSz92MbYBM4PqFPxPz9r6miH+OS3KkK4ZLpNSHAVcCBiLcb+JDRFzRqoHyjBTNFSjid1yKNYzDxQ8DJaFZznJOCzoVvlTbUCVWamG3eZYpeZYGDa65q9Zpk6oGq8zluSWIXyeiOjrjoAIvxhOTsCvQ1QUaS2UZu3EA8a60O2fsHkJeYwi4X/T9GRTcR3OxQhYa7Ppr453SAwST9+TwxwsLTdn1GqEl0//DmaC9ivTXrYUr+B1ndNbOSgzQHaGLwsQkJLiElDyrEDWL/RypUsxZEmDe1AcePubcTotTGApUmInw62aY5/nDfmX5a68yKGkOtgaAh7qy60XDajE46fNbJlP/6nW8m4xgmcAPKcLP8lp1gboH8CCliVzVhz8r3DAyT4kw1XRpsVToWtg4RdgFf7tHom+q1iKWt/p/r7vVMNSyJZiv2LMh573OPjPJzv+IZSSGTV9aOe194odRjTBUfObYm6ZPR6wou9W3pFl/Q8ymAMQGzb9oVJhQ/czbUipfwGtKSu/29WZSXmCmARr3GTAqu9GfPLflmYCX93hzeF3ZosQKR1iEieAU9mxLefWvAG4XQAPgO6w4RUWj0gJd2ZhKG2uPccrycM0yDrCMt9TlO65w5xIGH6CNCT123eUgjQFpCcOGjiODrg479i48zQN9fvW342HtPryv9sNSOJc51XE2GbecpJujxqFlreYBPxIRDS86vIFhfgEDC+cEIDXqr2BBuSuPj/AkdYq9aEMsdA543BFiTbFTzuXMrYlgIT6RkoVFg4hIQIH413ZcPLUFicCJAdGmEtlasxShM6rsSbsamjzG8HqbvL6uC0NpMOsaUwT9Sj6anKdXhuE5jRVW6yPB1NV8Ia8eHwxN9XMAz/4cdTPRwo7AYVtqfvcvtsBVS7mtoq+zrj5shP34BFzCcb8sJgZ+Ivc7L6d7Vc9Lq9jsVSOzl1HEZbPyvfUQ9A/bWazllviP1mCMPJpqQQDaWaimq1jkcl+Z2Dnn0zktA/At2kJBTjkjxvyZGzvtVlekFK0S+ufWuxyE6+hK0Wak2guum9SUoS74fn9So62xm48ScFkbSEdEvf7MHXkTmM9DZAWXJRCfldfCyh6lpDWj98ZbihB5wtXS+SCrpo8rjpiafkqcJDTarQNwoIr76SFyWPjTtw9UR165c6tHTTVypZmHV+H1uDkzO3F0p+c/IZB7HmPbN19TiFnTMhtf1OSJ8ROCA+DQW4GAQ4z7U/Wtse4hZKd8FHlo+9ZlLcjprmfyXDm1158TlFDsnN+pZw7rUxyux6gQWPLSNM4MC1XCT1mrbvqRiv2yD2NHKkue41+dNcetRVA2NPYfvvwbfwlu5Su6PFYLSD+Tw4hf6muEVWgmH9aYvtxBDB+n2ucHmLv/MgSuQftBUltR4nRpxxfM9ZBg2FfVEhNiwFWBIzbdBGnQm3SXa6RsQCoIrzleCpsKpTd9qMlT0D9PiPO1Yg9a4HOc3HRGyQciKJsxpmTykVTOAidSUptVPKJwb2OVpmyFn1obhRBjb0bXjjDK6ZOi+ZWNLPImRA4TAGPDaDrb1OLqeu6adovjmHK03EueF9X4QvSf1p1/kHw2j7s5oEEJROg41nv2q7uJ9jGrwLCPH7LvyHIR/tlpBGMgt2AoPjxY1iGa5w64SDhRJWd+Hdddl6c0VaaDYGhn+20oMNuyFSprnlaxG3qt8Kleobv1Er02kVJYHfuHzTjPEsR5af9Sf/s1FTdbUNAh9fW1gYjOy639x/98t+PsonHUduQcT0BXhAo+3sNkPe2uTuodChB8d7RxO7aK7uG9tRaeb9qPHQjZzaoy/tGb/COYUDPZg6f9toVPdgb94H8q4ZWcAjCO6H9Ub/2ErfVeAU2oqapvCyWW0y07qkPu+z9zB4z8Ej61UEaWUGLnxoYq8V+EmoLnWdHksleOpIqYOD3Jbw0cm9jZx5Aop+jXn0m/e1qHKKBgXVAVPqwbkjK0fB/MKVp0Hvc1uSuxgcTPAqSK67H0UvKq8n9f48RcDw7k1aD+p0XZ2YBlPeGQ2WQTKtpHUJU2/0SE7CnJUO5X3mkIxhkJ3GkiMo9bvtWVGi9jfHCGdPlS3mLQJcXaUL/BT9o8U0GZ3ARs8hWABUICEOCHRq4l/1KkcX2Gdt9DkylnCmb+8+9BV7cenSVWDjJcKYokSCji2c5mkqfjlc9IeCiAj6r8NBpG8ehADEZPyv7dG4tP/ZBdi2i6wm1WNgWPuE7MU/gv95NXtFDddP0mt+QIYA+m0OBUS27tz0+/v5bHsMZ6DGHaEX8qKfIUa+UrK0mKv72+hNf8z5gYR4sXRXdQ8z6gGfTEQv31untTciAbizY9soUrM+3UXs+X3U0tvZeljxY79D8Ay09D3vMIGN2gPaexoEBfXaqMqnQn5Q4n8DdvrQ4ciqQ/pLIqocZbbAykT9RqGFEIou6j40mlRAmwduxtXFm6qO9vHzfPre0E5pp3Quuye/5E5IJZQPI/roK/biTYS1VHCYC+/0Uwza+cyubOn0d7qIhT1DFbUW5A8FcO6jvdbBqj8ptV/e5qOzDtwP8qkYoC3ps378fFnFftfa0/UZa6kHwAjzcsvhOx76wezfnX9Xgjyr8TcnxZrl9Q2COuY46Cw0R+ZWln19UPzLC30iKwrxEjQghs098vAXetXWU21JG9kGBeiMSIyo4jmh617CPj7dF2C5MJZJ0u9TlDJd9EHzNiEQP+p5x/4bPeGKAvMRTFpYaiSV6qJrTVgRwYZNOVmPefTMmD0yHgipKIv9d/5mB7WVdVmpPvQvEsOnSY75T2rGPL3qnWqhy/piDVv6MpdzJzZ2zJPkUjauAYdr23inS6r2kKy8n4z4Wq+LlSIz4F8KDb9mVvb6mtxf3cFM0xjcvB6TxWcJBWi/YBdX3RUlm1QzfLDQqn5CataKCsueUtulN/4yKMssbuGUywxhYeX3M2vnJOtnzrCydnq/jioE3fVtSGgxMRKJ+PscI0guIyf4APXarV+QllnmHkhLMa4o24/QEDJE9nDjCy9ceHkyvY5aLCpDitfMoEFfNnZQiqywvUtpzKWGGqaO1Sk6tvk0ruFTWlauN9+KZawfdz6q2vq/SiGFuWIpBXO/VjPWs92b5wXBYI2PagBY1vVkglExqR/vKx3uSD5NCsFhvbtkTYD+Vnjj2S96IuyZ1nRYzaGCqPKjBRidxz44ea4YgYjaJOdbfyEsXKhFHz0U/WCiZlmF+IF9T54ysNMIkg+b/z+mzp/3AB1HkOhIdBZoS1ph7U131ZjVSE8PVyzyx0Xc9KOq6ASiGadxSpUySqDJrL8Ja2RcWAJcGLPMlNyUZ7fJkJXrroxha6tpgVibKupMmKj3HCbgTviBOLGZiQr5cTfVGy0LDMPFAl8AWf1m3ArjoBu71iNvA2DbX0AABNDIS2Kg+nUGDSrzCfQS34ARriABxo0GuzhhQDe2NTWfCjlHPkRauXAPLgaJ13I5Onv4tHY3EO2WMtplAoNOshQuhgKUnU2yPr+g9hq4PACoZJsMNB1AI8Qe8uTa+bImwlYa4nEbFJVXnfE5djsxj4qHyhdD0m1WqdPjuf+VTHdgAAMiM7kQqywxNBOYopXfT8UuoHj3MvQGH1lUVH3T3VIRdN4hR/KRdJfrHJfb4E6/EoxALxyYX2hYPRI5IpeyqTwXxL9OKhKFlh4NOEwcXHG2FlPEE4No8ThYftJoACGwC3lfJ8rUU6Hp7b+CkcHAymd8f9IdPgnguVyGM2VxxR+kCru9PqDD9IycyvZw5fN5YselRAlXrPAfL/Igk5ARwcj7ke/iaeQ8hdIVfCTuPl6n9sZYjwgDGZLuXc+fgDELi0PAKfYnxgc0iMZudEIhC6aPGSbzIeM4VcG2rjcmAREjlKDSmGPM7FrejoaopkL8pGSsVYT/2/KNNQPdlmS2BD2AvX1Q7KO4GlZ0D42f0OiByodBW0bcjqLgAiNPCohZvgg+M/hrLzSU+QcLbUuDy+LPxqTCcJ2pwr2wExaNZpcYSckP5uEGu75aTw5myZEahNKz185UKrGNDI+FoM65LYzGOcoYYVHGOye5zpgtTqxH9TelnKrXc06ys937xT/0tzHhyyCMSAxkdozUJ+JQTw/TrA9xqTws5Ae37kTPgitETfkkXBEkcGOD82c3W6IItqByanabKPNSkpFzeLB60esrW8REWMODR4ezQ1xWwE7A8JQzm+nKTtqFu7WTcmcT4B/z8jRavMCfTH2dW9+vi9ZTPDjIbkSnqBxluWSxdD9TzBv9Qj/AIzsOy/saOwOCLQN5x2mZBdWqS0FcKoWqJRQdaMizCc7t0jVZUy0aU3Xsk6YeIwS0ZmJvUxyVApjvrkJwnoux3vC4z9idFxei4MqBoGAY1dR4UfsSmrWT7nyqKHs8F2U6DimH8HGdDE8gGjWnDlWDEYlzfhePCDwcFH3uC8hdi5wZ6FMoH/MBaN+/iHj7aU8pLOEVf4biWSFma9SUkQi2+shm8MHyznsgG5Rfts/o0URx9Qq5ED1y1ONlCDKDteEwr+9UW87747DZ763FzHQGhErDfexqHCVCKtro8v4VP7gUmrsbqUbQUg8HKY59eFksp7h16ACIiMl7b5Z/52zrqoo2nbFdWwKQ4xflLEixVn6H+jPaYGTkglAlYlxInFUpXse76jEF7j+6KgBGUgd0rrfJ5ETOeFhqn6FIIZAdinhdSiBv+LPBDs5HzerRy1Hm0VKyV3O1RC5oVrhvqIvJPbKlDdNVA3Q0R3EIexlNWeOMfdYY0q3Y0+/ug3wjGoVixHPOVeEwB68DnhhoPC2xNGDtePOcGlpBpQ7vDkoQGL4MJKrYyrAcS+DAnsBXB1ZQQV9KJic8iNL5/HEWPD8b0qiEkmGslC/pJy+mpgt/tVNskF+FH0+AkemDTld2Hb8fGf38CZIbShj/JdBhlonmA9tQDqF5SSZplRkZc08ZMYSO/2BCQllhGYJauNWE3A9DdTsHWDPq8hJO6wFyaacTCSJz9EfAu14+c+4lk6wKoJODPuFJ9kyrc99lPXaUX+KyrR5Nxrq4iMCLRvfJGXlWOZc4Qer8HyV6ULU0s71m3lfxuCT4NngXj2RddUG0a0LqNSeOVhhkXCiVeZucbxjZoQupM0ypH9QpQTye0KPnn5z3ZiBPLHhTNTk5hEtMcwmOJpy2VqiuruHh/JAVgDxuXFNEcAXJAkpKVrr/SLDdT48Lm/8UIjMILSg3GSgDA/ugrT63+7L5iCdqsq0b7BUEApf5PaJKosQG/1t3QFU1+Ze3Rf/3UgWNHtoHPrtrkz5qtrmJsosVykKq1SmM/gzzJXEnwWqfz0JtdaMXXxLCyxDXfmPSTA8suB82cc5jkDYnZ+oC16DqNQTl9HQx1xbHDv7/xwy1u39Z6zaO0pkXlBPmi9lcEawpjiYPFyaaZaoaoepni2LnkpzOzuxtikfZErgCBKiE0ICxWNR63DKrowXp6ax3NoGuKgBjCWC9X5nLeD2DjYBO9ixyXHWNaQp/nEGmxl5PGmwhsDExrzg/0N/ugLX5G91vCKYMAbnxqjVh9ucqtfSxktkA6Kx5906LCyz9JOXSzJ4+WmKg/yUoyhoxzlUptcZ5nrUJJZgJfo8hACedgQ+gUZ5nRStElAk9kWCkWR9U7aMntVuXzIn3L0WqvX2PNi4NswurB5r+mQ55ZEwAdv+5vCT0lMqjC3fDxHYVBH6Lm2J5jTX/Hen+Kps3L0HZLPf+DJEz62ZfFw1CcLw7ef9Rwqr1pU5cNoWebAIZBgiv++qC/IARhQ1xPJbGLid6+Xq3uy7a/T0ZM3Han4b7G7Z7AqLRzqmUT2hIul0s7iPEdWELQz6t2aZWxL7i88phv4iaugaYpQrfCuvHOc+XjcILM2cb/UZsflySSs7R+ncYh4uW10/etDN3+v/eFHsLKzQnwJ2hy/AhpkgOCy1oTCjHYHable9sBCHBccWVH3MX69rLihWr+2yYvpaNcuvz+M4VLhiK7r6ZFkAsGIdlpUpiMKXQZmirVSBCfsDKrFewrhcF6MDhT34UA0MD5zYWQkl4Q2M64kaAqMki94dszhekZ+A0xLQ4UOMAWSeWGduF1kLfCnC5xcyurWQ72eDcgDi0nD1oYN5J6cVxs6vx7mDAHl/26S6e3gl031607z338Qd3gTEQGUdTvTQmk/9Jwe193smcajtWk87TEGcClKD/DgOP0zxMpaOvLyVm6GDGo4R31rbC8gBkCRv0xsJr6+8sfN7srBKW1SbkCiVxWsUaQF8jd4F3EVUVHXh/i859lGc9veSrBfVdCcbM5FkgCrYYaW2B7WPZ9Qdv0BMNebTHMjRlZS28aIqS1jqT157YTc9fg/c9VbLs9VIQ2Dghd3WNL+YTBydpRyNFxBTXBTRVkIYFPcylb7aSFzM1xucfBCuam5TEF63GCCQUh6wdJslTtc143kGgP220dqlzkuB+/P3cEmMTQ44goXQ/ZM6StClJYBla2sn8trOv91Ok6bwXuW+EXflRmQD8cmMK5GXBE4GHDhx0ZaePuYPmSeSUrTdvXGdZBAPXzu5XlkOBGuN9ywdAlD8k+XkMGb4/jNFfopfGrdvhmI0km5Cp+HqqLC94QKi5LBEzVoiYNq29D+umFElyjHsBA7BQvsSb5m0KWFqbzvTIGjnA5jM4FoSMGYVboo9Lw7uEd4QxDquHWEDRhmYtquUuSd6ia7V1yt8U/ar6m97Jn9A5jVSDcHIH7eNVW0qpqcw5jWgsjMK/Lf8MwZLUZwThd+3Dfv8I4y/vF/9c301gGDcav4z4+g73lLLTScEO8lLVT9MXE6fwH9qnx8O54BQQ0EPbMs42qIsJl6mFQb9TIU6pl+Vesg1tXaXlzC2LPjb7eLVWWuWKbQRnALnTtnYcjWpnA1AklNGGp9+XJ2psYLLpMatu/BbVhTwVqh9G5yWo3hVw0rhBqO94M8GGlAS7cSlvGJdjhP+kGyS00Th6wTE+FnCf2YWu1cQYbyehjeUuhlC2SGJyHnAZNhoNcNaUUghnJYlAzL7mzQo27M25GuWVG2bJCPRV1qTencLQEuBYhQ4Fen+l8hb27VvwXP/b2r//De8ZHTwCv7mY+1z0cyw/uOPX8w8/oDuqxLQjA50lZRCbb2e2hcvf1EUvTL/UlAA6+Q/VPWZLkmaNKE6HPE5vtLjmpaA0a4/cU1rVMoFaustBWjHbfR5OqZ2IBboIUj3ZI7ZWZHzCEXOS9qxeKkQ7YjgUhNdKzPdxs87InnqURrthqWZQHMfGR6f/9fI4MAI1QsK19M12MvioVKZDqoz9nwQOIdMuxbK5n+ZHjtf2oScranizoNfkMvvowLNk2B8lK51fZSOvJKSZdITNzRHyaHahC7B1udLEyxr27vHMMHLd4qOQ/M1icM3SgVupdP7ucwOjECV4rO8gsyJ3kSGFvyvLnRDthZZVRkljX4Mjf2ISlH9NI1VwZ44bNCBe6NMUf87psOh+FguUksXoMre7lPGzLoa/lvGUfNIhmzohfrX59FueYIdw2+JE7LMTm1EwxF8aeO+wKejFk/EVr0F1geHPKZ91zFFRe4bgyanbNYGDb9g8oc/AIXY5PYLSWVSw7eCIaAupNgLIQyWEcXu63nuj95cZ8YME6bBToARvisjqBIqpZDIlZhBJztue2l7DgNWKJrIMZGjVLqlSsyyVgXS6NrSWRQgg806Tkf84VGEU9tXu7eCt80n4tHiOhKpiyQIv9tpcLRU2KUY8SWjLP0lIKJ2QCEMMuAJ1uTjMNJXui68FYBW65/96qgxnihWP44Y+lnt9Iuegy7eVJl7syhTByZagCyKwX6SzcecwLXF4fzYLt4sZ/DTjKAVc1D9yVA96DjCY4E8qCJR8kfTPZbvtY4YhIPyaN5fwITcvySztRxq0PRGcBU3EFhI1Bawiwvw1mSqqUx+rOLARRWwEy10K08YHvSgCuDcEpdZITxNZmrXrhruMw670k6AguTT4oEDSnLWOdbgbg9eXRtxlc/uiBbQsB4bBH0J7FVyR/4cePtdLg+XgkMxRv/t0Aada6Y69Hs9KHj3hA0qHiEiwcoUlbBl0WpPmAb5lp0Jpa06kaiKfYstF5CMENi/Lxi6bqg1pIwGgYZV7KpKWeZDwqAuwcCkYAyt2KZ2QAoIKEERBuW4lMgNlaC5c5vpAkzIGMmCuv3pejdcQc+/aoKRe9g46aStPNgSkvkY1iKBGraqdyZhzebe2kHFb/XDw87pNzCh+ZB48eXazvRZm5487xbNYNw2nYPak5RuxVwOClzaI/4OeZdW1+GFUOvBcfD5mPtQ1cNbOdL0qOZ+UveL93WxbaeXThLVyg59sC+G8Nyl2lrm4a2FMWFln6SkGqXYZXSh3qEgTUeHJHZ9R1NtDaTQXV+KTV5R73WDKA5TYk9i1Y+TNGaG1kToSizQke2DDDOKnlAJ+m66k5ks/lWBmdlzDu+eOLe2lTgQRFJ9lw2Ysy+qovQHJQYtlqgYhh5gG11pNfc0IHgAABsxpQflkXrsfuiMa4MgiMfN/AIAYOQLjcBWODC2bZqAonFZl6hr43ztLUUDtBxkw8x2y692fcf5vcYcF8a6ltxogkI3ZUNnDDPsgDVbKdvwvhMTh0A6xsGb8qaDvRJO+DYhOoZYvliiSqx5bblKZsCUuELU2r7tL2bSo750XkU52z1u6Dv9rZOMC96W+Elf+hTM7H7O9z/xfcJCzIANBhlEo/vhzr+qdyHmF5fK8B9z4AYF/sf54VpBlgvfhAMizErdczpzKcGOizaRHFVTtfe96cVeDQNJo/bfdjS9lvcTu2LqJYw0nxyLCF+42lFb3xEAj9Hmihdi6aBTgY5cXxMot4Z88j7fwe6D0jpbjYHKCCzfNYh16lG6DGCvu/vQ9ec2efZx7HYpiaurd6PFiilLKMFcxJSDWDIukTRQQU2RiQJsqW9GBV4yFYYSRWRy0FUwhY1+n0BTdsyigLw1kdAjrb+U7V6xNw0sP81xAhQJsjjymKY0YFwRebgsmpy8caNQ6qLVsreZ9L2IPHVkZVifRo8NpxpRqLq0MReeyntRsLgTvzwIw4jjfGAwxfwK/n5u8KMUTvLVxnK3hwSzHevBfwM1953yRoCd28+EP1r7N7EQZwqw8HROpBdH/O1AeJDG718K+Jt0GmU7PJqz3jJNnaH3eXXhB43LjDsQM6M5UrOqulNdgIc0LEyowUg6pJyRaAUtYZmbNGTKIbd534yzy4IsyQ9TDt1yDWmskTOe40hkiftk84BI3S8xPy04bEh9Pmn7rJBIpEPuyOwdnA8qmszyl5pfdKnPKKuY9PnsMPqLmilMN4w5yGuSz81EfdXpaGUm2/9JpV6NisWOfClrbAxQqHySWC5ynx0sEFm50ItxGQQof7wEYWlS9lrHKnl1YQTGzYS41rqIPreWd31hvT1ldduT738TZN/02V7oOoA9F0o1JYfr16xnyvMQWy8yrg9J1Pr/Em+O3MQWOJaX0Ai3L9vyhVv1M6jTRyFRbbiJmKcvufaHe3+O90BLItrbUdZjXAVnYUjveIsJpHiyzXOvDt7ocY+b9JcplE/X7jwS62pUkoCYdrN3ue7o1OkwcEERCdPL/7qCu+fZxjV1S8G3tGNGTXUL2PLPozxww3Dz/BUBW+Jnnnrp43jogNJZ+Anmv/7Arx5K3iGaQWBLXUj1uRapq2IB/Vk6g35geMfE9jv2XzDXSpdc2dg5uJD56KCG2IhYE0JKbUvvpFBx183nwwcjojyh7ZtSXvRNWCdyM1gEjSt12JC63NU6ITxqzXv3MTFFYx+xwHK6klC+9wCmr12DGXKhNThJ5wIc1+iJbpQyf4zgkvLXyaZNSvpfuzjrN3ujK2kKgJv+GPIfjJbAep9K5BmoDrOmDKW67VCgQyRtDGFpatKCs04nuUb+NsgQQWlFyVgFlwBYajYZrkYfPiec82i5x8qaU3dbl07CdPPGmGTJ9cP9mfyfG9HMAn7KN8KqJ15yGYuIANATJgkq6zh45WELk1e6LO32TYFdGPKqQsqQByNfDxH9OpdYTy2DDRs3MicRwJ+CCfsDa6rDx/fYlFa57dfcgrNVYrrFh/Zk6oN1p3wBeXU+DJsL0/hbtD+dSBlFfW83ahiZqoXnYajmJaZNlkgcEk6WGHfONxUYiCd6D4EQdvu5Y8W6QoF9W0wBGgmVWR7S38rG+50Uq0OoZbS3S4cqbPPRymRFfVnYCiVMFthIgHQIorIqtn8TuJPs5HDwKsZTieS+UFRjhokOBljc85k5r7i6ccsLOausMjVLmq7RwAWoQgJJCSJRBVAZwOPQjdsEn8Xr5tokP958z2Pur06bmdONn44QCxR15yl150+B1DYdEmEdZao3Uvzr3SiaDWvN+aq0jCbHREh68LdcbtxsE0Jp4C2NcdrWLMzW8AIAY5YyoslCOp7k7mHUbBYaPuBv7b/137nK0KIRECpFAjKkRfLAqvaSnA/BaI34O5i9F2oKAF67tMoxvJRa+oH+7OT/7LXgFzx7IPdtDODyqiIjjojw+ORxvVop8IzzVgVeh/TcFoHTwNhrC3zb6zFwNMzicRVzwTreAiiVtNRWibDvL1+TmNGE5QbbctsMazxec1xdNBuomC7B+wtIufJOagoKJnW/FIzGvs/MrG4LXvpCI6fx3AaDqBl6Wsh1FSfcFZUy3TRNziaFf5uzTn/Ls9U0OOdMX1eZV/qiRkfH/tzCgKeoUOqeOPiiCiK8xWb6c4bDt91b085QgRo+LxUGozCLX9eGmk8lVSlQdQmm8xg+3UtoZCqnkHZ2dVzYLmGMo2gIbXntWWfrSU2nCcpFpCxOtfzVGrPn9e8sgamQiHrOzQ98YN7nFk8X7nE+Of1tvLGJEM0omImqjJbJ/8v6N7oDRvNu4ZqgLpt1tOPskwcVQvg9cBngGyPd/eh/D7vlBgRw4DscF7omr7NPTtEYxuRHDULP13ciohAN0GxnkJi86wRvNYiS85fEdctIwH5BCo5TgjbTiYKN9dUrmhXNvCuGQ5dLtPruPtxW5Cnkp9etptjlrgKv7+GNesVej9z0CONBr7/ZevPeJD6U8qsfCae4HIOxYueU9IA0S+zIyQ26oY9W2GMstdHYWXh73GZGk61EoEdey516o7owuUNiHUsC8XzpperbNWIOdG8bKfDgJyw5EvE/k/eoLxRAPlJ7FnYI6caTI0POPlF7cFiqupzvAdxDXv8FbhLhD2p8Phz0XJb0VzZe9Puanb+IW/JOP5+SKaUyC5ZHJsWjljCimfdeBfMMq2w0AOTCCVaRUQUyQtqFxt/CNzyj7buGMwGuPkO13qoD5dB0arpsjzGEDclAvqhWx8B6lP5rCZbz1beS/PAqrzIb6+qFsGap8EyoVem0v1JAXbuRipPTdWbY8dAokE0tHuqRtEyGveSjuwurfYbmZK0a05wnBpHFzzosjZLDwrY9oIeRtvDz6JWDzp55aX66y9ub5LTJ8sq0ntmm3NVzinvm3fdmnHz/rrshzWFcWCBYfWs5WOxkjq1lZLUGsEtvoSHuzSlaJN0XnWf5SDxOKL6tlz3AJwo87h3DdpcNb0x63A2GMZjWm8pHXhiOnLI9uG1bWLbM89YrYRVRTCG9zJGsgepxPbRWY7oSx3v4ENbfMNiH8gmOWwgkbMVskXSADFoNvcUhKjLTfZtNENftf9CZPu4jrXNCaZJsOnXONQWWjxQPJUK+WJokgi/P5rQ/DJ7UehrTz8a6JZaozBOwrN/Rer2rmNaWJ/5RgKaoNRDqThlqBXKqxVyv1bdaELlldFuCd/3PMIX0piG4tH9ZiUPsJqIXUlgikXxGQ8Fd48H2paxq5jgkMg93UJXjgMOQpKlhicKicWjm3ydqqqgPhDXxNB8+TmbhZ5PNuDvvfJSxvmiLyI4v8LgX20gR4vwqOMLDm8LVvhx3X0N7nGSj8/eOaMG7SYzkdlNbewBZ7HLqLBRRa2nommuZ+lyT7ptYoEPcDNkTJ9wgr9AFdqiuUvhRWJkIh6yvru53sn5fkf0f2/oA4AgFlCFN8GdW8U7ytCq/1j9coeQ8FKedicRh7WX0+3cqecR+lZB53Oja2tZpEsi8zVNvcuSFT6RrFB+MInk8dN4Unfw6gP/IWDM1opezN+QHILQA/kgdfvooLCb6ZUBpWCJkMjkbAP4CciWq+0j4pH0UWlr//YBB6if2yj4T4aqGVT+LfMeVjbJ/MpqkQoZFLeEL8A3LEcVEDy222g1xqxS6oTwq4i9oIH2ITg1sq+Ja8eE0z5kqXmN50ujb4rSypBXcy9OdkxIFnfmUrkK9Jh9qw4IjpmW3usyhh/55DFBYIr6jbgqz7dv1GK0oHZjw4Btimxww3erTZxfmPLfB6qJeKRtLpigEF6W2Exj/g0dVEq5/Tcgu/mlAlKjhsgy5vn2d4DpnPsj8Nue2w9FxmHkuBZhF/Gm6OVs4sN5758Nyap7edK1dEvUj4CzqYAJTPXlAhlYRlOOtdeWztQTIzojQAQNd12QNEg8TbEoFhfcAwW4KmMZQGpwKZxPw9Q4TSzUbtanx4bMo7Alujvv17R6/IsByKTLWEhTreMXbWMd2RZvMLIw/xgeRkd53vy3wAcLxExQsclWUP7Vb7etuuRDvSBsdkwSFEirkfg/UkyNj0ncgYeimBObzl7UGVTxxWwWrtVAT3B8FrkPKg6IBBQgP0BmlhzjKEMOAhy5fT3XBjUeubrZndRi/PSwsyiVWwDxwe9We98eXemalBK5MrC+lDcLfKaKHO+xdCbEbMEOlWZ36XYgpGTS28VcdhfmuaRt9q/flg6fMG37kyQnkLve1hg+iBkcet3TttQdAakTVEN18DRhC0YAHVlHc5tYvjTqkEdE2ZUmX08ChdiYlrK1zA2kq3vH/P2lxEDZ6nfnmJmFBuEk0DWaJV0IuFWfAerKxfpEajH3SaBtsyNsGOe495pLkUscQgesQlevDKZLAAdNrtesMeSIhBaMyzczEV0Jy4Nqvk0vFm+WIkOhoXODMSG1unJw77X9lEv7j7PaEbYO2H1CoCZW90SIAdPewdWnbwB8MscAMfGQQpnvIrhbDPMjamQ6dWYHrJbkZhdIDGuZu29xiSksfbQtdNr5RUs+JIezeguBde6+e9Y/NMjIplUBZVviFCE/PgXcdw24MMHTsQVEPMHSo2vvI3y4VcDN8tAwMroOqP6BnrzCy4Bdp4T2oZyeDXeWaU8mtg76KeUvuYsx4QW1GsTJq9TrFP7UugabBMWMgXq19Lfhjz1XxWN2F1mA1AadJ1Cf2BUfeyRGzrqhnCMZsAX9A0tNrWoIXEM9R+k+JOWqevB+/4exeZiah1x30nZmdtqa1uuq7FJZ2opeZUJBSlWfl5MZn/1QBzhrxfzzFR5tvfsXccb3DWM5W8xjMdht6IhD6nHW6VbOzR7qju24weV0RLL7QoNm316sHj0wQstDlvIJp2y+AVvmm0b/supjHgj06Tk4EJlVXHHmICNa5ASPAxiIKvzXjVrSzWl5IqnKeYnVS+iEAEbDvwPvpgvBybOpVoX+hC7kzInaFLm0Y7Xzu2LmVNvGMzI5wq7VsHtQ2/lrzJO8roQx6nZSVmtgEHRLPvSP8vP1IqdC8/F6HqItCrv3oD5Y/2ve0kPPzmnfoYe12FEqtE1xmY6UxHVLFoog4AAACuJ2d2XuJV6IX42dLBNzfKNi51cd5RMq19LKPXsezTHMlodG5fDwndJaZV5Gl4h94gnr37oKB9ZaDOBGNphm6umWoZhbmAcSjBjwJFRXGo+n1nnV66Nh9PEjjwVElp1NjpYmysB7gGjeIM7L4b9mqaSC97oJPo2VClojsKFbXJk84twnAMVOOZSdVibdyTDi9MJoD77JTAn+wy/fPvs8gxjccs732bG7L1I0DMj1dE7Ogxasp18NpjFF0iRVx9NyiFGhW6qvl7be0f1rjmUtLEmYEKKhfoOx5YtqGb9BKeTLqtPzkGhjHRSUy3F8wO8L2NCnOpdd+G6tovEmKun6LxGfrFR0gnb2v0kvx5AYX9XeV7FU1xTCOyLHLl+mP6Zo2CJIT9tXdphgzXMrS4U82iU3QM0G8XcoKhhPDb+6FXQ0e9lhM6tXddgo/f0+hqyl5LxQywSrxcyGtm8x5NJfVjj74dmWHW0Z42B2NRJG7svNaGBa97LH1FzZZtHM7SMVDgoDEm/eI6AtzdK+CchYVuxkrg7h8QwG1yQxqgQhIS2/wjSl5fXjatewOTX/njB83nRkAnDPKdWOM7aw9E/xe0iTufbqXVoiIVzyOZCRuCMrFRDT4l+ZHTfKVlKaqNw+Q7GKvjtagFoQ0c0Uku5q/iFCMroIhr83dtbNHiG40jCRQqZV7yBFN4/v01819VVDE9xtigHwjdp7iJiFU71yzXsZGyh2Bwj1/mGG7/Hhg+zu7rtEiLPgTOJUUZSjsPd5YK+DOqRb/vljuVHXVX+o2p+UDu4R53tQvYNjYKJ4MbY/lFe6I4bUuZoT9VwJj5MveWUjRSsOL+XFkP9NdFW0CWB1tNSs/AVM3aAZSYoOAYiUATRZdcXDYMZXpQokTD3TDeq58rIy5mB24MdQTVXZ2VxzW6m9QNSz+Xp9ffLNaEcDMaOtVAqUS9jlIEeAmf4+lVD0QhK2VDdoe74zrS6g922R+SKOe4um4RCbf5AjZWwRRPQpLMxNLxATpHBrgvAdkKfohRtaa2iXAmhzrdkYGNcGKamk+fvE4ExQsu2eyr9JSAyesIYjtdBD0a0uDsbFeUo6D6eMxjkmjqzdjXjTl3lneogbKYQ0bKj9zXXuH/hX5ZsZf70xwiU3k4vEmQjJxBNSD/PsJcQoYvG85w74/Qk8pfFq6HpKdCQ+wdVY9LFEpcTZIC1VvEqZs5dkEJkIs5Y72bZpvWOFmy1wUrvDcRkvvbuU/imlQxTApaOvHtiHunS1tTka+CuV/4xOf9TRKF0VWlez+NQfuyQF7e8VHthbO+gZeM9TBGNogd6z6GD8bpgjs0RaetwH0hz+u6ulD1SBiD1J8kQrz+VqtVDUqR6jgRcbXJ8EAtjfissg9HKZvnCjoCdc+y8LcB4bCE1D3f/e/pqsFuO4vCn9MZ1hmmOIJoksD1R8FP16ik1yI15FBZKK4mOx6Ns9/t21kj1RmS2MWEWYcYgPZ8+f1MgQCPPwir/LDk2bxgR3w31p9JmxcWWL2oRWV6dt9hJ3hC2jQ9tdGJ2Zh2tnqU9WAuYeSgpo9rCAYZQkw4M7IS447crzv5LbML7zcXCwXUbDki6o48tNtQn5uZVkMotG1HJh8BgSUx3de8NcscKCas1eVhtWinihYyW9WBnegPF2SMqzNrshbf8muE1u4AZhzWM9UkO3gOiM2DaewOJme7WkAGB6tmsmFtcYG1LgrjN6oIV7X4VMiSvjyls5W+zQCie230NYNuGXyLKzLWoyRA5hn73kvewOsOhWbhlwwOsyHYEpnrhmWPTk2QymzSuzKPP2VcaNy4G1q1lqwkLxvkSDjBjqRSUFyc2FyAwhpRM4cwQOxjzdg9iKd/x0fw1zKYN4SZrTyKaGGFanvT5mRsD+2TUA7ug+hy1+Ec2Ny2dilk0Vj+xFMFdVBh1/rY0oPhlVXO1hmVWfpW4thGrwBTICyYGGhwOMvjv8Gfa3ojyU6y2ln0wGiMPzaMssaEYJGAumvBSDu8p7rH8DNPKdmStp92qma9BJakRyTfJvS02E7gWiIurZpx3uyxNvDYZBpDqvjF1rESo8Te5PzXqaO0CEYcjqKb3+NwmkIoYJBhYhCYjCCmlqvBKuCUQ6rLf0SRMgLrUygwCFf7NnDib3IOyHpvOgZB6VDmsa7BkesEV8aOn/dEq1MS1xph8uIDvEiljIBKy8uw836xhk6lEIcQtnhLHAHLJs7CvASdSdnbpmC3uhMYANQRpjiT2S43+uOKSeKEfP/ZLT6Z0LIfTj61OKyW0TgRJpOFl7q+CP3K07dTI/YtocL+9jIM1V+wkQjzse+lLOXWKAWxQJXRFaxCLtQAjnJUoX+iWz3mHWG1Lw1XBY0MUq9v8YoGktMmeKWr3fGwpxu5SDl/ym5JnfpjgUh9LACrUdZEAX1QXo6CkVDStaAKrfip2qfwaRPBit7x1NWtheBX6YwfZv3m7WTxQNibap8HcH1ORH+AX//ntvpEO7VMzDzVhBkQTYEFAi9yxWTtfz8IrAm2KPg7R+jrtdNEffIxT0bG4qndT86PKSVSmQssT+kUCsRQ848ltzru8Um+EA1STVusyvKE5sLDgF2ztSJ/Sj4g/uUsQ1no1poX+VXGt4EGdV+KvKGAabL1rxalgryYj68cWMKlBCEUc/tOOfEWbqcLP/RmaPUR9spt0ho0F8zDQceq9iCRqtky9KJGQzn/Ot12oppw9Y+tXkqsm0v4SJm4gyRyuI+2qzlDa57jsXtSQ5ET0ZhJD+8L40nSobhtY7KZyD7QocBiSb1XtvVnVlw07qmYOLS4ROUyEVsBVbZYAcekVaWFb/yJgqK9lhx/KwJolTcRjaZCRape0jF/oQvub9mam1M+idh1NM+ZvFjsB10ggpxiBM7HaFzDa53b9AtkUApwgHtzlW+iIutKeneo75LWRDuAJEq5mL8td/+Au02/ail4b2H1nF6Jt4zohveGfdhxEvxAns2s7FEVvwUMuOfQ4rzfmv+XO6v1LrGOw/dGjT6tgZoYxoTVsvcvPngi+uz31hBa0hg9soirP7CGEoaH7mgw6AoswizsBrj6xr3vildOLf5mpcr1VHA++dZ5odZvHYpmuTUu6saePxNEqdm0CN+13aL/mtc78afGkH9fo5SGJL+QMuWgY3fS+weOyMvCzHFRGmnWt511YTspPToWj7KOgOR2jB6oZrOfgaMuwxOLcN637xkJ0+Hy3k8/i9Ck9M4BW53OUseHVBg0RrVfafAOF+3w5j9fqRti97enddNpXHXmqjyN1qSxmnkuMMljfwucsEEkmKZgiq9qsz0SJ9bkeZGnKemfs56GYP+W+QmWK3q09+UqtrbLPLWGLyBz46TLeh9LR2prU12nTdx7zp7J1yaF1NBCNTtQAqYiI+av74blaLOsr4qE7iHQPbQ0GMT7l7XddjuvdITctVUsxUh3bsr91AU+9ZX9UFpbk/mz87OAKOdUi1FwPCZipXAg0hNKmYwA1qpDxQSV0ztqiOxxYhgMLIBkNE/WQ+AWnJhhl8wXMkoCDyQWvpCQTho2fEepTaDrS/T3KoUuwzGbg7I7e+bPWSzSap16sLxZmcoI8z2oHDHcdM/MJXBFY5NstvcWTDnqc04MR1H86nQ+eTsVbDqqw35DRHb0ZKC8a6rbre4eDQ1VHWluO1v7G7uRYuPxgoVPwVrOo3+tRD94opWpEgl4CdJi7T/ZPoFx5ilKHn1miV/6KvV6ZWM9b/GR7KNnT+5OhNk4Xpqxkd8uSk077byKWAVzGDLs+s/uXfwC6v0K3+56oSfZM3clx6DpfLifim+kXC34g3yAug4TERq/KH1oOXaXdLcWymW9cYj0YrZbg7YbS8tjNBwaIKVthXa8RxQels01zyDoX+9QS5W/KbC2pajCWFPsGb69u8uJBKpoJfkM0VDQF1DcpFRsGvUexMIMs7IFTFYKq9hyuRvSUGKlmPuPNp6ANcLOt6d6rvN6/p+qjVfsvR6nW9gCDfunwbo9H29Tx0RTGHUOeK/k7wjkDW+fjmNnrrpLZ+GkIknmisrS2Y1IsQNsTgWPWLTzi6z4MBX+9bgENS4K0t7Anb6pKT/nvodSfGHJmA/pzRpFDMosu/F8aCCyA2FFkFs4DUEaNYNkbb2S6A+8MAzI1LTXkA7ZXwBC12rPNm2m1ZoNvltcHp9xoDHMgbjxXVSId3SXtEe8kEBeZ85q/UIVAZyEXYI04kOGpIAHXkdiBydBcDASjBJFyfao69DiNlwZTQFqk3PfcjwBNNvmuYtdCagAjvqUtwmx2JERgPM6ABhd0ZzJGBrO+cFGa12lvYazRfNZb0+Pu3bDr3OzmVSuPdPbehzmNTPDkFAlLqBJPy1EsyfEBjtxZsXAbVrxsXvKpYmLNM+BoiX85qvfXSGNIonUaW7gHQcmsW9OTVDPTnXStqlA/ZRXEGcRHUppi0CYkdF1y4X6inEtTOp1/uf84nMzKnw/2K79xM9eH5UoKntdIcnn+fae77sjMaFEREffflXEbNoaHVefyZvXzwLxUraK0udRCrfVBrXCaXRfAPpfEnCNo6DIQ8B77EbzNrw5Dl0ElROsDCWyrmFtiQ38Ibg70as0kFFpa9a/Lx3HeGzz8yf+AHMZZD/SIiCfxwGuQMCV9AY7/0ICvg+vc0ZpV69UUZu76fIUTiHig8SD6GCGbAdq6+QEJoKGTYAx5IiG+1LX4A0xCFHh/OBk2t10174y5l1Cki5YLRFzQN0DQzfMzYlviUuwAAACw22GPk2JJFckya0/m21lQxzUgW6KN+WBZhonvxkZwI7Eyb2WULrTaG+HZPA2v+qvpjizc0xbEif/CMnz1Uo/HjJQoTTDrMIzKUmnXHlU3zIktXiZb0rIHcN943aBek9cWRcUVCFXspUuLAPFCu53C6USkekp2skIf4YPCKNpZ73uIK5TYd++yeVMpcZ2tvGU59UpNtrn5/R3w9iDamgkqO3iKyCTaDq3jOMER1rJ7ps2AFbCEvLanfvhEu8JlQz9WT86Dz1lvwHWTKQCGU2FDuJlr7PNte09o9DF/NlcF5Jgut/c0iVkdj4JVuqWNEvXJGp7nDyzEsxZy5dsQ8Byss7dvbdYclwfZle2WI42ozG72NOsuH/MGGhTeQymhKHHkpGBK5ByXdlJTA+FZwNnqON0rzuqOqGc/C99m4bOTADz0R2uXsZoFx/cV7s+rgGoDvxhkds6pai3m9Tqyw/l9M+FwjnFZ55EQNSveLpfpT0lzF8IOTR0o7Hrg+hgbVMFtdSNOB9/g8+dv2hZp5dOXYFY5eAqvXAjVuOpIPAze5W/1OTUHVDvoN9NG9EJTaKj3X5NLFAoDcLJ+vO8zA8cWrjQ7lOD8nMnakz7oAnrPUV+J+9Ls5Qhqdf2BI8PTOHM8ZzZbaMN3I37iOnICwL0VQbbXNjAJry32jyvtD66K3Nd2cZIzPBlw+sbvF+XwE/tYNTBR4b04r7jM/sc+ghYfisghIRyjwfF5y8U63TRIKjzKoTkRc5333AKLsMxdsFHu/+7leUr6UhgaBCTQVFOb53X7bFWi/KBPtctOBkbgIWJy5r6/29Md8MqNSdYImhXRT7eqnxDdNH6DYIC5zMzoKvwMnS/LF/PnxAveJF2rY3jiYtEaHtjUQoDJbUp5kmxUHY0Wd4KqcP937xi4FECONN1n0A5zb1LIAcngZAnoAHPli6Mzh7jZ6pfyUVD2nmX38ydmYBESE4+PbDkn98/eKahcpwXqyqwDCZOCL7SpI3fFV03UkArX035a7ueHGXV5w2n7N7jkLWzMRZqlhq9yfePYkMJcDaTanjPBWLcNYfzv+pi53z4OakrqFrI9dnbCtoDs/c52zSdaNsm/UipSzfkMSJcYn8tosAKr+A9rKOKCPsrS5Oc3tUcvGlGxb6Dfjb3OD+B2rQQrgoTmydHlVuraKkFdSHLHaWPJD8p2xRVYyimMaiik4dwR4COK70a80DiGnmXpacxKIO2bq/cA/KmWnDvs0rGqF6UVo6rynFnnoS7SRpn4W7/JaZYlvYOsrNT21O8FxmgFfvXKp5kqQ9Y+OkxCYpDXeKktv8HgiAlG4NrSHc+8LGBVgxKKuG2uoJrW/0nyjFQfrXawLm4wEQVw5C3PpUJe2FvDKu3B4oGQdAGWaSq1Xf6iMjTs/VkvIKwNtsvztTNk5z21W6bCZn6li0VWPoM2bv44TzLXgAVhRTQgeSOp+gwJT9A1QAjcnnvb63RlGAdzvsyEhxR+P3d6nJJasqc+ZOWvqLynbebLQRxq2C8eHaCa/i5COL3sznw6DPLjy6hccF1tL8bO4iT23Tt70Un3CPsd9yXN9WtWUAfKbcaAAp2hJSfW2rPyerDEMFqWz87HgkcLqEuR14VyRFb8TtERKAfPSrlJoOT09ZcRF/4BepWhcEWDjeHFiV17PE00Xo3Gwl6091Y6E/J6VomQjOzYIsYlTxcq80I/7eBUMyQq+0apSsiLCMFpTygS27IbFMbSiwmGNfRpJG237Htr2KP2c6WFle3K5AGd5Q50bjEiOiOxug2+HLjpW04zg6OCprLT5pzDQU8voaDGW0Ynk6qrR9jYknUJvMAlEEstHtE390mFdb4Hv9W62QPLztZ/GYjS4NDmMnG7HrWkrmlCsH6+K4WN53bE0M6QWehoHOZNEWLpseMLkS+Yt7veU/KuVbVGkY+YDvelxi17ORGr97Te8vX840loT8FEO3mhj59KQtveS6g8RZfGWOQBGxI5X0vTKluBJeseIAByV7E5dEIfDLMSDUH4USq0zjufqplijcyl4SHOseDSI30o117+C/xEzaGNMgOVw8+m53d7/Jz3MJPYU5d1er+2T/Icwpi6H8HuSUI1cJgJ2Dp/HK9CuFb0ZbjKVO+IY8rBhGueRIKOkljlwEhYLJjB/LjvsHH40kaMaBVs9V/djM13i06oavEklHJgBWVmgvtoppGPHCqMBBl6Q4HO7jbJiLcd84OpV4oiic+vIXjeLdJ7CNu95tImYbJHadkmGgY4GhuxUqqNwPxKCUx6VtYTljTUu0ThXjae1NQQHm23CpmmY7VEVeSuNgzcerkATKX7YCtInm/9uaYaeChBUuirJAXKckiu52cKJoxiIlRm6/pCQLPZ7FG6QF7sjUJwrdjqjVNG7O8mmv+UIsVaQFXqx1BlXqjZB36ZZe6LNervygCPFFRkfKJWQR8w8BBs/R07GF3etYaoRVIu9gFdP2XrMz7RBj9bWvvdUJsnJakJ3Nl4lkmJtTOy/e+6JJqI8RkDIRoX95l+vsyK3U9+aS/lqyIaiakwHNlRFO47hiD+rQ/FmG5lC1r3lGfozzfsVzqbKHsv5Z6aqiI+A2CzsbiBrlXYUUYla8lHq8Hde8nxPKlb3cN+h7/Fv5jjqc6DmwbjOEfRpcFwfCfGIghDe4p/h8FGjaP1LdyKOOgqHxGjR3mQbX5ZqaOf96H4OTjM56lheX+LuPIHhGjh6+/GE2G3rLhAc4lvB7cJQxSQpVc68CABSpFj2gTOThLbpUXeKXQKJlYCUFbjbmLk9syiShwkwvniKQZTBOP21taOHAjBbKHAslTVPrpGRtRqsC+pnKr5Eaw4ygR0Gly9hV5UYxxIPtbmF+mSep1pV7m26y4koHwT+1r2PeB97dKe3xmdBOQynOP2Et2tSHE1OkVCcPODYWmHYgAYO0paEErX3BChNQaAMCkOLSXSo+qY/rMi2rjvD1INLg1We9nShzh/NUU9OeiD5jaQU8iFGQ3nQQTLlT9w/04yxvn2Y1V4kKKNr9xUKG22V6jv8hMnT5N1o7kFd4XI4s63SkbsRLwKdvaTGr2ZL73+YsbWWcLn03oCQCq144MkmQELUDV/kLEMBhZAfnobt7c0nyToBV8E4xsQihpaYOf5tMvvt4vihuM37eiC6PyftYMXUNASfVFwyAm1atWM59M1aPnfdKTfzPfSerSe9Xh6Q7fGUBRKWFYPb5fmy9VvX3TCNxJvcI29AemU1ooqoDMRXlyV/Dv3j3cMatvrd9b+RSB6FdW2cnxO6fak9kqDWWv6BTCcyuTWk1cEf3tqb5OeC+BNA4k03L27wPzszPUtbEDKs7YZp8eO5SCCZZoDYN+d+sYOJqG6Ek5qd+H30lyD70LtJJAySBAu34KU60sSs4Bok9IU3KHZ2fc+4sO9+KA2MwVeBvlTWTA0viWbfJdMHbV4GNuS9Oswlgkk5azDYP75LW39iAW/FhUm1gMnPCNEAU3qB0pxUT3aASqDRh4RXN6URngZJ0+/27gYhIU1Gt/d+PmlqQfqIy/vL7wZ8vy0tzOzDhwHTFaAPedGm+dKOcbsC7/RHddahvjmKXuGVWeVwP1Qy9dztQjcLnL1UUtyxFJQcEDqzTWsytd5RCDxGDHpj19UdXzi0t4EPzz8fhevpYOYMW54AogVZO5dNFDQ6lC6MxT5KMFCfQEbgg1uHefG8CZomEDkKsZuwnFP5mhMWan+KGvO0/IN7N83NrWnO3yRexnBtoCnTxSDgOdd3Za8xd1PMUYj37eaXwGqG8iP6yOJldOhQH1f9A/mGmgwmf4n+54+6j8oaCSQ3K/D51wE31vfSfJJ+RoHT/97t4XhINu1aMHtX5PIlTflGuLnhJxPN2uHkFnopWpBur9O0pMaMZDwHiniPHk5qpiI51gujd4QRjMNoYaPTcsQA6QsTw1TD8XuWKYK7E7I7BLg9bXuSUyfpR4cU8Zz61W5NXHPIvepaiyjwAmmjrHZrSBd7PkAIyw73fi594A9Y4zIPS+SRH0Fo0xiAziNzPbTLjKbrVuxTeC5qzg2OS5Cqjc09tf4fbXdr4MzkC6vAICpaM94lT5vvPKUz8EQvNj8fe/MCCqlhg8HSieZLn/ekBfq2sgfIR3Vb/TjpkWOAAADKbkrgHlcG+pcCwpibOpQeRODZgSElHW9IlZGHyZthgVepKmSVp5tRxP1Fr7WPq/6itXystaX4jeY02OnFoyMKB5OEQUBGF9CF5RjiiWLBdo81XQ9hZBgS8vt9RfWQVTT9oAAAdajOqGLwG+j/+euUVW3DRFlpZuSKjbkpUOglWSS4IIRV39qTIa99kQFv/Ixre7aedR+MpbYf6aeAZKcX9ChZqRp3f/GP9OaU3pmV5c4l59Qsuf1X5G3Snz6egBZxkbCU12BtzZ2vapRKhnbQqpRtcPD1UcQhfk9b0ismwrEYMy34AFSNpNcWeeJZgLJgcI1ZL3lcTAKNAClZ+MszppVGyea2BnzT6QcIaSQJU1vTgWI7+ybDUhYT+1GMcclgYS29jQ0AAAAAAAATMFeerpQDkeNlfnsibuwdY+tZbNyFu3jvM6t9T3Jpte9OYfhqU9VY6Tg1+VN3Y/a5xiq01mKgaZQ/HVRV0dJhnXWhOMNUvMLPINuGXikJB/f/wTMc0zbuNTu0ZkJKzetbyjPr1I3eDnFbSv9RBT1CzBd6quwx8/7MvNW17hQtFLQRTvQW/1srezfF9Km87GqB2f8n89tvUdNhbCCmFHzXgSPTe4FHKAu+6S/9RUTR/U3wBTL7Py5WRB7k0Xk2ZXRmsjboJinhnjsew6VN9jdPjWamCQEZ4i1kAtE2pyqyF8zgvshk8tyNBQsEQ24rLYopuREBfBUb6+KqhGbp9bOy6/xj0RcjsA40EywfTo2yx3KcGYJNxn1X7++voQA0DPhMJ8ygxSAHN2MR5+id0pPxh5OVaj/8zpNfAK/xulyZX+urva4HXp5n4m2FLX9DVUhCGW5GQuv7HZaYwC3dZ0ASJdCDvQ02HTDkbRcd5FE4dEVtOPngqUvyJZbwZ04pd+P9ycwZCYSLrqKZcgiSrw0ftqGmvAVKWNbbY23GLBVUDagNEcjq8efj77f2AQQHr2zIXfJwNbpAmG41cBAu8TTfHlHfSdcdI4G2a69p5hpRmrgAJhzA9tKfMhxh6Lq5DwuBWzVBvP2LQyeNiglzaGIKfgEcnRMCAN/IMTAHyNKd9sMywCdtF2qc4H3yG9eAkmo8jc9aoSwccOJR1km7z/pyiu54Wty7E3Xg692WFwoavQjV+TippXBuMakbHcxWgomoLootk6/2b62Ks0XSeP/K0qoknZjMvBdOsAEagft7eCEcXWhTMVARx6H34QaROmhqGHdw7w3Vy0rdzpGFYjGiG/lMkl+0jS9tCjeAc6NqbuaM6SAAG7Hk06GZnDb//PXZNvRbRM/SI/kzLd1s34Iqj12KNToAOgLrcX4+dxJLLFwS6Je5zo+kkhqSFkG9/0OwRhrVSCz0HKtybHtBKtRPWlSF/h8Kh6N4jj9vbv+dSrvbDOnHPP7t8Nucbj5qngsmmnGs8UR0YWFttEMUjQLE78dwwwdAP8HjWxCrXDUvnj3aYPrKP34AOMnxbn/DYcbroQ8ueBQSp3h9i2lE0KYwjqwccqONJSJC5DXWkCmyAuN1Q85bYPyB2SXL9K1L5OkMqcd9JH6ED7SaCA3DQRl8ndvLaNCjnzg0vQ0+rrspc8YIlhzoKvb3WzyH1BVMO4qThuBu8e7z3BzG74KgI5J/ggFTiaJyGHUiTuM/lH5f7ZjiODlBBYWgNxWs6oxqW2O8sx5ftmFJADp668koj41oSIp75gjA9nr25yre9vsTEvy+m9D0WpxnGGS7uZYAUDXlfAAsBhZAgk6H9IsHoQzpwNK1N7XIO9eFb/K3XDy1OioNG7ohYO61d8cZj0golhXAvaIcz6Megam/ldG3AQiqjBjHdlbNc14iAKhdg05nlAtPj/kB4IxEQAE8tQvTE3k4wRe9Xp4BFKVbizOvRtR3S36tsdp1osDa5Qs325Lx7yn+Q1OhiC1cofk3C9zfbta2yQxWkMNfe2LuKkqOnG7WH5utswQ5Ls38x2Nv68doPw0LrMRCsYdu8yorl4dsXPvfOZmpO2hQDNe7O29nM7pScLxd1YQaG89Jc9YNBUbChhO/aM+IFXbjZ0HF85H4DDJjPcpDMxNJ783kntQSlrnQqSB+Q6RufVyMbNETlQXjb9CQkykwKQbRSQtywyCAAF1vbY5/55PsU0+KNtmKAHbbQ2+30cToua4VOEWYhFasP4ip5VVBD7jz4s9/D40aoK583I2V/Tz/D304ljpF/DljyGgnd5R/YDIHtZeSxGbDlm0k2Yg3LsoPMlH1Sgqn9U141Y9ZAL06292pHdVzl7cr1xMMrKhvFRgn4z4isORnYGUw+LwACF5YydX/VHPuapURZ5xR5/k2vXs2r6rNwGN+x9ZvwGUr838r/RfBDyIsvT9HxeobHbtMCGQEcEWm+GJBT7ggibDcIZtVpqU7wf7hXhotZtlf6hV/jE/n539Vr5SwHiWcIWey41uax21Rw/7v5p756iPXeg7Fsm3X1WFwg3g0Fos/9fLr56bxoFs4OZuwHFLd5WCscDxBNprjdt/OYt4+e6hjOJht8MSJaaFoxWkzPsPS+yNFU8ZlkRNeqmBTU3bvpZuvjn1u9fyf+VenJQC9LL+SHWMKoZrNuKKdYUfnZ6MNZQ10rCo1OgbkgK49KxWUt7qimFlEpaR5QXQjHnTfNJ5pqHb+mrpDdo87aOGTCVMuVvEDxfYmg0eGuNFMb7CzJy2mHDQZ0Gc3/3iTQHQZjtQ5lm24MLP0kiQOiEnRkDN9CW+FRyC3nyc0XKSArY8W3lQMJovNQonImLcclptX6XYT5makCnvQhmOT02459ICnCmmwmcYdRXIK6OxGOM3iZG64yoCzJxwuXf05loQbVq4awb2L95dUB2fq5a07Y0ooJynftoHVu1J3fzwl/9xeHy5f0YfsZU7kSEITSTj57f34dAAmI3Ctn2FYn3+ianaSY3Oq1VGesHZCt1OKa816xo+CqqNbM1LKhA1D6kGsnCwAAAAAAAAAABUy9i4okDa8yjcGGJAKxrAn1J89v0GDWFask3+rQCS4mjis5Wy3BWYxeIZdTDp0d551QZvjQkcxdRyPpniXUD8yQXCOCyFVRWSbLFL0uq8DKJahbDnHdRmNZIjviUuWzXkCX4HYyx9ZyRWildGWC0XGpSsFe7gzXtq2bbcRpY99TldQ6CJPWnMp16Tx+anP/4mFapG3BayeSA14kZwDOnuqyxwRXmXeDfTOA7K51rHKsabNbLGkfmGGKHqrBVl3STLzX/KgWObXhCdZ2o84jLo1OU6nKZQV74nVAMYvS52sTcmn2t8puah0kQ1l1s07d1VMGd4HAiaHXehAMx+ln0nrgEj61Kv7OxpHm3mWOeo5uI8bJPtZTVZ+IcWxiDDTFBqWz0EPTAAD7iWbztb3Wy3+MjkV24AV6btSxR1XLACsheOeP9nUCQ5hkvblV3WbitwqkVGTepMcwwcqbhouT8e0hBasxa9DzMhXPcdoHFGRgodX2K+OMNgGnNTMYY8xIro/kSv9xlBnz/pzC35Xt7vqkS57DggusWq/T+vNoDQ7GPJjzN/JzFT8i/yZG9ZDDeuouFB2LiZRBiNlJt7HfC7aaYga1NBfuySSYPRy7LXAWZO/2AvnHuYFR0TF9e2XpV7V11hJ2MBwYKeLqQnzYBm/71mHYz1dzOqFRTbevrX5A7H0xXkaR5oplnoVIeQ275I5D+R/sjrNPfmReBF6XIbYoABAGFAAhm+Unut8IXGcSiDbpGhIcd8Y0kWvxQaFWIY5CKa1f+pI48rB1dyTsr5HUM3r2J85C3/h8fJUO90cfO0Czn83IzY/cqsoG5EuRyzfeJdc1t8wga0vRReH4fG104fRdBPIXjeLZS0m8onH2NJtN+pueQ7oHC2QQGj1uoh9J4dZHLeWSWhE7RvwDEj2A7OoGWKsxfXi/Q33hJQgf5Edt5dUWpZhCbD+BP7Jya5tbtRqssBB8wWFVCTlbzJXtDP/Y9xdrvchbDZ7iQX/xqnULtjoNtSNvJn2FMZwqavtifxbM9n8mR0IbByXyIrQbxOgBHyKjnAIxxCsd/q18/XfvEbc5cv8mi8fnheC7YJo3Ov4tt5VP4hmVM1lNcLEGz1QRbPwWOoETQeSwZykI7rljK8P0s2EsfiSQ/lH8YCYUrThWTWw+hFLG8qJo9NvUuFH4Br60qFHbdh6k3/mouImyC08aW0zAoJB00kmBboVIyt8NDTkoR7IdjCB4pKX519UHksPI6gpE0rpfIaAIspbUfuq2o39T59Y5SndXzL+QFAaR6cRavP4S7sCnI9441haOr8GqSFMApkbclit3Jv+0coZqrKpCtB/RVFMnOHgxdS9uE5b1FouuUTRp/R9XhCZUfTQ/hr8PlfuKVGl9sMn3FliSPeSgPRWY8dXUBph1TPvt6FMkrbE9o9GgYgl6v529RQ96kmGr6J1zynKDPY+5ZoxLiL3GtZH41pa7diMoAYDzhXXEKrrMintTrYysCspvnhjQ7TvE05Mcc0j6NLg1W6vZSwAeaHCMbdQu+QR7LZurXsv4L6i3JxuOFB6Pmug29pOcsV0q8M0RFXIVJd2Xee736c3YdlUP1ukleVnUTlUaLSP8NqolSY8j4wwx2nxc9nDRRBec+6+kYJtpk3WGY2tH8sQiR5TRSWGncD6tm4xx5aXd4qy8FIrjKVnUpVC9rXls/Bs6NzxMdj5subW0iUMwKeMTNTtr+2ZSySpSi7+VoM0HuHxxH9Dso52jCqWcU3bpyNqUJNQX0gOrIgeqJJieYtlY8CgQRkG1ts7zEwY3Ko4wNYxogCwSBUpnBNLAVASxier6ZslAJZ4yLyCs6/BTs/WCSTBrYB/egEHBOsDdxVQhG5pH+C7J661PRfBtsm23poV/jarBqOM/gmyD5QETOJGWPSD1V4Lcq6aM/US5r+Je8/nVOFUMvjzrjEh2Ww3aIfQ+8jlDNFtyks3A2S41Km+HIe4ktTcFvqMGt2TR2eAPXQqxAxTj4wbPm6dL9w7PhfBOa0yt/xhZ0m3vxa+gKKnIAH90/RHTJpDU1Et3klA2FNZ/rWvjANxeKKB5Xbkfd35bT4m9VZ2OQIQAAAAAAJGwPLzvD4MdyWVUdMsBmbEZLSSAAIlz//KzbtAd/l6Y9oJLp8gPAYpy9wke4xAmt4OUNTt781c8KzfvhWNgCpmzXwUl0RtdbB6eLUD0Ba0xLz6wKT7JNg/8B6xMSj0YqB3n5F8Lr9anKu6qe9L7KRKycalOTYAuEOm7zMrRVMx4iMR3vsqAFVwQyYZmkPxckqJWsH6FTisdy4a8mFdu/MNUxAaZEPVKK9RRimlx7KntY8gttCVWcmi28RIG75oGaoTm2LqE4pohqPyPqiUQ9VLfYHYm2aTurpc7ahL4I0wtzjcycp8smm9MuROoe58+nTZxmbgkiFJfupK0CEbAJSbRiPYim9Gd9Yrlh1wBNcrmm5XUOwjNJbmQOWyeV6DhK1GRFbRaLDlcN6t5160LfYAUhcDYUhbWCLQWfqNe2vR0qIdMI2qOlQu4/Sa/NO63EAZ5U7gBjQ34Z+xRPYIe3yPYhbwbzc+W5bgJi8hAgtNMEFJdfuwM/z2Oh9d8yvnnNL9rY6nFDEUpUNvu9UyWkEtFcTVRv48C1mypE4rm1Z3OOLf5O2YwfsBty3a6GZIiUYZJe9lNUv2puFQTD+oXBrm9/On95rtUa9JsEbe6kJeh2oQkrVlZj/OzIj7RlbVEWcT1QTxnw3xmFiLTMhVyu86LyLXhqfIpE8ssPPuhjmf/O4ksIlnwY2/cWnU8RwK4V7go6ckhHGhLR/TeFbxzbMjWx16x0ltBawOwK75LSSfKC4Ue6aRt9wBNzBb5Jo6nUWMyL/y1K1Jm7gDsCy7dszo/AFO8TSHPCSyfq3Mn+p1i4RCi0SV8+hKOJmX+VDDPHcZjNVJK95qoZDQhAPKBJ80hba+A/NoFx5EYKJO2dvJQ+UykTYidGkLqH016Pe3uaCv+sVw/w8oEZqj5kBvv1iHWnQ/4kRbeRN+0dAJMa7DLHfSkwV+kULN7libWIyVlqM5shlPbvAiguxxat/xYsFujDzh86fzDwmA2HVSGjQs3b0uWMY+ZlDM0IRZKNlStaN0GGl8oSdfo4cERZh0R94R2ndjw5Dz3NoPxxAMtrlUV15vaknAo42ZzI/twawEI/Mizx8M2Jbs+jBGj3+adSN4nTETOKbGjMYogDbCx63CQp9L3u1KGQh4zoR7tB3xea+OD9owbBG0MYI5WyzmCOpUoTLqvRW0CB3jPb9lWBu5YIVslODgcoASL5WREC+50P6eFZaVIiJs67lVfhw2FmyjyAmB2cjHJcchZFtz2abtJ3mhEGo1hW4NWA9i1buAGQnx+p/HwKHNkFIoo3467WQ/6i29bAg7GojczRmPRDKihMfbMFL4vHFOR54uSf1UqUXArO7dBOXTJaDzP+aay8VNOHF+BNe1IFGLf3GdZiSr6kyymlq7NCeDYU1xwzn45gBx1rQirPQWzOl46ysTwBCvOpVzEPGOSQCq7ucgGpoeU1Tw5Fkc4X0RDcbQsp43Ck7pQz+NuRs4S7iN5k2uUfRUZVJxH8VXPJLFgh2smxInrjvhvsl84atf8jkEX1fiMoX7gM+Eck1I0l9Sl8XmnLTTbHjKr+2piHt6xJGPLC1TmksqxW/SD1Vb5LxMqMko//Da+DLhDiMg2XZiKfqmu+HRWGZo8lwrlb5kWtCElXRI+vRjXPDMS3zWnbXyF4B1TIkygP3qbOHpzbLcDEbQl72hGhDIG8K5pK70eCFtc6+5DIcMr10DsrXWMPQjCU9L8+iHJjRcSfe4WX/jUlcEpuYOp2USEs5RcvftEGDINwgAAAAAAD21gIcmoQII7lPToD/CgQkX1icUtav5Ug9f76ueThQ5tHxc5hR4tzDni01djrkh37DMNbbUzBnXzmae6aPP8719DEY1N2Qoh7a0l/Krd5BHT3KKcm8l1q2EYtB78fRvoQGDfpYuxIUy6IBtir5J8ce5B0cA7KrmktNDHNpyhy39UKaXkzxfBZ705uvGNUVoDUqgzctolxaMmrodspqks70g/pSjz2+1k0Xp3Ml//zwcWvqyYxklbNmB8q4a8+h9DYdToN6eG3OXECW6jPoV/4v5FaA0/26utUoDmM9XLXM1a/bEYwb+qPjGAgqr3AgcBoul+Rui0JHE8gwB1HfPibtdVvv45eBSOFDykYHONNpf/+obXpMElJtR+njkKP9oDp1WLXV4u3xIwOFFkpJ9mBtYJ6UygJn3QIKbUlMUk22ZLn6nAk6EZP5wHuCHmZPCZcZAj7ZFQQrZKcIpaFx+i4fp80v4ZfbrhV7BKdF3c1BEQnkWLCjCbGMssxJnI/1P6X/lYnaYOyKgcxwc3kWwDoE47isFKcsd+n03Ao4+JgBfEEqu5Tt0ZaKTM5Ru6kykIHF1bRi4OsxlqlchuFaYJOKc3oCUgcEf/JjJVNCTn2O/LUIRNMwu88vvoeWrvaqddp8YBUCmchzU9UWt3zMf/tuWjIDZrDKN7QDej+cPPoSm+mSD44cRKYkMOuAG407EpWVtvu2KGNhskxzBwSv4BXATUhK27iyNaMSYbC6AFhY05rmXItNGC78VwTdY7sjD/s7MvbtCZvUVlvRX7LC2s9UEWBg6HhwxqLGKsvV7IdM9kukScIztNtm5hcg14CDuxx6fC2jt4igT4v2VznNinQB4aa/K/3erE0OHav8rm/E1GQwhPOS6WiKlRYI5WhtPDWPZ96NWf7T2IgzKJHuBwsbad4Sf5QF4rR+CwDR42rJOIigZ7b70JaQDmZL+d4/gGHFQiiY7ytEHvREalQqxuXdS8NR0wEUhdV9vPNxqjnmE9+IowyowJyCzfs/si078QKgU1/+lW/arjT9LzJn8ieN0ru3TkY3YBOgL1h0cuBRtjiz9hFRLmVTYRe+l9Mkk4MgbIsFceOdVWuohpXBaDCPfX0UQ7OlRrf09fKIZWvHrH0HdJnYJIkHQYyJM5i5bpcpI3ZCFKUBRe71BVulShYnavGI8DscrZINm+tclqeDUjd9bEL55sEjfbPMfolSUr2fZqM713JfbKx6gF5UzV4M8wQwswlm1ZIWsV+F4RTlSi64NShUVKEj3JxT3gE+aYDXPJSKbEwtbNDGHr+C+FArCeg6DciGXHieFiW2GyBDrQgzgQljs00IvIutDH4f+2bwREvXGwPSTKx3QZpzw4Cz0cqBOuiaGfIF38tJG9N1PF5W6KDr4NcUfFxxj3a3cJynoCoBPO0qfTyiXj6t8HETaMijoCKDxl25MB85zDOGqGVHSOlay/KXN5IddTkBiObcUY1vUAAAAAABB8Nl3I4hETr+VHXGzLSWPrQGfUPg7TznMBxBWS3sB/a001q7h1QhbmAwbqmtxN8S0eSQJGlypnBMQ9t6t8oDtZij/xss0bTgEt5yLt0BgxU5RipbMPSi4rwyDtl6dDZIEIm4fUNJM/fyIRDe0VEeUZNNSbldY2kkztIySxtdSt4HzOSvlmNS12VwU+CyRmxJyEOy9eFO64Ytj5ZwVK0dRvW56Le5+8aqXK/tAwY4W2s+0yauaQI2zh6/xsdIq+FWNNruk2IKjTsbJzp3QdIp0k6Wp/D1Wfd+12MH6rAEkdPe4drIpLJxphYIblGITcrSoR3m33DBGej2HkhtrY1Xn+XmI1bMIWOyS0Nt337aEeiL9IElwr+vUA5K3R4HP3Gvz5WDGWXkQzOPc15PYcNHdUXwy8crpnFklXkFhD9hvPkKAVGd2zI1F3e67uZcI5BO0OFSjlxGa+F8r0KSOgtW5Qi8GhShlDmf4QDdiIRLef5CooQ/zSlTAbEAQtlCg8zW6f4ABSF+lQn2KDld14cUnI5dLOyiAWxOpj4vhExFqdhqHukWky2TCHq7WJpay8idA4hP7RMPD7/n1hwdnFl098A0w5pF4dkiJ4yBF2X6vXknhBLBlA4fsBxNyGaCnqpMzFPIki6qLs0mgLUXvhhabZS/fL02lx2pGkM22xkhJc2SZ5v09X9PmtAptehTi3GscKSSGI5smorR+Oii64f8RXbz132VnnHZrav6dIzoOl2DSNmTyTUAERtjkdv1BEZ4iVpa9bcUY3bY/RYJ8NGXi0ihah4EKu7nWpEqFz9C7mU/qQEy74PIvInng9NVnS12/A95SGSzSi7RW9LNvCSLxeH9iQiT5OlPGzs9vgjY6eaNyCSH435Wq0lmZWu4wAC2/dizt8ZS7aRabdGwaXKUzzqRFcrAxsAAAAAAAAAAAAAAAAAAAAAAABwbz1iK/CnNqJ5d0SGrHx/Qk/24dszLdN+huP3xDez3uYK1mEcSxTBRBfVj4QRqGVQqAX/SPgdLNPMx53GnUGKyAect4zB1Bym9ilIcj+oy/kZXlZ+lJKAAAAAAALHwUB/KN2RY5MphziPHwlXutbLFx1dvBMu5+F1BrmAAKa8fGwyGp7tsux+tUbjJRWtj4KB8sr2KLQf28rX2dUW+dym0kvGOdlQBiAlW8QYLz78DidvF4teFWGRB6RTOhiGwdFgxisPBW13JKGAAjshEyPpMGuEb4xqA3E65HZ1ftYDavSGleAUMsEOL+LVdLNBmZge0FWDNxmG1a6k3bhgEF6ltrtf7+Q1RpeoksUgwJ8091mp4gLSHjfDujSuYiDd0Poy3AUuabSKGHR4yp0tsT/KajqVlf+c6HxMQgIqG4wMHG9VmHZPP8G17Xb+AX/y5T81m8ZCf85Pm59q2iC3vNqx6fdXvrEhX2wuV+fcH19HftqSQhdXdRFt1eNhYO5bk98HXmlbEUVmjepf+jxZ7IFnBk6abWqefktQmWn7xHgVc+obYuI2e/AXewnj9IsFzGtL0n0eSRytHU1xscIcV5datdDAPcP0tNcyXmsEKnYI3s2JXKxL/sepls0PX+0QmBs+obdUUmKyXHvJpxCyaryJlMD3Mj86+brXo/xZlooFOEKWnFElcMTjkGxjHB4tCxDUKvR/oJL+o+kycskd+XCwS9Xb3jzU7ttEzGiKPgsU92+J9Lh0SzbwLYsxmhpjR6tF1g3dTYhG7CTGc8Fpa4A9TpbPhOM6KR+jNxwcRBJY7S6x0llQ2Q3wGbAOIpZ6jZdI/AhtQsi+4wp0xlXmh/3vMH0kUtFLXIP55JRywaMy8xOfZpTM5/jzd8k4QnhhBIBDW0Fqyk1F1jgU/QH49RyFPbNXpyzddRK5RWT+pntIv70nWri3oqGhVu0Mdh1+j8h2C9zQ5xG/Xx2OEg7XrA0uwAATdziQ6Taiprj/qXJ+VZSKYj2/Bf7K3Tc3vugJ0EwLc4ARmbCR6/BylC368jsA5xawEqml//8+BlM8Ya7AoaOrWW4J6nv9xsnFbELJeDj8l/Tmzko/GZP1aZKuAAAAAIPQ2h3rJwVk9LQDf0XlOLhhwsoCUQcu8CyR95o6brGOrJmAs5KpHfPIIcu/Gn1a6RsUKDPSsUMnzZ0skclYFR34T6xwzPZPVuSScPyxrvLQc2ABgX9anQsBLFmuPEvxuD+O0QeCWhVF8xNhqousMmVzu+0E9Zsv2YnKnewKkUMHoOsQo8vpM3yZ9Qv+nV8xZ0RKxg65UoIAXThfeukBDq33vsQ0JfplwgRRCKws/zKj6wNi1opecIpHq/JM9WpHD0RRT59p1XweC1pdshY/ZpQz301I/50UeUBWgy7bjuNVoH4eZCmOKP2oR6OETUa6g0gx76y+UwqGxdiYWeZ1+ndmr3oVJ/N3Mjr50GCvjAb9zmRB3NOhGWe8Wu2O0Wujy3OjGBoww6AH6/nSYtWGWj/3mG5p4O3sS93/kW58q4w86edP+Hb4kD2JKr6WOmF0QqQO10Px9zOS3+q1lFNW/N7f/yOf6DEzKdB5UGYvnqKvZJMqkdruSXDjQu3O8erhY7DghgxqZ4vrOiIHGOfjugwVcHA0/QHHvTM2RISD4FdXKriWOYQEuL0Pa3fs/PDW0wT8l8aZVpSkWWq6RfYP0T9D8AzLTcVeyBX6C9svInguIQNE3w2ybm5FlQEpB+TWswV2zGtzJQMFYjLzO1i6oKizvSY9Fyd0E76l6Gn3R4HP3GvUZfNv7gPDGTRo5zvZ+Zke7EVlAL9dBtq/FR90CqdjR65jaGbOtKoeu+jz2Ty06GBnHCl+q7mCIu9+dWqeGaADZU2TXAjWEcOKHIK7JIbWfvbcBTPdjJfieL/L/U5zAsP1RdRRqWFSYRL7borPHRLrvANy7pAsAIgechspSIugA7jjcfDptofqkRQZExy/T+u6SHNka2nmipvwVNx3WKWYAAF7TC0lwnNSgXJkvDvy4QcajTC7WyhTEc6e5Cnkc0KNmJPMYZ+NwN1txgVvJeesw+f54WF4UoWuomZPy80JP6TL7gY9BWca20Qn/89sHIg42m/Q9kEBX5tsbxS6Vd3GmOQcLOQZHmfr/uCscNgVoNIigmF/WWC3Ft/U8LWx4XXO1fIjwQZAZIZVTLExUIitpITpsr201mnXGDomC2vIdjFZ9MPhAcX0jcAtEBQ4mPwi5qXIqcJxxdZPr1Q03BC3KGJokppK8uvj0CA6h8ylK4iNwFxcXrCpa0Jg5okfOCcZfG3g89Ue3MfDh3pZp/oZFXpekxT7863L+tTipK5C6Tx1Q/6qiYceeDavJ1t7non/Q1zxNV8n76d0L4gDQOUDDIZKW4bw9lEKdJST+oj3Re2mpR3TzfAKTYBYoxj7gj+PFfZbOVm2/F1e/UjPu5gizM77BMPA4JUBHXXXeHjfYMoHjRW2z1d7r4J1VrmEd5G9DvyvXFgTXJH+a6tMFVNTwrnu1sa5NGkHI5hSEeESlg6hPjEYQAAAAANNCNg9KCw60ShkBetoj5HtV76+bo+ir6fQozfoU+AaVrKi0yqIssfIfuwEpjsYmnRT1N1up6i4kgbeFIW1Rjc/fuAZN57Q+yANUo3rP59k/XHtC0+k+MpqeqgEIYDCx/4V9XBin1YQRFqA6qUonKMwamZx8a2df83+2iGQs94jwSQyg+8L0QJKZVwDnhcJOeqe9KDbF4j3yFx4kYqhWWrI4/Ohtqq2WpOrmSvpo4Ll+4DUwdEeLcTnvNx20+UrHpq0f1zntMLZKB3YBSggGfSEXzfi1FAC7EwgEGdSiZrCLN8e0oG3K1eW7jS4AMTzchqvz9jAvG1vs3yPXkC6cT0PSGemC9BC0O7RsntJ6iYXQzzjWKdNy0mhqexzp5B/KlQHDrS+BYmB/rR2dHCLUvX2UTblZgmJ3aepOqrm2XSFJNAhNj6BUeamUTwGl2iRZi4PID9ToiX9bZeqKvIJ0FrjXSH3x/YalxtDlI3MZoELeV0PyeF/dO02gaLuudqin38KgX5paozC1cP9g2/1urLDtWBUAfS1nykzLKLaNsQ/0u8Hhlh3KuDOzbd075cQQIfvdPWpPwqSLI/eoAuPBlLsqu4HiPRWfjMR8SZc2QVlqy5mFfZA1EtVn+UYo/a9/eVkHKKyorMrWMxfaFjcVkMqG51Lb9LoojX7ZBP0IaFQhHZbxVmF7vqfO9lZVZhu5fMiGVQqHT86DQJ6CWnvHepiR5Yy4o9NAj/O5Ugjgg0OC/+yyIrw3PpcQmMr086ZAAvbjjl9q80djsFAzogmn16dH5vNZLnVGXtaWIPMyiX98YwD4NBVPeoTfVuNvfYiOIQiIVdApHEM1WUa0XWXNg0tLnEm+pWt2uC+ENqqy9+sqgg3usgNdbO4I0o6b6QDH9sqXbULg6S9f9mevWatsZn48/OK0UJMgkox5uULUVpqGaWhwzjmjjxTk0+5bHIiQWF2ZvPB0iWxKF3zfGJqiBhjYMLIgGKiQTjwWrMGyRblA5IPaTcWbFPKyoRDuAKL7tJcNJSSb2dXU+ySV9AWXdd5xgLdLaNHKyG844ksLRCMPHkan6GegEWIojqS8nksaMG/TzAMRmERsr3FmTOjnIGRVPlX8vOfAW4GQAAOozIXtsDyk0EMFrC7endxlF1hCaIKjZzu+963590JusegIZlURMJbMw5Fr6GlQFvExBssRzA0mSfVgT1OTBAxh7YVL6q4b7Fk9QMcGldoRE9aWw8rChPt0jBz1eK5jeBdr+BxnkjUF/QMApzoqRXb95cGbiykX/m3PB/up1cRSZDJZ69bQZj+fIQmfF/pjHiA0MvOfj1eVJmWZX5SZmTmBnPiLAlBwexAh/nle3WubR9ppW+J6Y7P2H6xoY3KSHb80DZmke2gH+fc2N1wt5GQIwHdLpokrAKq79cPHjxjbwUc/EGy95m9oRsP6OFCJAUW4q9Z/53IY6ZQN5h6DAZ8EkTviBpoZOlfOQzcOocpJZEA2nECT76GcJHIlooPfH0mSIhFX2LGnLI9T0akQV0yJdXkdQ3OCA+DP85F1Ezzq3NGIGbb8nudWwxlD1jSH0z/JPwrwZZfV3XIFM6Fjvu6+2xba29KPpWWsJCTPExyey4sy72UUqutGjO0hhMpqVaQf9wa3DYAb2hCH+7LFdx0NvEcnY1OcBzg4CkQCzeRZuzVUmgcC06lKfuCKFFTvDM52skHTFz6g/X2Gno3Z0hTis+wbkXrqkv6XdFr421EotjHyyENW2xG0ays690rUlG0HKcmhVnhueywWT41mki+3CAAAAAFECnl6MY4l15lwrQ4vGCTg72Zf4EXfRRrEfxybD551E0U7Uj1u6nff7+gAU/VRHjLxSokAFJH009Ripp98evk94HgbLf2/oPu+YiDcBXfKvcXbuSsMpKFJT0ROgnOQ2uHWKxtuR45BxiWz4nGUZkRB5uBcIOsalRYsBWK+HlF2AGmasDYPU0V4OatfjtLZy/Gg9Z9YPnGZo99mNQ9V4AupGzQjj+khS7w8rie0Zh11E7SX4b63LzL/b0Z25fZWDzyc/MwVrKoHwT6Iuopjk3J0wAeNtLuLEhbKRvR+AaZOcdqc9tIRvbK96pOHQhcRWjgeWJL6KUcW/ixRG9HCDRf4m7tvqfcb3oaSCFtwZaNSn4YD+reoLcIm/l7jgPItYo4t5wnGhNRVrwEPd79KaK8bVed2tQoLmaET7eiabX7nQW17WzUQeO/UvCIFigiIEk2MjuCw7GD6vAhQuBkBlJ8Dk1IiXndAPTzO0sdi6KScPlfXgOVz56dVAcgx9+nI8XcfxP3rEgGLljTYVVzyqVhuXRppl3+C4lUcnx8Ap56KpVyzT6r1/Jk+6YizRY/bfyjLj4f+KUzEIY8d/QQrZ2cJaM9QZgTeLyMWkLqHxPax/FLXNCEbZjSBjyPFd09D36UZnsSl02yF8GF/gyHHR4UFAu4PEd9fOeGSOzF2uJZ9rgsJR/sSMpm21qJhc7MbYyboB4/a8WtjD3p+2bgQtE2yBAa2rPZ9qdZ6fNpVjkfIp8X3I3INrxLLCfo6L8CGuteBHs8ZFrwpD94ry8Q6yXakzD+F2Njy8thhJNYJp5J06IzkBcLO0uAi9vn3roUCeV9ttlFvMzuJqHQShT5VDUZZd/aap1SgRaS8ebRkw1zZJnm/T25DsHaRQ60hp/KWjATlOimpB+kt+Cakg3IO3ElUSVrQNBia7Ae2r9MGKUltK6sWJEjbCbyLHDVLprOLfVw0u296ixQ/IH457q4okF1hopZybRdKhMNiBNNh7klCNOATnhaR1qm8GdtqcbBQZWBbY5pbXDvfPPQFrQl77FDgEdV/NP3dNPjyzVoFZ2S+Vz1pwgT5cFDFjxpSdDaTsZJc9tS7vhJsWhzc/70DNQAjKB3QwYzwD6+i3xP7yxYKmRhf+5xKkMgwHn4aAL5CApiAwg7AABABRF3O4j4innbVHkvcD6lIXyHwKvaDMBJqEExnYnRgvSWW56BNlRbsbip6JorwxSb2orRh8pIYAjPlZoa2FCi+8S12KvKFlyVCm5/5mqfUUrkmkr8+sA0GZfAA+UY9/7q+MzWnXP5vbtPAaqi/46BGsbWJSu1e80TtAv+z2A8R8d+ybjk1qrYj75DV5eWpjr+5r3rdVarqVX7g4wwN4KNsFv/piTmdMX1i+6wWRrMOz9a0qjld95tNRsQ2yjqXsXJyx8hYvHs4cfthGdjb3m5bxqPXN1xzQbkKIXZmYHwNg/lKG4XvUkBCLpooKbgM8IRIfUpfEVNgXlVterNy3QFsjIiRtkvLCo02D7fMgnT3K14c0Ebbfw8yexRQ0mGM3uao2rPwnxz3BLVi2AQY6UiYDBMqf+Q7DJGnRxMCqUggmxAnpigZg0qzOmm64eTsxROkUFcocsBvjWyaqsr7jolSBoNZkyqYZXSmTgC8ADPEs2dQ2HCp6R9t/PmnOrha/XAktISJrEsMH/A1yaiKVDfxNHV44/3/+levBA2r2KMN7C5RPHrhgMSG15OVLgD+Kp5yI+GdncNtQz/qWdrbXdp+oD712F8tFTzkHsD1rvwJp3g4NcnZfwOs0igaxJ8Djvhlhtdf4DN592CIUcsVc3Payqx4/72UFHmgE4/lc/88zmBg4ksjGKNknStjzAXzsPXG6CaSd1y3tZoMaXap/oxRSAkmQmQHe+Mwm3C6GlRBRlAAAAAArVm24Cp2qjiVBXgE/+kvsHFTj488naCpQbUbK84beYtJYlpXOppXyOTYRzFw/n9p9tbVCNTDbs9HNg5Yb0HBbAAAAZISNfpUNh6fwejA69qj42yFQnH96wnfWDS8JB7V+YVNYFpNsFR4QMyAVw2199IoOOv5I3SwP5fNwWHtjMwGIQeuUVrwQ+cFdAEbWaa2NCSQ5MWYTGJeJ4bC8qyjdrLIHutMxWhshzmmDaTF7v5KMeV+wSHq56YW95bqXyScFvZFaR4TvIpJ12Fg8vG2XEOyHIihEx7Mlj5SGp58Sm+31dp1Wday+Ocv8o/wXUVr1TdTc6gZkf0tL4KLfjHoWCEt3eb2LbZjaSM5xemTxxAIUl8fl2qNCzRRSWORnkBhcRd6lHhDsdbv7nMTmaxx75naMmZ2vyBRTR4Mt+Vz1QZ8CtjuycCAFbXhy4kPdQhLcNDQJRw+KbxjMRaLDG81TT99qI8cr1VEaR82ufMvFFIBHIChy9Z4jCL2gDNFM7PfI7MmW9JMEc9JAJXU8D16wLC75T+1MrGjlQxSuZSs8ssgluFtxtdN0NUBe9QGQEWZsRe0LBQ3XUYHOqnQdYTN5aFXmGwW6d/P45rCxTLdZHU3n2e9vqbP1HLt4X0KBr2UAPam58GZy7pd0Adk7RkL+9Y5P4RRouq3o29nBZ3EWipxFrMtKTCMk0GJ1tb2cnv1THv3+j49t2HER7zUvXyddwUQGMv7TS6Auh+12VTns8RY3JDDTAfRf8gZ4VC9/uv3ZEYHm+61RiFdslQCFxPZBvUkPeX+0Uk3vo47SS2bSwXpm1k/h9kHEGnrdD9HodXaql9ZPmv/J2BgashgM/UVd+E/N6hWiCDXoFSt93MW7z7VCRgZma9D6qZ3C27bqnJfxl506olkcMlVc1wbNSYsyVopi5r7Rqo3u9yH57hhnz4YOQAgG+Ec2peu8mf2uhsJvW72bBr9G2h+Mvo29OdcLn/56X5bKrUy7TLMODD5AYjlwLDt0HL/YYHwrQhhlQtJ7iZLQqSw+8ezI6s1eFUwxTpr/JsfMreRjvV8D4zrug8thvyRe1XIdqpQbZo1oDiDW3cFNM0YYfBh8h+dqzTqUInU9qQwgeX7Cg5Hm35u0KjXVAMMDMCozLCrTFDrQ4bsNL1sguhEqneGikjts0Q6RFgFIrRvLdQ03Od00oWKCa+w00OUDYTamK1qq/3gpvBlYjupo5mCK0ZGU5euhoRCx/4BA8A5xkByLr9R6cUiMccdf3YpFoQU0jhzj9kCAmNl9tcCBaLmykljNjFCXO8k2IReHrzHAManVuY8f4W9IsA1zSZV5Z77eN6jPa17wawLKdipB/Yrf2+Ki8urtvUQSb1MUjFVIQ84y6p7k4IB0Wazy01DNtz1cKCInMkNOEVwgqVb1mLM+Pf6K3mBYXtTs5KHV5bXXrN58dJTWduKfjE/jJW1svrkE6Y49OSpO7x8bYxZQpCoDpry+bh8FDSCPge2WlBZuLe8XZpn4qGREl6TF4iFB2Uxx77gdgOcGbL64n4bVt29hNQ1tmuVIGisOMiopBznle5Cp9sv4cE9QeANDey/4htEfRPzQ2Sq9tWo/TcqjjxRhKRhoT8/F0MXd5leoT2jwS/QqNdZLQAk1f7kXN2rnXi2Wq6HRMS0rITk6yUcefRVnnvJhAtMQD0WtrIVBluDUlNsvtYiXw80hdGl+VDJEJwF+/e+9mWhx33rY22OwMV+v7xOXgULK/5o1/DKUbtBz6EQSbzrAEWFXZ5lR32Ao33p6v2WxYneVssm+4qgXXgyZD8eaGfIn8UZBm5q2Z53CUbiAodGnAmEW+Uo771tcqlWH3ZpK9sAN9TMT3QJ3CDMaASp4mD+be4YCO+LoahAiWqP1KxdOiTrYDuNPRe8yzBMxA/cb8CCxrsePMTVxhNI08opLYg4XjHrdLVEqKiN3STyy/oIVw/Dsqyh2mZtrjWBb/j04/yhP8Hlbqf71T6WflUM2qfbfT8As6EtW2QQGUK+AK2dVC3EIAAAABfKhwhKbYEwusTWlJTptThkC5u3Ht/IW5wJwg7ORREvAr517bTBVnB711q7XDiejw1wJDqlBp+65ekxYGEehlMZ0yMWbjhD1g+OsKf/9B13FGY0f3dBAXz+S9X3GFwZ9ioYSpihDHtdU4RYuD5qETS4Udt062rz8WxpmQxlJb5ADhwPXYPMZoYl+p4Qt5iVi+ZYvfw47NOSYdiLJVktYSVQgQK4pPuUMAAAdSIfT8g78eGLsufAD/WbMM+0o8Asiz5D/iS/WEGMJ++vFfbU1h36qpLMFcrujytM6gDFprJS7614EcJfX9NBKIEbLVVZD0quIcuPNQQm0y5L/vwrLk8QkQG9vrmr1ionuqKUHddMeVvoqIy1SBsNKNzoY820HDmHWUeZIunryRFqlvl4msIa19BaYdKEgmXCqrIpgGHR+X9oqThnfk9ZV7H5JgGXUtwTtCzhY4Jqmxp5lv3f9apf4nl7StwmwsVV5XRNbIYPLBWWQcNNQO9aFEP7AnwE8xoW24NeiVIzt3U3W8ZZXqZF+Q6KepuEn54jkdNsjONYC/vacjjGn0VxvbeZov6X5fV2A31pOADF2kYTHM0i+zGaphCl5eQuVpNgrutKSimI9jEVM+DXe0nahJS0mDlnA5BByfPaj1XAQRH5MI1nn7HzyG0uqK2456KdghwqUTAYWQBRubXZYkFY32c1AGohsmPiY1EnTvkw6Iw/jMtCN8+XEeRmaxHUEGGTLqbtlvH/Rl5D/iWgdvlYZkt+0Q8HTCpQPKKjaviRL2ZPxTwd/wGivpdC92XlRVGG78wjVe5YZPVMTpxl9X89vE+6vJcqSQh295rVS2oD05y5bbd2vSfMg7Cm17gDnFXLIMEcp7VpmefwAPfUR+e0eefjcEOL2atqv56eU5jlgSsVTP2uLS2UiD6OlfSc6nSDt6iIkx1qwbBrmoFKnAFT7C9ZKAvgYHfEbYegFpwz24Y7kRUBoyUc8cjgYDrqirK3LRCJkWUVSlMeLxrMx77QkQ34ottUut2AQpblcF3v0ye+Qw1AAYI7MqziwFpyLmPF9J/XcCK+cRc5eeRkzNKphhponnXdKEK5L5HbqlwfQorStXgFE1Xj0NmcBhJ8qg5DV40s0JHVNKXadp4plCrFeJJQpoFULOssPZLiPhDtvFfKAE7ewxr/9O5xlzxpeFyP9K6bfumoiD3etwNZTtnqHaC7/dc5Upis4z6MRNePZIL9DY9yPGsdutLKT5bSM75nw/eFyvTJmGUuB/XdcRdymxSnStfa1AcFJm6wLAdvjNHqvlivfCQa6MtNSVxy7HXtc45FhhlBn89hsv6d0Ov/+TaiZVL7qm4NPyls6MGWRlE3ctHNPBpxucuY/v4EZmutqeBkNgvrwPRhy5n4AW1CT7Jk4MTiQ7968l0RNrc+HmMM0QmFatBEy2OFmENWZJO0uxJOZFvGov8X0P2MMYs+W1SB8/nPJ2DfeykKzRxO+hND6MTmw9GPGYQkVb9cA5okjlPQKXTgnk/ERfqxG1K49VArCD3Cu7E5uIvxy/S5jLh1Rt3eZQvRIukfLFexN0IQF1JMZskFWXbajKmSYfoizQTGSNjNqEz1cSNeBg1guu/KJ7vx5+qcZkajrGkAKg6SxQj7tNsqDMpeTwjS7R6nb6vi3sv6TSCAp7iuI5v+ZQ2ZnLnyYqhdlwyOLJdL7XB2jY3Qft6M7ky0I7II104f7107F7HNLsirTAs2JrCq91TrHe8eqfx2a17Yv58AuaIRnxDWzElOVSeAEu4D72v4fny4SkmTHerfU61vilXsECbpiw4RIEzS9tw0afkVXM/Exa8vVztI355ThfzBEmUVMzs2AyhTVwqq4SSIigUxHDlJVQyqv2/YpPecB0W43BKQQGFRXvyBWpC/Ibh629suhWt8nw7/BHOiLnGvsdmWnmO7rsAxJsi1PJSpzDBwUv6uwnjh45aF320Xgijne19s97pDdQu4LVBECXCh6NUB3GELjRHwVTl7rRYTv6lnM7IBwj8a1Z0ipdCdq8G3+Zc2zmp7BfG0OIB/d3+NdbVs42n15t4nbEXsd1MP+VAEbI8/x2x2yXCAUIH7oR8bcKQdy11Xdl8gAAAAAd+524avWJUKSbaKJ3oXhA6HjF8UH25RjGGXPG0R8cjyv/xJXLONyjBS6aJGGflPvcOj+04JTyPFYHqOoAWP/GfFoGNgPeMW+mKFehyPfocQDffDxCb4Z/xcUBl3EDkEQNzEJ380kvSnUldrJc+jZU3CWpuGVI7CUELARo0jB/yXj9K4I0La8JIRxswl99TY7pYkYqdH8rX6WKc2u3UwevFcajCdkYWv8dJXQYX72sHARGjTLdqVllRBDBmE0pEvwdUeGLxfbRBGKmSKIILPU2ZINyqWWLpyY0aERjeHiDh8Kw5UIeMdH9mTRDXwdPSOtPCD5itvocgPBJj+9FFpoA98vJnRWfPq2AHzswXfLf3kkedazWyMwxoH8167IkX/bxkc6LOiDhdFPRVwravGlSfkalrT7jwSTzm2rzQGW+Z1YyTUB/EhhOB6t8iNwEugRZ88ybhqfD2nOPP1Oas+m9NEL2EhlYSkH6kzJXZQMhDhl8eo5j9tmljt0BncKlYfsZzVxGtNe/YNZuLJpMhFMzIYX5+R1yLMpXUL8ByhPcbrbyPun98n9THTSVaTAuQZsn31Iz0qax4mjUasA28Dzqh0+LWfiAaiWd9C78lr1nQm4tz2CZzKYeZC4JaVKiXDy3BYsrLyltFbXST9irYtSEp2QnoLfsHVdTeM3JkulqMT2K0Sg1+xvJ4bl9YT4Z5vIe7ivgo/kog1HMZjq4C1Mnc/U1+rWVv6dDFqwyfX5UVEiZdjsxkvMy7XlJ1OGyg/ASNLFUQx20UnlIDp2VBj/Qr7miVMWDGO/o2c3p/H9ZBDYMXkzK/p2YFpAme04KqFLnEJ2XKDDXCskelw5O0zUZIZab9t9MJrpw//H07WYTbFz6JOIGQXaMxV5cvxc3PnLUTeZs3ytqtHWFcJbie1c0ytfbYe/cPdIC3QN7H5cprbne3TO0ULu6zrc1EbOPcGQhEnVajx5J10tujnZmG2gulkTz9lGpVxJ3JJ+3BRZ9+MvDyDJnaxxlKub9Lph2X1Vzk3Li4+1ntiJ0ZTlt4HNDxvyFCsqHKR+ZHuc/8wYSEHPFK/JaxjKo9IXOd9e67RQPV3sWkXK6bPOjv5ylRyQ5wCvQyns46inuemkPNcyGhXFKIht6pUiGJQlljoiHoBuliz6W9QNiwSn0WZRJ0MCqPj92nGf6cIvMpUpysz2ce49UEQotPiQNzW1CrYvvCiBPCHtPJ+nJLqLfS0e8cmRH75J46QIXiOaMlZgx7hZ36ZZCUWN6UGYOo4QEiXMMQuUHrF6JJ7SGafgxftq6ZRmmsP+GU+6oJYPPTSoEMfkF7QnyH/rEUYaKUHCitxqZFpbYXMNgh4xu2y13BmFZLcEjAuBolM8nE+6JqU1EN5TQF3AS0M29JEaBHG0FvPOZISvqNuCrPzbDMIg4SxdDiyXXcrMiIyqaZM836eUoUml1c8c0ktJurlSmKkmkPjMYATV7tHAKvH2A7j57tIX0DyIHSq4fPozKjQHaIYbCjWay8q/ylxacBjPmd+Ea4c47EHaIbbDPul5mJRy4HGi2FIEHBYdRUAhDmvPmcNmB/RF564sCG8R29T+/82FAOYe84YGHtB5UawsHF726e08BJV99Dnd+hKiX/S0rF0JlPAITqwEE4qEaMe4FHXNEOzDH/iakbW+TBbmqQAyuBoYXRLwhsZsAtb9swtFSF6FzcCfHrYMSElG7pcmmAYVfixUevTJ09VK+JM4R1U/n32XgcP0oVmCBX2QmIiaEV/a8OtajdLGxPwQP8BuZ1FcPVl8adnMANfMSBtew2RnM0XlLhzgHefRG/DFroyKokjgJZs9cjtmUJeicdg8VqNeKHeo5+RT/fXg0KJUOtxX1AD+VsqqsmX3QdlGNT8xskUrecbNo9HuaVPW1vmKCvZOqvCpS92RWG3FCDMSfPfrqYKZvBZk7B7jNzA8c/k2VivekiLurIu9w/oqKGmaX1wuuHo8UH0QLbOUln5ipQAAAOVl8XzQbs3bKZWoZy3crzLCkIOA2xfCnTpfHpBpgZcd3wkY8RQnvu6e3AZV/G6o4Fe95YzP0Kxo2uToRc1M4QYNIU8NcJrv5ZtQqrsjV0uHVbOm2KDNXURW/LXlMN5TSovxBg8fRf3f1PPJw6PDv/okDdedh9M/H51WK0W6AVvAf0jVKj/cXGtlm67klMx3rPu/RABiaukLHAoTk8b9luJFanZ+8JeMVtd3znsizxGYjnBd9k5/gCGUR4EEelsd6VJdQ9GB16tiwGAAAAACLzbV0H2xkQuIEPk0FBfI8G8hVqoktSfuWy8tVd22sqAABcczYMsZtNgPE+0s4NfHE0siPMndmUm210A9sidhtAixyGcI1bIcBPHEdtMgbaE2fS7KfU77auMQCLYPT8w+8Uom6OxPW0MJQFTbTaIm3ggA0TTCaKQ0Gd69Exwad6cntBNw8TZ6mOwUqlxoIqfSJsmipGwjuFmUkyHUlWM6vSnm3KlHOwgM0VBwQn546Bh1Pcy+OxLnq3Nb87fdxcxZ+EPEO7jbdqS9hrMff+xbkIGysa5dFnESVcwydQpRcWyEUQFkVJnNUKy1n9pRzL0FtNqMfz8fTJm96gkAGWN2vm6mqpHG1qciEJ2zv5kCvZUMj7vjmtweAVvKACqKYKon2bGoy4DuzkcDqKCFSETo+Y4gPN7HOtNHT9Nz1VXXfMmNzZwScpac+OQ1mPmIc/uDcZFFcIf64GmaukoHsiLSjGUYGyDnf+ASzQD3w09upoGIIHkQHUvHB1WUJxv9YiiwtNPAlMFbbrjoLImhD4RTWCePK7aX/hKHA2kJcDpjDhnwRBlxmgIBvj6W5eWAQzclZfdltumDWbTuzr/3dZ236MEFgm7Vxgfj0XZzAOKGZ/8MvYVTsvGqe9xxHE4hO1SIpGWFhLoV0I0FqHxZKkELbxTtyxJ89wz9esNiZhcoYd3IBWDCm3TnlVznz8Nkv1Wkyq3jb6wFAlQbHuLYrhdF3XF3XxXU1kTY/yJk2atcv4gv9UWzNb3bERNmFFcYDn4YaoShK8cO5G3wDvMufrFhi+SZdGwDjny935GO44WslOJlgB9waX7+nG7KWPAA7ngEiDOk/eCLuKipNeUNHgfF6xO+OlMpPXa0GNOVWqGiiERAwKr1SZFGpQiNU7KwEZq1ui57J2r7bniJg/1nZkT5kvoQ+jSEoAJ5M3wLe0E0Y/gbub7ArbUeD11USLmv0YucJQtJFvsiDxlbYIbgS2XQAc/Iy3782P0FW22nLLUNsoryKGODp66OnLZW9bY8zbdNUvWvkjhjbiZVGkotZJqXq0fKcfOoRM8LZnlz6C/avH0AAORWkrry8X5OiVi1CpnlDaAYuriIIuAymA98gMG7RiEdkGXMlSuNj3enXhzpRghJU4V1m3l31dCQq5QRhTwwjHp2nCS29fP5HR8znBLaK3kbhF0pLHhdc7YUEfVnPOVeE4f2+JWXAMM7X20HEESLLuGDZG2u/ChlrPXty6JHCnAcOW1WCtjU7cNzRbJ+SDAiGQ1t1yZ4wkpmNAXOdcMsEMeApaImql6axbiaFbd4UkiaxBR78XNCZtZ5Zhy6/PtyuiQtKaFMV/F0HdYd6iI35bQ4v5kfjgJmMAwTU9UNbJzM+S1wJWmFHkSRK77//cQBvDLSlH/52Mv/pUOEYbZ1I5NxAAmTZS1b9/rtBGFE5A+YGCEJIk9w2LP5b8qyuPVMhv7hgVWkdQbVHLXjlSGL2enfTmJjzRC4Lko8/awwdbLSdZ+FuKdlinUASYe7TsbLA65q+aZzpfU/E5arvr0V6FcHIbNT+MXsscLGSnPHdFLFSgAJ5Gt35et2jJ7ipQgV5+/QbmBS/x+TXKh7w/a9Ff0tHz8C4aE0yl4dNTsoj22Ts0skOIATaG6FR90Bo7HvN69DavLWBCBPSzvLQw1WnFoi0frKJmN7C0yHjNNJx9MuJVIzeavquIYDmowxphQBSOFnjkbe+IMpnCY3gHwXxWoMw3JzTHwvGv3K/kXPB0e+rkx/IbTmp1LJtliZ8y0pl8oiru7+F0EMjCLcOPSnzf9KsB3tcvMKFRpOoZScfGcNfKygxMkkbEhlSDQHfdMaBN9EFrwGSC07lErzYKdLI8Sqv6H8eg9aACezfIhTz/hNdchEdzCQZymf/7NBe8p2dZJVLm/hbrwAjWzgBtoBE188e6DEN8r5FRJGHsu7fwuZcDt8cs0SANvV6ZIoex7BLorrNcZBfP1WDIZ6rACAE5qwetaKaEiWe0RnRGtrT+qOIEwybi4yM6NFY3jnRJ0n5wdTwuMHhG0BhhQlPIVFGdjG0ujhiKsZsnbDFRV++I/bW8ZQtFEmdoDwOgJ+QoGMJURGNFm7cs2zx6eQSMQAS8awYrf7FG5qO0u8AGiBcWFYSkUazVp8QntH2SwEcpABES3ok6EA76gWOCrmFx2FfPHNCEHSriADAx4StZ1lU1AeTGSqMwmjv9FVJef2pb/ZeanxAMNbwBBsDVrwKhKz71huiFCMX/mA7RdtKW/DY4jh99w4B0UWMsBS05xqxm0+FiZagc9XStUhJ6vQ/+9QGDg9MfrKeaoMJ7Muf6qjd+GCmt+l3lkXxLWleBV1XjM98dxh0zz5JmXCb5BGEp87Rig8V8U0prhsts0HNMUlWI3Oym47eFDU4OVh8SGZK/vgX4m5sHAPkniY7p+A6QbJIzMeVLnclwdXjccBRvvMB3ghywEbBCKpn7Azq57uxeWLAAAAAGT3HuUvsm8wkzhZ2C2SG3AS6BFtsJ3Elfm+2BUegF3SGhYdik9NYBqbEmuZ4lSOE+tadoCCz396ahsK3PACvRLWyC2UUtgHOdPLNTgOMQXVSFubaSMp+BB3ma2QmiI7l56q10onLgXXLsHbpdb0E9FdSWuIC6h/6H1fD3+jbxxtaWxmaB50K2EZ2j6tAe4SFjSoYm9vRZF/Xdzqk7z0HJALfshvjv8IOlpHzp1erxvAJa+JH6i8m6r5ZWvXqTCWWTWp1IuacbgWgcMJnxU2gXAtVsmVtyMs78QY7KOWqCoRnUuiB7Ay/n2EJvJB/OgpQ05i3/II0bdzgVgHfHH2e2EMhHcDjKkg7v4Obr0XtxkbUmpaY/pBvEV0AVzOFFq1PwEYlCsNd0kiDecILWtJ9eVXrQJkUmfVvclYPSHNcYBPb/i/AjxqbXPkiriLtWRDwD68FqLj74v+lwobFVMcnN7L5PyZTZqEAhXKZN+RMx4MJ26Y5bkeZrDRyljjDegwtDPcVtOsLXPdih0TZ53PPF2m4OnG9dR1FJGHWbrXdg/92fZKSyS1VqT6mYQYQqdju7bGxrTh3UzJ4fEs8XpBsN3HWTT50n7p6SlIi9rG+zPA6Hgnxc3RY/2IzLkJatoY2TED3Whcyqkg5sj8IfQ/6tzo1zsSVPQdWUNk6ZGaj2ljccM6n2arCkpG3jX6EoGrrV8WCMEa/WMsJI+W7a7eYvAK2MYshQtGaPEPa2O46pb8q/UFhU5yY4DxJnOR+f059wvJO0yaGmZL3WTNNIEzVpZ9aV1keIRGczsuDwciCLskH5KlOyO7jAlbcNX+zWdTqXuMu9zpgnmRdWwxFijKaLwn9YrDuj00vv5NxRLmQuNP8jNcRot6vIHom8QzvjCTRO9sdFGtOkLJzmhVAUYQHhJb4/d+Voy+esZaGVZtku0BdZ0zqR5NC0i29lAXACY1oTyFIt3yvKOOpITW6qiz90RhVXNigXnrgIgmVzDN/hBT7K8G3OVb5UkZncgZyQxpOig8Kn9nyGGBVU6nZmFqdPeL16/tKMkvoWCB23A4g/9ZfoDU4+bOTwgmI8MrQhqsFaFIOfMuSjIHjJHpDgh89oDX522rWGT1VlS8virwRr7So2iwI8Qcb7ci6cVs8n0cezRETSrNTWz8/Ens1QQWIzUj7oeDf1xtN+nmqeTzsJspB9ADdmFI/q7UOxl8jklsypYmPlxGP769ed3Y+xKvGSVk89VEEgR4opRtDgZi4Q1+BPF7vUG2OqJLb3Y/0HO7thC09iYjbgnaLDp9uFBpB6KyMaVdSwuXjicVua87CiDW6qXvtZcdmwMEI7j49wBq6BT/oELU5Fj+sKby90ZdYYqH4kwvb99Rb9X+vOco3ei3wFFm8RfxE8o2XWCn/p+6YjEQ+9v3njSMRmN/PtTa153nmJHGPyHaPXYZob5yCmHs3W81l9/9/yP7XlGILTX3s+0LwnJx4bvGK3GxrrFv9byaygbgMvTE04LpD9nv2ajMtscWIxlSlwN8buyrycDFm0p/IApb11FKMG4qPmYhJwl0HxwzFKnI7cUu5RBYAbvnfJJf2mQ644TlMJrAVBBAXAQyO+vLkZHjbZoXbusAtPNmJHzm/LmlYtM52P5T4ivL5bchkRBO0REL1sRaM2OYDKoCUv90UFHSBDp02SJapplOZzeu+nSjo9N+pvY8Frw5xWJmUgBXejez6DqWlDj+cSrnzw6Sk36iwUVlwfN8FMyhXU1n/2Lb4KGQ0ja1/43LPCQFuELiXc75O/5L0L5iJrWsnXP4112T05S9WyleZhdHHNLhb2sPi9sef1TNZG8cBv3wiPiQwjTODuMFC4hy2RFSLZQpqeGusg6JCbngojpF7fM2ibHrADijt+2D3V2WfYcEeTccmyRqqKjPUG/nH0wGHZISZrSsc543Kkmv3V2oC5rjvS79xW27jc0t56mS9ZTUWJ+Blr/gCfYzDZ03ZdsGruHwHOZkk/5S3e/B387uSH04H/NQoohFlTeUduBcskFc0lPfqpm9c0A4ixjYq/uO7wkeg0goTNjk5CGg8mMKAFy0hpIt7gYPUi7euz5PpvQ3ciaBtI7UrmwQtK08dI2g38vu7+wk0mWMoR9Jk8fjQkqC/F6Tv6M1BQl8djIwu6gTVu896cRW6l1E3nWzaw4ek5fkGP1ta5u/pff3rjgairUk4eqgcAFpA7SAcYX0GjgUiieCQP3cgc1qpgWcoFRaoRF4oxSOoTAR2rBhKa0qZ4zACnRMt39pXi+gwC1dfFa7zKvZLG4c8CiHiKLK8KUFYDDWb/crLGeQJ/1aI0JgiQAAAABVwezhY6d8I/hFbst9kpYjV+Of1wq1oEGrLU2hLXZXfB5XhK/GM75fuprexG2ckvTHdT+XUw+mCv8TlQ5az2sxSIrx2KIU11wsQE4M4xNgAhkVxedU9E+YclVtzPasCNiIoVhW+mQNJpLBDOOvaVfLtB5IyJrWoPytWWOXl6PMlTlmtsHDt9oF9NVAPSBcRkxfdiuMKCjEfQ/6YmThUBBTOuw//vAOPRkijDDPZh7iN8NSpXV76oSINpN63QldtArlNkUQn21ii7w5et7nmtBVBdLWJ8npI4Owd5q409bLhQ/oKmWtYkGetV7DK2z0kQQjLqOk1o5zeD3qflyIGvhk17x7dhmGDwdn+BAfavKlOZJ8idyhq+gDRZC3Ho5B76fbklR+Vttd9PVA6GfyCQoDijxL9YjDzFC4sHQL1wCl1FxiCFuCovnKs+qNLAsix/2edtdKBrCncq2SeQfIXg58+PSNpARIQyBV59tXtVMcxY8/S03I/Qe92DJkpHdBhY1UJ955tsn4/Md3WlSW7VF6AQDkwRniUmC+TZen2BtBIzOAa3hEtiGgAdNe7bTdi31bjOVf136gRgDjS/Hvwyts9IabvtzTR21zJIdzm8CU0mGbkgak/d3OCQ99zue0PFS5XdWRjR1qFTv6ccsR8xf7FAfS2Y9BlFvdJFIv2SjeBl2sEok/KwagQhu8Jgq819j4zZXQsJtLdDfRbFDZqf6dw7wBaLUvtfxUrkgZq432lWEYWTU7UHVngesehzZOltUDPyFTKSf8Iz6wCpAOXtf/9fW6Q7ZC0XpF6NHxhDDAXV4wRrigFENiGTZcD96xxeOGTAhn8v83cR17v3WF9u/7joThtahD+nHtnEjYOYVuqlQnrnsPFszVVOxYQ2rlmTcx70pGmbJJAQhYDycmuzuxzQQBehI/+gQJVqZ4PXr4EE724YhHK6zpyhJH0OGGNM4+3AYjRW5smQ8V7/mMSIujkyFjrlMDv3iPM4codc5p0s23qOPsYb6RcTZUg3g8whNZ7fNGDroErYEbGZRMGqyRAlLTN3S3c53grkAc1DKRsrRQnp3u9DzvgXpNjtrwcgTTwEBflr7kXV13bBUL2nAzrop7u9ThEaWVVtsC6D1sXrfxj2al1Vz/j/QIRu50gqzp8bOFLxiwOLAwYDwAWZX/CejTCfbJyQcdlCGOEWg4Wowg/50V0Rv55SfqggBNJHOV0nJ18X+VmUeQyTc6fH6ZyWgen2A1Ks3owNlqQixq9A1cg7FvTXmHm1lJuUTw8Gc/rQAh3n57bv6M1P9TgwtG1XdCcEk36Z/L0uiyHzLQhWs1v7HiVXhq0bmeGklZHCfydTKVXrEvfpC1BKb0gDE5eyksYyT4M4ndUw8ocAdisZevMXkOIMDwMxBYxu7JDB1ASY/HXwXfqHN68DqgmhHRtMbsMsRHQpAgC4+SJK14XSGYKNXy/EsQFMM+J1RwZwoMl2XzjXfz0Fsq8Dim29EE5TJ6LUJlQ3AAsooTqbpCCRyLh4Q8MlgOUAQjBnvISp2tFK913Hlp3a69qULnT3m6rqJO2yJLBLoyyp2NQ6tBKd6BUyjvtLiItDu1Pp8zJL2B0baKQ7SfDDjjY8rTf0gbEXqcxbZWJLeD20xE8/CyktM2ZkNHfEX7Qk+2eYJcC570RJtbIiN9UvucPxlQEGwe8aFK2TJjyym55a0hYAxoQ27h0oGkmHoYi08T+L3Vr7YiQn8e3Yw3U8frFXHRQcXYSdL9GPgO2VuCWu+7qvDtDlcOL8ANsy4V1Se4c4vvZ8SiYkiEq/ZHrizsuycdrKa1WwD1Q3X3EvqPhInd3i2MN2JWVtKFKHw/OzqHjVlBk98zyFDaVT+b9shydkkMkekMd8xuqh5iq7kaB/BPzyTXAwY4nl1ZLgsc66/hZ8U8p5r8ENKNDmvGj0i/vkgw6BJXW77kzSVZPBrmvQMq4ERV/Z6p3R4hsjPmDh3hiqk4f+tCT9seEXm8igPoH6JfN4gUHM/nccn8bxmxw7SbFdYrm2gfnoYAZ9XKY6LPte8mVRMkjws5QQBtXcEPsfUZ+snuChw+ZJyvLNYEt4cGSa5p3VzvoJj9uothhQmf26MftVvNkWogAAAAHW5vZ0eWx1AO/EYpklbmu4VsXKv+QmolCNzC7z4pf2X8A18t6OY5l7RUjTSm4osl7HXofbOCPGI8gkA/W7mjDiZiiyF2Ckc8TMteoaMEVqjao2Jy801Dwo/VZIH14iHD9QgeD+2twcZsgdOUimvfY5h/zRQz7z7sd3LDCMBVI6yhMGY2qQECzlhi5ATV9zM48s5Yb7Jhr8ORpZH9rEuJDoXYEKV8IO8QOklRX7NZK4/6sDjMv2XIkXmPmhAl4CsCF98EH/w6Z7kQfL+H4BTInbjmgW7u/vpWFRstG5S62LBx143cD41DCg7TzFgAu5r1WzNkCKo7M+9mSxrxv+gNLLTsYWFL+f7BP7xLw2WUgTaMSlr9dqFsQu4lGt0zcD3lpJAM1QyPu+Oa3BYSxt4maoGdv12+BUl8P7bOmJCmxLc6AJ0XsWOcOfuJljDP35GfmUbeGhNbIy9k9hdIj3uloVvTwIZO8jVPbNGOo76WohQFEdq2Uy6Zm8/GlK7qcyArLWESlMlxy7Yf8tIVRaHsckz6Dv532tSuxPwC/NmGjF5SLoLtdGUVp+uHgX4ib/bgERrnSKt/q0HhIvOXapeHw2Sk1XG21UhkFn5e+QE8QK9PvcYcZHnz2aGsFQLE9DX9Mqa7i7eH/a+iwPo7UScH/z6DIA2GU+mLLLnl6Mx8IrBW+BnLDM1OZTRXHoHrjfsbm8zVqZPpGPT+TwR6pn9yng26JP6i2JDJhe3YmgDINVw565U5cFsBUmqQD0vzJJIFMLD6jN1k1+ITF5dV8dEod+kfzL6IoXssiUc/X+mY+cGrOOLh2CSkg5Rmzt0iv//4neY87dKxrGiGLkEhrnb9tIajPgQtASQhxfeDNqqv+Q2uSZjmyomjdmWT5dNSATQy8yRjK2ZfFNeKdjVJI/nAqedCsi5Sio3rNDiqsOl+HRG60rVO7mNhlpGmVh/yRH/9wsvy8+9JJDFe/mY2Dt+8N+S3FfR0wxz+i64jKSEV7hPkycE6Fk7LCxSbAVVnWs6Y5hJrGkPWDBDH7J8AYRO6yblaDcBDkxO85twpDQ/awEecqNcXs/uTrPfXfKJpwZde+6ynimL+BI/ybkk3C1mf2LrLY9Ry3YducTHwoGw8B+Tevth/uHDC+bAcyCym7mmUhdLZMOfMA6fvtLtiPadwkOmrbOc+Q0sQpkaxN/+wT0RXL1RZUqfVapa0Zbv0zcJoQlQuDX9rT+vdFE6//nCoreEibxrHblpnb73xOkuoytGBE2UAqBKby7uH9F9fx9TEqIlYpTrZmA87MmI4FTzIULex08fEyuoK6cKu8V3gszkEC8w2OzDozBp7d89gQ8K1yGH/SE8p1OXqtMc7FJm2LLw4t6LfYnRjgzrbf4NhRxOlb3O5P94yLBEtk1bN346TE95wR0j2PIT7VLBTdQaliPJPplMuxxb/xxrKrIQD8O+QDBnnApeYi5v0K9HnFwuKS5CSS0iZMcUyh1HhSutYqAFemv/zQFNxGUaS4GjBujDNFFiHM01HV5KOHmutfI7K4q1znqFt8KdOk4Sqb80sZSzvio8VGbpHVXAN3YdiMmDpTsv9RPSpsXC7nRl1rCEsWKKkm7RQLnLI4x3rVn8EdC4NjOMV09C8e4wzQTCRnPU11+KrKonMwY+PDiZ6AE0oXBJ7OsmQ6a4QU/STVoM06O2ORt0Jy+69+fl7cR9f3oi4I7DmSOCxwKrxhUIrgqvcmQXJETAoKtWliaX9X5IbvoQmpnuvljpLbbspTCpLoPOoH/JyEXZ0+7J30yEGSi0g53INL91pLyv0uotviDq3Na+j2Ls6is5fGpQWSjUqytIdJsTmIaCyJllgDdP55+xDHTEmuNmpBwk0y8MIG8ts0HfBnMB/d9EQX0SAjt1KgVIzXDohVmmJBBVS6iXWC+wTRmxYM1/yGpVcOgBQ7/NhLVlwMRVNFSWNlNMS6L2pt7mc5XnfF3J+z/3ImEUIoTM52+vVaisE4J2yCIaasDv8D8AkJoBbtcS2u9Ppte2/qK5B3n+h0/ejVaUVwIao8e9Le79IXjwBuOTtg7/S2Pp1On7K2wlihAL+D/z2lfoOiRDQfT0l10mHWYuen+0KB9BYcs8OSwlJUjkQuUWeqeVMAz4G2/leQLAgEqFphns8sdEWzBxlmXwRDW2XL+tipz4neGhCMg5kKNvfAMgpLN5zW+QArl1VgynXB1uIxmO7KezDpLCQaAkcnlp726ble4zkbqYjJVNAAAAAAGbqd74X4qgfcpsZkVCUG1EDJlUTdpqZLkGON3FeaUvyNaLqXCiD6I/ATz0qB1DUv94Peu5Qax24+2BZx8n8NqIJzqeypCHfhohSVAyg7U1uejGq8WRK7bGo+Kvjv5JnsEZOlkfUwz0g4jpJLGI1qWWR8sNa9drxq3ugnRSdX5+LtMGzJQ6IuEyCX5UiFAQ4ANlXiXfYLtAiGskDAXMXh/HiCdyG9EowYmFPcukfZA/QGCRgqUR2fBgbKIExDj+v9kfnCjJsdhybnmGPHKfQ/hI9VjhwMubJkK1eqX4DOYv9kwVqZCuGXIEtVW9BXLGrq5liaYvk67j37wTQrUOXAow4o6s/FG0CQvOLZr3GYDwqwmNMis8ESxWsN5t0NV+fDRJsDppY2J5Zkn4r4xKHcoD+9tJKEFUqzPtT5txOUaFzuwiHwl8JHzvYmI5A5FLPhrw/3IqjdnDrHhVbNY7rVRUEWbn+5BHbGMasLLZ/n7DSuUQJ+DKyo2Jl5zMzKiKozAOeCy5Fgq25LSF65fGI2NlufNBEpHQAw3Zqfjg/CeEHMXgWmqoTdajNiQyyrVSR/BSnnl+B4dEii73aiKdSl/l9GvsTH1qTgqEIcZoHflD9W3wg9U6uLXeE3EO+iIvkutueHgpP731eetXtxNtNlH8m/eCkTqIoG6BsvgaT1czY3IN71EAJ2qVee7FE4DJYPjhb+0JpGtO2wsw5wbXOKWWTM6dWN7LfQ/HA5Mx9cJItT4fkoadBHuqmMSagaMtbenZGNY8n8qT5a0b2QYHhBfKMP7vxTkRTVv9orp3doX2lVODJqzMJwIXA/Oe0ZtppdtPL/v9FZV4sVqX8eyhaaYrhR1VSRjexVS7D4W9YofobTBwc9vawbTCS91uooL3d2kbZCw4SmDwzJ5VIztnm878cGl/hs8H1CrOsapGZZxSpYHlI6lB/y7emf7dOMZSjJ20uZ08F8vLOWYt3fPD2uqnzJ2wBCX/ShOxlv6C+8/LAFFkFmq1/aKDSU+jr6IzjlZ3HYl4eBlg0WHLeSRcSTznvjcjvqZxlgUsS+bFQfnAnxMbP0AiscwAX4SSCKBUHLlxOs03zqLbHiixBvSMQ5brwFO3AWtatFHSoRLR6srT6gFcycxSVs+blkJ94zrpC/uFuoIzzikHW5e0Yz88OOVY94/YtkuOWplgDLv9Ah7ECNkzzfp6IuEMJ/lHOQkVnljAcUYkADIiVvQPZeUTwWRlTv2aHbyCfolh+NSHn2sZCjAWOR6KGEIv4nZltPAvtZwomi9JmivQhHcOcsVA6LWmtNFph00g66k8wf9ejZopD8Gqb/GcgXUH7bf2daGOY+xR9/6HVUmB4dNQRESoL8R/QnJ7w5TP4nQbsPRc9bZGh87MQHSZwtiZr05mv744IbvtW2o2WcfOmUPVpoK8tb53dK8vph+GMNcwrpQFtAAbTs1vX23nqG9bwus8jSodi6A7LdTUSzie6edYWu00KFa+u9df/LPOTHBO2PYYfMyqQvjasfAwDsCCm+yh2EhWwJ9EmSh3wlC6Dzg2SDG0tx1RxqVyYRjSUQeG1nm9nAybejTXA0MEovHVNVgN9MJMpJHEHeqWt4+M5mVaQXwQIH2oo+CbVQg+gFiFLXCpXLkyscROLvxAunoOgFoHwi1Xi5zyuAQddwkAtaxrCtODXRAhlK5Xf3M4yuP0rxOD4F5fuqTzcqNFwnQ0/Fo/UgUPZZfN2THnEgwK6ITR6bR1uBHbxuNFqBlN7RlLEqwSj1yXtAAB9G3MIxcJihIl+cHh3AxgWO9FIbQMiEsVMbfhboqfzNVF6k8F1TqsFDz2KE/+//okZ0R+0PqdUenb1H95SU8XKUUO4tFLiBlZ4MCxPXGsi/P66vAPcktRwXGqy3gHpByPXWWd5s/cAHKQCuirtlp2WRSmZdlrSRbKypbzcbU9FWH6gAMTLfV1B7ulCjX9cuJvKRQ6+NSFI5qqgoFqwbZwRYpbqCtJU+mQTr/oe8cS4U9DjyNgrTpVYCnreSMaYP3BTRZCQa21Z1gAAAAALflS2AJtO7n1s4cYcYeMxnK1NtsHKBbXxt4iBviaLWdVfd+5KEpNM4+By35bTfd8L1xr7Qz/p4fHSh4RaQdyLY9acAAA4E1lt0dQxXq+qPhFcReBjrydd3v5nXeK+QWxdbhayNzame4wWyzm4+b+XQfuwRPEaN4CZ69/vTV+ZVg6NPRpjNfwSXRueYISLTFBraFUVeHCAbv4UA7P5jYHjNucMVKZjg0vbJNMZinv3V82If9/+fhw1DrJMm/mhwveE40VZfd/PFjfBzCb8bNYq2T3dgH0QehM4Cmk4Sm4DJxHB0Bm7ah3RYoioa2OFglAJqyo2wGOCu8lu5n6tehO7AGHoJhjKo6f1c+OzPN0s2uO62AvE81UbB8T1c9KOBLemEPw/VyzholLNGuHORhI66weAxyO/k7kUt/BfyDSnQ3mnM5ezENqG1I0wiqs1hpUfsQGNHTblK9xyMkU/SoKr9KJdl3TxK4OjDZdyKRdbe6xGt2u7XpC7RMyHqtOWV8tQtFaIOlsz94weUxgLMOrCwBgu6VUkYIC6oF3zCyKXg/CxRjop7tR57quRc5Ogqbvzv/ndlniDPLM+MR6Jm0JTTt7qaB/K69LMXvB2Bx6XoRQ9mVtRuoODUKEVkzULDTwdd+o+IEA9xL8SYdDbiyVSZ4+WjF1ds1VapbIZzrHT3NFNG9fFcTeij4rWp5h9BFfFf0mOZQ+ZvwXiGGaeCaKXME/JCHWwLDflB1X4L0kqxhyxLozcd1iYqAgZJRUyOZYxKZu7gLRx/hgiz+3UaIzeUsIHYVK7jg9h+6MJPm2RFzd7n5OHzvfm0dldjVdcostVmEfVYA/5lnSyNEDywCwxTOHK4xrnvBMPrv+wqK35GdWz40NVijfy2557tLkvQFT49U4oy2LmjqciGVDrvqAAECDzZmLEScV60seOKKS+wTuAK5xTeyH0nG3wsauXjNe8w4VONnJO03IyWKq8lRLs9nlCP7AWROoDCba+OdToybw8WzEwVzdumZJHFtwEQ0RSTo9WcRZ8BOnD5R+7wVU4gXD/jTqeCCRf9H7QJdmKAgmJK76qM5Cs+3Decrk3YTnkE850+kUbEX79A8CBEaadBW11BdmB6SLbvgNXN4+v4m//3ws3h0vJ8sh1Gb400lu5bO4kFFOvV0mnf5GatuLLE5FZCwJdksxpocEyZS3f4epf51NpSvWlcFEM1IzZ+jvpO8p3pF6U65gbXi/Umx63WXPGXnPMpFJFcgEXq/c85MVVp6ZF+TBvFuWYZVnZo/58NApXK4UsGEqahSHTF9YJj6d9VbLT5jeGP2IdhXe3gXWC9SC18HFRMXTrMApGNIQD1gEvapKvguPXF2ELb6d2uPFf5P424K6PKZpmHhlqV+Qqws1qKZIs+rfBCnvJTGuZv1O8WmTAmTzXp4mv2SQJBJw1ciBPW+MnhTVnrlydhl4JCarVWNjaSkTYEWnQbV7eQ1dCgHG4342x93UuFY+6cdvV4WjgzUhJ2+sLEhzPTwvxtC0AD3FAsHuV23Fr4jkYTphydIlsMnD4pafz314AOQ+khfkGq2bPuAFx/75D1jUqQfGWHaDxJ+EmJgDql0aXa/ZcAwFGyEgypxdbhA6ZbfBiXtlviiQ25PRTSFDNKfTlzg7Sfr+0r4NBH2pMkEXOyaPGwvqVqXVzYZbB+vLk6bYLEqe+ChtatW9nSTK3JtycwWUF3boul8qe4hRpsdfspT7Q1SYhMBuvczy7ZldM/nXQ+IvABJXoYLhjnMEZEwELS5G5WztPPlaXtYdTrZKQxBlQyzJ8bhK4/O0Uj0GqaSunQ2YFJdv61TQMETrv/gAAAAAHDHEv5niyOQOoINvY5KkgqLFVRD2gVfO6noxgkyRMv8WPuKuSsNloGADv7GUSm6bB9Ien5bUvcl7jCMhSaSOUDT6y4BepKwioSrYeGfBcS8Tlya5LHlgnjtRdkueimr3y16EAzozLUr71VoVsK2R52wRU0RQpclTFaE2U6fXKD0F51WYtlGDYy/w4RKw5BahMsopcTq9cjEYSQ1I6+Jd9r7jAlr0otQIFX/BeTVh47Cjk841UmOD4EYT8lKay7K5fhKtSKTUKcqUnX+b1URDiaE309om7mYp0TjnRHbTHtDw9vv669ong3ir13+f3VtMrrSx4/cPy0lEEVmTda3mGTJk1cQW3q5n75VX29LKwvYy8ISRiY5sw4/iG+j23wGIPLngoVXZVEJogHW6WNSr+f91jxabIW4VRJJMCUg4wk5ZUKmFiIiiHHq9tbh1RO3oSoPuZAYI8KQeoJXjAPQB6gk5lvTwO0zTI8NCOD6QNZagCbzID3Lled8hWYv0HWKM2fDsOxzdl17LrC74yCVN912EtcyyOPDRK8cy3x5gzAT8mRu0tdFVGtkxOM6LyLKc9fNdQBDhN4PId7+HD0JKXxaDZ9OmE0pRhEp/zG7y9WaUouV3D5WYVME+y6anqK237029Cz3N757iuzKHRca56U+Y1CGYvJiPWXyTSQncC46j8ArCE4kjvIvlZRrZr8U4rHWmB6/sGkBrb045sj8oiPV2ulGl+cv6l5GXLz7R5k5XI23VinqhP7npJEt0hb22qLu9r/U1jUedp/CoXuIgkrn0QEE401y9S5y+cNBbEeYlBQRx94AvPu+6+UhIgpxM3zguEccASz+yiqf6N/Ob6QJFpvOGsnDIBlgfqP2qPidApRNh8f+L0X+kKCJsT9XclyGWM4eEOkGq4pF3p0KOl5H26rNu9bcrrIkLFD1hgjMSuVZzXuugfoHd1o/Sq/PmfhDFEmCRLfl1i88L1eHZvTnS2SfFLdWed/0HwI/HtbZO4UI5kQSeVR5js/IPj6jRbzVoud5NK/K0MorLzvT5fyhZa6A0ICCR+Ml50bAycpZzY/MXFvZMNBe/PaVIb0fqSjgxyuETjx0V0QAgLxE8lH9nMFsMsZA2ZMjZIzYQAgNIehhCfJOKlMrcmhV5ErlV5VO/a+iIox/xK6s3HdKOpGU2STdcYcVI/cNMUw0I7zqABI27hOqItrqCa3Y+d0arZPaCUGFBOCc3TJVXZ64LZi7W7PY7LfqHF5Mx/2m6/XugFGTFv6jfRJTnyrmZtqARwFSEVxpGoiVCOGePDx48H5vZrvUz/NTS1NA0sOiNp9KwX0wpIc3GesqkFR4xgMQNp83C77Q+rpewZgEGVBPLp0e2gL49o+oU7siyGY8/ebznqqVutzTijyCT392pH7oDLQMVdIB5W/TFFtrMldkz7KTKn/qh+LG7opmQxEEq6+D7EvJq6Pym/oHDjyFR5p+c9I7Swb9c9BzwBz9OR5Yr0Z17kBiwwLe1dLQCOGLANmq60o5zGrwNPFF3ZYyZzaVBE6zA+g5Vfm2CLWeg9t9PFrLwqQtfZCpYWmb4l9VoWk9yw4FtxblFks6sr+tIOn66gSVDEZWrNN9OVlZ10CxRmnBFQRaZDpDBEJDvmYxqitAbmOGRaN6idOxu8teGfO8QTHkHu2B/K5e5citQDoE4FijuaSrRkdvltM8eKAAAAARRJXrxguKzyn5RoJc+cfYGzh5FtVwALb1LPzsba2EZselxRWfwpBD/OWXVOV/CD4ytceKqxzKQfVUmsHTdAYn+wiOT7UXvyMVjXdxHsQg55+I8AcAH9uODWhWT8wZRZEdzrQHhWcZ5TTJFDxjcME6ahpQRgLZLeOJGuXmEGRJNwLttxEHZKZFdlvYMdRfiOllvn2YM9YHEGLSZ/0XttHFCofJJEgCuGriA1HybpgoKpzD94RqwtOiiRIAZtu5qjOJXcgJnwRFIpTjY5xhUkJN5aHyZEn8sKL7PFziVW7zh05nzKPkjpeExu6GgJVWlZEdfWT+iTr7F24L9q9uUO+/ODQN/ML9E+7wAa4LNvaJcWBLm4ri47lt6EJhWoC9htX56BiXXmMkY//bZycKZ5HkFi6UzGWSmMF2JnJrQBT6jFLoTjDmPtcSJ+Jjc+JHIxgioKtBTJJqdmT4Thvol6Kb9GfOlg8vEI/0FSV5RWXRjnDZX7E7MZe2Oiy/gh110VbgEav1isMec8l8b0hIBBASzjTbbwB4md4lYYidUqygq1mGBz9tOANklU5t+uHXUqVLkXA8jIhTqCwR+EOWfb0E4MnwOeTf/yeu8iWZAxpN0b1teiv2IjBI3RvqoEUsfePP4tS7U2xfFOKrBs5W7ScZQFs3W1cDiWcNOEN0rBMMcc+tuMv0G9HwDvgp71AzJ9bo+Y0eUToZHPs7i7lDqOSqg/P6/l+ghY3qeBQKNkkjfKzKhMxy/2z+mYvw5RT0Q8m3vsLwg0TDKDd5MsqlLy3LZrvTQPyBxKk7LjNDggzuqdLUvWQKSL4AE1eXYGuNDu7/TsT5fq7C7GD81Ra5HGQdKE08xKENiunQTqYMghivpdwogujCg44Ds7pi9qXWKpv3e4H5+dDQR/+q/12OqtRm+t3TiH7aVh7Ln9+hqgM6Hd7T/h4Zx5YTXR2hwGEkcXhnBCUtcdMsAYvZOsezXKovI5j4zsaIS6FkJ/T2faVgftvTL/fmgYgJcih7LTUg45E/LTgzyfVjploLv735wfHJ2iDCqvmllngiUhC2b8zHtKOjCrpfH96b9j0BMwAwPEg+ZGqCHZFPbKcfGt0jZfCPe/EPdj1nXEztDAytj32NLa8p2mxUE1oAPqGZs0fi5iZwNMmr7qARsyBUk1ZP5yhm7yX65vZNupmFvvTMAI2W+Ptm+aCwkpHNldvKNkElaluGbLaUlifVCVOuXnE3B+0mb9nAAMtHgOAajD4DQCBFKOgpxidoLjTlS2kKLpgJMW8I9TtH0F+03hwRBHiIp9lU0cIhQNSMBUfytgEIR4OGJEaAt+L5l+B1lAu++uXcKMGymKYrdzQDP/JH5hMRn/SymqTFRBF/GcqP05E7Ekc723P6WaAOJLxhAg2gCLQgh69BDMmAWgH1mtYKarL2jxVDKVtfK6U3TJ+EMyoN5vbTsKQhZZabiV0tJwndRwI2CoFUXANPAoII8lgzps+RqLZmD8Zu+at2tEOU4b36Lv4vks+zrpT1YAAAAAAFe9jOiGHuQKCPeugb91dLM1DvfqzH1JajVfPQz+hNL5SursCmIvptUlhekem4iLyoB3d4dsKlIESVxkFxwwoHn59saIZdSDXT/ZXYLdlxRUX0mSQshBRme1pKrY3RPKwORxC1WJ/bQAC3xelQLFtgW60ps1ld5PAj4do0QYg1f1iCT4ndJ8FNhxo5JQlm5vJ0F1nTkNLtriz9EGpaTzDteViwnHlTEHPH9xZ9Pf9yADCXAopFYzMZdJ7MT/y+g/DfLTn4V/JMTvzeiUNAstDS2uZVNIATfTm0Xuv5uJnW/mGCY8a6A0+Y+ETOhrLQNcLwEjjEFIwEEYnN6nF/GGEW6rSbhTeOLWOMGZZVLn0bGNzOs/mVNkxc+0yIysMYvIoUKDHj4EG8pE9Y3HVpOGdSUyeqr7gEGumGOT7gKCNH6syPQxZyYiW2QbtV+P9DPZV97JjU7ppDuhnGhb29xZos4HVBSQn6Y7d3USZR3uC4sPhRxG1XH8o1rDG/IDk/FVLNWueicilQEM1vJhKwjKC6G61DuS3WaM0SknBPLoJx5RsNKj2VKEPuis9H6EfIxer53gg0IMf7KrZUiw687t2R+C0y+ScFCd9Mgb5BWK/CL44WxtUowWkzBMn7gSH5cdQvTANUgwZUsAvHJ93Yim4Pt/TTgYvPBUdgpVPRBpZyWJ4iYWjMilZyF49r4Qfio6MzBUhLfADyzxq3j9nHYZSZTrghqdCCAC5SXN4CxlM97JYj2RyjRvZyzIceYen8CmFdJ7OoyqownPoCmZytRhMQe+n26m8vLs6iysWKwY/iDyx7YPJkET6jlBjH9iUCxEiq2MEhdkGsDaJ+5N4w00Vtjse2SNWS1ZiROclTahdwjETIhsjOfPJCtP6V1T8bVKob5nM/fVIbp84lkYwT+PRpm62zJ6Y2mOyS15ajzvtnd70cPENV61W9RGy+nhpBrSW+khr5bVSuCn6b4YnZ87ClAVNcRFeKvGWeY5z2rl4liFRq1QLqaRR3O6B/Ke7Y0ejSGaFpvBb+hjKu4PzFa29QqkRppEqYq/sqeJ9dYKUuwXoJSU986V80Ddxcq/aeElsyHfgTVoHrjUKy3kh0JrcK65He6/i97t4+WT6FMOdkPuR8DUq66PXXycfpmgQwJLgVxiPxwAJMlbWEiLxbF21e28C6m2b+h2oCf5kb6WHEbOPnCK/HivBYcgx4/hKhythqhAGVlRVjMDpb+8awQ8rw2hrQYodGy87NeEBgjgt3YJdD9tiqg3ZoOH2RtdTDHWpPF/QaoCliMyeP538D9z+ScVip0s0Rd0b1Ag6CkZvCophda4L1cpYq3G81CQ5PZUtGP3gSR2YmjLvJuYiaQ40Cr3LfV1l6OTJ7af7U0TPCke7pCXTGcYwnruhpiu3QFrT7NuYDQJkdUYvjwaP+JvLI/efXVd04+jNQnNd6daDVJBm/L+0m9RsiooIb12uUPkjY9MswysScW9sItxMH4ru65NgcL5BMhTWfqlWfIvrdo4pdEbUIwJelEqEHtw4gfQYhbmyIgQuCcaj9hgMzlEzA54muvaIhvM3Dpi2gnJyg7Em6uNYCHTrOKMRguemD3w/YeMHOa9P78Y2XuNwgnsMNz/B+A9xc1XNQnFOeHvld47MF3RqFLC+ktqf3AIm5QAHrNpOsxvd/pGGQYcx/DQMZ2fNb04nGgU5wFwuHyEvEPEZlZyzpCIg2Sb9y/zyFynSVsev2PzfCcu4oymUAPJNmbEYQHQVkYdyZq00gRGfp43K5gpUswD3GFGnsxbq2pmlDS83fa5xw508IrKm/2g5fiP1umvZHVT3mb6pMeqbyN0pXEKsgcVWo3Wg7aQO0lalt6kkiXL+cyQKnfT//sEdNINPnQ5+Mz1VAD1as0dhEXuRh1PG+3DGq2iFKVImFhSFE+Ej0u57GOwH0HvdZGPdZtmTxGsXIV5vpyTPDNn3dPRB4Ho6rCrVMVvQpSEoyXM8qzS1m5vSsS3dLOP64PgYleQpCbTvHdcWjQFV9xvlj5z2Xx44uCeHg0Mvx0MzP5p3lcLS9vu3/hzN1aY3+Ji2Xiq48FexCBBbIpin0zveP2kde6tNruukW/fex4AAAAAAbNGqmO3KSWK7FvGo9c3XKhP+I/C6zRzV6Ppp75X3m2ADl45IZr2yDDzTEAvozaB2ETUXjN/QSMu3wowwzz3n2D61Jgdczve7d0DfcC4qqYfhghn76FtBdXzYQ4l+T4D7qMSGCcYAoJJW90rLiTUuA98qf4UX2eLldjKtGoEsbxXHjWpFJyKjKb+tQSHIX+SbcUGy5vMcKzQsCpGKrrCCK81EKGl6uLHpWr24b54FLnoCfwvjZAdlt1jwNAOlGUm/3UDwxa64j5v5zNQ7/2zRnErzyCYt0ivNCQXQpJkS5ysjGBWz4rM6mGrgPWg0AAlOokoKpA0Ep1f8JXHOTwD9t/LzZ+CR7dAZgxiVIK8X7kmQ4gtwwhBo5LsmSBEzzsPwbl2buyTwb5Or3A3zEzoho/O5Knu80nTsseNMnQVrbt36af8tXL+D/RluK/43uKz5dxtrcBkRukxqD0hsItm6fdYdpFdiIWrM8s6VxGhhOKYHiETxpRV3fpz56wQhf0smciV/L73XoGEuo59Hu7Obod9NbN5G+oV+WZOEXH39UztGA7wl2WzT4UsIvfBmR/zpon2UPDd2uVnU5hoJXSf1cwWLXnW0x3QW4O0XtQyBZ9TrdRSQtEM+oABtnGJK+AAAA/IOeUfffESG40BrK4Ks27sJ/aAWo2PefLmF2cjU4b4/z9/q1DVk3hcIlnuJsCCUKE2f5qvY6SOIKtZ+veeo+dSFJovvbp96ZLfAgcIB5c3BKvwamHjah/kzbw0VdKgH6Hprk/BzXI0QCxOIOei8CdcRfnnAbmaQp0id2TIRLpavHxkBXXZ61+rSzKkMVxHq8G7GvIEkI7Gl6JBph7pL/hOq0gs7m1i+TaGUYd9XyxzLJBzPLMQRdUcY3d6tY6VfwXSn30WFdp9QxO4pNX4OMgx04KUbUDizAT/KWPERQ69k6xO1za4YIrqS43LvgK+hYPVP/Y4bBc/va2HaYYfYbZSYpqbt/CI2v0SFS/URvNvSINZ4nrijbZ0GuWJBNRlwufss9ld5FHtc9OdBk/8kpcAezohISMDwYq4HzxEDsF+b9yzWlv66vFhGC/Qg/MLCfUVs/MZrqI0OasXEEVSFKJgMLICGvSBTM7LC4uNY1JqwU6gsfh/g4d9UslHGHuF+HDolq/BnMhcbZF+hnnT6F97394jJbISSQKEF86Tqz+sB22t9hoYlW+iJivp7AGzZ2ROgdAdDfcAzZmUkSAgGWNd+G2SWc/9C6tBOQSiSsLBSawH/ap96wxpel6ODe2UVDqNrdaNgorBKwcm9DuiEuN5n7sa9GzTFfIkLOcfbwbCSUjEkaP+5a6b6C0wAYZB+jG/+2srwP4flWJGh5z17W6qN0TBBQwJYKiG742ZNXHz/X7yViukpDN4XAQxwBICSvvZgt0AzheZdPD+b7NIizWVd8hX3Sfzt07Wg5QpqUI6lYOsyJNKVAcaC/vP/NTUkwzhUvHR/AfPFw+I4gGDBECq1NnOONY8X2JpLcN9PQPbg0vuGgMVixQuJIVJWdey13LfXroO6chayRqxlyX1G+FTJ9G+AMEfXHItFLbmKTI8Dm9IOB4RRgEZwpDUai0a5KwNhyCcyAbvIbMsHmzDGrHCGgGejwgAAAAAH+Bleupw5ZZDuB0SIkcMJZOLc1glf/HIJIEbZvbIBPna3ryEFQblK+aQCxTI0pOU+W9r2LYghlWdvBKLEvdSv3gPUHEMjoesp5R6+OhTy8S8hJhcgIxiAAquWFAGTheRDhr/1PxLaAaS6/hYOZLR3g9lqXbvz27AG7dKdTJObkDHL4EWZT5wFzq43caxi86eCh8tIgjH+q4oSCDK/lQkZDQl7asbWnS2lfM/iJ18q4xHl41QprTjDTzlk2rCal/uz8TCIrUN+sgXN6KK1Q5IAAu1TMYCMjlZbWfgw9zTt0SuHkcpDrDOWnLtI9NgJ2ssRvjgM5d460A2JF8bATbjq4mg4hXKcScAY/VUKs8hQF9rpfGz0Ie11kqKhr2byYbA9/yGKe0mbsxXuFLCGAQwlpxDdYYAa6jmgAAAAFnkmJAA+4fq12hJ9T+lKe6M2ycKesnhzfS0VuAqL4NmIEBbStpA84DcSH6Q4jOYQ0GET6jQd9eNGe5tx5PmJY+V0Qh4Zcdd+Z83sLSye3nMcO+fv2fp4BgF8WGEHLzc1gQlAfHIO9V121OaYY0r45MpSEeN1a7gtZDLttEd5qePgc/ca8m384zGjnXjsD2gvPdhEIlimxzJjzYvsbpy1V1/Qri8mqWmZwTX138WiUpkl6vQJu3ebbbDqUDWo8HpsUyxCmNvkGyzpckrarVoG476V7A6ewKjqEgYzTRkar3pdFmWfGrQiYB1iRcWN7y+UuZFNQPSVutjqzVIScGkWlLB/2Ksz3Baap3NWJzlrz7kr0grZN6X98iZ/vX3dIJO/RQnq+Q1Oav5lp80ZjzUaVqRnSsOfzrpcVaG5Pid6YQiyTP09CZyuzuUXR6Prncs4G1bhQhaXQ/AvTk2YXgaJe6PBDeYtc/XmzdIEi017WMD1G1g29ABTawL5mA9ua5wSPqbrDLnyvuXlxY8K2Y8OLwvqU5BC6asv86TQJUaCRldqznK9EArO+9PS/ZNGR/gC1h6dXErRBeeVauip7FB2bOsqFw5MWXUb/sUInwJBOfnB1iL9PJC9GwBRhmOMPSrzH7PXVtiNNoJDTUvVaJ77XrzUxmcjluJoIAzYwhkDDJOBi637lsCLoHn/WPMCYE6QZYOtcurHPP+CAErT8dpYQvOw70V3MFCJME4UHXbJaIge5XBtTPaf+3RZ9nxN4hrWniIzbnDK95KwQcTMC3uOlKX4tqjZNq8nx7icn4l86NgLLzLYKolfvJw9oyBYr2t4HwV3BA/Xgu3AUT1kYgknBh0q9ajr98JZeFRvvuSeF9CufiJPMMPdpXKw0l0rSDGVTghk5g32AtF7jZ52OHoM4KsA6knuYNZZi7VKWFWLS5GnH+THyMCKxG5i0wo71rMmat27xulwCUpGmmmnXLf/nXD6zgAjPMfVdxhfTbMGA5rbh930+wOkQcHh56IR5qUrIgrFN+h6uUEJZkquR8QZkbpqvysy2bX7we2S8iLJLxWRs6snhFEdMTfR31hxhIVsRQ6skeh62tfRmrcjSXT4nonK84ETxHaJ+iAZpnLqyB0tlcVcNk0PIQ3cK7fPokLpfN5flf+VIW8yswwd6Exdw1RJydpGlQlNsQhZ12YvqUF47BxuO/XYQxUebb34qHl4uIZTnTHmUy6++hbTh9d1srxGjPAZxO8dhnatbqLb7zspj/l7BVmlX6pSW6D4uAAAAAAImF2oU9H5NLUhQ7YgLtquE0goXR5jN0lyRTFElO6GkRIsYAAAAL4o5ALD+xCsVeVmyTEBJOBBJ7sEKP/605s9QuxvECUd4Zu6r5BGAFGve2ocadURmsf6mW4/KIgDLwd3IfT6uIBFQjuckwcGa+J/e3XH+ckK7BAtisqR4DsiWhsnT14ibXW8Hb7/8bT78vGLqgS6KtsObmRDArvLqpDiS1rN33gPGJyNUkm6E3yrTCjIzlZqZpmHnzfc/1iOcWZTpDV8ihJ8huVUdME3F0pvY3E+bI1POavs1k3lQicg+jae0tfe4kXRzrWk7R4zIE/zYOKnIzGl//gPs1YOMAO9mMGwQ2C8/Tp+yP/VPw3qkhC2i1UnnGby+ap+wLjbOSDnUihuacHqD7qJer+1kpV5Mjz9HGoB5y9sxy+Zz4HigrwkN6PdruIQkaxb6v06DNsb8GDtRuDrzTZycMK5WroR/fYfGeSYzHNmtb3RMR25cdIFNlyOyIUGKHt+YQLRgdOF3Xj/NJctVKE0zCg/7Ej2xYGnu1tbeT9C5R+y8sTBb4RQEkWZjDzMHaOliPFasIDf39rXL0mVdHB1h0lhbMhPGiPFOLQC7VSVUvy06kJ6e0O61rbTjZVU7gz1ybX6kVJk9i5QrSF7pzC+t/R2ilaIHHsa5PM8Yf1S6JuU0nXgSrRqfLOyHKuUZ6uQumVl652UayemI8Uph6NhsluI9mRkopl9+6/mG3M6d4yFuqJ0Hz1tXIpmqPXLLrkbWK+V2fXIbc/OmR1fg8wtau35Fb6FxNcZbGGOOgFGTFv7L9qYIjGdWEWWqmbhIhsBcQPVgtpq+W+fWsqYo+QauwvpRctoZcHkQ26Zbj9xBZjcX+P6i3kyqQcalbqLSZTwdnRfKkipQrZVVYvdsoIpx/W/VXbfF98OD55EsEBd0K13hXJYBXMYMuzOaSMcg1Vr2sghmjARuNvfP2J8jXSiQqDDvhPMOeSnpJ2+Vph3F4H1+DLxxP2Z7NEjj/Rf3uPjXFb15KDgt1gR3SjMuJLvdWDeYHG7rc1BEZIEuzoqTvPApnr+HEJyPyMn/hj/XffnJZNK6M8UiPvzd5i7ywddm0NTPRqymTbqgaANZ8dw2c9NdhKJBtIrQPFaxWGWwL3VxGsfQgvGRhB4HUxevZ1xZ5UAqBRzMsxgJKWrefjIZX+5Ce7ECWYVbnRITF6niRA3nPdPIVRLYPOPScJEQB07xqO9LOMcRYWzpajg4CBRQB7yv9Ru9o+vul5nIUg8IIYp5N6J/7PfDq/S3l6vzi/ytMpMpQLOKvPJDwf3VXArzCJcLp/JsyhRaOz2akAd+6+KYS/kY+wbhkYr2H8IM3jG+bUZoXD8xxhJ8JwOgs9CnSvvWSij6WWuSbPL0/n38mQhBV1PiLRQPL1xhFIF/E2+EvGkhvDT2sN8sVMT6z4NV+vhL1xpcBdt9wBzveWUxHbRF4F9O6Zug5yU/XGzO9R6OZj/mo+BNnK0wgBiLLSkYa39FosEIHCwKJF/0p92+2FtnCeZkNHesAAAAAAC6+qtyYOyur/dpKUXDk6r1MrReIN2mV2X8mmiLCRnXou6H7UCYLDEALJpw/XsRto231MNhDAXoiNS7ubfaxrotJ8/3DfO2vWjOzyhwNp22QmkaKaKrgdTA2KkAAoLvPBFr1eomNFzCDPniyeREzy5i0Z/0M7e3GEg7lcBhbVlaGkhX3ixUa7QuD9IPSp1S6Jbc0a5hm4V2om8ecyh8PvFZjCu2o1g1/86zPCczef++zV740805pXcaMkNNWABPPemnPFKL43varwtS6mjwWCDkT1npFpu5PfjnZEnZVOQfg04GIIR5Ucc9HtXG7qBAEKRi6rEhg7+9aCxqj60F3wWfRzHNMQ67h8OY1OtdYl7LjfmKd9l6s9GVSik+Hbmr0AzOhCHZp4phQSQkzZjFMuG+hDne+LdPhMoHNfYjx2N3SHx1bKO3WLIf/o5cldbBnM0YuATPEylo69vMmJ0e+o/R/Mn4uzS56PNGzEo955uMFPhnOdpXEc2PhZQ3YJ5CJyDHy2Ev7bNcXUc8ftUBL5gpUYReUx9eUOWJv7vOeR2QOq3J9XHLnlFvjusbsdUaprgCzXNY4CvDvv9BpqBJWHLbS2WlvEfNdvhJrWjEfiQly23H4mGtauJrH26ejYVjcr1WakDfGxeRVwROPynYmeM88uwzon8N5SDbJN9Rjp4IN5RF6jM2JmEMkr5LxndovemskLZJZ7sBShBuCC56wdCmcHHtENJGteHjexCbK9Un+YpRxPwVBU7RK2q1F2/SIY/Bxs0neqEUzaTbgWPrPGhuZTO4O2aSMyBS+78AKqiq/E9DBkeTTOw162jbFWawIgsbkU1hwDn2TwpaGbQd03/Bucyh+IudRGNOee/gWSuXE/EwqedtX8s+nJeyAyeNz1bxJNeXlJcIGUe/lUmq7UXI4aUJ3mn0L6DS1MWtCeQ4fWlNs9iBg09wH5OnQ7ofyCRXnCMWx7kP5el2mi8ZXuetPKQk+UaqIVYejGX0SK941xilyqPMqUJV9dd/CNANbJC3P660201m0LKKLUv4iaO4xw7JU4/l5H4GMWA/+ryau5RRxUAdUbWAtud5G22C4CJuzK2guSJQTZm0puQo38oZBvpO0Fh0s1k7z3i6SZdn+L/7xel+s3gXwks/Ouc2vOsMyPdAV5TJ3mVzp7OPa7nOe8aWUBFm/5L4aM+z0w8EKKK513SWXBLcgOIz4EDQxyE5zNeH4zuHpgCYz5Ltwl6tyJAa+tXAkfUzHoEPGe8TyF7IvVqZh7BbRhE5l7thy2ZGjLFS0TvtdGtTWjkw+BcoWhbIMRrKVdLMu3uAyz9NhaihtJsrBt1ZH+8FOvMYw4wPeSrSzDnqFYXBLlEUozaGYy8Cv4Iy0w5jFgzV0Dru8DFV7LdFLiEPquRaBQKlwehMACuQ9CaslPgSpwMu3Muai6kZm1Pwq87Py9tKjH7hWQMPepNemjZkn7TWXK4ats1NW19KvzUmpfv33vLcVOTnxWNpW1NzTSfCit6sAHikdRm9YliY2OxqNEMs7SLABhl5Sol+VZMt5K92V6Xne2Dpe1rxpcHpMoh+JYYEdoG8sosujIx9hpIHHs1O3UxsMJebKR4QyRa3xQHkoNpGH5CAzUwg8IN/H+CGKDpgQBV1qQvV4MRedS+/6Z3MSGLzQ0t7SHBFmqlZvSb3ofPjvnTIW4vqQx9F3BAo8C9CTpaL7bh5ZfmPYfq75dM1I1IngdODFy2skZXnYwoE+8phDCQsGPrQnMO4/F8yyDSalDTM1HOgQAy36n91B6S0d3K13/3SseeqDUyn6O2mQ5Y4mRLx+uwNWtvEw10gIL6DJo+mZE8gaHZZl+0T8mtxziAyYXaxfUAa/f3ZojhCBS4yv9KXxpP6nFPX/Dn3MF+gSoPd+GgBQ9vgCkmW0fGK2S5sgUBqUEUbXMJyL287exdKESXq53dCqwB6/fQgtApFjBeZh/fIQRfQiImoAsyT5TvkHGWwpP6FKlq+1E5iJNNmPJUUAqlX03LfO7dL9+ZPFYKR1JJAr96bdIlTNU3nPW/fTKcbAADYSSAK6lz2sICy9WQAKBtzgsADf5OoCY1kABWN08RDRFJOj1Zj05EJpskAf7WoNq3QtmqDh11ymxdMg195iXAA5mBJ5lFuBlF/D8zhNvmLLH80DksgxJlOGqvWx/iY8VZnSlo+Dzg3qtQpgsLTmkC0nQ+EwjAwHGg2ESQzKtFK+kRIcE9JCOIasAAAAEOjCnnVuaHcmVwlAYtz5kfNUvqRAxfhgGvqEx1Wil54AUYpT44IWq3Jyrp6JQtwm/CFqlx5IFJeFC1E6oRie32gwpU45Cn/nyxuF/kz4xlgIJ03GEkZTSQn5cM2twJjP1hatCCu4PXjg6uJp/8mF8AhQRMoQ9b8rQvqfzCjojWnvP3DFOJHG4kFDF6AJ0a4q4fpayWhkX7pz6I1SdUnb9tXNZVRhZcapAEe34o4N1MnG0Mm5HOfvxY/SNj+kosvxc/ZgVYzQGT84EVbIB2a4b/EhV/2jBaojLqJ6afqxmVYewmZJcEyU+aVBqgXeObbd+F79TcVnf6IT3Ko9zx0wCvlf/vvYzDtOHfD9TRfgC51qNCiq+eAERZO4kAGE6QNTXIaFy0Ro6lqrsyMCc6/tij4wgrbGEzncZw0aGf8m9yz49zlW+LkkMv7be1GzcPM63LR8q/TnB8HlTnMsgkOLQ7kJPaMdO6mtrIEuIC6fIESe4tMHaWvOFP1ztV0c22ZoaLOgNP+qV9srK0xiY6EQrcosjWdVS51gX2wTCUvkue9hkH7xcGKaED2lB/CqAy3iMAcXnXSCGzktjLAC6VRG4ZDan6ZMIVw16HmmOlA/FRI1tNbesa6Dki48E17R2MdQeFBtpyNpSEqakAbGpYf3fm2Gwy0o5ls8XrAivrjGd7m5GczPrcZ106p7GIYszpxm7NyQo4RWJfd1e+KCpAWypJCOKHTkYAU0rvPWaODu0qn17lHCY3w6qHch9tNBp/xD6MX7SPrkZwKuOxcCHxgXrlNBxW4g9dMhnVb7UuVcDMMy03RCP/mL+BNN0xGMlBIEQde7GZz6rqvlABc0q//LwBSPR1aAzd/jskjOIJ+CFrfVy9NyhYUtGF6wOxUq83K6HA2JG3eE8Pm3DF58tIMAXy+Our/fOQdNU7aloOzkyb0GCYNO9el+R57Ab5eelgVgz8mzAgUjziXUjyKd5nI8eEXpXIiMlLv5yOg7kg9pPnaru6tIDGBeGDfpeJq67sfa+qI0WWpxohIT+GM+Zz4F2ScIEOZUl/f0iUsC8kvzW6F29xrOJHTqapyunOg0ujoak/hfMnjtngO2g7KDJA35BlNIsGJgOiJQugRM/ChmcdR6/IetXq9aiZzQD7YRlTyn3Btfg74PkM0R2YJuJ7TlFIcbc8QRcs8rKpaykzm5gwr9M9vGrL4dDQbK0C4Cxg6E9XSFehZGLu/uTo9plY1IS+8vByO6lTKGoOxRJi7jMUXUajALrFBpHTOYW7qqaezjQEEBDf77Oy1fhEY3DQ2nSZ5TyW7aqknwKOYndfrqB/pqv27mk+PXUWNbZ9wFWQC84RhBP4ma+z6ytO+dXzH7egIlvoxlmkOfvsjL/FEadI5fC6s+zGZ7U4Z5H8jKtLXYNkTscdsd2e/SXBEix2mMgoBh0k+CNqcCR6PnWVF/U4BaRo9yhZUZ2ZMc4/oe8WSjQ9ZMxgUCJixgTnQfpGH+iMyjv3PGaptiiElqBvQymvvLTMdY03GMRKgDsD3P57osY6DMk7H9QHvbmIMomxP3U8OIN+xLmMWDkaUov+3qqeSiNyWJK7gMUr5DEuyK/i2V6ebu3GZbUKSAbfmhuF8+JRsz3/xiHf1TgaeByXr+johBvL5apP3ukhiPCNr6h9Q8neBWOF+MYwf+lFqBi8Xw9ZU7+eY4k22RQX2ddA/vHs2NngtzZAeg4LW7Win5oU/SymTYynR1+r/G/t1D7u40KUVYdfKoLJc+h3VraP4UDg8sKBHyWXpeY7NrZohu1amO1Nb02BXKIuXMuS27js/DWOS7rnqDLlZLbMk/9hNObBJB3o/EiKZLoRH34rQbfJKT7eV2AdWSOf1UxWU5thnsKzD1bsYKjxTvAkLvKz2nZUJeFdvKy5R79uWO7/aDTcqM+u9NlKOJTWMCrwSF2RqspLT0pHwRlCQKk0HVpQH4eOJ1//5VDJ819bGz+7pZLxrfzzstBMguWSw9qQfP6xApnC3ehxM/gsotk8KSPGwCBixztYamQeMyReMbCRJKHAykrdtIwE9KyIRWxyPHKLiY0qRZsRHYKoCTy2ox0YyMFF/tCS1TY/OISkLHlPdodmADq1Ta2Sg5emKM3kGPfLLPP2vJkbi/EnTOXradfYnhlqXtpPwn51OOW5sXMMn/scBUyAGMpR6pSYEUfYbKPxoFoJnTg1/Oo/as7Y8BPDVPWW4MrEqX3+glmAZJmKtJoG6XqmSoHroyidE5nkcjUMjFUFsTJvdGqJTW7U7n5mYMFHXRsH3PD6piGROUf+3LBNVrk7o8pV99S8IxaFRzjvFOlLCOyk9VRePTvJn7MfaI2bXtSAjAeP4Sete8hKna0VYPj2R6d1BNNZ1e3/JNBwAXa9ZUbklx21r250VHluVrbGtXRjwqlVwXgd5iiZiXSYyKdvtZBPdkuzaIbVVnpXiwNKwescUxBgAdNirWiNeq4RfiCYoYa2V+wssrsozunz7KsuAl49y9RW4ZLOVDarx0yp87DOhBjBr75/tx+u4S7J/1FxR3dgo1FCI9Y3PVW01Mk7Mtf9t0rcMG0J12ITA0eo2hs4bV/+zsh9W3NrxI1CGvk4OQxCxEh9pE7+Ch/lYEAJdYWyhkCj/exCRkAeEMkuettdgAGMsCCmVEr7AIyndDCWhLXZXdvRIxc5RT8F3no4RPGAtEBwdrrdkYVITNtn9E49z7tWQac3gLHlQr1VJl4jRs/XNIly/H1GWwsO0jxD3Np/8GCjQEmPyxjY9HK6EjjO2aMVTxqvn263+9Y5Hl7dnrNFm+vFVdhTf3hOyyvbRlyNikcSyRHYITIRlM074rHqvD9LHNzw+qUaK1bJ+3tNkJ2gIKb+cKhCT7YAK44YDiDFnC84nDB/Ajyv/xKaBZWGne8M9f0lhTuZ8SZ+/Ft9hwhiz+YbG7AADoLhz7TeBl0EdADB3gN1eDMLdzrpOe/GlJ8EOCU3nHY75qUzsSyybPnuC908l5EdTB2m477b+2yd+PIiWyRIYAjENiFL0N1RlFu1IVAo2ISMgDwiSbl+IUKdhj6OrjwlRrJo8UiCr263mjQOEtEh1Ztk8E+kzw2PPR1f/LFcQJRfHTnEfg145DE8OsGMgfSjDDPNFoIEFafG1hsWO+9VNDYunmeCqcODQMA0EOfKuhqYmw3uH+HTUxzmQrGyLTDsnEUoybIAAAABgggQwAtC+Afj+wZjclrZiS0zy4UZy6VNLmgVmjrpYFUuxGglA+G9mFbGDvkv6Vo3aHCZEDZfCXjbqmDAoO7NhYdqz/k8sv17hr03ireEr6sH1LnTSESj+IDbpe9iP2Z9B6ul/JBddv2RDl0fIQ4qWvyoFFgf4Pt9uqmSkOY9oQrXTvkloaai1NCvl4IYFqAL0XUY9mx88wF4t6HgIcDlToQ3CiXfPYmfgH2mG8XwVojjvKVrGxaQoL8YDLjr3fqjmkfDmtjdjnKt3z/3FMAd/h6GjIkeYa129SyVOnqeKWuUhN8X+wdMRfFykLypYKTh+yPUOOswy42mOnph+5LDGzrmyGwrVyKtIEU89kMdiKebMN8DpVd8Rf2/xbnL9wZJ+mZ2FuIHI5Y1pkpr20/GiC8FtrzH1YTmSmg92A6FAL/eL8Wb95XS6vgy7clR9rgAKFEgLMscUfRVDgdXAabwls3hNA6Q8tkl1f1+x5882h7cY5IRqkJfWqUoirHKuohEpFhJXPXHv0ZP5E5bPoYg8wcLVQUlvGf98Na8drNFYYxkabbklpLvgSSWzsoUmsnvrL2abDFnYoVunMlMKVLmeyS5d2qYkWLZ6SMzcUqpCRVJloVj5zcRgE3Z3MBmN3cF2zoUF7wuFMMo4Ma4eP1w4jjlnejmYYYHW+TrazxCdzczDekz1jrThWqoBQXl9axqx7I6/R4/Huh3t0ZG481vYZ0XDm1nxr102AhntmmRorF7+gW+KsSctHsnfVeQheCOYFQq1W+MFUyvOJ/YSHd17Ih9ecEWnFht7ejc/zflVVEC1lwOBy5cZccduZqa0PfLb77m96aSj7X8egJiXLopBQP8A5IBvXcX1uFq+UDuVOTbZpvWOFjAoKoIE7m8a9TnxZ3NLEJULzeHG+4OAgcngthL0oMIGZd9Qrnf3OI/gQDrU1QbN9QUtXlLuLH/T4fV2eoj6Zvq+7zPdFy6egEqEBoI4Xvf7kX1bbZgxmD+9/wcAanORuNjpU3REtu8tFQhG5v54b9X0Y+ym2VOK9Dmmd5rSn+DmC2l0vfl5AidTLps9XPhh0fcbrc80s7jUCR4B6sBYxOP0/Qz2KiR0LrRjCdOqRxGHBF4lUiDck/5WGhNUgQedn5/WLIcMtVBn9eg2LAK5+wQoJOXv8be+/H9ebb0t9sB9ZB20o3s32f9O1Bk2hNJmgu8JZ5LT7Zdeq5qpnI+4pbmjkjnNiIPeAEoyiveaZv4kkTu278cm6FvFBopcHlt1J89M3nMYnU3eNFDc/e1Tlg1bBYrwopVeXwbd6DDh1oQj2nrnGAwNZoRX2qxD6XApYUHUE+y7MnGNPABlhmyReYwlPDV7k+8gzwxFp9jCML/0sVIbuxyoA0HuVelsf8qnjn95q1A/2bCZn6my0j+4wuCRS9yjgoYlRH73ITafJWAkVVfUUTj4DJDWPCpqu2sqrK1nnmUGNgCDbsuZH6BxXslTGmbEDAah5ENjy6zJo3JHg9wQLue9TQ+jbK2tbIdxCYa2xLJ+YcYESFVDgvE6jz93iqnD/bW9YmWcRf8F+8et6U4E9i2BIaTEJ/Erd9/uVJ99u8KkOrxiuS72lsz9QzEC+ws+P0OmOYf3ThkoGXCF7ljBoZkDRHv00PZ+nwPg+eK03uTWjbtJIze++rbPvjGftlFbk7HyBRX31Sh5QT1UtcumuKDTU9a3JwFssifCG59pCn541RSjC4s1ACV4L1qIe5mzaD5gsHglUNOGW0ZwSpK8lRyVZGbkHYE5o/5Aw1NQNiVRIPMc7PXgkPBhNcWT+mtSt5DL2yNU9NcbnX3klCRP3IAJCT1Hr8x1J2xkWZMAZxYvrLeL0gj4dZRnjIAQxWUqNiBH4aUB46qM8j3MkRE0WgNWfXvD54nz/C4Z1X6RvPplnC5ixhGCz+4hvYu8uZwAlm/bfxpTO7UfHozMgOjcojiX1b3UWhoh8p/RH+obzrc1+iGqVHx7M+a9/dGGmnP3RlLHvmSYQT8Cf7S4wyF+weB99LrnH4YeZoOlxMCmhaLAjYFhTIm6v8egUfGffSQS+RcoXb9qvCrYfx0DLEq5JlgyYMEC/x03xzFsjbXJOBK4YuScK4G0MGRD3LhrRhaLAWgR1mjMkphW5r4LjZMvL4jN4CewF/q86xZMV+IUZ8BhwuEqK4ICHcYNo4tJmGTgBl23hUvskpmzcRqzJApCBFGh4McOVeRPBbCF8T1vc4Hu7xKsADiW17+EI2a/V15DdSDYaKR/z9LvmPlYSc1/ZzDVJxakwPvfWpDb5kHlL/jVUn1+DrJkuHdFLg5rxpMpSX+G/P5C0DLwcF7vgEpg/5t7IilXexxupDKOcJiGqVMmH/9+VqLSjb1PQHyxLJjYO30XnUtazgFWgtupd1aBHelx2CEBnBcx/uvX9yqbPa2PRYOs9GstWsk7tWwO8WC9p1YLjMNCrqA6BpMq2TDC7ma/yq4D/BSPOCK7UxKbDlPOmXzJe0r+ClrtktHAUNXyxoget8T6hTywOfxh2zFHNuJCY1fCrfTX7Akm03LOp7hf/gyEXBz795SvK/k7CQb5EjYfn+NysdScmU5XQU1FbUkbkRPzIPUfU3lHaXGROrRtvOIcalMguWSUFwXxj9w+doLcRu7pSdHAOV95BOrxZbidc0t9jftKuLp8Y83rgg51Oe0BQiNY3NPdy9Ptz+8McRN8rCtRIjb8jgPKM8QeB1MREhKnUC27T1eYlq/nxQTAUaCOn6afh7EH2e6FPy44GUqcKUjpsaRxAtVtR25OAKh5aJk7mrhtrLgPZ4ucLDcH3Jzn4qTG7BJnOGzLhfnV84oGbKQumktKhmN6ZM7vFtCO6dJNbddhobRnjo7cJBsBWB46jTN/ruxxBUtXkQCS99dA6n3FfuCb7clzn/KZC59ENRzWHM07ECs/+1Q4vfDio/LbGLr/DtqbUNTjzU+sNk6y7TNvt2FLF25kYZydq8edGI7NN6QL43JCq8Zwu6hseViKcN3P19lS5xDdW9T4gB+TMeUiutjd6XTV5MEyD6PbtkGymdmzEjlZEE5SyoPRqeVGxLq52xepG5qdo/j1rNHo7zsAFiULDmqn/4ifjxuy5Zn9GeRcgnekdJ6Aj7ajgLssb3KYsUfvgQBkKnOKk1bvA8oTSoGU4KLO8VmZDp+/0jRcs9eAkXHje297UOCUjSs6G1rZ4AkfNH/QNXXIcmuYIxq5O00WZbjAP5fQh31Ra9MIm5MtIKhnfFWcI+BWc5GTGBQFMPMheH080f/3S6BseyKREJPamrZkkdUeBUR6DY290X+/inor1HrbdIsD4ZfcATyyvSFoyGK8m+DX3YjmV90InOO8cpJOSoBuLW5Ws+AqUd3Scw2O81dnhsfAZscnOXe52lhLMb88lLiQvVdwgtaLw3vkEWPrP/AyLBeU2a3GJFQOitlHrAcAP7dnf8v/YqPUX8OKDkyGl5H1yOSLAimTnOHmn1cLUJIbwGNya7w2nOkmQvtDMVB4W7J8XoXrh4utpQHSbuSBXrGX5maJhg65HZ3FnvTmkyf9lwyZPyDQE68Bk1RpFV2naBKq0o6jZmKvto7Oa+wObBV5odj1rH41o0Pq0sW4To646vLZpURpu0nBTdSn6e6sLckbnARnjrrIhDW3k+ufrxm81C7AJUdjxwZxTgO+OKuOsFZ5IaBLnNS7ozMHf9G5UMy7aA/KFHYxwp/mR1opYwSq/ESsmvccjJpPw1yTE/QnC0otyr/CaXjdyTI1XqHi4iw9fkI7mMBm2FCzUwVX+VX59DHI2euZWyCbMPMdaJ/6Gzj/KZ96SLcYu2mDfcM5AZU9Zlt+KKQUeUDPQcrWKF29TuBL1wXQisWy8Rg0JXeETKecz6Lojzi8Q3g6qGZ85KTCZNQISirCd3vG4pMB1gen3f3Gxd212tzcaZqYM1YW/mdHMp0PLm96tlx98aCbStBobk35fqO+Yj77ub9G49FkGKnO0oUfT8nsdOf3Q9QTaevdiVbXfDAHhMtUN/dxKpIcrjd0FylYvt7MuVcMvboUK4B3f/b8ZiWjifJ4SGfyyVkoFjP+zXgVFvMWCEx8IYLDMgR1WyTidbi0w0UtyJ5ziVl2rt8wxRShjb+rKLnapKW6RVrZVnF6CJxknM1CV8aVy78+9bNKr5WTrFD97wb9NQlBE49D8VwAw7yqC7wAAAANe+E3VeMpun/oPXmgEje5r6ZCoXkhXMDtCD5lrPHqZhyr/zm/Nm+m8/b0aK7os8o2W00DJ8tZyhraG+RH7lTpZhbGb/EJeL+U0THOxeaOa7VzF3tCWqPpQa4y6Mi1MiA4ma/iEJF3o7XO1yHukALCjkWUuYXB4zN+T/BUaBkdhYsl0In7DaLM/ewffmdl6tZuz4WmEhoN5uVw7KrWnAJlMGJZ+n8r3frL0vJn582ey6qNukM1HQszHk78vsUMGqUW51z69VXUd1E5vNR0o8/yfIEt8GpQKQyecofMRCkTJ6QBeEmYfBipCEbZSeTC3mb20XnpfEEb7WV+KEd8CNzN9ZE2N1wt9jc0XEWChLtQ3g1dYD+P92O4AY7ODyUEvkocP8OxVJ+lkrjNSt3BMmlT+uVxe3c4qlWWaYhXacPDD3nm1YQ43mlap8E9Ikl3ePAP1bahi0h5NQotwK/26iuCNUoatM8LQdvAhtMx1lCpEQ87ft+MUPHI8ZHKVWRZ4TyswjNs9jOF7rQzE5PSaxBztivmChxnKcJipQOiN5udtDJ863Aeieaetjh6LlNvlYgKsVqBkmTC8TCkOL5QdjXyF7+/5bOTjk1f6/HS8uM+hAZZbxU1IuoyQfE9/YR9YZcmXG+rtn9m4BqlnpwNL8V9g1oRhwfVAMnFftUsTy2TvtsAD+7uJVljlT7UfDavPgxQBaLVLb72qwl/+CqG0w2Tj04Mb663l3kHBS5KvGCKpghKf5saSOr6WCtkvE0Rz3iID7AcvFzxTqaWk9GiRFZ55F/xuSnXok2X7b7X+Hs/Vq+NFELVLn/ru0uCYYd6E0JvPlsxOk99c2XN44ZTMFpNr/C2EP/KxsW2aZLKl016qZs/Q0lOVKggKvmwwsYrzim9PPFM6FBzpRiDgb3hxAwkPCanHVfjdC1JICZGKFJwmzR7te7Rw+4bbwAUiM2eAWOFoeA/4hNrH0xB8xW1MGzG0/Wk59Pn48Lrnazf/oPSeXGvaPs6Qg3oTnDAANVmQk+TeRK54zVB0z8raXmUyIK28+RuOALnDIOQewrH6AQe5qNQRSEnvt8dpog6rlKz0DfRELMqvZVURFGiLnIuuBJOcGcFgzOJiKxwxGu/OR1lVkQhd8XNfAj3sU7V5jNnAzR/GGri2SQCingPIZSrZyxwpC0UUNPoRcUIfJgs/gTiU6Ms509B9epgnYoIs9EEmtvjIfpu+ZwZlIvKN+QpL15CJIk8IBxSw/yc083pStGJrowDpoq4JEk8JlL4+TK93+mnN8yYAfftZkb+SfxVi+R4ZSTciiKU5dCfpwDKEnPJrpRG1fmnv4sLeLLSAsQOIERVGzokSm5nsfxiVh20gJPCbRFiAbWGo1vKBZ6uUNPzzYU5i9bvJZ4fEZdyckzjNw3kmsCPYGKBCN3XzCqSwXNm1yV6y3h8QfojUyfvIEmCMOW4vrNXhw7A2O7n98uBIpc5mU9jE/MlZucMYn9O0t0D+CiljSW/Agv7Bo813FgMBmva6J5iBK15PjJJ6KyhkCXXZd9cXd6VdOa1ECZq1USxukWiDlShM3o3jfiAd8qGEYfvWPLlL5TXUG3mrzGApGi1zKkfGeBh5UULv8ACE6uyVouYy4rYIqSjM2LtyZ77cK6dhEDmvVV8P3SSGtHdIDC+il0YQeanEFzHIzf0zJ6sk8WJyxbirTsofdNF3PzoKYEKI+KObyJQ0CbpDBZf4lL0vbQhQrMBea8y2vNq4tw8AkvvYelfxaOcUuGbq5OQ/070EnGgWI+m3MVj5zZrFDyVaut0nGzAQcnrD07M/3flOb0sfoPoA3lXffOhs0Hu/qMuDXqSGO41Ha0uZ0uuR7XATQaeM1X9+FSYHDttKvkITSzm7/J+djH5a1TkCOG/2ol2LgjOZtN11llnr0sIdBPwnvl19WVjl7kdP9wVGU+w3MGv58oMwapC4OO6FCYaqf8s7/6MHrBeLhVgpeNTzyICP9hf7WteKSB9tTxExe2Eq5sEr9ACvp9k/GvSFsPZAtVpD3Fa8byaPKGmAss0bQZsd5CbcuVa29ftqYv4EN7S0AwIfyaBxSKacCqR32c35tVEA8BudARS0s5e0ag49tjjHsuJqIOQQCU2ohs+d6MKUoy60tK7jI2qYrTfnqu5OU10sw2/og5BajbUIKdEgroEhuByK/jg9ueq8yuU41uFgkdeM4xG6llOanz/9yVo9Is4h+lP3SBUPdJql6H1hcuejeqhzs0qzJSHGghsM8k/skn09XfF72hPF2hEhXU5o09hT/qANB5ZHQs81f8T2kXIk3vYk+yGc4/tpgAppmc7SP1MjIS7mhDdBOx3fAoLhZ/JCyEFfxwqDynLwQhB9AAOhJYGiLP0m64AgEDS8hcjabd6i8Aws2VJERWBzs8RDE8nrJgNDnZC5uSaIR61cE+a83gsnuhes/Pt7EE4Piihz4iOUFvigPSZRmzYUyaSBR+pLKIiH7RqUpy9E7ZTH1Syr5P+06KbpDEVfVrzCiDzKuflKhZtUNZHFOdioej+u/X/gSxqjb6RShqOyDhCVfkilKT0Di2EjZqIfIBtKVP2YPhdZk+vOdFySeknCBwGbIOayH/tfHDyHQVgCcPkVM8r1erNaBqFF5Olr55cJK9KuhkdulqEl8HAXOFC25U6GuxvMxPQpFs0p67oJ4K6ERKf/antIIEDBR5gfFpgp3F48LYF0Vy+KFctGVF2BPNGa11KjNZY0pCt7uWFUy47jF6DQTyY6Jj18nh/Qwu/dIgpsSYt+4/l3+vpU9Q5dXbarYWLtKSia0mrJbE//ORi2e4tUzVy2vxwZhU6ScN5sy10FrZbGhgYyilydwqDM7RfgS92hdKzF4VPFAJyCZ5OFUSXQ4ciNBztEmU2jUTaw6pbsXsxmD9YlggjXIKhro3Gp7EE9ocIpIRRDQWdagbrJupvbg/UJbnmcIlTAG4dnSeiaeH9+U+p4hg6n7yczlnm2lc0RxM1kzxR1bSfQXMvAavD2fEBJfsUNasltExa9BWuQCmae3O3EsFkacjjNcPI+liTyImVp2fjs8WXOxibqpFt1xxoxTpiYgKbg+OLvPxuxgrBtQlsV56zhaF0F8b4UoSFVJIrLmyFYPrMVckaNHPq5YaGtYK/4C9BIQH8x2kxcCeDu/bqjmqhjR3ulAa/0TscuwFLE0TCFrhmSNgfQYnujlVtPylgUfgvA8kIztEBRo0ZTItbfvJ/+wombKTvPAqZmV9C1EXdHmqk5wY7QdFcZwaSHFqD7ff3Qb4RzLCis4e48dnAWyUAKY++nJjFINtFnq4f/JIU4oUC4QeIcO0iQA4vnOWQXfCL8EFZ6oB0mdD8zwijVMvJoCdW1FA5oTcO2Qi+uMiG3RARBNbOOLLlRWp30E8+ERSJDgoHByCbk1XxEqgfiBOQCFDjImyJQ2plOAFUGtf8sDHbGFtpzHPVW8mJG5jdmPUiOUnqC4wWHYxnUKV5SB/SsRuSNGQbI/iinLZb+wJB3v6dFce349XUGmFkjqmDg2UQ5IOB9ReQSI0mdL3Y7qBpTzE9uTQDHDeFefpMZ7wV2HfO7SAhBNDF+VSIJTpjocNO2mSUSOQzRM64+gEoOqCWT7Pi8+ED8ENLVGJR7oRBYNf+yPa0NCSM/8zICUTcY5SxxU1FgSHnV1XWOWs/DOpmxLTie61wyOojfT4VwuFr0vC0wiYC+/PLDOWSAoG6fp5DCaZIHzj5Erf9Sf9W13Zbxqsw72cW008X4Ukv27NDpxHhnKG3EVFDRGqegZqJ+frt3Uu1QV03M0Tbns55bxVZyCPtNUQ317DHRS238ApmJchaiden4JTcGNyYaU5OsKwYq7izej3WSRXYvRJ4CunjRfwA5/qnz0x3vkOWybcsaZA9COCAaXkKWbTu3dzRhiNhzaQ5ZwYuORwtj55jvMOu2zctXRqY5z/zOeTd9TX0lozxGLD2YXrZ08GRxSjh6kd0CMD5w26GxucCYOv8D+kk0b8mybsxmfQHz8M7x6ZP/1RqY/yYTIkSX7alPy/y1GF1GW5BH/P5FTBJ1a9XFFRfWv+YDGivCmSAAAvIb+VtI0ngA6bowmNhAe5h7/ODwJk9KEQh9XxG4DijG63dkfOLpD+tUwY003S231Tsm4uXnCWkHAJGeQQjYY9gtphDEcyx6TzmkKMnN4NdGfl5k9QmN/VAAUDHI6hoZtPHqDqtdv52V1kEskURGwCnnCbClfSIih6YYfNrqZas8wiG353q3mfaq25GCL5OEI8QYrneopUDe8tn1ZASJBiqJRxJ8KZzjdCdFUXKS6JP6lOzI/IzRgBOHpWNonOrNB6ak0WT8EML9dU/dA3f80oQAAAAKRqtJG9yrlu9LSKgexvX67SUWc8gFftbckp68HOd41GBCBqI8WBj0zZzci2zYPLfWAa4RNljYJMaeT3xX7YTP9XisTHTz6E0xr5/U439xuXhbSkKULioVs2oyGV0RfAe7gN7Yps2a2/87aaX/9t4U7vaatmo7+iSTG2rXaQybgiJjCri5p9h6RN1BBAscvKzvtL1XCl7JJi97i100QkkMEwSmZwsrYCdfFXOH6ocda/tjVTjUx7X81aacnha9GKqGTI6bY594kWvi3pFP7IRmx/YABZjp1BWc6+aUdQHkLExYM0AKlHvCqsZRMCE0l7cHQ0gKpCO2yWZF2HCRVwXg5QizU/49LUlyOSpepUnutChnoKLrV42TfL6FiVk4Gcx2B0Jovm8zLZvHbzqzTFkVKkiTITLRQwi+AgUmm4L9m09NCWp4idcSdeCnquTyXRmWeVJWOByxKS/frGXlvnyfqaoONvxsRv7PbP0BsFeynB6w44hzHcqengUh4wek+Y9fVaA2dB7mORTIFNuO8Hk+C+nt/w2hoYGwPX73IYZoLHh1IiEg3NAJNdnaweRu1XJam557p/bUmvFJK7NY/iDi7vMRk9VVUtmclVylE8p7wbwObXbr+iLE52kOI8al7BiWh3Nk8UVMN+CwHAAQLXb16rLgCE92meeU8QvwRGoJOcwcwesM2V2Rs29bBTLDnFX7VC9a/SLRmn1/k7KMrlsI0m6we3gJAeQvNxvt+dkEN86YACV6Eo9zxa0J/aRbaemN9HeTd5yU9kmgkMxjys6BmSV/yCd+/u2ww1QSJfqEg7BtwPeI92LjgfCFGbxoUbDtUPIE5ZiKBnsXg6vAn6CnmQByieFCW+gJBNOTH6RVLYCzvrMrPhQfSKQfNMnQ3ELjQ6qoli8nbPsqUoGzpJlo1MwOelXKXWTlzZI3OMT5tyrvz/aDSzXdoEAH5LwSZ5rfeft2xApXOSjs3xvQD83ET3fGTHLcpC7hQhHCDwjbg9REr34C/+k2f1pAfDtjlpPLUji4zCXkpi1lMyIm+nPChqrnNaUjiIawtf0O3rJYDNKi28r/7EPBKF1DqB1sqrII1Pg/XbRF7euKIOYCq4aJXE2OJVqCUi1dq+rW7PyDcrJpA342sNQdc1XsSe4KFeQ+KRlVulII+TEmgmTK7n5RhGgnfyIiy2Ydd7+L71OMn5ydFNGi2cmoIYpBFsczvbt4TWtCfFc/6pnosZ9TqB66IH9pJJa/vkzDGFc23EUvkTaxaFlwcf9J6/XBE+l4iClEUyh2BPNGa11KA3CnCvWBvg936986N1aVkzuYEOYyzJKPDH7t5cTi4e9Vs03R1rVHgFXdamEM1Rtj+wwYKWdeuaaaciyDMp1r5mGik0yAjBG6lNN+rXHIOE6zWfuwyjGvQ0zxfyf7hqaNQCBxVu3cBYw5gEDQOlctR+584Ei04zFmUe7iDoHAqzsYnxY+xTnb3CfkKWWwqqcHlB03qIcu4FrQhip3odUrGB/dAXe7hqeoHgJMC5r4rpNhVprUWiOdIGwrtLk2Yg34ExKaxSypu8hIIO/T2uDMURPPXaeAUupFrrFwqKifOcXaX/IEclEvlVRpgOxoLJ5MnPgwIufzC1IUvHFqizc/xi0qx9jVTV/OmjAUYVmLXhqDLTrvOuB3+ZQ+HPMMROEshd18IgooKrugiQqy3itvD4npKZjyRqOHVxWKBWdCpxyrFj83RPuENiEMl2jcBeWfVZNRABKU4N4AdvkcFYbryKAFOkTiEooToyRQIKUCAxBF1eOCykmos5wELRLEOlsU1vlukEaKJQSVPuC1HNLkF39/GJdKwTr/sjQIKpzthJfLFnPj4iReXN68qVPTqN6/O8yh12bs59i6Xj1LdwvvPbuky14wzH1NuT4t7SKCXf2Ob4xDAu46oy7eWAGUN8ZR1RdCkcxZovn0WUhn5kSybG5cS6FGYHEUiIkz1a8ogbiHgG4/TYnxpU0EcaQBD7Dk63J6qLN9tow7w/t7e0lqEoLJlvekE6QrH2iMI+fDTcLRlFaypq3AZPbTC/7knjloN1QoeyQC36QhOaT/wqJgSR3OvX1z1dnD1I4x42TP9mv8e/xofqlfNcju4dJtuTQf4MNj80ZJ7k8VdG6LGuLvNiLQy66RzCgePa+M+xIf97CV8gLVwph/TCZOaAKjkMk9sJlUE8pSPg+8emEQXv+23YPeSAWIMRjH/cOyq4lrZKhRBm9t2RWPploaAluztBAtVOUtX34pKzEg/EZl8rZaEhSXBzTF0PR9ynHC46ZoaPvUmf2h1dNo4ClWDveXwbE63i5tX5OdlR9hGt/sceLWJEHdL4XaxHXrKLZZtOYEocVOb/yB9ZMu/M5ZBR/1YRcCzzI/GIrk3bs1reY9ixlE9W2IvyJmBmRZxX04vXDAAVIb4P5U6g3h/z8v4cDAyvInblrkPJuIN4WRtXTFboGaCPKgPRqdtMPE0Evdv299abvoHfoLLr9vJ7WfT4mnJpOrXtC+DUez+dxJFoHia0Oq4S6aCdEkdachYh1tdKyDmEnbJAZainh2sgdqyNG4jGOqnxXEoQ7iNBxpMxE7Cel1OCrhXkcAnd+jLoTUIJAhw7caP3kuNJ2e4uDN/ZyZtMpTG+ufVktwguSVtUwTlAPOTak1+ZYVepCePBycVV139/+VXOJUASnSIFntDhxjTS/dC1g7RPhYk3u9ZUI2orZldZJ9T9V/6UYhKZWOxBEJK5HCC5HsupWcrDZblsjnqjivalJf8fuWdlsppxYfvAEIyTNoEpUYjfRrLWweFq5rSLYxasdA8WB8xG9whiu1yHPnh2T426l1r7060hF+gmYPy9eVH/HZd7MqUmP5jrhjNI4dfm3L6i0GpmQYF5aeFygbdmMRkb4rM3s4o6+WvQEuREqonoRzPCsIxEbKUMJU61eVU26HC4r8m50+FL534MElQgs1HzplES2xKzD8nOH2EBF1ZL80MkyXhcz0wHlHkJecw0DnF+U81HFrXFKraNtSPDYoJi4PgRPci4/4d8F9R5PKvvebNqxdRdjJHGKRHE+fh/eIyQnZYNhzgj3C5JUwIABOAxSneor8mHW/oVVJR7HqmFLmkqPlEWvMkGZt7UFZ9NWQ32s9LmEgIyGFzadhLXULo262sigOLhVdsBpG12j40e2m+jQfqzR58wgJjPDtMIu+Qq2oCqnItbyl1ba25AFnmTByWs5WZzXONpHeJgSqLgOrqA2UL9OfzoouXPoySV76GTLezdSkK7ZzozVtx4Ye7O75rFdyWQL8UgfoYSZGgcThyUm/TaMwCe2CTkM3KVOvyb+LxHl3qwr/1RBVAGQgP3tDFgcWB6FR3svrfzk+GzzNUK4nMDLhqbdVLNzhLpbARniBU3D246Bq8sf1eg582bsNjW3FdjJsU+l7Ab6s17iqNh2oMZgHy9sZYTmQcp5AAoXlOM3O6qOjFxM10gXHkJEEvRMeA+tOQSktGnv4oMcq+oF6rAL/XVOWv33Bt0eTgBYttW4CIJxVrGcxO7tqOQ9ABdb+yBC/lW4yiMyebuHcyJC0e15bCYpxESvdPRZM2D+7HcBv7GROB1M4JvZ1R/PEwmAOftARheZxfil7Q9jnRlGeuIOzBpYmje01wwHIDoihcsgcFFQhsbUD+3bKXGsDdlgIBmhsyUGCESSemPzasJgfcGYBxUIt1ULcu6FG5GWxNgl6NtXwrys/0EbrXO3AaNIP0r85vbu5SH4pthrzsu62zd0R22/LXVQNLSWqcvfAVhPiXRXgBZq6AaxJcHjrboyNeh2GFeyU3qg6lxP5Ow9iqDy18vX5SQ9gr8MpQjN7Bd1cyiZ1dHgT3T1KBVtGqjcsgLhuXkCWSKLXxUbpSS3wkJUKBZQatK2cTbE/TMLI51NzrlKMyuUYYXbFwcARZ7qf3/HJV7jS7cxklzEx9LluesODBgnr4GXIA1i/by3MRYxUsDoAt+ia9LB4nkK6ef2UCbClW9m4jS/ETkprivsrqGnetdgE3fLHViL9CZfclRLd5E3vzOhgq9lYl0rz+4t/ic+H4QSwWjXUFzmGXSW4DLbPW7LYd66o++hD6o+7v6z36wWz092HmI4uJDALzeOVuzimFE+ji33pTByGpQW86k9/tTnJmZbCmcKlDclZG6gGARc+YIXMPds9k9FTuONi9qva/qVveys1ljVU1BUhcg0jCAIE0aZZT0M1kh5G7faebGq+9zg/lH8tQONbGRsn8l5bb5trZyL0ZOmPLcszs7ibNyDYHT8TX/le/G5+D02L+2SGNJS35f9rJQXQzqJaAzdop+afDpZc9tEIV4Td0vUpEme39U7Bv94Qszd6e7jvj5cIsrohMhZ3TYHVXgxNlzptTlVohk76hQrIy1TKGL4wAAAnKml6so2QtV523lesR38py4JoteG6G0nUj5jZwMrJ0Y5ZTHf/SsD+bxb2NLYjFerCqtZcu31isuebQ3qL+f11wt7SAI4JVIUvRMErqCEaNHM8ITEdLalampS0U2nAtAd0w58v/bkDsKJsUsEg6MGM+ZF4j/q2sk4Atxl/eAhArGuMmncSijXuDUy9JcOOmYyNPQvt2Jnf1j0r6osk0ES5wvcH7/YjeNh5XqOSD9Wrb2ljYth823aTNaT2FtgEPj51h9rlhYlXFgo2FTvBDiKf06fb/qxvzcLXy7QDasmpxM4KEjvrxCds7Ou89xHJJf2QfcYDoMW9bJTCmTkjkCauvaS6VtPKIZTiz2XZ8H1MJ7DezKP0jtcUcKoo5llhrQKDhouJJKEJt3eSmsDFkjNmA6X7M31foXyWxR52p5mbUZpHm0vmTIvQOFNYDGlhg9BHXBVIdXx609ATLAW0uh3XFgIQhOtN6z1zWpRN2mNnmBlIjdlivwIXhZAAr/RL5oy1ryvTH4LFfBg0tI7IJhuc8XkA/IgBHXSG+jaCfur7IJfWdPXy7mcdyXklg8uVhYmEvJ3lUPuIRtEJFyeDH99alEVWRjjv8qE11NRwKlgCpAtiVLal1D21VntBOe96rq4TQI9wJqDFwXreldGd4IeCwab73JsAYz5GvPtfcRbZVbwGyKEbNA0DXJ2iVfrMZnUbVzXgF7cpqOVQl43YAH3aPCE5TiukK17IADeIaqXcbjwN5P0rikLhMsIloCI3xuPz43MwkY7qkzfxvgW0RclxjdnZ6ypzvMIN1a5Za0an4H3Blvp8J52CnjP7IfXufUS8/FuXiA1gIlUjD/ddzUbQDU/+34ivCF5M0tJZnyGbxCwNC5sDHTTCbczgKm9ghLzYu6offVS9vIdoMgO0LTkMk5KQWzoA6Ton0//hImAE2LsEqxJN67ElRY/18bAxzE47aF4zTvFjHy0xl6g8qL73fwsJh+IsfQmfVlsInAjMYb7edISr57NQUD2OQNITMrHAm9GbrBLoH7ZRqR+Aj+kohGOqz7W3OrQIJDsMA2H5WPuOZuRA0LNEkJPQiQBhtjFqgygpqryC5nJrqdMSak4Jl7vJTZ6hGQo3WpYKgoN1bUUISVEUxiDtMRon/FxZPNta7dcHxCbSa4tRcSq1WE2I7tdAETvxwMntY8OBlMByVCBKcWEeX1XIeZz3+/hGSuNcEX2R7joG1BXllAy9uE2njyLmZDHG48W5v3v9Ssh15D4KEA6w4bZqnU6w5hj06S7RSquQLaW6XxrZsDaP24LB46sYjLkp0OFpuoeAhUEylSZ1NOKxYsk7WIgHtANwp2iFBj68e+Vv/EYbs1oRh1CPm3ikMeIF9JSGapqYnTgewEuLLBfTXo/YXXH/Ds6EDWlF67SMHaf9lIK4ivqNRzDLX7Mg9Ha/uiEuZqIil9qYLGfTuB4BSI52nnfhJuOE49RyqpLxNgPbaqw9BDLPUIq017weijDRGjyED2jmwJihE63OkqY8rr9wNErXBLPeAPjkKeooyTtQ9UuLpmJ/M2OR6CPx3inB6aHyjUTJxPRVZKGbODapnWK2LuViTzB3zLgdMnFr0jAlSxE9S8456JLoYQtKUearD15rRmyOZBDET6+/Obo271BFlctv4wpaHcQAP+GYY0oMjTrhy7100o7E73oA2fzcnVrLYfUuG7Kh4NONgXLXU9MCt5N1O5+3SL4U4Bz/Xtxu26k65ODBehjlykrAaOtQ+06krv3rZ77Q0qIPRHagzRuEj08S/3syyfJvIcq8j6Mr0xA+3XesVOmOJIlGExR0PCZ6+LODjjKa2V9gvcNq/LyHMdsmrUQFuFrd9g9a1s+bzWzsM6iE6CTdWvhXldJWKYl7eVyvF9d8arRHz5VPNNn8gLo+nGJzqYh+54tvNUWxgFNzSG++8G6fyGn8bJQRYFY2Yp3HwblLJ6EnD/6mo6Lo8NrnVHkAt5ISQrtMLDZk3bIRzg7NZhGey0B5Nzvq+GyDIZs+f+rt7oPMta+249TjVugUHXbg3Ulj+wL7Du0/Gs7dG0wl4Kid3HWg6nPi6y03bC+C+XdWpTAknlWQ8AltW3wtDIZ0y644AN8CB3QDylqdJ4qKjHPvHAE/xRB2Vla71Sl01IJLRn3LHCzK/KOmxOSNOUB6YJvpswNP/Xr8uc2KA0nkcu68MTUnq1SzPXV1B5OsM0vXEF7HYGzhzfV4zEfcLBRm1JjRYaz/+z5BN4utqBQyp+Ot6wj+vdow6h5G11xTuCZQRVsU/Qo0IYE4Y8U56qxT9x6Tjxk+sjIjWL94J+8x5xmUp1/dLL+XiNEZdcZqXp0xTtgxkVeHD5gn/DeO1rFlEugFDF1UjrEh0Qd7sZR9S9phd3ACLn7O9fFijoju3WIAJAjhJyE06KF0mLoW2L0IopdtTfSIskX+DtqNqu7Q9IbGCCNDX1IMQQye5ekoO+cnx2IobeXLUEAbpDEiuTffrmwnqM2xV1XOaZOYrj1mQM3bEZwPweN/SW9NvEKB/xV5B0s4eonuAd5+Uqnm7yQPQtciJqhQ/a9eFblU241lvfBgMCXiwmRG8OKwSN2Q7+LUkDG75OFP1Gfhcdypk8YhTGRCDwtA24WaiKXnO+GITt8d2OMtFd5vhldsccN6P7EsRUU8S78cLPh10gyKwre7R0YB7lpRhH+Qm4kPAuXDK0MYDfoUQDLp0TulMqWNkCcn+gtENoglzOJ9ddA7lApP+UAjCTXlnscgW/WjJmT9eJ18242NU+D2RPMhaWROhEyMYO3nPrrW1bBKHNItVOBwFvQwC+stcQtwFzpK1scP0y45yfMOpdE1bLifgpxNzT38iZFek9oa1kx9cuGQJYXbmc0q8epbFHvbNjb2bDGY7fj/7PQQUTxOfWXMLSVHfx1EeNBQEcElF1bVQ6qRB21Og0cOFYtj7hzvC4ZAgPN97ln3UICtWAyfwg2IUWc60Spou0X1fNZIo3E4EBPlkIIY0PzMleKkVK85ZdBFz3LwdkE/zK5J9vIyLaqnifAv8ETLl3ozf1lTi+OfLoET9iYnaphmwP/gvsmWh5j+6jl9YGC6dH4R8fNYlULtPAJwiEZ5aI43F7J5l3KYgN+244lztEyaKhn0jbmOiJ262R/YM/rSVDtK1+2mX7aYeshvadIb7UtXgUSwIONR9Ta5g3dS7UHnEuLR2Gf5DkonWHUtGqHGglI4BO0J+AMvkQdeSsah8CzxSi+mEifUwVDsUu9Qfi8SwKKntawzxOVIfHgmHb5ut9RSCLZkO8YPSCA1Daxqdyz3KckDf+3SYfjiA3Whairk+RtbtAnp1i8CeUUk+Qjy/GashclVE+15R5ozRz9e8Ku2V0R83d9bjeJIoEsJBYN4ynVcz7S4wje7/pXcs1lXEr5ZRly12ypg381F1L/HC1Lmo0cW8UT9f3f/yTjow1V2rfVzxOSAFYx6+8BgbhIydRuU5kJbTQ4wyATqlRGE9JjO5Mm2Lw8lHUFMCsTHsT2OmmA65MHuf8yO86QxUPaW3M3dZst9n/FFF6zN9CMvm8G9wKD7+qiE/Yjm7TNnaNvF3Ob+W6fCUQBssDFS8rvpsyiwTq+tvjFE6UqdRp4ns+00AVDXKmI0r+t9Z6s3bDjdfP2mV1nAcTuDE+YIcNzN1kLOUB5H/gSKY2z3ltzqfq/ndG1VEq0qouqZ7pYiTH7dyBchO33sPT3rlkBD9pgkRMzR3cPrW0z9dxCZfXsh07EEsdJIu273USNQn3z1D9RQi/dMxmEUrXqyyxS/ofrjX+7e5yIOi7bTldFXO2tcIDQ2+opfXRIl+EhtcyZqUSFPfYY7NG/ltz1agejQFVAMxCWG8sj5b4IJhFIm7Pj4cq4Lt7OQX+g2TVKl5RpuGyGtELrccDWYnmXEAVzRnTra0q5zfSBItNrJxrGCsWk01LTitthvRgk7GVJfxVWOwSoEwFZBSgEuYZ9qI66k69dok+AphonnX8XNoLltQWfq99SNFNF1HuWKEz5WSKU/lMIjf1sNaWhjBghRS3TcKfWhhzdCz8vc7xIxm7ZGbvolaNapQZG8KURysAykE+ufMLRFBU1ZwqrhY+zIyY15fY/R0rOzgZMaQJM1zUfT5r2k1S/SJdTxeHAmaG4QUhUC7vwNqVFP4/GYaXR+bpRRqTJvhsq7CGI0OUQbyqALYcpd4U0/Oto5NgiayelyLnU3wStRyVRbvZS/KLVmUa5aaMixPlkhUZ6IoYEY+9gDZaprpLJj1T7ZcHHBvb7w3lbMVs6m9OByqgssnrTI76cuMoiE5qijdpZvrsZomY1KSy2gfEXUIJ1OkJCW8VlWRQYG5oVZqxKwg2XyefKXz5NyI2goBsyoL9cue5l9fje8GcsuxQkvzhOctrvw1HCJh0JffExnxU0pkLMONO+5l2Ob+UvnZl/UZSznPcMIm9875IxYhgx056K53HHv9qgbpJnpkP+F9R3LQ5bik7lgqWTQHPG6to9igg+JWLFOIUYMIhuX8u40PvFjA//0IOF1h8czm2HNWVIevKv2Sr5XH/yZfECHQQGhJbGu2bKEduebYVOGR7NLI2gr/ewgA8hAh5VTVYcioKyqDQ3WLLyV1Kd+nbrzHC6wSiqG7o6hIaIDTvavwRGSBH5p7JkJlOeVd2XdA8zR9TzWuOKs1+pV+zX1/p3ujyQQJ8cJzVwAQlOKvmO8Vf+uxYKMK6HtUMEv3vVS6S5ovO8ll+x6IcCWG2PVvqXsum0Ni4W63N1PKJO9ItoOYJkPLrkm+WBYlbD/P8sdbRlLJOnzhhmVbfGmE4fXgcLcGgKRSqSrFuTw54UHB/kVMhjJhmAAAAnd/O1EapF/t212crwc9ksDgLBkTNlVfzV6Ti/lB4wkOJaq4Vp2fkehqOFkBnvxHTNxqWH+WBGASZaxI+PiNPrAdzexy+r/7HbM2he16tZEYkTO4iFpjOW/pwn611nWlz8x2sCEmdi5iW0rQVWxqN7cqkdbnlh0JicEJsMR8bQoOFF4DFbOLjeeG6RQaEixzG3EOjBDAd7rFVYm9QkWi3gkIx9zbRmnjwD3Nfwf2FCAJ7om00wX66ci7VEUOSBSTACzu1JUVsOmip+28AkSvT/5Rdltt2qSZMEPDd3F+1cAVL3vullr8LaPJWedzalTUz03aZpm7hTzGsiaJdxZTVA5yA9Dx39rUkekzUvxstmjvja6x8WkyBvCRe7V8h8es9uR1xDWT5gzoiHiXT08YPd+q+G1MQ/sz8nWDy01yZZsvQPcM2SGKj9lVNlLFn+LgamaZoc2ea/2LESp6zo6uYYq7/SZ21TPdK83tpSbmZRxKMeOekQUFmvyvLhIJoUbwqL7G/RjZlOu6o6rehClWt1ZUDfzRKcpuy1AZJys6Tg1UxORoXaLdipjS1/+pCkK1fXOn/CGBGzmPg76WEZrFkBnLgpabVBhi2pKsmi8DZ4jCFNgXOhmBYgdrUXAtZ5SVaiGfZQp1JnpCIRRiCotU9zrJSV1c4xuFGBygXRWDCDmptjCA8AHV1j2iUwQTdtviy3rLD7nqfyIWZqP9f7woZN9wZjXeH9B0i/StMfwrFA7SeJJq5h/dLdsGQTLhJN1e05Ysl+fjE2X6chwd2QJf/pFpZsTPwcdUyIx4sKakiNShL2BvjTAyapOK4zOBI+rVwRvI4DIklhZaINHq1kANzlLM21l/S36iaAFd8jCEW/PfGTOEyCHl84M9tmTuMiPRuUiMXAGpDK2C34jetXZDT8SLtXwhHBUBEGtnDz2Hvo+B1+2OhNxU1gPu/gEPSO7Kc+kEtTvg8/kNs/9vEiZSIH/GLB7Jm2oguOUIKJPtER+P8JORNpoCE20nc6kYV5ZXrn3v+qWHdJdR7npwN+aqtSaVOTGwZfmOYw+2ZeLqNHKB660Y3ea2noVOKU8kmGj1Mwbc9CKMzu8ZdGL1jcJ/WaoQKJsI4ljHi4feTJzW4nKv/69/uJ+uizs3L+Xd+mcY5FOqEp/Giofq1m4ol0azCH4ENVqW2as9ibCtfWLIrY2Tan3kTSuBWtBYv8hCZtXiptklWvi/dMo6tCGGQmBiKx4p8fbmpdnS4Nn94lRgpqkH2FJyl30/6irZhvt9OaXZ8V/LXajAPVwbS8ZHYmTYRgPvfeYyRF/XV1Fliw8ph3r+HxoEkMPKslR32rvk4/SLk7CybymaDPlvDTM32DGEj49gqF75oFrfWJztQgT8VyxyuE0pffMfWrxM7ucOtpO1m7PvJZs2BuY227mWDzmqbNprlxFjsI7Gjagq5gqHKLN/0A7gdTZNz3KzFgCrSFFGyPDyZrm5YwFYQaDA2b9eeF7m0xS1xNX51qs/3tktX+7hHJDqrAC95qWMMAJRmXHxcKpebiAMzM+LwEcsiL8PFDrKwMb1gy5XTltf7jBW04AdoO6AFOKMGxZoDAUUc3sVuCT+xKovKzUG7iMJ5deEl99WrWLzm8xAITwhS4VSi0zobLJ54yz/WQB7JTev4dOgTJqxZ1J4ptYZet3aULmQDQAuYeccIN42Jhsj69SvsQ2gj4QRBxSAktbyLAqsDVgXDz7Ws8D2oPpD2VGKC2SVp5yOYc8KTITpo+oHy5HoFPvIm/PoOAqdj8ddNu3GaG9XKc2hKHwZOR2wYW2XXfqKyeX9dNCd2CJATiTjodFlwVhJZLYxdcLfOzZQuZz79AvpewK8IGyYEsz5r3HhW4QdXGJxuWCnfaB2JMVHJvbuzTJW/qLOWTjn2kjMHAgpfyCBJXHIu1l/JcqH25GoBPEyLKiNvsZiIKmFKW4Bog99ihu14Za2KzgYCuAtMech+eZ+C7lI3MU9SWLN2oGMPr2/2UnXSYt6bOIaVgag4LsMs6b8wRWme5CwcdMumSs+P9lwvJhQYDIdEC82KVZgGvikrxGIXWw6TPi/GjciuuWye6jFNs5oBrCr+kn0aBkYKDWiBjZU4YHha6RkM5rRkaeNlpn4iQoJc28sQYseD9XTT7SjPyBcuO1qMZsYJiwj3NFgiZusIyUV34B3pzB8mseLGFqCr+Tlnx4gNj+2aX4muVWarnjzTVwZh9hO9s2310y8WmIPnONhNKvkp9GPnNnO628qwaCUVU2lg95eNI7EPHv14PaEayd1qqzyXoQF8qPizmlllQsbeyzzZmDXcE32zYjSO4Aoc0ZWorTfFVdm0z34MI7pZaFk+SPAk2cWkqNdS4e2kI8tE5o/ujER4j1AgHQ2FEy0NqytZieJkfoT2S/ppxkiiLNjqUOBUiEHAzltV7L4OkZPif5mJC620F9zwjjYFxHupN2L4dQL36ftxGMMNDJJ7BD5UYQIy7qHJOdiJi0HZfDfMJ8lXbuO4fnJiw4wAALDSlvEP4GolpWjlAU6E/MYIys6ozRJm9tDnzaHHkQhRqjt5v+Ck0h7ptoLL4Q0/xbB7X6nk9P27Z1b9J4nbh3l0498X2My/cjSnQ6EePyKxmf71KjKa5chfXA95p4irZnf2mFaNaZxWwVH3mcVioPF6aXysDuyu+H/pHGhC4R/3SZmoJbtYSdbTHLQOL2RHCFj1zJHIWlOhB4LB2rryfJ1IGHUPHtjZiq2vlIpNxronOk7/abmI3uzr5XskhsJTT18V1OPin+BTtXPMSso0oT2G0DuaWVqEurBNP4+jMc1VeAHoSEssIysxSJt3TIqKTBWrmNR9OMb9S27MSNmu0ykSUgFYOaAUbdfd8YnXjfnuSGj1ALNoY+R0WDov7M6vqckbDyZyNaWiNWUOwImYUmtzLT9ivwGR1Yz9OSdjwtxl1plODIDB5r4M8DiEFl/mvQ7Qf+G4WzRQZ1F8kcleK7xF5OJE2XPrYQb1229qltNSV3PCvheUluICJF2x69wwO38iRpQZwXrsA9VxP4im80WaWPScD7QmS6uUBW7ml2hw1fF5zWTZb4jshBElhRFH1N+KVIMSnBNVBzLAnJ5rpRJnHfa23bZMmRptR7Dbi/pi+SyIWjx3xB9USL6I9ztMrrcS8FC8BBSJZ1npy77e4IkfuSx2VJyZlOxFWaMphucLu/4ZHt/NYLhP1xpQuztPgXSIIVWO1pB//TzVneKqbfx1zOnzzPKgJShMedlJ5YC8vptnkNrApUaYWpflwphaX2AgJHW9yA3/3KsQUcMNlOm3FII4yypdtQrVDjVe4N347TYwK3B5QU58ULZHP1BotoBghDwUVp8TJOA9qmdzNG79U1M/Iyr3eL/ahILLBhVdpRWCzCOjA1MAhO+l9ZbsHyPVR5K5mgB7nCODbec4XRCJuTrV2b5/O0cpBSs3ZHrNGrfoZ3trlxIKzuImpajCWFPr8FkEu+F1aTna3X3W30VCBSznnmLSDy1luYtbHiGnq6j+fXddMd73W0bfugmC912lB//c3lGyedLPpMTBpWrvGv095myXFyUSi9Uyly3fPaDyb2g+bZUetHaYqQBdlxzJXu0jtSq6IuhnLxsJgQmFt9ciFspVD+Gon1HVHD1ltEFruyMEMks+1ByaKgMH1H8QIf7O5mO5Ca8AC3SlLxKA6/MLVvzt3kRnAB04jWtdX+KjXaFwP1bFbl0HxHSJNJvH71k1D1XhhmgfYuWIXpdY9Mgfb1m2GGRUH7gyMqaRTZSZHxCJj84xbo4c/lwI29VqFq2IuMbfwkW/9O6LkGMHUvnN+Ww7WxKa2+LFHjhwGDi4Nmoe419ljL6yNMLd6PVIGCIF51Ez2q91MoMMar35w+857IybzksiysmKGqKqcazs5tYlXbPsley18Muw4yKMW/6W4kHzGp2NH9mE+ufAeuM71U8D2Gd5rcUkusCrZnf2mRgOIiWQ3Ybnvd6ZzoRQVkh1ex0BK8m43PV7S13mAyVVPcUmhXce4k3rg1ySDkGK9Y5ymfZH7gQfo3Qp/lNGBuLtmDOEMwq00Fcqbo3vfhRKOEh7GWBISUdb1ZHyUydWDly/EEnquOUybS18T5o50fNqObiLQ2Ju/etX24LpCTaDDG5IPFcyyJntw2T3VwfKXjaAG6tNuycOqvoVW3u0lyaXAxCFMW4M7l8yXMXxR6VKpWpS9QlsdJFtSFAiJJ0Ng5QKX9p7J4fy6fgkp4ZCT2+b54zLIiRdDAl/cp2z6mqmflt7MOlfIn9bJSGg+mEd4+Cz7nxxGLDdGEcCO/DCcAe5GHXj+tReKNbhD/E+Qw0giX04tSEYZ2JeUxhW8o8KB/KP8F1Fa9U3TwxnJQj4bdgdYQjsj4uvbQwSB8+wvzgPXZ5tZvra66+qfgBSPeADCSoqkh6kWumLC7eVXL8ykm0I9Y/4+lryCnejY/pCt+J+q24fadyEmx+LC1JBgKCy1BBm7VJRAXQwlQP3+fRbcTiIgLB385USL9NNAcyS6VXQD8Hr/4Tih+6E3W7sj5xdIfd5KFRMdMtZluIc8eM8mckvIFTj6XDjy2sLqE4TyYdYEv7ujbBVT3zvZZIA4BaNnydO+H9SFTlf5Otuzjy7BKzxPiYitO9Q1vEhsOh5sm3cCd6g2AZuT8Ej3HXNv3Pa1kX7HtBq68LBH8dhR9WwFCMyZYd6NxN7JLpBRSjyWMaBCrc+KtzPJarfAz1ZPHyj3iiuW7ZyirDblf0wqH6QVZtDiP1ZsquQhObH7iKREiDrjkxYN6FUYg8zNUbyP0vr8/sQOXaT+0d6v7dvurwApxys83hogKjbPH5X2JiFttpcD18Scmi1S7VYJUwd0NCf/Gm7nREcgn6B8WGB50WAMFJMjUbr37l1CBc4KdfxPhMyBtlg3pec2DnE1F2ia2PVBGLE1htyVLiS+4VBRsV08mlGwt2LwobyKIxIQKHlyloS7Ka0hD9U4NvMeDaH83DxcvIEskUWvwTtr78ucvSgAuuUNwsTjzTDt/neOareZ2wMP1vTVBP4bpmeDU1hLMGmJz7riQ9/IB5K7JSQBaEUmgqkL45bLgABnKyo2QuohAAAA6hvrpY+4OxEMubyMBygcrK+HTqDcBA+mfl5xAsAjg/nA4+NxKf30YhOs0iiZXUAAHLA99AKtE6qv/l4Ci3MfcygYmMOSnBSqY1B/JmOjhcczYArSYSmpQiPtvph2V40tnh27/cPYElHmWVCNlkjqU6iY8t+O72DmF7JH9IYdnLj8N9F5JBSqEgbYB0ci/veUL2StJEnJBh7GAC9vADcNW20la3SsgLSHCPgRlavVKGPFN1l6eJqmg/86qgGtXJIXPmpgMnNcc7S0wLiNcs6zeS6tQmvbjTjOD41K+ea65gtcn7+cs1fqjiuA/+cm+SRQ9ewSK7I5xUNjPyIG9/8PcrLzSmKY5JdoAEgXAAjk0663kdh3z9N3rAIM/wVkSkdm+KLFMjQnum721ZFSgwVKYqnHkrSGlZ33Pv5ZoRaJ2r5n7KmjArqrRJJwsdl1Nc/o6DLjxcEvoRricZrURRHq2Cpjsq9hKT/FAkmdH+0AePZ2YwvEJY/84UGWfurDGGHa9bSp7IX1SNzl9LbMaIMbm0jmCHrGPgMjqOpbWQdEnCTlGgfQdjDEWjOhSQyhefBubaN2dbzFL/v+vhaL9ZvfvVAXNE0tVG0sGei2rDEWdN/9Ti6h6CbOPAaSV2+/qgwYO4SEE16f/qarQZVpWnuq5DUP4Hc5j8T/L3UIqvcue1OpLwNsCQgu1MBQoKT0XSvr0BjT7qqbzw7iqjlAyYG8Gl2kXAn50f4Fj14rjUga1Qd6G0WxkPvsPX0CXq0qztFmdU42oiC77aE9iZyQ1v/BDoPUWGgqHC9pQikfZfwYye5VtyxNlli4T/QfuU6dIDz2KgmgNmrlwqVzpV/lZJ3bBBLQmBFe+vUcteJZNheaEuB+mTbogK5DBA9Ur7SHFra7ezm6DauAJlH9CpZAKGJZAauGkc2baIOJxJcVQ/0vZ+BCpE33aH5YrJHq9PzVZi8crE/8j3Q86N7NY1lVTooBBBTiZvo1A4e2VHtbEkt0qJEGGhOZg2pEMuJhQb/SYaZ8d4Q+Tw04RXCCqrY5SK3Q1lpeqtVLs7XtlfgLIGK2GkfA2Rx6Ea0t/pEQmp9pMZkQYyYiSDM3125yA/mlEGBpnLabVgPyOazdWAORMBP4sA3J3bOPZsVEa6prVifUj6zpGEQZrLT/ZaXcLIRPUTORUYxMX3KN7nLVto1lZjsz0FUodRgwnLlYDKwldHzIpFBmiv04Y8iCiLA2aIEBrPomRgDksLhJWlrQs8ACFGCX54LQUU7B36U6H6vSg9Z6p07uUiUTfIJNZBjbjsu0TINpkFEBJp21zh86uSA7zZnzDNCnCWFJq0HwJzlzq7Wh2i+Tm5HBLpnpDb3hcKOvb8hAoBRydAAjNaDuSvuLUaCdJEhzlel0RGYIHgjrXvuTAkauLnfJkxpFQw6bp5fTpTrTnsSI/K7RW55blLranVQfomRdBs28dYPi9Pic+XhrnGfNE1zp/4wSpPITYK8QL6Rg1JmZWdkVhzMWrwIBojqJYUITllYDm7bNr4FIaNwpzqlkip75OghDmkos+hQ3fiH5z2P+5UEiAlxwGID4ofmV5U8LdleDJ/yvkL51Rf9xffqtY2XVpkxKa1+WIIAvHEsRx+J380fOQQvUwDLWkQ9CIhrRnVkKaF4BtYnhjlS6KPRHcAcrTd6/mfA0LL5GQrhACc8xOeVwnHj8B4Msy3aeDd7sth8iixPquxPGOKg1B4QS1kLJ5JROavgAEvaqbLSwHfnZ3U97oLm4sv0+Yn4MwVox5Ve9I+yN0RLKlC5iNFjC0w8oLuAfrZ1jLPbpXAfzkqIMBzF9WF5rD02ideJMp8flBoCzSYs1q5+B0n+yGEDU4wWwiiugvwnc/eA7kX1jND6N6DL2q0xI6e8tr3er6W8BL+Os+uFWkGEfJRY9m4Hyx5ca6ZbHqDoVKwEmRQSi1yaXb0QI4cqBEdupWDYijMJF/fQEx3yNQRBCBAvePWxcQvf0iK0fTlOS9zwr94Y03+u4/RcQdVnV8RCm8n1I+ZOXg7gAjRQDv6VKWkdf5j8iP7qaYwHRSiWCiV+2JOzAuV/GP5yb1MoEqPGU7lb97YeDhST/jAPOCvGlHbs/w5pixYp9zxVEIdrBhBpz9Ktvi5u0yG7IRpQrtycnGFvdL4UJHPHdyxcESRwY0IvuWtwZnU3Xn3vqU1HOSnmBVVFJrpkehhtiszk0cmXbURH+fd3cJf48cg4APnhGirPDntvH9aBEAZkwVmH7u/pRI7dqy0oSHR2JujjUIaJWme6HhxcmV+h3N/NA9p/oszsxlKA9QfdtgQK5DCs5wrQ9d7Nh76WIACDnHSQ3PeWnJMi7Jhu4rhEnWa5nzgoDlTR79Xk2LQSoPDRlnIbL++aS0yyK1djtpKAr2+bZ2nfZSxMJ1WfMEK4wJt2Wf/UzL70hNIjkUiMpjFLUUlSW+YMlCnLkADf6QnCZdFGZUaEm5r52GKptSXfHNDpC4u7qLIeeZlQi2Yrg2mbKMIOPMdv2CRsHLvTd1NbKZYN1cg7FvK41r54DK7s+hGLA0R7ddtGguO+WeoEzNnaOZiVioYR0+LSHst9nRvldxt60O3tgQVXj5QB26KPVAeMzVfKA2gmxrnCm5oGVS6I7dzX9jHe2B1y2Id3dL4onkdqzL+V6z70fUKyFsSX3FKU054/R4c3wZzFk+qTuVSKj5ihPAo+/jD6Yv49XfvwL9YELSvR9HyniVXFY4BUcG+g661W1Z0JNb9MAr+DPU+HjYaCzzsigit7GJJe31xoz2n3aNxo1b//73RWzto7T0iSmZxNY48oGsTeMDpbGyfjDndirUrKcbciUehW0mNHMkHd4cj3iAEibnukclUB14WaU1GxxS6Cm9tP6xtcy8+v8wE2kan+VV/G1nPTXRPhuhoUswEmDXv/L/IrNA/vnpsSVobMWmiKsqAQ1Haa3j5d5AeoN9xk7gG0nxy464a/5mhO+ZJiAe5rMuXv/QXyZAKtOkGFZdgquEE0+LWfiIJz6DuyHm++s8mlItqF9y6WRTmS6bTkebFdmk3033wyro7kjuf3VgoKczZqBF0NpOpHzFthanN3u0v4d1RA17m8p+V/HbIcaDwibj+zTPhBzpylyR+fzMuAIQWhEh26oUjIeldqnFSlBSTOFWijWBOVX1E7UpSuOxCgKTQaurJly99NwY1I76p1qrcO3Bgh2DqdKo+4ougb7MUF4DtivOO4XdEaU0xwpbDkIT3oixERugZ81PD9f8hptbA3wo2c1MiZRLjT1Y1gSa21yQvwJ24Gp6OUpnF9TkRDBXStxwZEeIemNtG1Z2tWh2JeifHrxbSh+hB9UxQqVcykuPPe8CgmxXNV9xaXbZjcvcX7/Y4ImbVoDu43aC1gVtDx0zbhcHSBAASDXcax8W+JT6xKI24ZGowhwclir8+WwjDWk4N3rQ+d/HiMpJX94YQLsX3+wUGUCKmQXZ8rLc8D6YX/YCyDJWJ1/g61/pI0QCxL9zi8IOezg+/cU3lZ95PniLoJp40pH4n2OORUu3tC1OaewPm9yOjp/ca8369JDE4pqwrDZ6WTix/qUrzZHRa81QLYTQWk9lC03a2pRnReYyRMQWgQKsGzcSI3Z41sEVuHcVFY9/Y74hrGdOJ180228uPWvW6CeueT38RWUlcBk+dhZVmMefOIN/qgHRcFZVg6/X0eU0YyBK8Np3kYd/XgADK5Xs+9AFD+3ZPfGmMuzEA4iEwXARGTefHslh6ONLsQkfVlbT09tlPHtYsAOIphXn8rbTIAVR3PlM2JfL+7OCjcChPIaoKNtOXfYURrysc2QiDtJw/3fhqGvJaUeCCJHQpxnCGq/wZS4jGKt+f161ClJanpMixdiCwd466F4M0cK4P/zpTyfD3nE/ydzBtHZ2JxXDbGRQ+6cEhWS3ntro6vVJcqgIsa12C8Zi0gYzrTLmsXc4Nzarw5a0N3e3zPzglwGHZqvZIqOlgD27g7ZWqlh8hNrenLIGWwOJWtcYKRAIKYEyxcwmhCVEXh0yn+Y/XuHvgecd+sBdE/TucgzDe3gdqsCMZVISdmbBKjxYN1MCwsfNdcD7twbZRSvR/kj6eMkAozGyGX9s+N0Zv3DkNRAcTmp4YpXLXeI462G150jIsIFaWxXf101RhMpVl1jsdgI/IBCjo/+zYxX+MzwWHss1LVwJWl3D8Npsq59fBOfWmFdnnQ4E8ryWbyND8fgaDH5NyozMhxMWKP6e0DX+9EEOpe3Q+vRVYelGu71G3sA7MUgMNZwigMshQZtTvkMKBhieYI4xWK7HWkbxaWF72eJdNH3Wce8zu0gCqsr3QtDXknFc8x624ZuhL3USzMsevOP2yfobFb64NFrVtOsLXPbvXzypkfjuwolAaZMrEg5Y+qytYE9AetwwaopVEWxGYv/pVdygoe1nJ4Pz1tPlOwdE4UpA8ha+onJVboWzYD9ruPpEUaPu0lCeiQpT+9aqVWtAroXu8aCJWdqMd5djm/gwCFTWw/zK6q6hTQJhzqt471koE/U1qUpIZ67V8m5HXSiOMUa8iaCkUBlKg4M74dzjt0tuDhUwr43iiIkKadPbsj/jZcsWFz9uS4MnwHQ+/9mz2/qdoMxIkhVXmAsEotbKQaqfVjpNDmcYEXmP5HcI21pQw9YKynw8rWQyRXYHHm8n6A/fOsE9v1GG3qLt5ytj4izrGND2aOjVaE9uCKX3CZM9x96hlDFkRPGJ5Fn0yFAeKS168ZDSs7WQDhdkjCz9R+ty0jsc1qRTTimC60JzBpMHIp0IxxsnwLHQdl0+R4pKZcmJVch6kC2z8/ywEiS0hOXuFIreuuvQozXnnyhXtcPyveqjjg3WI023jPTKhuC5BufGlSQ7bQVU5nr1ajw2zD6NQvbdsqBvjIiG7nnsJk3WRtLTWCfW0zWRCKdU2AGdu5cmY/Dasg14uOa3GJ85KzbpWePSsNeeQiehpY80t0sKq69PPZ6scXFGGeLNCuIeHPwqjRqi0uUQvDH+bOYb0ISQlAAABqtMIQO5E79BfKcgcXZsCztoOewX4iFgMCnRxcWEW38kpPHGOvVwkuadVsCrgAhC3x1eGBmUKDjcI71qNFpY+8l3yJBqrisRQ0MFmvRFZ2obehxrMGg/LVB+PIZhnuUo+5P/3WvVHPSPUX7UaysqJ9qsXQICD6xYjVXEazyRjFTspsMzXCCv+8yrFIU4V6gG+KLB8aJn2CAAKUyVniPDnrcbyc3MhvbAmPxXi0fhkU2K0EVF7AhwDCIxB8q3hbMsyPTGshuq1YYwlKlve/l0WrpVlvGLvsHrnL+XLD/HgATyXhU0h34C/ZDW/xjPDjAUF+BFeXW4zF3a0kAcca+Qv6KKHHQXphQVUaNIaueKJZRyswudC8mLVo8jVaOBmNKY6yhDPZ/e4/+mftYe0IOYeIdibnwQ/pqT4jGAC9GbfFA7GJmSrV2kODqMntnlH72i1VEiFQKLnAuFhl+zj6AbcSYxslhJ1wXVwM+FkLmtgHRGPegOH9pneYPTj6gBSvk5srfTsuyYURrN+dJ+4bWDIsrOBTyeIHCU3XhGF5cexhTALt7kSph+Klrbt31ghkjeCzbS44WuDxgFKaS8zS1J7UfsWk49IGFoFTDQPJXzIXRxpx/Ma/3IwoIgaEfZpoW3Tyo1HkBszOx0ki4pEM07DZbY1WAANyF1TT+PUdQwN4/A91eJef1MUc2oJmR04zAgKrndYC5bXnVq1ePhu+VCWzxsV6D7syzMi/XU4jiSR/cnMUiwHIrEsfVFfXVKu0uD6nhhbGTUGLwjdY7a/IjN11gj6lbAvYp127d3IW07qvicM+5OCKRA5gvRY0pA6Gavb0ACXkRztf8M7kjgaLr8u2igd+e6bEfUd4Gldw7xAYfiXb1Igh5uFlRSaKM8x268POzZ6wk65tQ9N75rjYpAoq8j4g100BJNPPtrlRvpaY7IrGg6xPBFTIfMOtMxc9CED/EFFHSi57elZSGSPpmvG8WWbjiMP64mPWCsvg+fafdYzQlmZCY/r4kz9xL5a4HBDLqjkfiRWaIoaeI0fCq2sLbRNB1X1q4WhVaDRJLkQiZ1TUnVimp9Cf8mor0l3qbrIdpbNgs/Oxbg4FrTVYAX1eiHa2YGgeKi38Ktv4eTCoLYgiUJhfK9nkevxkSPiNMb61r58kCYBVx6cHa1shRYuNSw/xiOIeTOkrB6PPp6tyIQ5k10JLnrspmgm7rbkrNGXcKv9WFm7a+EmZ/2x/NVkWjkIr1VTP26mAmqXeWOFOJm1VtETqLh9d76HWr1NZgx6ovL+mPUBJonVBxUxvPIi4+LVEjP5V/AgqVJxWQqHH/INvdFLl5Xbn5zN5HfH0eu5WTR9pl3M/VADLZXvFSpjSfGd2LFXePbZMFzlkYLPqvm6qZr/P8CJVBsD48meGDreQDAeadtVEEKDXPDUc0RiVze61GiMi3FjSyQ0Dxaea9JLK/TA83lRMM2GuHNn4Z1M2JvkLJd9lCdODDnjAAO34AXGoAACdTvQONh3jXpk6cTxBV4IBsv20gOIrFilkLfo5AzL8UFXQ/kmu0jXIiYq+Crpi4/Edg/T6CKNstNAphw6swy6OGPpVALlP8PoWMHjz7uFFarc80RTOHl4xiloXwhb6J+DYqvEYhi1BIMF0GPqx72TJ9tHZGJKKZG3mMNt9qOnkUfFmB6yZ1b5hamYAawFY8NWOEIlyXngDC/Xyf3gy3CDlpmVSOz5nM2D7OMDCjee2QQX2QXdAqewDEqHA+m+II2lecJx9UWDkYRZSwhVwvnsueUaf0QRRojgQNpY0/n3/s8gOwyozljXxB0WX35vkMjDGM3HadGztG9gE9W33PHtV9QtIUKuNAl7mWqjUWdEViVH5Hf91xWpzzEg9UCwlyjtuk+Kmf5uFCtUaO28SoAZhjGM23liKX7adPi8gNrou3CBmThnTDcLHBmyf+biX1aXe90IqLRE12X7vHUg2sjlJ8JwUQsnylvNJ4xCQFcO2ps/5vKzlZf/r5aGvDqTMStRDIHbkqDcHHcjWkP+If6bgNMKXCNmKdQbkIJhf6v08ryxr07y2Knq9bhpl2etPPc2S19lxSYwGDId4sxrII0OXPGL3AbJV7wngBrqBk29VurhIGqnIpW+BfZToJ+xEKM2KCIOGnmHIgN3wMmrFyoW/H7gt8Jh87K45KbLPqtQpA9VI8Mb6+lVK4ObQMIIWKHDRGUzbX70ce7RNCTPrkp2xM1PXgIqyhl/JObs1blVytGNtT3Ua97lKOZYebHghPTH/Qef7w8Wlqao7EhGyG5xechW2EObY5ZOh7yLkV6ySNlQ77Q9nNERzGBeG7WUtTCUV7ttZ7pcQJ/R7W4eeaAiYejMoSpRRhaqq5ttU3N5mCzNZDFE+LpYLHxY7ReVZlVK+q9WodKln9JEoJXTQOpDzbSo7EWpCWWIvqnL0X/WoEvPjIHOhkYQiAHi1i/qIe6vmvegODMRexl5bWrHpR6PwL8Mw8pw4o1iye+UkTA2UpvtDBSedhmE4YbvZ3kUtuL3o2WopNbnQwi3YEWVZpJRmmLoJG/QXZzznzy21qyjGIa9Rvee+7iACvK5c6jULnujF3LVQGpczIoPhpOLO+4//9bQXnX/DAyBsAFX+cPf109k/KwR4uZJR7C+E/5cx9KMnmJ9D68eCmtANYaSR9CTHQM93E0NX75ABnN8LJlLRuzRdfBDn0pxObeOrDazjLc4FZm6G1icfWuUHrI8pkXbE8YbPGNNa5IXFAyrA230jBpuPzy/RsfL1bEGrMCxbcstEPViEtsSzBZWChtX7HRmWypOPfTxO9dHfrQIIdQ3d1MiZL7zSWJBRnDwobrz4J2mOUFb/x5oyJDVEmhONwBGVxGDHHRsv2qJacSlhEbioddpwKdE4wRLvC/bzkb3Q/QSWA/qoUAbACkC+PKLt4UpDtBoVvXBDHyqr7aTl3hE6Cg0g9FJE+sAHXC7rLDXZdbgPm9T7e+O08F5CPdhNwOv1iQ+4HO7RL1I2JJFeigjcAHgaCpKAH8Yr7imH1OYE5UGl5QcAq0XV8Yzw+AZX7Wip7pnwowj5f8UKKh+r8rQScqzLu/TrGPLXVYLg0juCmDbJ0r66MSkf5KvjDErLOwY/gop+ZGTZYq9Sz/fSTJ+fIajE0hzqJhXsUc/mJgxHKLeC0auGeSNfIA8ryedauIaUOwM8BytRAz4WTokfLauycSXZDsBJ2aYYGsaH9CzazhKLhp3G5dKMaGTJNzUgIk6JhBkVquR7AoIAnm7hnEDuIBnXGPn8hMDHo+LfAZ9d3mQ1AXax995NyrzUKYQwMnGT8Kju6rgGbW/eY5qfMNRaIbMxiu+h88SoU4dyFhyYoMMLJ73CHXksrT6frSOvnCZ1hnICQsIWuDtylJGw+g0WF4ZVTAxSawFJc12hawDzRm5B0cRRcp9E3AY/F9bMigONcsm9hKyKAkTyK21j8lQdJ0ZmPo03VmX7tTyjd9hq978V+d1pEyNKPRixAiK/r3R59D0/gEqbZFkimKaqHyF/l2tnUb2muF+SpebHz+doiRXqS8dpVhWNkoVBcPf66hTBgmUOyPSJTK+o/H+Q/+eSR1tj6AshaCLfj1sK+g5WrcUsGfz+0VVmrMRXxnqWbqMyIyy33oAkKBNIthiJ5MIIwaDEmv1yCiahJlxzLHHtfiW6K8RL0HjwbEiEx22i62eo2yYksZQ5MesZT5Xz+jL7o6hIaIAmnJUsXBhOlrPcw2ZeFNLbqYsp/dJzPDKdS/fxlm86GWXeIB82vVdO0MtT6ExsXT2yJhRRKNpZFSfeTBkyo89y0f4LbM3xKpLeIws8s2n0+1LiJMsrGYz3wDiJxmBL9vCY6mU/nTXwKkm/ugIkKtDTz7UfvUtsmwej+IfdU6+kZeM62lk7cz0GH9w8+4VXO9wjwE+P4I90IgA9mavNIUNESmXUi/dp2BagbUJm8cMKJRDJY/Fm71SvKYDcalFOkEXO/URyGEB9TTkdh8ccclQt2hWIA7QdTTSpVQhKDdMdgzCDjSWPUzp7Yxoq5TR0qsqXufk8wlsLaFU8F//Y9r2EOCWm7djudLQ4AuECJCyrH0xld6Z0jDtx+XHHZ9YAAAGMR76ng71ysp5plrymKVP9Ns/J6XjeM/f+lqgGCW0ICwRQ4QnUKtkIluUPOu6jUDeftzad7PouO0RpFF71Z+Z8MVn5HF7jGftFMIm366EBxzOAOM4V7PqNrapRDFWQ52EK1+MBO5/EYpYyhX89qPM6hR6lOkAamVMa/dvNNfcl2DDAS9qQ9gxeA/YEhfIwRs1zkClp4Y67iUcQgWMC3h04JEUXRsZw5JWlLSJDqlKJcFTscacTSXYRcgDQTzau5rfMaoBlWZjC/Tqn49PQB+0Qi+/oduWGmm7xaEVAWwl7w/1kVtAVXjk7wEgHVZPwWqkCEA9UHNYVZS9gfw+bEjFEgA++KQ0Zr0JCeqDMiNgoe3xAI8SWBCOR1zyQbiebydc6C7ygtEyve4Mo9Ms+ecSzsrA4KtmIHr4m2mbiUbs9eQ3VHYBgl0Y63JguoYdYOCLnH8n2HImJg1r0JMpiDG6IRKfqwlCkq9iv735P9EESb/8Nr+WLh3AkWmdx9DOebjdPyzqD9wu3gCmsNEufAk6b77csexH/VDnd83rJzfcXej4sfuP8Tzem8t31UkABX0AAAAAFvm5H+4nHN3LKMOKfd72LsEJHHvEgKNxgCs9YDd150FsE+lE1fc/AP14eaVTb3VzsuoiIii+4Poj+nZ3RUkQg/o5CqpgpRoBy2QyNEBlf4jNca+hERiry51lqYdkQGKlK1G3XX0zTQ8Z9OgQ0rO7Zjgl/Ihg00bAUkv+u23H8lr3jC0F/5D/k69fwUVd9ry1GFpaodulMxUflSdzmGsD0U06VaKQmiAG1wZPHTouBFCcn0df4baBYZd8JKDfIQNgVAfS5SeUNJUK6Sf1evO48EgpCThefq+qmAZd9J3PnPNQdvaH1Dvj0R13d0A+lVyxbqhzkarvqcts5X4Idyx1ueFkTI/ZP8Tzem8oj9K75BKsYNMOHR6/hTlLwbCJCXAB1u4un62AJQWXgGJ4Is0tl537bjc6Hrka4Of6J2npzlwBkEm+MsdupEtYAkHvlFzrYH60jdB4i+793WUEGxdQzPVT5hPU5CR6Afdv4LSGANk394qw/T18axXj5YMjPfKB7zKfXizdQySBI0uVM4PtjnzWHZ3cIvWPLR05Z6Y/nlfvQX87rOamJX653cHSFs7Iv24f2SkiJfpc+8HoT8w/x5Y68L8WYA+3F36KFqWjXZIl1hAkPP5dopk544yvE/5JydFbBrfjZ55UpvSyfguEcnqCJRfq6wtHd5+sT56MmP5h2SFvkW3TVL96KbqRmLPcc40zojmG4feYvNkFTp3z1ToPKykaE1UbOnmlpm/AFe8grcxF+Rv0LXUo39z5Ac1H316eWDNujnQ5i/jKx2iGQAAAbJ7cXTkvRduekLDjNBj1LWyYtik4EXXgX8AzNISfTy2wbTj2tzP7DrDca9BXembvDv5owxq/AgMY/3liUJgcsTRDdhXoABTMy6RJdyt+9sTmmIXdtDj8/WWXCX4kfKxW11idRF8mbFw4VoN0tuzYxIG2E8Tm6LqZTNWGBUGsiCG5JynmQhSBz4Bkwr+JdvsYP4xp8h7zwT8HY7G2bMrQusAAAAAAARVhJRroAAABFeGlmAABJSSoACAAAAAYAEgEDAAEAAAABAAAAGgEFAAEAAABWAAAAGwEFAAEAAABeAAAAKAEDAAEAAAACAAAAEwIDAAEAAAABAAAAaYcEAAEAAABmAAAAAAAAAEgAAAABAAAASAAAAAEAAAAGAACQBwAEAAAAMDIxMAGRBwAEAAAAAQIDAACgBwAEAAAAMDEwMAGgAwABAAAA//8AAAKgBAABAAAAQAYAAAOgBAABAAAAFAMAAAAAAAA="}},"time_used":52,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":47,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/background/10.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.286Z","timestamp":1785135592286,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/background/10.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 2222\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: f6c66d1821f5f8e9e63d27b69ae0813e-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.020\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":2222,"size_decoded":2564,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"645b1db8c93217cf6e556fb889b5f717","sha1":"523da9e818a9a8eef48b831e59f6821f432d5c00","sha256":"bea18270352eb1d0d5846089e00bf0fd0eb7de15bdc9e6532e404651842d4bf5","sha512":"05515181c203cbc5271188664f0cc158144d7feecd3769f98f14dc48821701fd197bf70aa8936738562f3b86aac1a6a1d0daf6713a8c03d152eba222e25360cb","ssdeep":"","tlshash":"2241eb2f66c04c31c50a643161df6f01facea61827900ed9dbb406619d6e5e9df6e94c","first_seen":"2026-07-27T05:44:01.822871Z","last_seen":"2026-07-27T11:04:25.215311Z","times_seen":4,"resource_available":false,"data":"UklGRqYIAABXRUJQVlA4WAoAAAAMAAAAPwYAZQIAVlA4IB4HAAAQ1QCdASpABmYCPlEokkcjoqGhIAgAcAoJaW7hd2EbQArN2vFych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ycKAA/v/j1//q0mkSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARVhJRn4AAABFeGlmAABJSSoACAAAAAUAEgEDAAEAAAABAAAAGgEFAAEAAABKAAAAGwEFAAEAAABSAAAAKAEDAAEAAAACAAAAaYcEAAEAAABaAAAAAAAAAEgAAAABAAAASAAAAAEAAAACAAKgBAABAAAAQAYAAAOgBAABAAAAZgIAAAAAAABYTVAg2wAAADw/eHBhY2tldCBiZWdpbj0iIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkdvIFhNUCBTREsgMS4wIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjwvcmRmOlJERj48L3g6eG1wbWV0YT4KPD94cGFja2V0IGVuZD0idyI/PgA="}},"time_used":48,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":48,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.531Z","timestamp":1785135592531,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:59 GMT\r\ncontent-type: application/javascript\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a2663cd-4668\"\r\nexpires: Mon, 08 Jun 2026 06:46:12 GMT\r\nlast-modified: Mon, 08 Jun 2026 06:40:13 GMT\r\nx-77-nzt: k/ZR3TbG4jt4XnHGgVi8/Twfwn98/NEuoz9HExPhGvYOXoJIvXmnHhY/XlzERLGik6389Ao\r\nx-77-nzt-ray: e2f75420f31d1dcbef01676af2246114\r\nx-77-cache: HIT\r\nx-77-age: 40\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6042,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-17T23:41:13.416027Z","times_seen":8491,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":6818,"timings":{"blocked":-1,"dns":3,"connect":8,"send":0,"wait":8,"receive":0,"ssl":6799},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/color-settings.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.797Z","timestamp":1785135591797,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/color-settings.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 389\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"489-68bf75d4-1289f5e021d77453;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 21b48fa8fa56693668d2e207e60bc769-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":1161,"size_decoded":995,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"a723adf74aa53f3661755e2acf1cc6a3","sha1":"e4470b5f92576f469e1f8c90fe06a6a8ddd91739","sha256":"f4a5f60c327a6b3ae60a1d92c6adb14f5536aa5f5c69a4c78dbad26cf834832f","sha512":"2cb57446408efb8b79d61bbc8f2215a17bde8e14685534370c16506daa685a452398e9dfe8c1a5c6398643dba532d3cf2f1d5e59616417c59f6a5e7d72933325","ssdeep":"","tlshash":"a9218c65b3aa2ce391bb337dd47984409f351033c1068ba9b93f94840fb844e227af5e","first_seen":"2023-03-07T17:50:04Z","last_seen":"2026-08-03T16:28:36.577353Z","times_seen":212,"resource_available":true,"data":"KGZ1bmN0aW9uICgkKSB7DQogICAgInVzZSBzdHJpY3QiOw0KDQogICAgJCgnLmNvbG9yLXRyaWdnZXInKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICQodGhpcykucGFyZW50KCkudG9nZ2xlQ2xhc3MoJ3Zpc2libGUtcGFsYXRlJyk7DQogICAgfSk7DQoJDQoJJCgnLmNvbG9yLXBhbGF0ZSAuY29sb3JzLWxpc3QgLnBhbGF0ZScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KCQl2YXIgbmV3VGhlbWVDb2xvciA9ICQodGhpcykuYXR0cignZGF0YS10aGVtZS1maWxlJyk7DQoJCXZhciB0YXJnZXRDU1NGaWxlID0gJCgnbGlua1tpZD0idGhlbWUtY29sb3ItZmlsZSJdJyk7DQoJICAgJCh0YXJnZXRDU1NGaWxlKS5hdHRyKCdocmVmJyxuZXdUaGVtZUNvbG9yKTsNCgkgICAkKCcuY29sb3ItcGFsYXRlIC5jb2xvcnMtbGlzdCAucGFsYXRlJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdhY3RpdmUnKTsNCgl9KTsNCg0KCQ0KCXZhciBsYXlvdXRDaGFuZ2VyQnRuID0gJCgiLmNvbG9yLXBhbGF0ZSAuYm94LXZlcnNpb24gbGkiKTsNCgl2YXIgYm9keSA9ICQoImJvZHkiKTsNCglsYXlvdXRDaGFuZ2VyQnRuLm9uKCJjbGljayIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICAgaWYgKCAkdGhpcy5oYXNDbGFzcygiYm94IikgKSB7DQogICAgICAgICAgICBib2R5LmFkZENsYXNzKCJib3gtbGF5b3V0Iik7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgIAlib2R5LnJlbW92ZUNsYXNzKCJib3gtbGF5b3V0Iik7DQogICAgCX07DQoJfSk7DQoNCg0KCXZhciBkaXJlY3Rpb25DaGFuZ2VyID0gJCgiLmNvbG9yLXBhbGF0ZSAucnRsLXZlcnNpb24gbGkiKTsNCgl2YXIgd3JhcHBlciA9ICQoIi5wYWdlLXdyYXBwZXIiKTsNCglkaXJlY3Rpb25DaGFuZ2VyLm9uKCJjbGljayIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICAgaWYgKCAkdGhpcy5oYXNDbGFzcygicnRsIikgKSB7DQogICAgICAgICAgICB3cmFwcGVyLmFkZENsYXNzKCJydGwiKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgCXdyYXBwZXIucmVtb3ZlQ2xhc3MoInJ0bCIpOw0KICAgIAl9Ow0KCX0pOw0KDQoNCn0oalF1ZXJ5KSk7"}},"time_used":75,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":61,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/bootstrap.min.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.784Z","timestamp":1785135591784,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/bootstrap.min.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 9391\r\ncache-control: public, max-age=604800\r\nexpires: Fri, 31 Jul 2026 18:45:49 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"90b5-68bf75d4-f67b657cd39852b9;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 216842\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: d18c0048c4f458904f7d716fb22a2e6f-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":37045,"size_decoded":9999,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (32033)","md5":"5869c96cc8f19086aee625d670d741f9","sha1":"430a443d74830fe9be26efca431f448c1b3740f9","sha256":"53964478a7c634e8dad34ecc303dd8048d00dce4993906de1bacf67f663486ef","sha512":"8b3b64a1bb2f9e329f02d4cd7479065630184ebaed942ee61a9ff9e1ce34c28c0eecb854458977815cf3704a8697fa8a5d096d2761f032b74b70d51da3e37f45","ssdeep":"768:o2rGy27UwlNqMl95qNmCFejhqs8snmi+CSFXfbx8Gf3Zq7Q:Jg73zhq0GvbJ3ZKQ","tlshash":"b6f28606b23031a147efb1e1525b020e7239696ee906907c78b99af53db9c48717bf3d","first_seen":"2023-03-07T01:02:54Z","last_seen":"2026-08-18T05:13:34.324764Z","times_seen":98098,"resource_available":true,"data":"LyohCiAqIEJvb3RzdHJhcCB2My4zLjcgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE2IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MXx8YlswXT4zKXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkgdmVyc2lvbiAxLjkuMSBvciBoaWdoZXIsIGJ1dCBsb3dlciB0aGFuIHZlcnNpb24gNCIpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvb3RzdHJhcCIpLGI9e1dlYmtpdFRyYW5zaXRpb246IndlYmtpdFRyYW5zaXRpb25FbmQiLE1velRyYW5zaXRpb246InRyYW5zaXRpb25lbmQiLE9UcmFuc2l0aW9uOiJvVHJhbnNpdGlvbkVuZCBvdHJhbnNpdGlvbmVuZCIsdHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCJ9O2Zvcih2YXIgYyBpbiBiKWlmKHZvaWQgMCE9PWEuc3R5bGVbY10pcmV0dXJue2VuZDpiW2NdfTtyZXR1cm4hMX1hLmZuLmVtdWxhdGVUcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKGIpe3ZhciBjPSExLGQ9dGhpczthKHRoaXMpLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe2M9ITB9KTt2YXIgZT1mdW5jdGlvbigpe2N8fGEoZCkudHJpZ2dlcihhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpfTtyZXR1cm4gc2V0VGltZW91dChlLGIpLHRoaXN9LGEoZnVuY3Rpb24oKXthLnN1cHBvcnQudHJhbnNpdGlvbj1iKCksYS5zdXBwb3J0LnRyYW5zaXRpb24mJihhLmV2ZW50LnNwZWNpYWwuYnNUcmFuc2l0aW9uRW5kPXtiaW5kVHlwZTphLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsZGVsZWdhdGVUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxoYW5kbGU6ZnVuY3Rpb24oYil7aWYoYShiLnRhcmdldCkuaXModGhpcykpcmV0dXJuIGIuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5hbGVydCIpO2V8fGMuZGF0YSgiYnMuYWxlcnQiLGU9bmV3IGQodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXS5jYWxsKGMpfSl9dmFyIGM9J1tkYXRhLWRpc21pc3M9ImFsZXJ0Il0nLGQ9ZnVuY3Rpb24oYil7YShiKS5vbigiY2xpY2siLGMsdGhpcy5jbG9zZSl9O2QuVkVSU0lPTj0iMy4zLjciLGQuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsZC5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oYil7ZnVuY3Rpb24gYygpe2cuZGV0YWNoKCkudHJpZ2dlcigiY2xvc2VkLmJzLmFsZXJ0IikucmVtb3ZlKCl9dmFyIGU9YSh0aGlzKSxmPWUuYXR0cigiZGF0YS10YXJnZXQiKTtmfHwoZj1lLmF0dHIoImhyZWYiKSxmPWYmJmYucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSk7dmFyIGc9YSgiIyI9PT1mP1tdOmYpO2ImJmIucHJldmVudERlZmF1bHQoKSxnLmxlbmd0aHx8KGc9ZS5jbG9zZXN0KCIuYWxlcnQiKSksZy50cmlnZ2VyKGI9YS5FdmVudCgiY2xvc2UuYnMuYWxlcnQiKSksYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KGcucmVtb3ZlQ2xhc3MoImluIiksYS5zdXBwb3J0LnRyYW5zaXRpb24mJmcuaGFzQ2xhc3MoImZhZGUiKT9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixjKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pOmMoKSl9O3ZhciBlPWEuZm4uYWxlcnQ7YS5mbi5hbGVydD1iLGEuZm4uYWxlcnQuQ29uc3RydWN0b3I9ZCxhLmZuLmFsZXJ0Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5hbGVydD1lLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5hbGVydC5kYXRhLWFwaSIsYyxkLnByb3RvdHlwZS5jbG9zZSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5idXR0b24iKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjtlfHxkLmRhdGEoImJzLmJ1dHRvbiIsZT1uZXcgYyh0aGlzLGYpKSwidG9nZ2xlIj09Yj9lLnRvZ2dsZSgpOmImJmUuc2V0U3RhdGUoYil9KX12YXIgYz1mdW5jdGlvbihiLGQpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxkKSx0aGlzLmlzTG9hZGluZz0hMX07Yy5WRVJTSU9OPSIzLjMuNyIsYy5ERUZBVUxUUz17bG9hZGluZ1RleHQ6ImxvYWRpbmcuLi4ifSxjLnByb3RvdHlwZS5zZXRTdGF0ZT1mdW5jdGlvbihiKXt2YXIgYz0iZGlzYWJsZWQiLGQ9dGhpcy4kZWxlbWVudCxlPWQuaXMoImlucHV0Iik/InZhbCI6Imh0bWwiLGY9ZC5kYXRhKCk7Yis9IlRleHQiLG51bGw9PWYucmVzZXRUZXh0JiZkLmRhdGEoInJlc2V0VGV4dCIsZFtlXSgpKSxzZXRUaW1lb3V0KGEucHJveHkoZnVuY3Rpb24oKXtkW2VdKG51bGw9PWZbYl0/dGhpcy5vcHRpb25zW2JdOmZbYl0pLCJsb2FkaW5nVGV4dCI9PWI/KHRoaXMuaXNMb2FkaW5nPSEwLGQuYWRkQ2xhc3MoYykuYXR0cihjLGMpLnByb3AoYywhMCkpOnRoaXMuaXNMb2FkaW5nJiYodGhpcy5pc0xvYWRpbmc9ITEsZC5yZW1vdmVDbGFzcyhjKS5yZW1vdmVBdHRyKGMpLnByb3AoYywhMSkpfSx0aGlzKSwwKX0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dmFyIGE9ITAsYj10aGlzLiRlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLXRvZ2dsZT0iYnV0dG9ucyJdJyk7aWYoYi5sZW5ndGgpe3ZhciBjPXRoaXMuJGVsZW1lbnQuZmluZCgiaW5wdXQiKTsicmFkaW8iPT1jLnByb3AoInR5cGUiKT8oYy5wcm9wKCJjaGVja2VkIikmJihhPSExKSxiLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiYWN0aXZlIikpOiJjaGVja2JveCI9PWMucHJvcCgidHlwZSIpJiYoYy5wcm9wKCJjaGVja2VkIikhPT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSYmKGE9ITEpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpKSxjLnByb3AoImNoZWNrZWQiLHRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImFjdGl2ZSIpKSxhJiZjLnRyaWdnZXIoImNoYW5nZSIpfWVsc2UgdGhpcy4kZWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCF0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcygiYWN0aXZlIil9O3ZhciBkPWEuZm4uYnV0dG9uO2EuZm4uYnV0dG9uPWIsYS5mbi5idXR0b24uQ29uc3RydWN0b3I9YyxhLmZuLmJ1dHRvbi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uYnV0dG9uPWQsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihjKXt2YXIgZD1hKGMudGFyZ2V0KS5jbG9zZXN0KCIuYnRuIik7Yi5jYWxsKGQsInRvZ2dsZSIpLGEoYy50YXJnZXQpLmlzKCdpbnB1dFt0eXBlPSJyYWRpbyJdLCBpbnB1dFt0eXBlPSJjaGVja2JveCJdJyl8fChjLnByZXZlbnREZWZhdWx0KCksZC5pcygiaW5wdXQsYnV0dG9uIik/ZC50cmlnZ2VyKCJmb2N1cyIpOmQuZmluZCgiaW5wdXQ6dmlzaWJsZSxidXR0b246dmlzaWJsZSIpLmZpcnN0KCkudHJpZ2dlcigiZm9jdXMiKSl9KS5vbigiZm9jdXMuYnMuYnV0dG9uLmRhdGEtYXBpIGJsdXIuYnMuYnV0dG9uLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlXj0iYnV0dG9uIl0nLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLmNsb3Nlc3QoIi5idG4iKS50b2dnbGVDbGFzcygiZm9jdXMiLC9eZm9jdXMoaW4pPyQvLnRlc3QoYi50eXBlKSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmNhcm91c2VsIiksZj1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYiksZz0ic3RyaW5nIj09dHlwZW9mIGI/YjpmLnNsaWRlO2V8fGQuZGF0YSgiYnMuY2Fyb3VzZWwiLGU9bmV3IGModGhpcyxmKSksIm51bWJlciI9PXR5cGVvZiBiP2UudG8oYik6Zz9lW2ddKCk6Zi5pbnRlcnZhbCYmZS5wYXVzZSgpLmN5Y2xlKCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRpbmRpY2F0b3JzPXRoaXMuJGVsZW1lbnQuZmluZCgiLmNhcm91c2VsLWluZGljYXRvcnMiKSx0aGlzLm9wdGlvbnM9Yyx0aGlzLnBhdXNlZD1udWxsLHRoaXMuc2xpZGluZz1udWxsLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLiRhY3RpdmU9bnVsbCx0aGlzLiRpdGVtcz1udWxsLHRoaXMub3B0aW9ucy5rZXlib2FyZCYmdGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi5icy5jYXJvdXNlbCIsYS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykpLCJob3ZlciI9PXRoaXMub3B0aW9ucy5wYXVzZSYmISgib250b3VjaHN0YXJ0ImluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJnRoaXMuJGVsZW1lbnQub24oIm1vdXNlZW50ZXIuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5wYXVzZSx0aGlzKSkub24oIm1vdXNlbGVhdmUuYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5jeWNsZSx0aGlzKSl9O2MuVkVSU0lPTj0iMy4zLjciLGMuVFJBTlNJVElPTl9EVVJBVElPTj02MDAsYy5ERUZBVUxUUz17aW50ZXJ2YWw6NWUzLHBhdXNlOiJob3ZlciIsd3JhcDohMCxrZXlib2FyZDohMH0sYy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihhKXtpZighL2lucHV0fHRleHRhcmVhL2kudGVzdChhLnRhcmdldC50YWdOYW1lKSl7c3dpdGNoKGEud2hpY2gpe2Nhc2UgMzc6dGhpcy5wcmV2KCk7YnJlYWs7Y2FzZSAzOTp0aGlzLm5leHQoKTticmVhaztkZWZhdWx0OnJldHVybn1hLnByZXZlbnREZWZhdWx0KCl9fSxjLnByb3RvdHlwZS5jeWNsZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSExKSx0aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMub3B0aW9ucy5pbnRlcnZhbCYmIXRoaXMucGF1c2VkJiYodGhpcy5pbnRlcnZhbD1zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMubmV4dCx0aGlzKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwpKSx0aGlzfSxjLnByb3RvdHlwZS5nZXRJdGVtSW5kZXg9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuJGl0ZW1zPWEucGFyZW50KCkuY2hpbGRyZW4oIi5pdGVtIiksdGhpcy4kaXRlbXMuaW5kZXgoYXx8dGhpcy4kYWN0aXZlKX0sYy5wcm90b3R5cGUuZ2V0SXRlbUZvckRpcmVjdGlvbj1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0SXRlbUluZGV4KGIpLGQ9InByZXYiPT1hJiYwPT09Y3x8Im5leHQiPT1hJiZjPT10aGlzLiRpdGVtcy5sZW5ndGgtMTtpZihkJiYhdGhpcy5vcHRpb25zLndyYXApcmV0dXJuIGI7dmFyIGU9InByZXYiPT1hPy0xOjEsZj0oYytlKSV0aGlzLiRpdGVtcy5sZW5ndGg7cmV0dXJuIHRoaXMuJGl0ZW1zLmVxKGYpfSxjLnByb3RvdHlwZS50bz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLGM9dGhpcy5nZXRJdGVtSW5kZXgodGhpcy4kYWN0aXZlPXRoaXMuJGVsZW1lbnQuZmluZCgiLml0ZW0uYWN0aXZlIikpO2lmKCEoYT50aGlzLiRpdGVtcy5sZW5ndGgtMXx8YTwwKSlyZXR1cm4gdGhpcy5zbGlkaW5nP3RoaXMuJGVsZW1lbnQub25lKCJzbGlkLmJzLmNhcm91c2VsIixmdW5jdGlvbigpe2IudG8oYSl9KTpjPT1hP3RoaXMucGF1c2UoKS5jeWNsZSgpOnRoaXMuc2xpZGUoYT5jPyJuZXh0IjoicHJldiIsdGhpcy4kaXRlbXMuZXEoYSkpfSxjLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbihiKXtyZXR1cm4gYnx8KHRoaXMucGF1c2VkPSEwKSx0aGlzLiRlbGVtZW50LmZpbmQoIi5uZXh0LCAucHJldiIpLmxlbmd0aCYmYS5zdXBwb3J0LnRyYW5zaXRpb24mJih0aGlzLiRlbGVtZW50LnRyaWdnZXIoYS5zdXBwb3J0LnRyYW5zaXRpb24uZW5kKSx0aGlzLmN5Y2xlKCEwKSksdGhpcy5pbnRlcnZhbD1jbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXN9LGMucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oKXtpZighdGhpcy5zbGlkaW5nKXJldHVybiB0aGlzLnNsaWRlKCJuZXh0Iil9LGMucHJvdG90eXBlLnByZXY9ZnVuY3Rpb24oKXtpZighdGhpcy5zbGlkaW5nKXJldHVybiB0aGlzLnNsaWRlKCJwcmV2Iil9LGMucHJvdG90eXBlLnNsaWRlPWZ1bmN0aW9uKGIsZCl7dmFyIGU9dGhpcy4kZWxlbWVudC5maW5kKCIuaXRlbS5hY3RpdmUiKSxmPWR8fHRoaXMuZ2V0SXRlbUZvckRpcmVjdGlvbihiLGUpLGc9dGhpcy5pbnRlcnZhbCxoPSJuZXh0Ij09Yj8ibGVmdCI6InJpZ2h0IixpPXRoaXM7aWYoZi5oYXNDbGFzcygiYWN0aXZlIikpcmV0dXJuIHRoaXMuc2xpZGluZz0hMTt2YXIgaj1mWzBdLGs9YS5FdmVudCgic2xpZGUuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OmosZGlyZWN0aW9uOmh9KTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoayksIWsuaXNEZWZhdWx0UHJldmVudGVkKCkpe2lmKHRoaXMuc2xpZGluZz0hMCxnJiZ0aGlzLnBhdXNlKCksdGhpcy4kaW5kaWNhdG9ycy5sZW5ndGgpe3RoaXMuJGluZGljYXRvcnMuZmluZCgiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTt2YXIgbD1hKHRoaXMuJGluZGljYXRvcnMuY2hpbGRyZW4oKVt0aGlzLmdldEl0ZW1JbmRleChmKV0pO2wmJmwuYWRkQ2xhc3MoImFjdGl2ZSIpfXZhciBtPWEuRXZlbnQoInNsaWQuYnMuY2Fyb3VzZWwiLHtyZWxhdGVkVGFyZ2V0OmosZGlyZWN0aW9uOmh9KTtyZXR1cm4gYS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoInNsaWRlIik/KGYuYWRkQ2xhc3MoYiksZlswXS5vZmZzZXRXaWR0aCxlLmFkZENsYXNzKGgpLGYuYWRkQ2xhc3MoaCksZS5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtmLnJlbW92ZUNsYXNzKFtiLGhdLmpvaW4oIiAiKSkuYWRkQ2xhc3MoImFjdGl2ZSIpLGUucmVtb3ZlQ2xhc3MoWyJhY3RpdmUiLGhdLmpvaW4oIiAiKSksaS5zbGlkaW5nPSExLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLiRlbGVtZW50LnRyaWdnZXIobSl9LDApfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKSk6KGUucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLGYuYWRkQ2xhc3MoImFjdGl2ZSIpLHRoaXMuc2xpZGluZz0hMSx0aGlzLiRlbGVtZW50LnRyaWdnZXIobSkpLGcmJnRoaXMuY3ljbGUoKSx0aGlzfX07dmFyIGQ9YS5mbi5jYXJvdXNlbDthLmZuLmNhcm91c2VsPWIsYS5mbi5jYXJvdXNlbC5Db25zdHJ1Y3Rvcj1jLGEuZm4uY2Fyb3VzZWwubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmNhcm91c2VsPWQsdGhpc307dmFyIGU9ZnVuY3Rpb24oYyl7dmFyIGQsZT1hKHRoaXMpLGY9YShlLmF0dHIoImRhdGEtdGFyZ2V0Iil8fChkPWUuYXR0cigiaHJlZiIpKSYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpKTtpZihmLmhhc0NsYXNzKCJjYXJvdXNlbCIpKXt2YXIgZz1hLmV4dGVuZCh7fSxmLmRhdGEoKSxlLmRhdGEoKSksaD1lLmF0dHIoImRhdGEtc2xpZGUtdG8iKTtoJiYoZy5pbnRlcnZhbD0hMSksYi5jYWxsKGYsZyksaCYmZi5kYXRhKCJicy5jYXJvdXNlbCIpLnRvKGgpLGMucHJldmVudERlZmF1bHQoKX19O2EoZG9jdW1lbnQpLm9uKCJjbGljay5icy5jYXJvdXNlbC5kYXRhLWFwaSIsIltkYXRhLXNsaWRlXSIsZSkub24oImNsaWNrLmJzLmNhcm91c2VsLmRhdGEtYXBpIiwiW2RhdGEtc2xpZGUtdG9dIixlKSxhKHdpbmRvdykub24oImxvYWQiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtcmlkZT0iY2Fyb3VzZWwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpO2IuY2FsbChjLGMuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3ZhciBjLGQ9Yi5hdHRyKCJkYXRhLXRhcmdldCIpfHwoYz1iLmF0dHIoImhyZWYiKSkmJmMucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKTtyZXR1cm4gYShkKX1mdW5jdGlvbiBjKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGU9Yy5kYXRhKCJicy5jb2xsYXBzZSIpLGY9YS5leHRlbmQoe30sZC5ERUZBVUxUUyxjLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGImJmIpOyFlJiZmLnRvZ2dsZSYmL3Nob3d8aGlkZS8udGVzdChiKSYmKGYudG9nZ2xlPSExKSxlfHxjLmRhdGEoImJzLmNvbGxhcHNlIixlPW5ldyBkKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpfSl9dmFyIGQ9ZnVuY3Rpb24oYixjKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGQuREVGQVVMVFMsYyksdGhpcy4kdHJpZ2dlcj1hKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1baHJlZj0iIycrYi5pZCsnIl0sW2RhdGEtdG9nZ2xlPSJjb2xsYXBzZSJdW2RhdGEtdGFyZ2V0PSIjJytiLmlkKyciXScpLHRoaXMudHJhbnNpdGlvbmluZz1udWxsLHRoaXMub3B0aW9ucy5wYXJlbnQ/dGhpcy4kcGFyZW50PXRoaXMuZ2V0UGFyZW50KCk6dGhpcy5hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy4kZWxlbWVudCx0aGlzLiR0cmlnZ2VyKSx0aGlzLm9wdGlvbnMudG9nZ2xlJiZ0aGlzLnRvZ2dsZSgpfTtkLlZFUlNJT049IjMuMy43IixkLlRSQU5TSVRJT05fRFVSQVRJT049MzUwLGQuREVGQVVMVFM9e3RvZ2dsZTohMH0sZC5wcm90b3R5cGUuZGltZW5zaW9uPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy4kZWxlbWVudC5oYXNDbGFzcygid2lkdGgiKTtyZXR1cm4gYT8id2lkdGgiOiJoZWlnaHQifSxkLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7aWYoIXRoaXMudHJhbnNpdGlvbmluZyYmIXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImluIikpe3ZhciBiLGU9dGhpcy4kcGFyZW50JiZ0aGlzLiRwYXJlbnQuY2hpbGRyZW4oIi5wYW5lbCIpLmNoaWxkcmVuKCIuaW4sIC5jb2xsYXBzaW5nIik7aWYoIShlJiZlLmxlbmd0aCYmKGI9ZS5kYXRhKCJicy5jb2xsYXBzZSIpLGImJmIudHJhbnNpdGlvbmluZykpKXt2YXIgZj1hLkV2ZW50KCJzaG93LmJzLmNvbGxhcHNlIik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGYpLCFmLmlzRGVmYXVsdFByZXZlbnRlZCgpKXtlJiZlLmxlbmd0aCYmKGMuY2FsbChlLCJoaWRlIiksYnx8ZS5kYXRhKCJicy5jb2xsYXBzZSIsbnVsbCkpO3ZhciBnPXRoaXMuZGltZW5zaW9uKCk7dGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2UiKS5hZGRDbGFzcygiY29sbGFwc2luZyIpW2ddKDApLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLiR0cmlnZ2VyLnJlbW92ZUNsYXNzKCJjb2xsYXBzZWQiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksdGhpcy50cmFuc2l0aW9uaW5nPTE7dmFyIGg9ZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzaW5nIikuYWRkQ2xhc3MoImNvbGxhcHNlIGluIilbZ10oIiIpLHRoaXMudHJhbnNpdGlvbmluZz0wLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigic2hvd24uYnMuY29sbGFwc2UiKX07aWYoIWEuc3VwcG9ydC50cmFuc2l0aW9uKXJldHVybiBoLmNhbGwodGhpcyk7dmFyIGk9YS5jYW1lbENhc2UoWyJzY3JvbGwiLGddLmpvaW4oIi0iKSk7dGhpcy4kZWxlbWVudC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eShoLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChkLlRSQU5TSVRJT05fRFVSQVRJT04pW2ddKHRoaXMuJGVsZW1lbnRbMF1baV0pfX19fSxkLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKCl7aWYoIXRoaXMudHJhbnNpdGlvbmluZyYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSl7dmFyIGI9YS5FdmVudCgiaGlkZS5icy5jb2xsYXBzZSIpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihiKSwhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGM9dGhpcy5kaW1lbnNpb24oKTt0aGlzLiRlbGVtZW50W2NdKHRoaXMuJGVsZW1lbnRbY10oKSlbMF0ub2Zmc2V0SGVpZ2h0LHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3MoImNvbGxhcHNpbmciKS5yZW1vdmVDbGFzcygiY29sbGFwc2UgaW4iKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSksdGhpcy4kdHJpZ2dlci5hZGRDbGFzcygiY29sbGFwc2VkIikuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLHRoaXMudHJhbnNpdGlvbmluZz0xO3ZhciBlPWZ1bmN0aW9uKCl7dGhpcy50cmFuc2l0aW9uaW5nPTAsdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiY29sbGFwc2luZyIpLmFkZENsYXNzKCJjb2xsYXBzZSIpLnRyaWdnZXIoImhpZGRlbi5icy5jb2xsYXBzZSIpfTtyZXR1cm4gYS5zdXBwb3J0LnRyYW5zaXRpb24/dm9pZCB0aGlzLiRlbGVtZW50W2NdKDApLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixhLnByb3h5KGUsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGQuVFJBTlNJVElPTl9EVVJBVElPTik6ZS5jYWxsKHRoaXMpfX19LGQucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbigpe3RoaXNbdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKT8iaGlkZSI6InNob3ciXSgpfSxkLnByb3RvdHlwZS5nZXRQYXJlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzLm9wdGlvbnMucGFyZW50KS5maW5kKCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1bZGF0YS1wYXJlbnQ9IicrdGhpcy5vcHRpb25zLnBhcmVudCsnIl0nKS5lYWNoKGEucHJveHkoZnVuY3Rpb24oYyxkKXt2YXIgZT1hKGQpO3RoaXMuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGIoZSksZSl9LHRoaXMpKS5lbmQoKX0sZC5wcm90b3R5cGUuYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5oYXNDbGFzcygiaW4iKTthLmF0dHIoImFyaWEtZXhwYW5kZWQiLGMpLGIudG9nZ2xlQ2xhc3MoImNvbGxhcHNlZCIsIWMpLmF0dHIoImFyaWEtZXhwYW5kZWQiLGMpfTt2YXIgZT1hLmZuLmNvbGxhcHNlO2EuZm4uY29sbGFwc2U9YyxhLmZuLmNvbGxhcHNlLkNvbnN0cnVjdG9yPWQsYS5mbi5jb2xsYXBzZS5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uY29sbGFwc2U9ZSx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuY29sbGFwc2UuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl0nLGZ1bmN0aW9uKGQpe3ZhciBlPWEodGhpcyk7ZS5hdHRyKCJkYXRhLXRhcmdldCIpfHxkLnByZXZlbnREZWZhdWx0KCk7dmFyIGY9YihlKSxnPWYuZGF0YSgiYnMuY29sbGFwc2UiKSxoPWc/InRvZ2dsZSI6ZS5kYXRhKCk7Yy5jYWxsKGYsaCl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7dmFyIGM9Yi5hdHRyKCJkYXRhLXRhcmdldCIpO2N8fChjPWIuYXR0cigiaHJlZiIpLGM9YyYmLyNbQS1aYS16XS8udGVzdChjKSYmYy5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKTt2YXIgZD1jJiZhKGMpO3JldHVybiBkJiZkLmxlbmd0aD9kOmIucGFyZW50KCl9ZnVuY3Rpb24gYyhjKXtjJiYzPT09Yy53aGljaHx8KGEoZSkucmVtb3ZlKCksYShmKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWIoZCksZj17cmVsYXRlZFRhcmdldDp0aGlzfTtlLmhhc0NsYXNzKCJvcGVuIikmJihjJiYiY2xpY2siPT1jLnR5cGUmJi9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoYy50YXJnZXQudGFnTmFtZSkmJmEuY29udGFpbnMoZVswXSxjLnRhcmdldCl8fChlLnRyaWdnZXIoYz1hLkV2ZW50KCJoaWRlLmJzLmRyb3Bkb3duIixmKSksYy5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KGQuYXR0cigiYXJpYS1leHBhbmRlZCIsImZhbHNlIiksZS5yZW1vdmVDbGFzcygib3BlbiIpLnRyaWdnZXIoYS5FdmVudCgiaGlkZGVuLmJzLmRyb3Bkb3duIixmKSkpKSl9KSl9ZnVuY3Rpb24gZChiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxkPWMuZGF0YSgiYnMuZHJvcGRvd24iKTtkfHxjLmRhdGEoImJzLmRyb3Bkb3duIixkPW5ldyBnKHRoaXMpKSwic3RyaW5nIj09dHlwZW9mIGImJmRbYl0uY2FsbChjKX0pfXZhciBlPSIuZHJvcGRvd24tYmFja2Ryb3AiLGY9J1tkYXRhLXRvZ2dsZT0iZHJvcGRvd24iXScsZz1mdW5jdGlvbihiKXthKGIpLm9uKCJjbGljay5icy5kcm9wZG93biIsdGhpcy50b2dnbGUpfTtnLlZFUlNJT049IjMuMy43IixnLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oZCl7dmFyIGU9YSh0aGlzKTtpZighZS5pcygiLmRpc2FibGVkLCA6ZGlzYWJsZWQiKSl7dmFyIGY9YihlKSxnPWYuaGFzQ2xhc3MoIm9wZW4iKTtpZihjKCksIWcpeyJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiYhZi5jbG9zZXN0KCIubmF2YmFyLW5hdiIpLmxlbmd0aCYmYShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYWRkQ2xhc3MoImRyb3Bkb3duLWJhY2tkcm9wIikuaW5zZXJ0QWZ0ZXIoYSh0aGlzKSkub24oImNsaWNrIixjKTt2YXIgaD17cmVsYXRlZFRhcmdldDp0aGlzfTtpZihmLnRyaWdnZXIoZD1hLkV2ZW50KCJzaG93LmJzLmRyb3Bkb3duIixoKSksZC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm47ZS50cmlnZ2VyKCJmb2N1cyIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJ0cnVlIiksZi50b2dnbGVDbGFzcygib3BlbiIpLnRyaWdnZXIoYS5FdmVudCgic2hvd24uYnMuZHJvcGRvd24iLGgpKX1yZXR1cm4hMX19LGcucHJvdG90eXBlLmtleWRvd249ZnVuY3Rpb24oYyl7aWYoLygzOHw0MHwyN3wzMikvLnRlc3QoYy53aGljaCkmJiEvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGMudGFyZ2V0LnRhZ05hbWUpKXt2YXIgZD1hKHRoaXMpO2lmKGMucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpLCFkLmlzKCIuZGlzYWJsZWQsIDpkaXNhYmxlZCIpKXt2YXIgZT1iKGQpLGc9ZS5oYXNDbGFzcygib3BlbiIpO2lmKCFnJiYyNyE9Yy53aGljaHx8ZyYmMjc9PWMud2hpY2gpcmV0dXJuIDI3PT1jLndoaWNoJiZlLmZpbmQoZikudHJpZ2dlcigiZm9jdXMiKSxkLnRyaWdnZXIoImNsaWNrIik7dmFyIGg9IiBsaTpub3QoLmRpc2FibGVkKTp2aXNpYmxlIGEiLGk9ZS5maW5kKCIuZHJvcGRvd24tbWVudSIraCk7aWYoaS5sZW5ndGgpe3ZhciBqPWkuaW5kZXgoYy50YXJnZXQpOzM4PT1jLndoaWNoJiZqPjAmJmotLSw0MD09Yy53aGljaCYmajxpLmxlbmd0aC0xJiZqKyssfmp8fChqPTApLGkuZXEoaikudHJpZ2dlcigiZm9jdXMiKX19fX07dmFyIGg9YS5mbi5kcm9wZG93bjthLmZuLmRyb3Bkb3duPWQsYS5mbi5kcm9wZG93bi5Db25zdHJ1Y3Rvcj1nLGEuZm4uZHJvcGRvd24ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmRyb3Bkb3duPWgsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIixjKS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLCIuZHJvcGRvd24gZm9ybSIsZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGFnYXRpb24oKX0pLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsZixnLnByb3RvdHlwZS50b2dnbGUpLm9uKCJrZXlkb3duLmJzLmRyb3Bkb3duLmRhdGEtYXBpIixmLGcucHJvdG90eXBlLmtleWRvd24pLm9uKCJrZXlkb3duLmJzLmRyb3Bkb3duLmRhdGEtYXBpIiwiLmRyb3Bkb3duLW1lbnUiLGcucHJvdG90eXBlLmtleWRvd24pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiLGQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1hKHRoaXMpLGY9ZS5kYXRhKCJicy5tb2RhbCIpLGc9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxlLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGImJmIpO2Z8fGUuZGF0YSgiYnMubW9kYWwiLGY9bmV3IGModGhpcyxnKSksInN0cmluZyI9PXR5cGVvZiBiP2ZbYl0oZCk6Zy5zaG93JiZmLnNob3coZCl9KX12YXIgYz1mdW5jdGlvbihiLGMpe3RoaXMub3B0aW9ucz1jLHRoaXMuJGJvZHk9YShkb2N1bWVudC5ib2R5KSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy4kZGlhbG9nPXRoaXMuJGVsZW1lbnQuZmluZCgiLm1vZGFsLWRpYWxvZyIpLHRoaXMuJGJhY2tkcm9wPW51bGwsdGhpcy5pc1Nob3duPW51bGwsdGhpcy5vcmlnaW5hbEJvZHlQYWQ9bnVsbCx0aGlzLnNjcm9sbGJhcldpZHRoPTAsdGhpcy5pZ25vcmVCYWNrZHJvcENsaWNrPSExLHRoaXMub3B0aW9ucy5yZW1vdGUmJnRoaXMuJGVsZW1lbnQuZmluZCgiLm1vZGFsLWNvbnRlbnQiKS5sb2FkKHRoaXMub3B0aW9ucy5yZW1vdGUsYS5wcm94eShmdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQudHJpZ2dlcigibG9hZGVkLmJzLm1vZGFsIil9LHRoaXMpKX07Yy5WRVJTSU9OPSIzLjMuNyIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTMwMCxjLkJBQ0tEUk9QX1RSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2JhY2tkcm9wOiEwLGtleWJvYXJkOiEwLHNob3c6ITB9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pc1Nob3duP3RoaXMuaGlkZSgpOnRoaXMuc2hvdyhhKX0sYy5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbihiKXt2YXIgZD10aGlzLGU9YS5FdmVudCgic2hvdy5icy5tb2RhbCIse3JlbGF0ZWRUYXJnZXQ6Yn0pO3RoaXMuJGVsZW1lbnQudHJpZ2dlcihlKSx0aGlzLmlzU2hvd258fGUuaXNEZWZhdWx0UHJldmVudGVkKCl8fCh0aGlzLmlzU2hvd249ITAsdGhpcy5jaGVja1Njcm9sbGJhcigpLHRoaXMuc2V0U2Nyb2xsYmFyKCksdGhpcy4kYm9keS5hZGRDbGFzcygibW9kYWwtb3BlbiIpLHRoaXMuZXNjYXBlKCksdGhpcy5yZXNpemUoKSx0aGlzLiRlbGVtZW50Lm9uKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIiwnW2RhdGEtZGlzbWlzcz0ibW9kYWwiXScsYS5wcm94eSh0aGlzLmhpZGUsdGhpcykpLHRoaXMuJGRpYWxvZy5vbigibW91c2Vkb3duLmRpc21pc3MuYnMubW9kYWwiLGZ1bmN0aW9uKCl7ZC4kZWxlbWVudC5vbmUoIm1vdXNldXAuZGlzbWlzcy5icy5tb2RhbCIsZnVuY3Rpb24oYil7YShiLnRhcmdldCkuaXMoZC4kZWxlbWVudCkmJihkLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITApfSl9KSx0aGlzLmJhY2tkcm9wKGZ1bmN0aW9uKCl7dmFyIGU9YS5zdXBwb3J0LnRyYW5zaXRpb24mJmQuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKTtkLiRlbGVtZW50LnBhcmVudCgpLmxlbmd0aHx8ZC4kZWxlbWVudC5hcHBlbmRUbyhkLiRib2R5KSxkLiRlbGVtZW50LnNob3coKS5zY3JvbGxUb3AoMCksZC5hZGp1c3REaWFsb2coKSxlJiZkLiRlbGVtZW50WzBdLm9mZnNldFdpZHRoLGQuJGVsZW1lbnQuYWRkQ2xhc3MoImluIiksZC5lbmZvcmNlRm9jdXMoKTt2YXIgZj1hLkV2ZW50KCJzaG93bi5icy5tb2RhbCIse3JlbGF0ZWRUYXJnZXQ6Yn0pO2U/ZC4kZGlhbG9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe2QuJGVsZW1lbnQudHJpZ2dlcigiZm9jdXMiKS50cmlnZ2VyKGYpfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpkLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIikudHJpZ2dlcihmKX0pKX0sYy5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbihiKXtiJiZiLnByZXZlbnREZWZhdWx0KCksYj1hLkV2ZW50KCJoaWRlLmJzLm1vZGFsIiksdGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpLHRoaXMuaXNTaG93biYmIWIuaXNEZWZhdWx0UHJldmVudGVkKCkmJih0aGlzLmlzU2hvd249ITEsdGhpcy5lc2NhcGUoKSx0aGlzLnJlc2l6ZSgpLGEoZG9jdW1lbnQpLm9mZigiZm9jdXNpbi5icy5tb2RhbCIpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImluIikub2ZmKCJjbGljay5kaXNtaXNzLmJzLm1vZGFsIikub2ZmKCJtb3VzZXVwLmRpc21pc3MuYnMubW9kYWwiKSx0aGlzLiRkaWFsb2cub2ZmKCJtb3VzZWRvd24uZGlzbWlzcy5icy5tb2RhbCIpLGEuc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy4kZWxlbWVudC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYS5wcm94eSh0aGlzLmhpZGVNb2RhbCx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTp0aGlzLmhpZGVNb2RhbCgpKX0sYy5wcm90b3R5cGUuZW5mb3JjZUZvY3VzPWZ1bmN0aW9uKCl7YShkb2N1bWVudCkub2ZmKCJmb2N1c2luLmJzLm1vZGFsIikub24oImZvY3VzaW4uYnMubW9kYWwiLGEucHJveHkoZnVuY3Rpb24oYSl7ZG9jdW1lbnQ9PT1hLnRhcmdldHx8dGhpcy4kZWxlbWVudFswXT09PWEudGFyZ2V0fHx0aGlzLiRlbGVtZW50LmhhcyhhLnRhcmdldCkubGVuZ3RofHx0aGlzLiRlbGVtZW50LnRyaWdnZXIoImZvY3VzIil9LHRoaXMpKX0sYy5wcm90b3R5cGUuZXNjYXBlPWZ1bmN0aW9uKCl7dGhpcy5pc1Nob3duJiZ0aGlzLm9wdGlvbnMua2V5Ym9hcmQ/dGhpcy4kZWxlbWVudC5vbigia2V5ZG93bi5kaXNtaXNzLmJzLm1vZGFsIixhLnByb3h5KGZ1bmN0aW9uKGEpezI3PT1hLndoaWNoJiZ0aGlzLmhpZGUoKX0sdGhpcykpOnRoaXMuaXNTaG93bnx8dGhpcy4kZWxlbWVudC5vZmYoImtleWRvd24uZGlzbWlzcy5icy5tb2RhbCIpfSxjLnByb3RvdHlwZS5yZXNpemU9ZnVuY3Rpb24oKXt0aGlzLmlzU2hvd24/YSh3aW5kb3cpLm9uKCJyZXNpemUuYnMubW9kYWwiLGEucHJveHkodGhpcy5oYW5kbGVVcGRhdGUsdGhpcykpOmEod2luZG93KS5vZmYoInJlc2l6ZS5icy5tb2RhbCIpfSxjLnByb3RvdHlwZS5oaWRlTW9kYWw9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO3RoaXMuJGVsZW1lbnQuaGlkZSgpLHRoaXMuYmFja2Ryb3AoZnVuY3Rpb24oKXthLiRib2R5LnJlbW92ZUNsYXNzKCJtb2RhbC1vcGVuIiksYS5yZXNldEFkanVzdG1lbnRzKCksYS5yZXNldFNjcm9sbGJhcigpLGEuJGVsZW1lbnQudHJpZ2dlcigiaGlkZGVuLmJzLm1vZGFsIil9KX0sYy5wcm90b3R5cGUucmVtb3ZlQmFja2Ryb3A9ZnVuY3Rpb24oKXt0aGlzLiRiYWNrZHJvcCYmdGhpcy4kYmFja2Ryb3AucmVtb3ZlKCksdGhpcy4kYmFja2Ryb3A9bnVsbH0sYy5wcm90b3R5cGUuYmFja2Ryb3A9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcyxlPXRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT8iZmFkZSI6IiI7aWYodGhpcy5pc1Nob3duJiZ0aGlzLm9wdGlvbnMuYmFja2Ryb3Ape3ZhciBmPWEuc3VwcG9ydC50cmFuc2l0aW9uJiZlO2lmKHRoaXMuJGJhY2tkcm9wPWEoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmFkZENsYXNzKCJtb2RhbC1iYWNrZHJvcCAiK2UpLmFwcGVuZFRvKHRoaXMuJGJvZHkpLHRoaXMuJGVsZW1lbnQub24oImNsaWNrLmRpc21pc3MuYnMubW9kYWwiLGEucHJveHkoZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz92b2lkKHRoaXMuaWdub3JlQmFja2Ryb3BDbGljaz0hMSk6dm9pZChhLnRhcmdldD09PWEuY3VycmVudFRhcmdldCYmKCJzdGF0aWMiPT10aGlzLm9wdGlvbnMuYmFja2Ryb3A/dGhpcy4kZWxlbWVudFswXS5mb2N1cygpOnRoaXMuaGlkZSgpKSl9LHRoaXMpKSxmJiZ0aGlzLiRiYWNrZHJvcFswXS5vZmZzZXRXaWR0aCx0aGlzLiRiYWNrZHJvcC5hZGRDbGFzcygiaW4iKSwhYilyZXR1cm47Zj90aGlzLiRiYWNrZHJvcC5vbmUoImJzVHJhbnNpdGlvbkVuZCIsYikuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5CQUNLRFJPUF9UUkFOU0lUSU9OX0RVUkFUSU9OKTpiKCl9ZWxzZSBpZighdGhpcy5pc1Nob3duJiZ0aGlzLiRiYWNrZHJvcCl7dGhpcy4kYmFja2Ryb3AucmVtb3ZlQ2xhc3MoImluIik7dmFyIGc9ZnVuY3Rpb24oKXtkLnJlbW92ZUJhY2tkcm9wKCksYiYmYigpfTthLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpP3RoaXMuJGJhY2tkcm9wLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixnKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLkJBQ0tEUk9QX1RSQU5TSVRJT05fRFVSQVRJT04pOmcoKX1lbHNlIGImJmIoKX0sYy5wcm90b3R5cGUuaGFuZGxlVXBkYXRlPWZ1bmN0aW9uKCl7dGhpcy5hZGp1c3REaWFsb2coKX0sYy5wcm90b3R5cGUuYWRqdXN0RGlhbG9nPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy4kZWxlbWVudFswXS5zY3JvbGxIZWlnaHQ+ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDt0aGlzLiRlbGVtZW50LmNzcyh7cGFkZGluZ0xlZnQ6IXRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJmE/dGhpcy5zY3JvbGxiYXJXaWR0aDoiIixwYWRkaW5nUmlnaHQ6dGhpcy5ib2R5SXNPdmVyZmxvd2luZyYmIWE/dGhpcy5zY3JvbGxiYXJXaWR0aDoiIn0pfSxjLnByb3RvdHlwZS5yZXNldEFkanVzdG1lbnRzPWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5jc3Moe3BhZGRpbmdMZWZ0OiIiLHBhZGRpbmdSaWdodDoiIn0pfSxjLnByb3RvdHlwZS5jaGVja1Njcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5pbm5lcldpZHRoO2lmKCFhKXt2YXIgYj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7YT1iLnJpZ2h0LU1hdGguYWJzKGIubGVmdCl9dGhpcy5ib2R5SXNPdmVyZmxvd2luZz1kb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoPGEsdGhpcy5zY3JvbGxiYXJXaWR0aD10aGlzLm1lYXN1cmVTY3JvbGxiYXIoKX0sYy5wcm90b3R5cGUuc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9cGFyc2VJbnQodGhpcy4kYm9keS5jc3MoInBhZGRpbmctcmlnaHQiKXx8MCwxMCk7dGhpcy5vcmlnaW5hbEJvZHlQYWQ9ZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHR8fCIiLHRoaXMuYm9keUlzT3ZlcmZsb3dpbmcmJnRoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0IixhK3RoaXMuc2Nyb2xsYmFyV2lkdGgpfSxjLnByb3RvdHlwZS5yZXNldFNjcm9sbGJhcj1mdW5jdGlvbigpe3RoaXMuJGJvZHkuY3NzKCJwYWRkaW5nLXJpZ2h0Iix0aGlzLm9yaWdpbmFsQm9keVBhZCl9LGMucHJvdG90eXBlLm1lYXN1cmVTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLmNsYXNzTmFtZT0ibW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUiLHRoaXMuJGJvZHkuYXBwZW5kKGEpO3ZhciBiPWEub2Zmc2V0V2lkdGgtYS5jbGllbnRXaWR0aDtyZXR1cm4gdGhpcy4kYm9keVswXS5yZW1vdmVDaGlsZChhKSxifTt2YXIgZD1hLmZuLm1vZGFsO2EuZm4ubW9kYWw9YixhLmZuLm1vZGFsLkNvbnN0cnVjdG9yPWMsYS5mbi5tb2RhbC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4ubW9kYWw9ZCx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMubW9kYWwuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9Im1vZGFsIl0nLGZ1bmN0aW9uKGMpe3ZhciBkPWEodGhpcyksZT1kLmF0dHIoImhyZWYiKSxmPWEoZC5hdHRyKCJkYXRhLXRhcmdldCIpfHxlJiZlLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIikpLGc9Zi5kYXRhKCJicy5tb2RhbCIpPyJ0b2dnbGUiOmEuZXh0ZW5kKHtyZW1vdGU6IS8jLy50ZXN0KGUpJiZlfSxmLmRhdGEoKSxkLmRhdGEoKSk7ZC5pcygiYSIpJiZjLnByZXZlbnREZWZhdWx0KCksZi5vbmUoInNob3cuYnMubW9kYWwiLGZ1bmN0aW9uKGEpe2EuaXNEZWZhdWx0UHJldmVudGVkKCl8fGYub25lKCJoaWRkZW4uYnMubW9kYWwiLGZ1bmN0aW9uKCl7ZC5pcygiOnZpc2libGUiKSYmZC50cmlnZ2VyKCJmb2N1cyIpfSl9KSxiLmNhbGwoZixnLHRoaXMpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy50b29sdGlwIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7IWUmJi9kZXN0cm95fGhpZGUvLnRlc3QoYil8fChlfHxkLmRhdGEoImJzLnRvb2x0aXAiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLnR5cGU9bnVsbCx0aGlzLm9wdGlvbnM9bnVsbCx0aGlzLmVuYWJsZWQ9bnVsbCx0aGlzLnRpbWVvdXQ9bnVsbCx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzLiRlbGVtZW50PW51bGwsdGhpcy5pblN0YXRlPW51bGwsdGhpcy5pbml0KCJ0b29sdGlwIixhLGIpfTtjLlZFUlNJT049IjMuMy43IixjLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGMuREVGQVVMVFM9e2FuaW1hdGlvbjohMCxwbGFjZW1lbnQ6InRvcCIsc2VsZWN0b3I6ITEsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InRvb2x0aXAiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9InRvb2x0aXAtYXJyb3ciPjwvZGl2PjxkaXYgY2xhc3M9InRvb2x0aXAtaW5uZXIiPjwvZGl2PjwvZGl2PicsdHJpZ2dlcjoiaG92ZXIgZm9jdXMiLHRpdGxlOiIiLGRlbGF5OjAsaHRtbDohMSxjb250YWluZXI6ITEsdmlld3BvcnQ6e3NlbGVjdG9yOiJib2R5IixwYWRkaW5nOjB9fSxjLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKGIsYyxkKXtpZih0aGlzLmVuYWJsZWQ9ITAsdGhpcy50eXBlPWIsdGhpcy4kZWxlbWVudD1hKGMpLHRoaXMub3B0aW9ucz10aGlzLmdldE9wdGlvbnMoZCksdGhpcy4kdmlld3BvcnQ9dGhpcy5vcHRpb25zLnZpZXdwb3J0JiZhKGEuaXNGdW5jdGlvbih0aGlzLm9wdGlvbnMudmlld3BvcnQpP3RoaXMub3B0aW9ucy52aWV3cG9ydC5jYWxsKHRoaXMsdGhpcy4kZWxlbWVudCk6dGhpcy5vcHRpb25zLnZpZXdwb3J0LnNlbGVjdG9yfHx0aGlzLm9wdGlvbnMudmlld3BvcnQpLHRoaXMuaW5TdGF0ZT17Y2xpY2s6ITEsaG92ZXI6ITEsZm9jdXM6ITF9LHRoaXMuJGVsZW1lbnRbMF1pbnN0YW5jZW9mIGRvY3VtZW50LmNvbnN0cnVjdG9yJiYhdGhpcy5vcHRpb25zLnNlbGVjdG9yKXRocm93IG5ldyBFcnJvcigiYHNlbGVjdG9yYCBvcHRpb24gbXVzdCBiZSBzcGVjaWZpZWQgd2hlbiBpbml0aWFsaXppbmcgIit0aGlzLnR5cGUrIiBvbiB0aGUgd2luZG93LmRvY3VtZW50IG9iamVjdCEiKTtmb3IodmFyIGU9dGhpcy5vcHRpb25zLnRyaWdnZXIuc3BsaXQoIiAiKSxmPWUubGVuZ3RoO2YtLTspe3ZhciBnPWVbZl07aWYoImNsaWNrIj09Zyl0aGlzLiRlbGVtZW50Lm9uKCJjbGljay4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLnRvZ2dsZSx0aGlzKSk7ZWxzZSBpZigibWFudWFsIiE9Zyl7dmFyIGg9ImhvdmVyIj09Zz8ibW91c2VlbnRlciI6ImZvY3VzaW4iLGk9ImhvdmVyIj09Zz8ibW91c2VsZWF2ZSI6ImZvY3Vzb3V0Ijt0aGlzLiRlbGVtZW50Lm9uKGgrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmVudGVyLHRoaXMpKSx0aGlzLiRlbGVtZW50Lm9uKGkrIi4iK3RoaXMudHlwZSx0aGlzLm9wdGlvbnMuc2VsZWN0b3IsYS5wcm94eSh0aGlzLmxlYXZlLHRoaXMpKX19dGhpcy5vcHRpb25zLnNlbGVjdG9yP3RoaXMuX29wdGlvbnM9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLHt0cmlnZ2VyOiJtYW51YWwiLHNlbGVjdG9yOiIifSk6dGhpcy5maXhUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5nZXRPcHRpb25zPWZ1bmN0aW9uKGIpe3JldHVybiBiPWEuZXh0ZW5kKHt9LHRoaXMuZ2V0RGVmYXVsdHMoKSx0aGlzLiRlbGVtZW50LmRhdGEoKSxiKSxiLmRlbGF5JiYibnVtYmVyIj09dHlwZW9mIGIuZGVsYXkmJihiLmRlbGF5PXtzaG93OmIuZGVsYXksaGlkZTpiLmRlbGF5fSksYn0sYy5wcm90b3R5cGUuZ2V0RGVsZWdhdGVPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGI9e30sYz10aGlzLmdldERlZmF1bHRzKCk7cmV0dXJuIHRoaXMuX29wdGlvbnMmJmEuZWFjaCh0aGlzLl9vcHRpb25zLGZ1bmN0aW9uKGEsZCl7Y1thXSE9ZCYmKGJbYV09ZCl9KSxifSxjLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXt2YXIgYz1iIGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcj9iOmEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSk7cmV0dXJuIGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpLGIgaW5zdGFuY2VvZiBhLkV2ZW50JiYoYy5pblN0YXRlWyJmb2N1c2luIj09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITApLGMudGlwKCkuaGFzQ2xhc3MoImluIil8fCJpbiI9PWMuaG92ZXJTdGF0ZT92b2lkKGMuaG92ZXJTdGF0ZT0iaW4iKTooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJpbiIsYy5vcHRpb25zLmRlbGF5JiZjLm9wdGlvbnMuZGVsYXkuc2hvdz92b2lkKGMudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImluIj09Yy5ob3ZlclN0YXRlJiZjLnNob3coKX0sYy5vcHRpb25zLmRlbGF5LnNob3cpKTpjLnNob3coKSl9LGMucHJvdG90eXBlLmlzSW5TdGF0ZVRydWU9ZnVuY3Rpb24oKXtmb3IodmFyIGEgaW4gdGhpcy5pblN0YXRlKWlmKHRoaXMuaW5TdGF0ZVthXSlyZXR1cm4hMDtyZXR1cm4hMX0sYy5wcm90b3R5cGUubGVhdmU9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO2lmKGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpLGIgaW5zdGFuY2VvZiBhLkV2ZW50JiYoYy5pblN0YXRlWyJmb2N1c291dCI9PWIudHlwZT8iZm9jdXMiOiJob3ZlciJdPSExKSwhYy5pc0luU3RhdGVUcnVlKCkpcmV0dXJuIGNsZWFyVGltZW91dChjLnRpbWVvdXQpLGMuaG92ZXJTdGF0ZT0ib3V0IixjLm9wdGlvbnMuZGVsYXkmJmMub3B0aW9ucy5kZWxheS5oaWRlP3ZvaWQoYy50aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXsib3V0Ij09Yy5ob3ZlclN0YXRlJiZjLmhpZGUoKX0sYy5vcHRpb25zLmRlbGF5LmhpZGUpKTpjLmhpZGUoKX0sYy5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3ZhciBiPWEuRXZlbnQoInNob3cuYnMuIit0aGlzLnR5cGUpO2lmKHRoaXMuaGFzQ29udGVudCgpJiZ0aGlzLmVuYWJsZWQpe3RoaXMuJGVsZW1lbnQudHJpZ2dlcihiKTt2YXIgZD1hLmNvbnRhaW5zKHRoaXMuJGVsZW1lbnRbMF0ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy4kZWxlbWVudFswXSk7aWYoYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8IWQpcmV0dXJuO3ZhciBlPXRoaXMsZj10aGlzLnRpcCgpLGc9dGhpcy5nZXRVSUQodGhpcy50eXBlKTt0aGlzLnNldENvbnRlbnQoKSxmLmF0dHIoImlkIixnKSx0aGlzLiRlbGVtZW50LmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLGcpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJmYuYWRkQ2xhc3MoImZhZGUiKTt2YXIgaD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5vcHRpb25zLnBsYWNlbWVudD90aGlzLm9wdGlvbnMucGxhY2VtZW50LmNhbGwodGhpcyxmWzBdLHRoaXMuJGVsZW1lbnRbMF0pOnRoaXMub3B0aW9ucy5wbGFjZW1lbnQsaT0vXHM/YXV0bz9ccz8vaSxqPWkudGVzdChoKTtqJiYoaD1oLnJlcGxhY2UoaSwiIil8fCJ0b3AiKSxmLmRldGFjaCgpLmNzcyh7dG9wOjAsbGVmdDowLGRpc3BsYXk6ImJsb2NrIn0pLmFkZENsYXNzKGgpLmRhdGEoImJzLiIrdGhpcy50eXBlLHRoaXMpLHRoaXMub3B0aW9ucy5jb250YWluZXI/Zi5hcHBlbmRUbyh0aGlzLm9wdGlvbnMuY29udGFpbmVyKTpmLmluc2VydEFmdGVyKHRoaXMuJGVsZW1lbnQpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigiaW5zZXJ0ZWQuYnMuIit0aGlzLnR5cGUpO3ZhciBrPXRoaXMuZ2V0UG9zaXRpb24oKSxsPWZbMF0ub2Zmc2V0V2lkdGgsbT1mWzBdLm9mZnNldEhlaWdodDtpZihqKXt2YXIgbj1oLG89dGhpcy5nZXRQb3NpdGlvbih0aGlzLiR2aWV3cG9ydCk7aD0iYm90dG9tIj09aCYmay5ib3R0b20rbT5vLmJvdHRvbT8idG9wIjoidG9wIj09aCYmay50b3AtbTxvLnRvcD8iYm90dG9tIjoicmlnaHQiPT1oJiZrLnJpZ2h0K2w+by53aWR0aD8ibGVmdCI6ImxlZnQiPT1oJiZrLmxlZnQtbDxvLmxlZnQ/InJpZ2h0IjpoLGYucmVtb3ZlQ2xhc3MobikuYWRkQ2xhc3MoaCl9dmFyIHA9dGhpcy5nZXRDYWxjdWxhdGVkT2Zmc2V0KGgsayxsLG0pO3RoaXMuYXBwbHlQbGFjZW1lbnQocCxoKTt2YXIgcT1mdW5jdGlvbigpe3ZhciBhPWUuaG92ZXJTdGF0ZTtlLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLiIrZS50eXBlKSxlLmhvdmVyU3RhdGU9bnVsbCwib3V0Ij09YSYmZS5sZWF2ZShlKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJHRpcC5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLHEpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6cSgpfX0sYy5wcm90b3R5cGUuYXBwbHlQbGFjZW1lbnQ9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnRpcCgpLGU9ZFswXS5vZmZzZXRXaWR0aCxmPWRbMF0ub2Zmc2V0SGVpZ2h0LGc9cGFyc2VJbnQoZC5jc3MoIm1hcmdpbi10b3AiKSwxMCksaD1wYXJzZUludChkLmNzcygibWFyZ2luLWxlZnQiKSwxMCk7aXNOYU4oZykmJihnPTApLGlzTmFOKGgpJiYoaD0wKSxiLnRvcCs9ZyxiLmxlZnQrPWgsYS5vZmZzZXQuc2V0T2Zmc2V0KGRbMF0sYS5leHRlbmQoe3VzaW5nOmZ1bmN0aW9uKGEpe2QuY3NzKHt0b3A6TWF0aC5yb3VuZChhLnRvcCksbGVmdDpNYXRoLnJvdW5kKGEubGVmdCl9KX19LGIpLDApLGQuYWRkQ2xhc3MoImluIik7dmFyIGk9ZFswXS5vZmZzZXRXaWR0aCxqPWRbMF0ub2Zmc2V0SGVpZ2h0OyJ0b3AiPT1jJiZqIT1mJiYoYi50b3A9Yi50b3ArZi1qKTt2YXIgaz10aGlzLmdldFZpZXdwb3J0QWRqdXN0ZWREZWx0YShjLGIsaSxqKTtrLmxlZnQ/Yi5sZWZ0Kz1rLmxlZnQ6Yi50b3ArPWsudG9wO3ZhciBsPS90b3B8Ym90dG9tLy50ZXN0KGMpLG09bD8yKmsubGVmdC1lK2k6MiprLnRvcC1mK2osbj1sPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCI7ZC5vZmZzZXQoYiksdGhpcy5yZXBsYWNlQXJyb3cobSxkWzBdW25dLGwpfSxjLnByb3RvdHlwZS5yZXBsYWNlQXJyb3c9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuYXJyb3coKS5jc3MoYz8ibGVmdCI6InRvcCIsNTAqKDEtYS9iKSsiJSIpLmNzcyhjPyJ0b3AiOiJsZWZ0IiwiIil9LGMucHJvdG90eXBlLnNldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnRpcCgpLGI9dGhpcy5nZXRUaXRsZSgpO2EuZmluZCgiLnRvb2x0aXAtaW5uZXIiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLnJlbW92ZUNsYXNzKCJmYWRlIGluIHRvcCBib3R0b20gbGVmdCByaWdodCIpfSxjLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoKXsiaW4iIT1lLmhvdmVyU3RhdGUmJmYuZGV0YWNoKCksZS4kZWxlbWVudCYmZS4kZWxlbWVudC5yZW1vdmVBdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IikudHJpZ2dlcigiaGlkZGVuLmJzLiIrZS50eXBlKSxiJiZiKCl9dmFyIGU9dGhpcyxmPWEodGhpcy4kdGlwKSxnPWEuRXZlbnQoImhpZGUuYnMuIit0aGlzLnR5cGUpO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihnKSwhZy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSlyZXR1cm4gZi5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZi5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLGQpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6ZCgpLHRoaXMuaG92ZXJTdGF0ZT1udWxsLHRoaXN9LGMucHJvdG90eXBlLmZpeFRpdGxlPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy4kZWxlbWVudDsoYS5hdHRyKCJ0aXRsZSIpfHwic3RyaW5nIiE9dHlwZW9mIGEuYXR0cigiZGF0YS1vcmlnaW5hbC10aXRsZSIpKSYmYS5hdHRyKCJkYXRhLW9yaWdpbmFsLXRpdGxlIixhLmF0dHIoInRpdGxlIil8fCIiKS5hdHRyKCJ0aXRsZSIsIiIpfSxjLnByb3RvdHlwZS5oYXNDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VGl0bGUoKX0sYy5wcm90b3R5cGUuZ2V0UG9zaXRpb249ZnVuY3Rpb24oYil7Yj1ifHx0aGlzLiRlbGVtZW50O3ZhciBjPWJbMF0sZD0iQk9EWSI9PWMudGFnTmFtZSxlPWMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bnVsbD09ZS53aWR0aCYmKGU9YS5leHRlbmQoe30sZSx7d2lkdGg6ZS5yaWdodC1lLmxlZnQsaGVpZ2h0OmUuYm90dG9tLWUudG9wfSkpO3ZhciBmPXdpbmRvdy5TVkdFbGVtZW50JiZjIGluc3RhbmNlb2Ygd2luZG93LlNWR0VsZW1lbnQsZz1kP3t0b3A6MCxsZWZ0OjB9OmY/bnVsbDpiLm9mZnNldCgpLGg9e3Njcm9sbDpkP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOmIuc2Nyb2xsVG9wKCl9LGk9ZD97d2lkdGg6YSh3aW5kb3cpLndpZHRoKCksaGVpZ2h0OmEod2luZG93KS5oZWlnaHQoKX06bnVsbDtyZXR1cm4gYS5leHRlbmQoe30sZSxoLGksZyl9LGMucHJvdG90eXBlLmdldENhbGN1bGF0ZWRPZmZzZXQ9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuImJvdHRvbSI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToidG9wIj09YT97dG9wOmIudG9wLWQsbGVmdDpiLmxlZnQrYi53aWR0aC8yLWMvMn06ImxlZnQiPT1hP3t0b3A6Yi50b3ArYi5oZWlnaHQvMi1kLzIsbGVmdDpiLmxlZnQtY306e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdCtiLndpZHRofX0sYy5wcm90b3R5cGUuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXt0b3A6MCxsZWZ0OjB9O2lmKCF0aGlzLiR2aWV3cG9ydClyZXR1cm4gZTt2YXIgZj10aGlzLm9wdGlvbnMudmlld3BvcnQmJnRoaXMub3B0aW9ucy52aWV3cG9ydC5wYWRkaW5nfHwwLGc9dGhpcy5nZXRQb3NpdGlvbih0aGlzLiR2aWV3cG9ydCk7aWYoL3JpZ2h0fGxlZnQvLnRlc3QoYSkpe3ZhciBoPWIudG9wLWYtZy5zY3JvbGwsaT1iLnRvcCtmLWcuc2Nyb2xsK2Q7aDxnLnRvcD9lLnRvcD1nLnRvcC1oOmk+Zy50b3ArZy5oZWlnaHQmJihlLnRvcD1nLnRvcCtnLmhlaWdodC1pKX1lbHNle3ZhciBqPWIubGVmdC1mLGs9Yi5sZWZ0K2YrYztqPGcubGVmdD9lLmxlZnQ9Zy5sZWZ0LWo6az5nLnJpZ2h0JiYoZS5sZWZ0PWcubGVmdCtnLndpZHRoLWspfXJldHVybiBlfSxjLnByb3RvdHlwZS5nZXRUaXRsZT1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kZWxlbWVudCxjPXRoaXMub3B0aW9ucztyZXR1cm4gYT1iLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKXx8KCJmdW5jdGlvbiI9PXR5cGVvZiBjLnRpdGxlP2MudGl0bGUuY2FsbChiWzBdKTpjLnRpdGxlKX0sYy5wcm90b3R5cGUuZ2V0VUlEPWZ1bmN0aW9uKGEpe2RvIGErPX5+KDFlNipNYXRoLnJhbmRvbSgpKTt3aGlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhKSk7cmV0dXJuIGF9LGMucHJvdG90eXBlLnRpcD1mdW5jdGlvbigpe2lmKCF0aGlzLiR0aXAmJih0aGlzLiR0aXA9YSh0aGlzLm9wdGlvbnMudGVtcGxhdGUpLDEhPXRoaXMuJHRpcC5sZW5ndGgpKXRocm93IG5ldyBFcnJvcih0aGlzLnR5cGUrIiBgdGVtcGxhdGVgIG9wdGlvbiBtdXN0IGNvbnNpc3Qgb2YgZXhhY3RseSAxIHRvcC1sZXZlbCBlbGVtZW50ISIpO3JldHVybiB0aGlzLiR0aXB9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi50b29sdGlwLWFycm93Iil9LGMucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMH0sYy5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMX0sYy5wcm90b3R5cGUudG9nZ2xlRW5hYmxlZD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hdGhpcy5lbmFibGVkfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztiJiYoYz1hKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpLGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpKSxiPyhjLmluU3RhdGUuY2xpY2s9IWMuaW5TdGF0ZS5jbGljayxjLmlzSW5TdGF0ZVRydWUoKT9jLmVudGVyKGMpOmMubGVhdmUoYykpOmMudGlwKCkuaGFzQ2xhc3MoImluIik/Yy5sZWF2ZShjKTpjLmVudGVyKGMpfSxjLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSx0aGlzLmhpZGUoZnVuY3Rpb24oKXthLiRlbGVtZW50Lm9mZigiLiIrYS50eXBlKS5yZW1vdmVEYXRhKCJicy4iK2EudHlwZSksYS4kdGlwJiZhLiR0aXAuZGV0YWNoKCksYS4kdGlwPW51bGwsYS4kYXJyb3c9bnVsbCxhLiR2aWV3cG9ydD1udWxsLGEuJGVsZW1lbnQ9bnVsbH0pfTt2YXIgZD1hLmZuLnRvb2x0aXA7YS5mbi50b29sdGlwPWIsYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yPWMsYS5mbi50b29sdGlwLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi50b29sdGlwPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5wb3BvdmVyIiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7IWUmJi9kZXN0cm95fGhpZGUvLnRlc3QoYil8fChlfHxkLmRhdGEoImJzLnBvcG92ZXIiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCkpfSl9dmFyIGM9ZnVuY3Rpb24oYSxiKXt0aGlzLmluaXQoInBvcG92ZXIiLGEsYil9O2lmKCFhLmZuLnRvb2x0aXApdGhyb3cgbmV3IEVycm9yKCJQb3BvdmVyIHJlcXVpcmVzIHRvb2x0aXAuanMiKTtjLlZFUlNJT049IjMuMy43IixjLkRFRkFVTFRTPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5ERUZBVUxUUyx7cGxhY2VtZW50OiJyaWdodCIsdHJpZ2dlcjoiY2xpY2siLGNvbnRlbnQ6IiIsdGVtcGxhdGU6JzxkaXYgY2xhc3M9InBvcG92ZXIiIHJvbGU9InRvb2x0aXAiPjxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj48aDMgY2xhc3M9InBvcG92ZXItdGl0bGUiPjwvaDM+PGRpdiBjbGFzcz0icG9wb3Zlci1jb250ZW50Ij48L2Rpdj48L2Rpdj4nfSksYy5wcm90b3R5cGU9YS5leHRlbmQoe30sYS5mbi50b29sdGlwLkNvbnN0cnVjdG9yLnByb3RvdHlwZSksYy5wcm90b3R5cGUuY29uc3RydWN0b3I9YyxjLnByb3RvdHlwZS5nZXREZWZhdWx0cz1mdW5jdGlvbigpe3JldHVybiBjLkRFRkFVTFRTfSxjLnByb3RvdHlwZS5zZXRDb250ZW50PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50aXAoKSxiPXRoaXMuZ2V0VGl0bGUoKSxjPXRoaXMuZ2V0Q29udGVudCgpO2EuZmluZCgiLnBvcG92ZXItdGl0bGUiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLmZpbmQoIi5wb3BvdmVyLWNvbnRlbnQiKS5jaGlsZHJlbigpLmRldGFjaCgpLmVuZCgpW3RoaXMub3B0aW9ucy5odG1sPyJzdHJpbmciPT10eXBlb2YgYz8iaHRtbCI6ImFwcGVuZCI6InRleHQiXShjKSxhLnJlbW92ZUNsYXNzKCJmYWRlIHRvcCBib3R0b20gbGVmdCByaWdodCBpbiIpLGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5odG1sKCl8fGEuZmluZCgiLnBvcG92ZXItdGl0bGUiKS5oaWRlKCl9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfHx0aGlzLmdldENvbnRlbnQoKX0sYy5wcm90b3R5cGUuZ2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuJGVsZW1lbnQsYj10aGlzLm9wdGlvbnM7cmV0dXJuIGEuYXR0cigiZGF0YS1jb250ZW50Iil8fCgiZnVuY3Rpb24iPT10eXBlb2YgYi5jb250ZW50P2IuY29udGVudC5jYWxsKGFbMF0pOmIuY29udGVudCl9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi5hcnJvdyIpfTt2YXIgZD1hLmZuLnBvcG92ZXI7YS5mbi5wb3BvdmVyPWIsYS5mbi5wb3BvdmVyLkNvbnN0cnVjdG9yPWMsYS5mbi5wb3BvdmVyLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5wb3BvdmVyPWQsdGhpc319KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGMsZCl7dGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJHNjcm9sbEVsZW1lbnQ9YShhKGMpLmlzKGRvY3VtZW50LmJvZHkpP3dpbmRvdzpjKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sYi5ERUZBVUxUUyxkKSx0aGlzLnNlbGVjdG9yPSh0aGlzLm9wdGlvbnMudGFyZ2V0fHwiIikrIiAubmF2IGxpID4gYSIsdGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLmFjdGl2ZVRhcmdldD1udWxsLHRoaXMuc2Nyb2xsSGVpZ2h0PTAsdGhpcy4kc2Nyb2xsRWxlbWVudC5vbigic2Nyb2xsLmJzLnNjcm9sbHNweSIsYS5wcm94eSh0aGlzLnByb2Nlc3MsdGhpcykpLHRoaXMucmVmcmVzaCgpLHRoaXMucHJvY2VzcygpfWZ1bmN0aW9uIGMoYyl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnNjcm9sbHNweSIpLGY9Im9iamVjdCI9PXR5cGVvZiBjJiZjO2V8fGQuZGF0YSgiYnMuc2Nyb2xsc3B5IixlPW5ldyBiKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYyYmZVtjXSgpfSl9Yi5WRVJTSU9OPSIzLjMuNyIsYi5ERUZBVUxUUz17b2Zmc2V0OjEwfSxiLnByb3RvdHlwZS5nZXRTY3JvbGxIZWlnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kc2Nyb2xsRWxlbWVudFswXS5zY3JvbGxIZWlnaHR8fE1hdGgubWF4KHRoaXMuJGJvZHlbMF0uc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQpfSxiLnByb3RvdHlwZS5yZWZyZXNoPWZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPSJvZmZzZXQiLGQ9MDt0aGlzLm9mZnNldHM9W10sdGhpcy50YXJnZXRzPVtdLHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksYS5pc1dpbmRvdyh0aGlzLiRzY3JvbGxFbGVtZW50WzBdKXx8KGM9InBvc2l0aW9uIixkPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkpLHRoaXMuJGJvZHkuZmluZCh0aGlzLnNlbGVjdG9yKS5tYXAoZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGU9Yi5kYXRhKCJ0YXJnZXQiKXx8Yi5hdHRyKCJocmVmIiksZj0vXiMuLy50ZXN0KGUpJiZhKGUpO3JldHVybiBmJiZmLmxlbmd0aCYmZi5pcygiOnZpc2libGUiKSYmW1tmW2NdKCkudG9wK2QsZV1dfHxudWxsfSkuc29ydChmdW5jdGlvbihhLGIpe3JldHVybiBhWzBdLWJbMF19KS5lYWNoKGZ1bmN0aW9uKCl7Yi5vZmZzZXRzLnB1c2godGhpc1swXSksYi50YXJnZXRzLnB1c2godGhpc1sxXSl9KX0sYi5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3AoKSt0aGlzLm9wdGlvbnMub2Zmc2V0LGM9dGhpcy5nZXRTY3JvbGxIZWlnaHQoKSxkPXRoaXMub3B0aW9ucy5vZmZzZXQrYy10aGlzLiRzY3JvbGxFbGVtZW50LmhlaWdodCgpLGU9dGhpcy5vZmZzZXRzLGY9dGhpcy50YXJnZXRzLGc9dGhpcy5hY3RpdmVUYXJnZXQ7aWYodGhpcy5zY3JvbGxIZWlnaHQhPWMmJnRoaXMucmVmcmVzaCgpLGI+PWQpcmV0dXJuIGchPShhPWZbZi5sZW5ndGgtMV0pJiZ0aGlzLmFjdGl2YXRlKGEpO2lmKGcmJmI8ZVswXSlyZXR1cm4gdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLmNsZWFyKCk7Zm9yKGE9ZS5sZW5ndGg7YS0tOylnIT1mW2FdJiZiPj1lW2FdJiYodm9pZCAwPT09ZVthKzFdfHxiPGVbYSsxXSkmJnRoaXMuYWN0aXZhdGUoZlthXSl9LGIucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIpewp0aGlzLmFjdGl2ZVRhcmdldD1iLHRoaXMuY2xlYXIoKTt2YXIgYz10aGlzLnNlbGVjdG9yKydbZGF0YS10YXJnZXQ9IicrYisnIl0sJyt0aGlzLnNlbGVjdG9yKydbaHJlZj0iJytiKyciXScsZD1hKGMpLnBhcmVudHMoImxpIikuYWRkQ2xhc3MoImFjdGl2ZSIpO2QucGFyZW50KCIuZHJvcGRvd24tbWVudSIpLmxlbmd0aCYmKGQ9ZC5jbG9zZXN0KCJsaS5kcm9wZG93biIpLmFkZENsYXNzKCJhY3RpdmUiKSksZC50cmlnZ2VyKCJhY3RpdmF0ZS5icy5zY3JvbGxzcHkiKX0sYi5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXthKHRoaXMuc2VsZWN0b3IpLnBhcmVudHNVbnRpbCh0aGlzLm9wdGlvbnMudGFyZ2V0LCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLnNjcm9sbHNweTthLmZuLnNjcm9sbHNweT1jLGEuZm4uc2Nyb2xsc3B5LkNvbnN0cnVjdG9yPWIsYS5mbi5zY3JvbGxzcHkubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnNjcm9sbHNweT1kLHRoaXN9LGEod2luZG93KS5vbigibG9hZC5icy5zY3JvbGxzcHkuZGF0YS1hcGkiLGZ1bmN0aW9uKCl7YSgnW2RhdGEtc3B5PSJzY3JvbGwiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpO2MuY2FsbChiLGIuZGF0YSgpKX0pfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy50YWIiKTtlfHxkLmRhdGEoImJzLnRhYiIsZT1uZXcgYyh0aGlzKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiKXt0aGlzLmVsZW1lbnQ9YShiKX07Yy5WRVJTSU9OPSIzLjMuNyIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKCl7dmFyIGI9dGhpcy5lbGVtZW50LGM9Yi5jbG9zZXN0KCJ1bDpub3QoLmRyb3Bkb3duLW1lbnUpIiksZD1iLmRhdGEoInRhcmdldCIpO2lmKGR8fChkPWIuYXR0cigiaHJlZiIpLGQ9ZCYmZC5yZXBsYWNlKC8uKig/PSNbXlxzXSokKS8sIiIpKSwhYi5wYXJlbnQoImxpIikuaGFzQ2xhc3MoImFjdGl2ZSIpKXt2YXIgZT1jLmZpbmQoIi5hY3RpdmU6bGFzdCBhIiksZj1hLkV2ZW50KCJoaWRlLmJzLnRhYiIse3JlbGF0ZWRUYXJnZXQ6YlswXX0pLGc9YS5FdmVudCgic2hvdy5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmVbMF19KTtpZihlLnRyaWdnZXIoZiksYi50cmlnZ2VyKGcpLCFnLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYhZi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7dmFyIGg9YShkKTt0aGlzLmFjdGl2YXRlKGIuY2xvc2VzdCgibGkiKSxjKSx0aGlzLmFjdGl2YXRlKGgsaC5wYXJlbnQoKSxmdW5jdGlvbigpe2UudHJpZ2dlcih7dHlwZToiaGlkZGVuLmJzLnRhYiIscmVsYXRlZFRhcmdldDpiWzBdfSksYi50cmlnZ2VyKHt0eXBlOiJzaG93bi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6ZVswXX0pfSl9fX0sYy5wcm90b3R5cGUuYWN0aXZhdGU9ZnVuY3Rpb24oYixkLGUpe2Z1bmN0aW9uIGYoKXtnLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5maW5kKCI+IC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITEpLGIuYWRkQ2xhc3MoImFjdGl2ZSIpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksaD8oYlswXS5vZmZzZXRXaWR0aCxiLmFkZENsYXNzKCJpbiIpKTpiLnJlbW92ZUNsYXNzKCJmYWRlIiksYi5wYXJlbnQoIi5kcm9wZG93bi1tZW51IikubGVuZ3RoJiZiLmNsb3Nlc3QoImxpLmRyb3Bkb3duIikuYWRkQ2xhc3MoImFjdGl2ZSIpLmVuZCgpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0idGFiIl0nKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMCksZSYmZSgpfXZhciBnPWQuZmluZCgiPiAuYWN0aXZlIiksaD1lJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKGcubGVuZ3RoJiZnLmhhc0NsYXNzKCJmYWRlIil8fCEhZC5maW5kKCI+IC5mYWRlIikubGVuZ3RoKTtnLmxlbmd0aCYmaD9nLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmYoKSxnLnJlbW92ZUNsYXNzKCJpbiIpfTt2YXIgZD1hLmZuLnRhYjthLmZuLnRhYj1iLGEuZm4udGFiLkNvbnN0cnVjdG9yPWMsYS5mbi50YWIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRhYj1kLHRoaXN9O3ZhciBlPWZ1bmN0aW9uKGMpe2MucHJldmVudERlZmF1bHQoKSxiLmNhbGwoYSh0aGlzKSwic2hvdyIpfTthKGRvY3VtZW50KS5vbigiY2xpY2suYnMudGFiLmRhdGEtYXBpIiwnW2RhdGEtdG9nZ2xlPSJ0YWIiXScsZSkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0icGlsbCJdJyxlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmFmZml4IiksZj0ib2JqZWN0Ij09dHlwZW9mIGImJmI7ZXx8ZC5kYXRhKCJicy5hZmZpeCIsZT1uZXcgYyh0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0oKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGMuREVGQVVMVFMsZCksdGhpcy4kdGFyZ2V0PWEodGhpcy5vcHRpb25zLnRhcmdldCkub24oInNjcm9sbC5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb24sdGhpcykpLm9uKCJjbGljay5icy5hZmZpeC5kYXRhLWFwaSIsYS5wcm94eSh0aGlzLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wLHRoaXMpKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5hZmZpeGVkPW51bGwsdGhpcy51bnBpbj1udWxsLHRoaXMucGlubmVkT2Zmc2V0PW51bGwsdGhpcy5jaGVja1Bvc2l0aW9uKCl9O2MuVkVSU0lPTj0iMy4zLjciLGMuUkVTRVQ9ImFmZml4IGFmZml4LXRvcCBhZmZpeC1ib3R0b20iLGMuREVGQVVMVFM9e29mZnNldDowLHRhcmdldDp3aW5kb3d9LGMucHJvdG90eXBlLmdldFN0YXRlPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxmPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCksZz10aGlzLiR0YXJnZXQuaGVpZ2h0KCk7aWYobnVsbCE9YyYmInRvcCI9PXRoaXMuYWZmaXhlZClyZXR1cm4gZTxjJiYidG9wIjtpZigiYm90dG9tIj09dGhpcy5hZmZpeGVkKXJldHVybiBudWxsIT1jPyEoZSt0aGlzLnVucGluPD1mLnRvcCkmJiJib3R0b20iOiEoZStnPD1hLWQpJiYiYm90dG9tIjt2YXIgaD1udWxsPT10aGlzLmFmZml4ZWQsaT1oP2U6Zi50b3Asaj1oP2c6YjtyZXR1cm4gbnVsbCE9YyYmZTw9Yz8idG9wIjpudWxsIT1kJiZpK2o+PWEtZCYmImJvdHRvbSJ9LGMucHJvdG90eXBlLmdldFBpbm5lZE9mZnNldD1mdW5jdGlvbigpe2lmKHRoaXMucGlubmVkT2Zmc2V0KXJldHVybiB0aGlzLnBpbm5lZE9mZnNldDt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKGMuUkVTRVQpLmFkZENsYXNzKCJhZmZpeCIpO3ZhciBhPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxiPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCk7cmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0PWIudG9wLWF9LGMucHJvdG90eXBlLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wPWZ1bmN0aW9uKCl7c2V0VGltZW91dChhLnByb3h5KHRoaXMuY2hlY2tQb3NpdGlvbix0aGlzKSwxKX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikpe3ZhciBiPXRoaXMuJGVsZW1lbnQuaGVpZ2h0KCksZD10aGlzLm9wdGlvbnMub2Zmc2V0LGU9ZC50b3AsZj1kLmJvdHRvbSxnPU1hdGgubWF4KGEoZG9jdW1lbnQpLmhlaWdodCgpLGEoZG9jdW1lbnQuYm9keSkuaGVpZ2h0KCkpOyJvYmplY3QiIT10eXBlb2YgZCYmKGY9ZT1kKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZC50b3AodGhpcy4kZWxlbWVudCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBmJiYoZj1kLmJvdHRvbSh0aGlzLiRlbGVtZW50KSk7dmFyIGg9dGhpcy5nZXRTdGF0ZShnLGIsZSxmKTtpZih0aGlzLmFmZml4ZWQhPWgpe251bGwhPXRoaXMudW5waW4mJnRoaXMuJGVsZW1lbnQuY3NzKCJ0b3AiLCIiKTt2YXIgaT0iYWZmaXgiKyhoPyItIitoOiIiKSxqPWEuRXZlbnQoaSsiLmJzLmFmZml4Iik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGopLGouaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO3RoaXMuYWZmaXhlZD1oLHRoaXMudW5waW49ImJvdHRvbSI9PWg/dGhpcy5nZXRQaW5uZWRPZmZzZXQoKTpudWxsLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoaSkudHJpZ2dlcihpLnJlcGxhY2UoImFmZml4IiwiYWZmaXhlZCIpKyIuYnMuYWZmaXgiKX0iYm90dG9tIj09aCYmdGhpcy4kZWxlbWVudC5vZmZzZXQoe3RvcDpnLWItZn0pfX07dmFyIGQ9YS5mbi5hZmZpeDthLmZuLmFmZml4PWIsYS5mbi5hZmZpeC5Db25zdHJ1Y3Rvcj1jLGEuZm4uYWZmaXgubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmFmZml4PWQsdGhpc30sYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXNweT0iYWZmaXgiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGQ9Yy5kYXRhKCk7ZC5vZmZzZXQ9ZC5vZmZzZXR8fHt9LG51bGwhPWQub2Zmc2V0Qm90dG9tJiYoZC5vZmZzZXQuYm90dG9tPWQub2Zmc2V0Qm90dG9tKSxudWxsIT1kLm9mZnNldFRvcCYmKGQub2Zmc2V0LnRvcD1kLm9mZnNldFRvcCksYi5jYWxsKGMsZCl9KX0pfShqUXVlcnkpOw=="}},"time_used":55,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":52,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/nav-tool.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.788Z","timestamp":1785135591788,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/nav-tool.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 318\r\ncache-control: public, max-age=604800\r\nexpires: Thu, 23 Jul 2026 21:02:01 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"43e-68bf75d4-a78508d92637538e;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 216820\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 9bc9e89909f310c90966ea0598ece340-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":1086,"size_decoded":924,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (1086), with no line terminators","md5":"e28a1be506d3151bad02d20a7751f09c","sha1":"d0a106cd4d593b36c86c3740d26b6d332c740207","sha256":"e35de31330187c0f62603f8b770e2969cbc3fe0d885aa02c7dcdd6fbe5134691","sha512":"e7faae5c7937eb0e2569b90d0dd804b6f0a5c72d30f148770f36c5bde1fec88fe412be41416f91d1caf5fdf6a07059a31119673bdd003ec9f70789eeb9c84455","ssdeep":"","tlshash":"ae11aa68b830e2fd01fb631930139e40c23a0dc5ca2c1d95982019882e6bdcf41eb7fe","first_seen":"2023-03-07T12:02:54Z","last_seen":"2026-08-15T22:01:17.642339Z","times_seen":960,"resource_available":true,"data":"InVzZSBzdHJpY3QiO2pRdWVyeSxqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKG8pezA8bygiLm9mZnNldC1zaWRlLWJhciIpLmxlbmd0aCYmbygiLm9mZnNldC1zaWRlLWJhciIpLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksbygiLmNhcnQtZ3JvdXAiKS5hZGRDbGFzcygiaXNBY3RpdmUiKX0pLDA8bygiLmNsb3NlLXNpZGUtd2lkZ2V0IikubGVuZ3RoJiZvKCIuY2xvc2Utc2lkZS13aWRnZXQiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxvKCIuY2FydC1ncm91cCIpLnJlbW92ZUNsYXNzKCJpc0FjdGl2ZSIpfSksMDxvKCIubmF2U2lkZWJhci1idXR0b24iKS5sZW5ndGgmJm8oIi5uYXZTaWRlYmFyLWJ1dHRvbiIpLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcFByb3BhZ2F0aW9uKCksbygiLmluZm8tZ3JvdXAiKS5hZGRDbGFzcygiaXNBY3RpdmUiKX0pLDA8bygiLmNsb3NlLXNpZGUtd2lkZ2V0IikubGVuZ3RoJiZvKCIuY2xvc2Utc2lkZS13aWRnZXQiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxvKCIuaW5mby1ncm91cCIpLnJlbW92ZUNsYXNzKCJpc0FjdGl2ZSIpfSksbygiYm9keSIpLm9uKCJjbGljayIsZnVuY3Rpb24oZSl7bygiLmluZm8tZ3JvdXAiKS5yZW1vdmVDbGFzcygiaXNBY3RpdmUiKSxvKCIuY2FydC1ncm91cCIpLnJlbW92ZUNsYXNzKCJpc0FjdGl2ZSIpfSksbygiLnhzLXNpZGViYXItd2lkZ2V0Iikub24oImNsaWNrIixmdW5jdGlvbihlKXtlLnN0b3BQcm9wYWdhdGlvbigpfSksMDxvKCIueHMtbW9kYWwtcG9wdXAiKS5sZW5ndGgmJm8oIi54cy1tb2RhbC1wb3B1cCIpLm1hZ25pZmljUG9wdXAoe3R5cGU6ImlubGluZSIsZml4ZWRDb250ZW50UG9zOiExLGZpeGVkQmdQb3M6ITAsb3ZlcmZsb3dZOiJhdXRvIixjbG9zZUJ0bkluc2lkZTohMSxjYWxsYmFja3M6e2JlZm9yZU9wZW46ZnVuY3Rpb24oKXt0aGlzLnN0Lm1haW5DbGFzcz0ibXktbWZwLXNsaWRlLWJvdHRvbSB4cy1wcm9tby1wb3B1cCJ9fX0pfSk7"}},"time_used":70,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":67,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/externale92ae92a.html?link=https://fonts.googleapis.com/css?family=Hind+Siliguri:400,500,600,700|Poppins:300,400,500,600,700,800,900\u0026amp;display=swap","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.847Z","timestamp":1785135591847,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/externale92ae92a.html?link=https://fonts.googleapis.com/css?family=Hind+Siliguri:400,500,600,700|Poppins:300,400,500,600,700,800,900\u0026amp;display=swap HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"4d6-68bf75d4-de4c881e69120ea5;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: efe927b7a1ee1783d34047e14c827b73-srv-edge3\r\nx-hcdn-cache-status: DYNAMIC\r\nx-hcdn-upstream-rt: 0.022\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":1238,"size_decoded":1015,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"0bde7d4b3da67537eaf9188e6f8049cf","sha1":"64300fc482d01d38b40ab20e15960b6509665e5a","sha256":"5dc1ae0b875dc0d78dbc5532226f5f31b762b4d1229984f605d27bf895ab6807","sha512":"2d4d27ab5b3dd2a701a944e9b5372b40ee4f8b3267f133be7ad0d4b42528302aaa002b6132722e2ad1fe629fc3e8baf1011c8dad326062e9c0946d6f1b6eafb4","ssdeep":"","tlshash":"8d21423ec1c1150a80271154fb81e2942619825192470fa1379e7167f6cc0f756937c8","first_seen":"2023-03-07T01:03:24Z","last_seen":"2026-08-17T04:09:55.14189Z","times_seen":41487,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48L2hlYWQ+Cjxib2R5IHN0eWxlPSJjb2xvcjogIzQ0NDsgbWFyZ2luOjA7Zm9udDogbm9ybWFsIDE0cHgvMjBweCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBoZWlnaHQ6MTAwJTsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsiPgo8ZGl2IHN0eWxlPSJoZWlnaHQ6YXV0bzsgbWluLWhlaWdodDoxMDAlOyAiPiAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyB3aWR0aDo4MDBweDsgbWFyZ2luLWxlZnQ6IC00MDBweDsgcG9zaXRpb246YWJzb2x1dGU7IHRvcDogMzAlOyBsZWZ0OjUwJTsiPgogICAgICAgIDxoMSBzdHlsZT0ibWFyZ2luOjA7IGZvbnQtc2l6ZToxNTBweDsgbGluZS1oZWlnaHQ6MTUwcHg7IGZvbnQtd2VpZ2h0OmJvbGQ7Ij40MDQ8L2gxPgo8aDIgc3R5bGU9Im1hcmdpbi10b3A6MjBweDtmb250LXNpemU6IDMwcHg7Ij5Ob3QgRm91bmQNCjwvaDI+CjxwPlRoZSByZXNvdXJjZSByZXF1ZXN0ZWQgY291bGQgbm90IGJlIGZvdW5kIG9uIHRoaXMgc2VydmVyITwvcD4KPC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0iY29sb3I6I2YwZjBmMDsgZm9udC1zaXplOjEycHg7bWFyZ2luOmF1dG87cGFkZGluZzowcHggMzBweCAwcHggMzBweDtwb3NpdGlvbjpyZWxhdGl2ZTtjbGVhcjpib3RoO2hlaWdodDoxMDBweDttYXJnaW4tdG9wOi0xMDFweDtiYWNrZ3JvdW5kLWNvbG9yOiM0NzQ3NDc7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwwLDAsMC4xNSk7Ym94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgaW5zZXQ7Ij4KPGJyPlByb3VkbHkgcG93ZXJlZCBieSAgPGEgc3R5bGU9ImNvbG9yOiNmZmY7IiBocmVmPSJodHRwOi8vd3d3LmxpdGVzcGVlZHRlY2guY29tL2Vycm9yLXBhZ2UiPkxpdGVTcGVlZCBXZWIgU2VydmVyPC9hPjxwPlBsZWFzZSBiZSBhZHZpc2VkIHRoYXQgTGl0ZVNwZWVkIFRlY2hub2xvZ2llcyBJbmMuIGlzIG5vdCBhIHdlYiBob3N0aW5nIGNvbXBhbnkgYW5kLCBhcyBzdWNoLCBoYXMgbm8gY29udHJvbCBvdmVyIGNvbnRlbnQgZm91bmQgb24gdGhpcyBzaXRlLjwvcD48L2Rpdj48L2JvZHk+PC9odG1sPgo="}},"time_used":56,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/flaticon.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.853Z","timestamp":1785135591853,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/flaticon.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 2122\r\ncache-control: public, max-age=604800\r\nexpires: Thu, 30 Jul 2026 11:10:01 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"31f7-68bf75d4-b115bd90d1ead3ca;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 330590\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 982a09e59f9f3aabb101a6a773955ab0-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":12791,"size_decoded":2714,"mime_type":"text/css","magic":"ASCII text","md5":"31c5ac1a6395d6c82c2ee983ca335c4c","sha1":"7b6d1edc6065c302806306e3d9179f970047deee","sha256":"f7674eb53366f325ea3e18d2e6c77e3c6939eab602b9f9e19380caa608d62c6a","sha512":"7cea39ecd5b8e0d3b44a1e3d3ca2b72c0b0b0f7c225db0f33bacfffe16e772a640e1b489f3e3794d52384d3b2ea2df58d42540052f51f98645b4dc2669ae3d43","ssdeep":"192:DX8GefmMVImwffNL0+V9XQZQVwFJ+vFLka9QOWXbB:Dc4fS+kZWwaFLZ6bB","tlshash":"ed42e4b2917f01c44711ea8127ab7240af95b02d99e9fc7dd0426e9dfae5e0983d32dc","first_seen":"2024-08-19T19:39:35.235551Z","last_seen":"2026-07-27T11:34:25.554508Z","times_seen":48,"resource_available":false,"data":"CS8qCiAgCUZsYXRpY29uIGljb24gZm9udDogRmxhdGljb24KICAJQ3JlYXRpb24gZGF0ZTogMTAvMDIvMjAyMCAxMTo0MAogIAkqLwoKQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICJGbGF0aWNvbiI7CiAgc3JjOiB1cmwoIi4uL2ZvbnRzL2ZsYXRpY29uLmVvdCIpOwogIHNyYzogdXJsKCIuLi9mb250cy9mbGF0aWNvbmQ0MWRkNDFkLmVvdCNpZWZpeCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSwKICAgICAgIHVybCgiLi4vZm9udHMvZmxhdGljb24ud29mZiIpIGZvcm1hdCgid29mZiIpLAogICAgICAgdXJsKCIuLi9mb250cy9mbGF0aWNvbi50dGYiKSBmb3JtYXQoInRydWV0eXBlIiksCiAgICAgICB1cmwoIi4uL2ZvbnRzL2ZsYXRpY29uLnN2ZyNGbGF0aWNvbiIpIGZvcm1hdCgic3ZnIik7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBmb250LXN0eWxlOiBub3JtYWw7Cn0KCkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkgewogIEBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICJGbGF0aWNvbiI7CiAgICBzcmM6IHVybCgiLi4vZm9udHMvZmxhdGljb24uc3ZnI0ZsYXRpY29uIikgZm9ybWF0KCJzdmciKTsKICB9Cn0KCltjbGFzc149ImZsYXRpY29uLSJdOmJlZm9yZSwgW2NsYXNzKj0iIGZsYXRpY29uLSJdOmJlZm9yZSwKW2NsYXNzXj0iZmxhdGljb24tIl06YWZ0ZXIsIFtjbGFzcyo9IiBmbGF0aWNvbi0iXTphZnRlciB7ICAgCiAJZm9udC1mYW1pbHk6IEZsYXRpY29uOwoJZm9udC1zdHlsZTogbm9ybWFsOwp9CgouZmxhdGljb24tMjQtaG91cnM6YmVmb3JlIHsgY29udGVudDogIlxmMTAwIjsgfQouZmxhdGljb24tMjQtaG91cnMtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDEiOyB9Ci5mbGF0aWNvbi1leGFtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwMiI7IH0KLmZsYXRpY29uLW9wZW4tYm9vazpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDMiOyB9Ci5mbGF0aWNvbi1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwNCI7IH0KLmZsYXRpY29uLWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwNSI7IH0KLmZsYXRpY29uLXF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwNiI7IH0KLmZsYXRpY29uLXJpZ2h0LXF1b3RlLXNpZ246YmVmb3JlIHsgY29udGVudDogIlxmMTA3IjsgfQouZmxhdGljb24tcGxhY2Vob2xkZXI6YmVmb3JlIHsgY29udGVudDogIlxmMTA4IjsgfQouZmxhdGljb24tcGxhY2Vob2xkZXItMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDkiOyB9Ci5mbGF0aWNvbi1wbGFjZWhvbGRlci0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwYSI7IH0KLmZsYXRpY29uLXBsYWNlaG9sZGVyLWZpbGxlZC1wb2ludDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGIiOyB9Ci5mbGF0aWNvbi10ZWxlcGhvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMTBjIjsgfQouZmxhdGljb24tcGhvbmUtY2FsbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGQiOyB9Ci5mbGF0aWNvbi1jaGF0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwZSI7IH0KLmZsYXRpY29uLWNvbW1lbnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTBmIjsgfQouZmxhdGljb24tdGltZXRhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMCI7IH0KLmZsYXRpY29uLXVubGluazpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTEiOyB9Ci5mbGF0aWNvbi1wbGF5LWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMiI7IH0KLmZsYXRpY29uLXBvcnRmb2xpbzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTMiOyB9Ci5mbGF0aWNvbi1tb25leS1iYWc6YmVmb3JlIHsgY29udGVudDogIlxmMTE0IjsgfQouZmxhdGljb24tcG9ydGZvbGlvLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTE1IjsgfQouZmxhdGljb24tYXdhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTE2IjsgfQouZmxhdGljb24td2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExNyI7IH0KLmZsYXRpY29uLXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTgiOyB9Ci5mbGF0aWNvbi1tYXA6YmVmb3JlIHsgY29udGVudDogIlxmMTE5IjsgfQouZmxhdGljb24tbWFnbmlmeWluZy1nbGFzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxMWEiOyB9Ci5mbGF0aWNvbi1tYWduaWZ5aW5nLWdsYXNzLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTFiIjsgfQouZmxhdGljb24tbWVudTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMWMiOyB9Ci5mbGF0aWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExZCI7IH0KLmZsYXRpY29uLXNob3BwaW5nLWNhcnQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMWUiOyB9Ci5mbGF0aWNvbi1iYWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExZiI7IH0KLmZsYXRpY29uLXBsYXktYnV0dG9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyMCI7IH0KLmZsYXRpY29uLWJhY2stYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMTIxIjsgfQouZmxhdGljb24tZ3Jvd3RoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyMiI7IH0KLmZsYXRpY29uLXRhcmdldDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjMiOyB9Ci5mbGF0aWNvbi1zZXR0aW5nczpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjQiOyB9Ci5mbGF0aWNvbi1hdmF0YXI6YmVmb3JlIHsgY29udGVudDogIlxmMTI1IjsgfQouZmxhdGljb24tc2hhcmU6YmVmb3JlIHsgY29udGVudDogIlxmMTI2IjsgfQouZmxhdGljb24taGVhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTI3IjsgfQouZmxhdGljb24tbGlrZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjgiOyB9Ci5mbGF0aWNvbi1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyOSI7IH0KLmZsYXRpY29uLWhlYWRwaG9uZXM6YmVmb3JlIHsgY29udGVudDogIlxmMTJhIjsgfQouZmxhdGljb24tZ2FyYmFnZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmIiOyB9Ci5mbGF0aWNvbi1pbnRlcm5ldDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmMiOyB9Ci5mbGF0aWNvbi1uZXR3b3JrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyZCI7IH0KLmZsYXRpY29uLXNob3BwaW5nLWNhcnQtMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmUiOyB9Ci5mbGF0aWNvbi1jb25uZWN0aW9uczpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmYiOyB9Ci5mbGF0aWNvbi1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzAiOyB9Ci5mbGF0aWNvbi1lbWFpbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzEiOyB9Ci5mbGF0aWNvbi1tZXNzYWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzMiI7IH0KLmZsYXRpY29uLW1lc3NhZ2UtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzMiOyB9Ci5mbGF0aWNvbi1lLW1haWwtZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogIlxmMTM0IjsgfQouZmxhdGljb24taW50ZXJuZXQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzUiOyB9Ci5mbGF0aWNvbi1mdWxsLXNjcmVlbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzYiOyB9Ci5mbGF0aWNvbi1zZW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzNyI7IH0KLmZsYXRpY29uLXN1Y2Nlc3M6YmVmb3JlIHsgY29udGVudDogIlxmMTM4IjsgfQouZmxhdGljb24tdGljay1pbnNpZGUtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzOSI7IH0KLmZsYXRpY29uLW1vbml0b3I6YmVmb3JlIHsgY29udGVudDogIlxmMTNhIjsgfQouZmxhdGljb24tbG9jazpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2IiOyB9Ci5mbGF0aWNvbi1leWU6YmVmb3JlIHsgY29udGVudDogIlxmMTNjIjsgfQouZmxhdGljb24tcm9ja2V0LXNoaXA6YmVmb3JlIHsgY29udGVudDogIlxmMTNkIjsgfQouZmxhdGljb24taGVhZHBob25lcy0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzZSI7IH0KLmZsYXRpY29uLXBpbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2YiOyB9Ci5mbGF0aWNvbi1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogIlxmMTQwIjsgfQouZmxhdGljb24tZW1haWwtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDEiOyB9Ci5mbGF0aWNvbi1jcm93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDIiOyB9Ci5mbGF0aWNvbi1yaWdodC1xdW90ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDMiOyB9Ci5mbGF0aWNvbi1tdWx0aXBseTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDQiOyB9Ci5mbGF0aWNvbi1tZWRpYS1wbGF5LXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDUiOyB9Ci5mbGF0aWNvbi1hcnJvdy1wb2ludGluZy10by1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDYiOyB9Ci5mbGF0aWNvbi1iYWNrLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTQ3IjsgfQouZmxhdGljb24tYXdhcmQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDgiOyB9Ci5mbGF0aWNvbi1wZGY6YmVmb3JlIHsgY29udGVudDogIlxmMTQ5IjsgfQouZmxhdGljb24tdXNlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNGEiOyB9Ci5mbGF0aWNvbi1sb3VwZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNGIiOyB9Ci5mbGF0aWNvbi1oYW5kc2hha2U6YmVmb3JlIHsgY29udGVudDogIlxmMTRjIjsgfQouZmxhdGljb24tbGluazpiZWZvcmUgeyBjb250ZW50OiAiXGYxNGQiOyB9Ci5mbGF0aWNvbi11c2VyLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTRlIjsgfQouZmxhdGljb24tdHJvcGh5LTE6YmVmb3JlIHsgY29udGVudDogIlxmMTRmIjsgfQouZmxhdGljb24taG91c2UtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTAiOyB9Ci5mbGF0aWNvbi1iYXItY2hhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTUxIjsgfQouZmxhdGljb24tY29pbjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTIiOyB9Ci5mbGF0aWNvbi1saW5lLWNoYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1MyI7IH0KLmZsYXRpY29uLXBsYW5ldC1lYXJ0aDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNTQiOyB9Ci5mbGF0aWNvbi1waWUtY2hhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMTU1IjsgfQouZmxhdGljb24tbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1NiI7IH0KLmZsYXRpY29uLXF1b3RlLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTU3IjsgfQouZmxhdGljb24tY2xvdWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTU4IjsgfQouZmxhdGljb24td2hlZWw6YmVmb3JlIHsgY29udGVudDogIlxmMTU5IjsgfQouZmxhdGljb24tbGlnaHQtYnVsYjpiZWZvcmUgeyBjb250ZW50OiAiXGYxNWEiOyB9Ci5mbGF0aWNvbi1jbG9jazpiZWZvcmUgeyBjb250ZW50OiAiXGYxNWIiOyB9Ci5mbGF0aWNvbi1jbG9jay0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1YyI7IH0KLmZsYXRpY29uLWFsYXJtLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1ZCI7IH0KLmZsYXRpY29uLWFsYXJtLWNsb2NrLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTVlIjsgfQouZmxhdGljb24tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE1ZiI7IH0KLmZsYXRpY29uLW1lbnUtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjAiOyB9Ci5mbGF0aWNvbi1iaWctYW5jaG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2MSI7IH0KLmZsYXRpY29uLXBsYXktYnV0dG9uLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTYyIjsgfQouZmxhdGljb24tZmxhc2g6YmVmb3JlIHsgY29udGVudDogIlxmMTYzIjsgfQouZmxhdGljb24tYWRkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2NCI7IH0KLmZsYXRpY29uLXBsYWNlaG9sZGVyLTM6YmVmb3JlIHsgY29udGVudDogIlxmMTY1IjsgfQouZmxhdGljb24taW5jcmVhc2Utc2l6ZS1vcHRpb246YmVmb3JlIHsgY29udGVudDogIlxmMTY2IjsgfQouZmxhdGljb24tZG91YmxlLWFuZ2xlLXBvaW50aW5nLXRvLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2NyI7IH0KLmZsYXRpY29uLWxvbmctYXJyb3ctcG9pbnRpbmctdG8tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjgiOyB9Ci5mbGF0aWNvbi1sb25nLWFycm93LXBvaW50aW5nLXRvLXRoZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNjkiOyB9Ci5mbGF0aWNvbi1nYWxsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2YSI7IH0KLmZsYXRpY29uLXJpZ2h0LWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2YiI7IH0KLmZsYXRpY29uLXJpZ2h0LWFycm93LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTZjIjsgfQouZmxhdGljb24tc3VjY2Vzcy0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2ZCI7IH0KLmZsYXRpY29uLXBhcGVyLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2ZSI7IH0KLmZsYXRpY29uLWhpZ2gtdm9sdW1lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE2ZiI7IH0KLmZsYXRpY29uLWxlZnQtYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMTcwIjsgfQouZmxhdGljb24tZ28tYmFjay1sZWZ0LWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3MSI7IH0KLmZsYXRpY29uLWZpbGU6YmVmb3JlIHsgY29udGVudDogIlxmMTcyIjsgfQouZmxhdGljb24tZmlsZS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3MyI7IH0KLmZsYXRpY29uLXNoYXJlLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzQiOyB9Ci5mbGF0aWNvbi1mYXZvdXJpdGVzLWZpbGxlZC1zdGFyLXN5bWJvbDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzUiOyB9Ci5mbGF0aWNvbi1zdGFyLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTc2IjsgfQouZmxhdGljb24tZ2lmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNzciOyB9Ci5mbGF0aWNvbi10aWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3OCI7IH0KLmZsYXRpY29uLWVtYWlsLTI6YmVmb3JlIHsgY29udGVudDogIlxmMTc5IjsgfQouZmxhdGljb24tdGVsZXBob25lLWF1cmljdWxhci13aXRoLWNhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE3YSI7IH0KLmZsYXRpY29uLXBsYWNlaG9sZGVyLTQ6YmVmb3JlIHsgY29udGVudDogIlxmMTdiIjsgfQouZmxhdGljb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogIlxmMTdjIjsgfQouZmxhdGljb24tc2hvcHBpbmctYmFnLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTdkIjsgfQouZmxhdGljb24tdXAtYXJyb3c6YmVmb3JlIHsgY29udGVudDogIlxmMTdlIjsgfQouZmxhdGljb24tYW5nbGUtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYxN2YiOyB9Ci5mbGF0aWNvbi1yaWdodC1hcnJvdy0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4MCI7IH0KLmZsYXRpY29uLWxlZnQtYXJyb3ctMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxODEiOyB9Ci5mbGF0aWNvbi1jaGVjay1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogIlxmMTgyIjsgfQouZmxhdGljb24tcGRmLTE6YmVmb3JlIHsgY29udGVudDogIlxmMTgzIjsgfQouZmxhdGljb24tcG93ZXJwb2ludC1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4NCI7IH0KLmZsYXRpY29uLXBsYWNlaG9sZGVyLTU6YmVmb3JlIHsgY29udGVudDogIlxmMTg1IjsgfQouZmxhdGljb24tMjQtaG91cnMtcGhvbmUtc2VydmljZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxODYiOyB9Ci5mbGF0aWNvbi1ob21lLXBhZ2U6YmVmb3JlIHsgY29udGVudDogIlxmMTg3IjsgfQouZmxhdGljb24tc2FmZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxODgiOyB9Ci5mbGF0aWNvbi16b29tLWluY3JlYXNpbmctc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4OSI7IH0KLmZsYXRpY29uLXpvb20taW46YmVmb3JlIHsgY29udGVudDogIlxmMThhIjsgfQouZmxhdGljb24tZm9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4YiI7IH0KLmZsYXRpY29uLWNvbW1lbnQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOGMiOyB9Ci5mbGF0aWNvbi1wYXBlci1wbGFuZS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4ZCI7IH0KLmZsYXRpY29uLXNlbmQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOGUiOyB9Ci5mbGF0aWNvbi1zbWFydHBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE4ZiI7IH0KLmZsYXRpY29uLTI0LWhvdXJzLTI6YmVmb3JlIHsgY29udGVudDogIlxmMTkwIjsgfQouZmxhdGljb24tZWRpdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTEiOyB9Ci5mbGF0aWNvbi1jbG9jay0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5MiI7IH0KLmZsYXRpY29uLXRodW1iLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5MyI7IH0KLmZsYXRpY29uLWhhbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMTk0IjsgfQouZmxhdGljb24taG9tZS0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5NSI7IH0KLmZsYXRpY29uLWFkZC0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5NiI7IH0KLmZsYXRpY29uLXBsdXMtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5NyI7IH0KLmZsYXRpY29uLXN1YnN0cmFjdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTgiOyB9Ci5mbGF0aWNvbi1zdWJzdHJhY3QtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOTkiOyB9Ci5mbGF0aWNvbi1wZGYtZmlsZS1mb3JtYXQtc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5YSI7IH0KLmZsYXRpY29uLWVkaXQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxOWIiOyB9Ci5mbGF0aWNvbi1zaGllbGQ6YmVmb3JlIHsgY29udGVudDogIlxmMTljIjsgfQouZmxhdGljb24tcGFzczpiZWZvcmUgeyBjb250ZW50OiAiXGYxOWQiOyB9Ci5mbGF0aWNvbi11c2VyLTI6YmVmb3JlIHsgY29udGVudDogIlxmMTllIjsgfQouZmxhdGljb24tdXNlci0zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE5ZiI7IH0KLmZsYXRpY29uLWNhbGVuZGFyLTE6YmVmb3JlIHsgY29udGVudDogIlxmMWEwIjsgfQouZmxhdGljb24tc3VwcG9ydDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYTEiOyB9Ci5mbGF0aWNvbi1jdXN0b21lci1zZXJ2aWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhMiI7IH0KLmZsYXRpY29uLXN1cHBvcnQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYTMiOyB9Ci5mbGF0aWNvbi1iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhNCI7IH0KLmZsYXRpY29uLWRpYWdyYW06YmVmb3JlIHsgY29udGVudDogIlxmMWE1IjsgfQouZmxhdGljb24tY29tYmluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYTYiOyB9Ci5mbGF0aWNvbi11c2VyLTQ6YmVmb3JlIHsgY29udGVudDogIlxmMWE3IjsgfQouZmxhdGljb24tcmF0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhOCI7IH0KLmZsYXRpY29uLWhhbmQtc2hha2U6YmVmb3JlIHsgY29udGVudDogIlxmMWE5IjsgfQouZmxhdGljb24tc3VwcG9ydC0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFhYSI7IH0KLmZsYXRpY29uLXJpZ2h0LWFycm93cy1jb3VwbGU6YmVmb3JlIHsgY29udGVudDogIlxmMWFiIjsgfQouZmxhdGljb24tZG91YmxlLWNoZXZyb246YmVmb3JlIHsgY29udGVudDogIlxmMWFjIjsgfQouZmxhdGljb24tc3RhcnR1cDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYWQiOyB9Ci5mbGF0aWNvbi13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogIlxmMWFlIjsgfQouZmxhdGljb24tdmVyaWZpZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMWFmIjsgfQouZmxhdGljb24tc2VjdXJpdHk6YmVmb3JlIHsgY29udGVudDogIlxmMWIwIjsgfQouZmxhdGljb24tc2hpZWxkLTE6YmVmb3JlIHsgY29udGVudDogIlxmMWIxIjsgfQouZmxhdGljb24tY2hlY2tlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjIiOyB9Ci5mbGF0aWNvbi1sZWZ0LXF1b3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiMyI7IH0KLmZsYXRpY29uLXF1b3RlLTI6YmVmb3JlIHsgY29udGVudDogIlxmMWI0IjsgfQouZmxhdGljb24tdHJhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNSI7IH0KLmZsYXRpY29uLW1hcHMtYW5kLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNiI7IH0KLmZsYXRpY29uLXBsYWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiNyI7IH0KLmZsYXRpY29uLWVtYWlsLTM6YmVmb3JlIHsgY29udGVudDogIlxmMWI4IjsgfQouZmxhdGljb24tMjQtaG91cnMtMzpiZWZvcmUgeyBjb250ZW50OiAiXGYxYjkiOyB9Ci5mbGF0aWNvbi1jbG9jay0zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiYSI7IH0KLmZsYXRpY29uLW1lbnUtMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxYmIiOyB9Ci5mbGF0aWNvbi1tZW51LTM6YmVmb3JlIHsgY29udGVudDogIlxmMWJjIjsgfQouZmxhdGljb24tc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiZCI7IH0KLmZsYXRpY29uLXBpZS1jaGFydC0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFiZSI7IH0KLmZsYXRpY29uLWFuYWx5dGljczpiZWZvcmUgeyBjb250ZW50OiAiXGYxYmYiOyB9Ci5mbGF0aWNvbi1waWUtY2hhcnQtMjpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzAiOyB9Ci5mbGF0aWNvbi1waWUtY2hhcnQtMzpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzEiOyB9Ci5mbGF0aWNvbi1lZmZlY3RpdmU6YmVmb3JlIHsgY29udGVudDogIlxmMWMyIjsgfQouZmxhdGljb24tc2VhcmNoLWVuZ2luZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzMiOyB9Ci5mbGF0aWNvbi1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjNCI7IH0KLmZsYXRpY29uLXBsdXMtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxYzUiOyB9Ci5mbGF0aWNvbi1xdW90ZS0zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjNiI7IH0KLmZsYXRpY29uLW1hcHMtYW5kLWZsYWdzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjNyI7IH0KLmZsYXRpY29uLWNhbGw6YmVmb3JlIHsgY29udGVudDogIlxmMWM4IjsgfQouZmxhdGljb24tdGVsZXBob25lLTE6YmVmb3JlIHsgY29udGVudDogIlxmMWM5IjsgfQouZmxhdGljb24tZW1haWwtNDpiZWZvcmUgeyBjb250ZW50OiAiXGYxY2EiOyB9Ci5mbGF0aWNvbi11c2VyLTU6YmVmb3JlIHsgY29udGVudDogIlxmMWNiIjsgfQouZmxhdGljb24tdXNlci02OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjYyI7IH0KLmZsYXRpY29uLWFkZHJlc3M6YmVmb3JlIHsgY29udGVudDogIlxmMWNkIjsgfQouZmxhdGljb24taG9tZS0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFjZSI7IH0KLmZsYXRpY29uLWhvbWUtMzpiZWZvcmUgeyBjb250ZW50OiAiXGYxY2YiOyB9Ci5mbGF0aWNvbi1hcm91bmQ6YmVmb3JlIHsgY29udGVudDogIlxmMWQwIjsgfQouZmxhdGljb24td29ybGQ6YmVmb3JlIHsgY29udGVudDogIlxmMWQxIjsgfQouZmxhdGljb24tY2xvY2stNDpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDIiOyB9Ci5mbGF0aWNvbi1zY2hlZHVsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDMiOyB9Ci5mbGF0aWNvbi1jb3VudGRvd246YmVmb3JlIHsgY29udGVudDogIlxmMWQ0IjsgfQouZmxhdGljb24tc2hvcHBpbmctY2FydC0zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkNSI7IH0KLmZsYXRpY29uLXNob3BwaW5nLWJhZy0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkNiI7IH0KLmZsYXRpY29uLWJlbmNobWFyazpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDciOyB9Ci5mbGF0aWNvbi1hbmFseXRpY3MtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDgiOyB9Ci5mbGF0aWNvbi1iYXItY2hhcnQtMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZDkiOyB9Ci5mbGF0aWNvbi10ZWFtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkYSI7IH0KLmZsYXRpY29uLXN1cHBvcnQtMzpiZWZvcmUgeyBjb250ZW50OiAiXGYxZGIiOyB9Ci5mbGF0aWNvbi1pbm5vdmF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFkYyI7IH0KLmZsYXRpY29uLW1hY2hpbmUtbGVhcm5pbmc6YmVmb3JlIHsgY29udGVudDogIlxmMWRkIjsgfQouZmxhdGljb24taWRlYTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZGUiOyB9Ci5mbGF0aWNvbi1tYWNoaW5lLWxlYXJuaW5nLTE6YmVmb3JlIHsgY29udGVudDogIlxmMWRmIjsgfQouZmxhdGljb24tdGF4YXRpb246YmVmb3JlIHsgY29udGVudDogIlxmMWUwIjsgfQouZmxhdGljb24tYnVkZ2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlMSI7IH0KLmZsYXRpY29uLWluZGV4OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlMiI7IH0KLmZsYXRpY29uLXJldmVudWU6YmVmb3JlIHsgY29udGVudDogIlxmMWUzIjsgfQouZmxhdGljb24taGFuZC0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlNCI7IH0KLmZsYXRpY29uLWNyZWF0aXZpdHk6YmVmb3JlIHsgY29udGVudDogIlxmMWU1IjsgfQouZmxhdGljb24tY29uc3VsdGluZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxZTYiOyB9Ci5mbGF0aWNvbi1wbGFubmluZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxZTciOyB9Ci5mbGF0aWNvbi1wbGFubmluZy0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlOCI7IH0KLmZsYXRpY29uLWNyZWF0aXZpdHktMTpiZWZvcmUgeyBjb250ZW50OiAiXGYxZTkiOyB9Ci5mbGF0aWNvbi1hbmFseXNpcy0xOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlYSI7IH0KLmZsYXRpY29uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlYiI7IH0KLmZsYXRpY29uLW5leHQ6YmVmb3JlIHsgY29udGVudDogIlxmMWVjIjsgfQouZmxhdGljb24tc3RhcnQ6YmVmb3JlIHsgY29udGVudDogIlxmMWVkIjsgfQouZmxhdGljb24tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogIlxmMWVlIjsgfQouZmxhdGljb24tZmlsZS0yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFlZiI7IH0KLmZsYXRpY29uLWZpbGUtMzpiZWZvcmUgeyBjb250ZW50OiAiXGYxZjAiOyB9Ci5mbGF0aWNvbi1kb2M6YmVmb3JlIHsgY29udGVudDogIlxmMWYxIjsgfQouZmxhdGljb24tZG9jdW1lbnQ6YmVmb3JlIHsgY29udGVudDogIlxmMWYyIjsgfQouZmxhdGljb24tY2hlY2tsaXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmMyI7IH0="}},"time_used":50,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":50,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.074Z","timestamp":1785135592074,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /s3.tradingview.com/external-embedding/embed-widget-ticker-tape.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 611f4e78cd38c68c66b06163354e3d1d-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":4511,"size_decoded":2007,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/background/pattern-8.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.165Z","timestamp":1785135592165,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/background/pattern-8.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 14036\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 40124072806b62d9d14b3cfcf39e9d93-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":14036,"size_decoded":14379,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"7bd327fd9fb062512d1c0553f93cf866","sha1":"ece40b04a266a4b04c2e6553044518c5042f7530","sha256":"6c0fe0918d571a4bce2d3be951da614de3f7a98376269b41e54e79877cb7329c","sha512":"3e0ca87d8f97b7329178b6846eae2167477073f963131c357260228f4da13a13a868ea6687a7937e62f8446596dff558fd3803054a9874ab4e9a776ef04ec0cf","ssdeep":"192:tZ+wyND52XDRkJd6Mhf+xmRsrXb1SZUzUsyxyA7bNsV64mIfgFGBBI9Xz/Skmh:tAbN06JUe3RsrXbcfbl/pLUBUXb7mh","tlshash":"1252c02ab2e54c10f5c9913644ebb650f7ced3641ba4c8dae6554b101e9a4c6df2fdc0","first_seen":"2026-07-27T05:44:01.793067Z","last_seen":"2026-07-27T11:04:25.219219Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":44,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":44,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/background/1.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.169Z","timestamp":1785135592169,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/background/1.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 131764\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 8c21f3affd17c5a743216f3c0d133cf5-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":131764,"size_decoded":132108,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"84777f146d95d2c32b1f8ffefa679006","sha1":"c1e5890fbc75892ddba6787a0ba0cee7584a8923","sha256":"088fcff85fa8e395cb7226d01d5de969996bd925d9dbd7e65e5592670773ffd0","sha512":"6f8e81f509722ab703c69cde9fa3b932bb1bdf816c61ae1a374b28eff1e4cb8d0c43baadd3f2888a0242eadad5f4e0553aac9eb15c80cafc1007128a2cee31e7","ssdeep":"3072:ewpYP0hUn7JqNXOJ/qYq/BzhtLcPEiwueZaqXYa81kmRrWwXl46d:X07LrcBzhfi/cXdIlq6d","tlshash":"32d312f20d75260b96b92be3b0b5db193f6cfebb537541a995f047a50b08d00e8bd4a0","first_seen":"2026-07-27T05:44:01.795259Z","last_seen":"2026-07-27T11:04:25.207282Z","times_seen":4,"resource_available":false,"data":"UklGRqwCAgBXRUJQVlA4WAoAAAAIAAAAPwYA7QIAVlA4IAgCAgDQNQidASpABu4CPlEmj0YjoiEkozOqwJAKCWluc6vdT0vEc+75q+cWla/A46mW/5vR6/edNjoLqzMVTx8lilB5168/svPb7B+88dqdx7Bn7DctvQN88ifV5YPtL1F5c5z7t6+poh5h+d/9X8P2Tsy/wD/P6WPu3fC/+3sV/rvR19ZH9v9GfnO+pf/Eb+L6OXnPejbkW3zr/ef9D/E+qL6H/N/878yfOv9M967+g/eL48f67Gv8x4Hf2D9s/2vXT/jd+P6x/X+gX+b/2Lz2f1+4P3z/r+hB8J/mPS6/g/bD15/pfUD87v/T4sn8T/w+wJ/Z/9D/9faM/5/Nv+1f9b2Hfux7cfpjD6yAGDb6BB7lL05x/GGom/6426iChY4ndtykcOsAoXfD/fcJId+KoTF5uh5ciRByE0C14iU6VMfBfy34VAXmrMP5ESy+H00FfNC841gF1qfn47yVocl9vhuddavisLPrMw9AAh74mokQjMWUlqPTbD11PlGk+hmLtdWqjwy1ikyf2wtOsCHLwTfMJbiXqBfVHzCgZ1sfrGx+SjACe0qwIG6xV5E8ymdrPZaaiiW4ZOhlm8eQLewSrHVWLSe6ZS52w1a0NA9o/GfoDt9Hfcx5E6n+unTTTq34/yX7Pv9CYLj5pxjAHcdTguRCigeJ1+35h5Vebm/2SCg7dO103llRT50qhX/tZWJBjd7LZG8JUCP1j/eSjRrDCnRbn3rtimJ0ErDNdDFYZDgyft6hgY91Q1jVpankfrv9aFYkZovSstvywYRCp1eEbQCwVJc/cGGp/soSBnlla94TUufESZhh/lmGZiTd62oYpxzn4yEfVyt9XQiI+x0K6T5xiy0bqeZ2wiG6foYmVu8/gVPP19dzsBBparUwMQrs74yS5ecEsMqnzhpPyz+YbgXuUc9aX1zFyPh6ACrxUoXmENKu/LANWg67/DkcNbniWTo62wdprb2S/E9k6nH9fpn5++elbFwdves0I0OC8Q3zmglck7bkaqkD+hW3KxSLU5jO5Cql/wTK4qq1T5CZfVWkjw5ly890C+vz6TrGRngoe49+Rw2/OAIj+mijljI4EPJN3iqha43nYPyjkIMaFiSx6qiCRphtUNwFDXoQMXmI2XMYLnVpzn/z3gO25v641eR4EyKv93HMsw64qk3VEPWvNnmzaS1l/m3CfX+8ggZikCqy6tA5SLkohQGlVpgAry5JFCmjXQU2lt2vwr007iLu5aFXclzqFJ/X76HvzfZP5KcRZYouXe/PoJjX0hDATFcyoOIrT7Ca4Qi3g4UV2WQ2QqCnfMrJildYcxPANaklS6M1HH7t2vUdu5nxerfV+x6gGk9snf4t9mXhn+B5x9ayLCIEU/1GrlacDqlpifaftiJo+CXFvbC31D/5hoKv4OGY+HAMCRiCUbQl5sSFfXzvUCs2cEZNWBuQ86VV1merTfMcVxCnyDNEOJEDZMvKhh9eaAf7DAcMM9kHLtjJfYD0UYeZ0MBNphz3c+2EQBE7919PajADQvWIrW9zoaZfhhpXvsuifOL1cU8dQAxLaQsK5nODJ/amHGxx0VUzXr3NWqI7Vj7VnV05bBPgzTNU0Rb6YCHGFXD1jOVJj4+bSoPSWhQwjTjyEPwTtUAs0INMAB/yp27brJ73raqfVr084T26vCA/MLu9s9T5PxebO/bvpV8W4H0wpEvI1lpuTZbCNLZU84Wmxjb1ktOP2IJqxyhpJcmIdCb1tYIhoX3Ipw0+wjAwnRfAXYG1SGblcScrOIoUuO/wIu2BWYVacLFZR07sHkZQz1XVftsLprPGQYUnU/r+lTso6yEui3N0QfZOLMumevj2Nlnda925aCBcPqVLRerANWQ1BC4SRgc7ulHSCIGy+0IoammIzee0ro4EkHO3nhAXtCZZkFDLGAFR1cjb7DvOjAeEh5Tl7vJH2EeiSk7vqGgajQVraFBNRuv35YFeSB2mevLbQRMV8ydetQM1z01E0p0WdlyRdDJwiFCI4SSVuLqZg6K3dsD+treij5yaSLlYUTpRzyaUCqeh6lkUk32H+FUCBl/viMJrE8GFJkX9CbX6fkkCdNUdHj1hbdirQq9IcY3ihpFhixf3D5/9BSKJgV/urUJSy5yPZm7Y24hR9T3HoIYTF5dvzRhdt/Ol6+U4oO5TRmFmONWNhcw8vSYGSDEhkTjiuzx7SB6BKly3WxDSJeo4IssGOwNL6jbw/2eIfoR2WEnGO6VkC4MKqO0MnAiOSGjX0Sc1bNrkV2WPORWiEsK535lOlYAhjZ/H5Jzz2TQ+mi9E7R5GCeF7R1l34WfF3ZeAVUF7RWKLBRar+nVF2oBBtBvFHIAlpvLdvNkVeSH+aZeOVWaTiSdYXld3mTQ+queXU9Bz1pxfWqoVUaEp7KAGK6RGg4nE5AOEmINAIYhrHZ6oiIUjudW9h6oI0PssC8CvXdGhRVzlm22O52pJI/nShT5TnCVX/GOnQA2M3i+azMTBu6jya4Dg5eJO6JauX7mkfxavnHP0a3igBpKWM3kUD1unbUYrAkzYXgcKRpPHOYNwO2v2DnToZdr0XB+EKFVuFlLFwUsmzID0sd0wHwbtUXqzM7U0AGom8UCS8zk3/MAAa1jwr+m45uiCt8QGQ+Q0+uqrVbFzgxme607f3mXoa0Qy72HNw3Q4JnCVf2KQA9nS4JyHVQk+C8AcrVbIOIHVV/gOxZGyejmAbqiK8zyKgpO4Gx5aoUCqaxjMX9zuZRI3g2/IBqSuiGsJ81rQRRNZl/xmE/I1cPL32PRbPL8BhTIOkjLaTGuQFR5UeQUKTG/YJ8zCwQ4c2yO2YK1rT17p74fV+4N7DHzUX3+UqWciZ9HH7XDAc5FUomRRv4MMr1DxbkSnXkfI/loT3QQQeTd/z1nRULN53+hyLj4o7YE6lj+QkF9i2tlvu2HrGDHErnt4r2gWZarctdrpiIKDRRmpL6rjWH8trkkp9b1pyNLZlaLXKubF5WTIhttoPG8nIafjuQTGpTK28zheJDtgwCgEbNd+s0DMfRJRNJMfrWflbkf9L+8T606hZhKeFjGPn1EnnmJvvAuoZ1YRpwGNn8XGH9k5Z0BfhLQfhHlWteHonay8rgUwQ0wQik9HpPyDR8hwaMV5WFp2i7hEIq1qUhvh7+YPeSVnDkdwxAuIXdDzEDPaelAmJzK9c1QzaI7zBtIYfp/cWrlA4x6B/eAJavpl+pnpMGUOuoOzmFTJb+RuN2TPL7oboGtgRfgsECu0e5LBAk8pbWbMTCtQcTayWeDHYlE3Hry42UJ9eVS+ciaX33HKZDMj+DYUMdh04gXdsiF4yjGeed7DSp1Ixn+i4harqe0u1qwTY/XuYGvAepQnQBEzJCcxEnxLzKJF3oK+i6BLtfg8/xdM1KeZ13Q9iaSzysuguxDp76+O+G37S4d8oRdsDHMGa+SboGNEj/gZp+sZxTi6NSIjDl5jxqlsam0fJcNl61wDWf4wQrClTu/hGF1G9pFzo69nAYFykzdYG20EOl2SO8QMQKP48kq8MPyIA7onB24+wx0F/q6G+avkocY4EU1Pv+JAj3CoAveWpl52pEIhT65bGZZbl62O4UCMXbqDHkTlebFYZl641pEpgq40kLFI9xMZUHnLod1oFzrphg5iHpwh6z++3mn6ynR3EkuMOR1wgcmX5XeIJYTxNVFCNlyMueoS/4eUqVLBTUT+F8AvgI8qkBBmkxvdUAWWhxepvlaZjzDkhyx+5zek4TvJRry609wyRVJxnBAaFum1Shsmv+6nDFEPv2hF1MA0ssT36loBUExFs+J1NSg/mW/Sup4eI6QBFUbXsR5403hOwYmThIS3bzE9WKh+zamrQInQav+osOnEyfh8FyVkEznV7OiD3zZHM0B/eWaEL7Rwi5+2nnd1854hgxGL0BMdk4Hc6/2+rIsjj6edEN3eR4uugHuPem+v/EMnLdQUC7OALrF4eVK3QDn8jldotXDlyaEEywYlbCiVvuz4h9RjwzjicUNrkEWfUW2JW6u6JH7s7ykYjhFSowV9U+oZNu4rkRSKDz63ITkUzOrp/5vHyLVe062vLDP642OVrVqUSQHVTzxS1beRVZrMEoW5L/pO11EU1KfGCx0PDEYCTnTU+pkQJlIY9FIFG6tDMlP9+P9wSidMCWvXT07LnqO1VjMyUGGosTpExgDw8wK5yGq53ZBVI5f4Lggp439dOIPfyi13kdqrWpRmK4xZkIse1gugPpF3EeB1NwZu3I5a/Z2MEpVUZkHmABJRJHpG6UE1q9IbAQuMPD8Cc2Q3qrBfzuXozWEgwEMPXCBVDFw1PjQ1mu+J8+UzGx3ygC8vYINFCtBdspus1q7HGlICYFi1aKcMNc4HjbCpS/2qCyI78WmiXsXBWUAylcVq/8O7r4SyVv5BaWM9k0M6GwENd9L8Z3T/MKKVLXhF6fidcbVJWUqtFFZUklaRGj1rR5AD+qiQAP1k1JTmcKOP34IWbc7BFphWMYKozpv5LALs3i4Z0OI5KK/adCmYmM7olZn5q1cz3knBG2ohxauIlERcx8HNO5UH0DCLPoi9HCSmeKuI//QQ75GrX1x+rQcLI9Uc2QU5A9mBqfowk4Ea9lmV4sR2tbs5c4YP8luoWt6BesZkIWAGjjVKQl0IssHeENhGERnApv66/B1X6dIL2t5qN3rsz0QSpmBPA8NmKNM4dHmEp3oknwLrZkQxV+5RCMlCJt7wkz0zKoA5F687f1DRxGugBEdGWCIXaKIqvCa/+mYYAHTTBHU8HnJppk3SIlPcJXhAn+9beDvEYiR8YfvP4GYmglL3bMA+Kwdp6REtRuVPBjmEL7WI7+K4y9sHBAwahUFPwMhPpDUx3lMU1yK+0KORKC348QVz21Vb2+Rv6vxp6AqyYLbQkGzafhuoc9eCTFl+5dSUVNd4JSjNVxD5GzSO4vDEhTfso/emesgmt7lVE8L8BPhWy0D9ZlYvv+aMkwzr4s+x6ThMTI8CRo6hso1h/UsW+IPx5wfOX+dafRkS5E2wNLoi7QvUfcdaxtJ6EpVgD7PMQYzb/ie5nCaz1F0JWbvLk0jHfLFiiwqQav6PfUq9leyUqYkLt/DRmTgWwRggVK2tfB1RreRXWjvoROHs4Gy3r9W7gFz81jalbPm75hYcqelc4+XGfOnrnOZ01oC10deR8R9YxbXFNuPkY3CWXesfyQQjSPb6sXW6HV2DkHq66tT+42TfA9T0lsZ7Y4v6LeWcqpUL712F1g/aGqQHJH23CMMM9HRO4mPoOH0C/SvZhBA0pF8w/Izp7XcP/HRdmYgbvcXwNhmyBMrkWX0DgImnUjm00vJBBNPXQiH3CP9IH1XcRI8L3VzkvnfDaaT0msww1MuztqX/5w12tgt4yBoFuoEICym8SbAoACnFqSUqo+3ssvviJagfHSAMac+uWnHNpfG61Qs9WJJYpu+v3FXdanf93ZZFN47Z/3ba1ajHJkApObng8RtDtabgtoWkWHbCUELEutaDNhlECM5eAZ1t+S/IS7kBYdMFrGZAZnFLybu8V8k4mPRTla/KfKyohLkQFhtp7Hlmi+aZbo3bXIWLr9K+MhuvaF4EP47ZanWbjhaa0g7A/qkC2Minkz3weuOIeb7M6K01kvCBCH3phlnspR7z6Q+KFFIfxQF/Q0L3uf45A1ZfCfn2iiBj3nOrdDdqQe4QRyguDhmGQ3Ia1/1PzxgWtlWAB+x8bPxNrMsiUDYq2uUPV+Ez53TWCtGcnbElEICfpziqsXGMAluxEfDajdG0werdzaHNA9Wk989+uBQ0HZHzvOlzSuqVmZjEY+3WHTic223exGC7o0HdTp9YPWmER5+1cujudVDkwYgtrYw6epUuRTwfayUPnfY4PG2XgV9X88rnjVegwT3aQgePlrGJuHje7yTnXdmyCBgA7cGMkrF8liXBDIhARWKUEae0ikpxji9V8/PSHAjBUF1NRl2uLWaXD/l1shThbZAv1JsaUdvDUQxXQbVnszgv7nMDYB87W+p2mrb5j82IhFdMZU/BTCncIs/D+Pzd7aIgpI7vnItuVNAPo+H8qZAlbjdsMY7VnMNdA5lUsqEJPYEpXyX7m2+K5BItiI+w5TSasUAYL6bpHifA7/OQ+Nhk5mw6+QLyLl5lXS6WAzQ01un02rrCl6GWsVkFwTn8PyiKHXqI2p1xKivDU7J6EKpy5kxe5L1QN76oJiuYaR9IPN2Y9CvaY5MDTCY9ww1BDKY7aQHRqSfqsjeiMJZ5R6z68uceQTN05qaT9qvQmCpD1yOUzQafISQUQR555X1RumIRkt4AeDerq6lKIPZO7VxDA+te9vhUnCEMvqqKBkDmApG+4QdRGG9sXv01B6Ol1P2p3XmHzCaf+ZnyG+u6pA2OuBcLg3b+qbW47pNeQWLkvwrOufzvnihXSa7uzutq3NfgHsfQq8ZMJOUNFe6nK97Yd6Iu43gme2/BHY62/+jsTmdYzfjGd16efGvKcPud22wX6sJWK5RgJMMZGbaQCcr0z1H0Cujw04h2JyeMS0D0gdPmFF/n8gCq+moUG9ztn+pIiT3BhGykAYI4MQVMQhS0z34oS7v2mW79LSihuGpS2CkQG0WLAyImGaBvMRxgJp9KDZvb+EK5tmtgNjMafCON7e8/zJ05aZfq6PnkcxZxIMytntQfVf9t6d1S+DVL6b6TKd3lZ8740xiv/AHa6KxZQLtwVsKYqdlt9yY3VViVSjjYxLJYZJTS1Kx/poX8KXTNu/8PnmzridKp+tV4FiphJbe8xYlZE0om+Vpb0mMiAsiGma493PL07sU4VdAq3L2geBKBkiTZXtsrOM3wfbVSywoFRMgVEvQV88Pa/7ThXKYe9rbotaVSGsJzj/5mpeCFqZYD8VZOqFSSFgc2l/ef82C9V96IKL0I3mYHtVWiAfo8akI4rkrJJLDOdE6OTeZDLsIWhOhODJO4cQy87a6f380Zeen2E74iCiCWQ06Ew5CZU/mEbTOR1ZEIxEdWuz7ZpahMrs/lJWxsD/7losIPxz2DZkmCLyKHNO0h6NSB7ZcwAviqxItWRgY55P9PPmqvp5zVbtc22kLDNL0alN8WT5bP4IMDlMaHFwqFHHYn7y7m+0UONXBv7IH4s4NhlS+If5kQJbMRd7zTSqFC6aj4+RjVEkPjvXcqgVcGt8nizfvZaYsU9hPDuOhwmHOOoehq1XdiIt/85tA9EchBcymIs6fuH9h30SOyWjezI865uA5w0xXiq6fYFUUD7B/ZGmZ1bRIkFjLfEgI3MUjxxiSmsSCHzmkEDTigyEidI9JnpSlTK8XudYb5V0nRx+QAvN6fwptCr7XEy61VcproOAcdqQvNpbH9tPz5LtIDrArYUICH5keRbuUjCV6cJem7HaVoWuxfF6d+7gYpsM/59mgWQodrQN+EqzDC8KwZ6tPU4RekUK2qCg87WeGP+CPqf2jASq2fdrQsv+fbaNLkwIFo33NZ29VcU/0BCNvohXIU5mY/17PNn+eTtw1CbXXKYwelosy4Yd03YCHFAMJpDM90dXnM7eUOM8REdt6xgVZ41MZD794PE2q241sKJ66WlyEdynHWeGfYA8o5htkDX0hurLs3iRuBjehGpEqYEo94OI8nh9n2ddHxHDzvxGF4KcRpiaqOmGn7qs/i4vLv/JJbpY4POPQt0oG5hBP4Cp1HtsCXCUW9Zxrvo1NSGTQe2pQfhPZjgxyvY3T+MW/rd6pqMBTNLRAHmYItm1uhqVzjKMLzwtrR0KdqptOusGgtTXQZxJFRUAePB9mNmHOuJXHLzuOGa5uGUEAIe6+OVWBjz7SsqSnobRp9dUgCZXjcA69BBk/gyp8ZxdshrLTeSPFKg5O0yCZ2X9cG5BAMZ1pEwiK4ju+mOzaCO0wH4yM8ByoDBuLCZA3kybp81N3gPkkNehosZHYH9peo8Zbzx9+CQLlVIEAkGAMVmEDGpJGSOUpwcMg5pq1b6Ppo0lOSjsCqpJS4lHQYx8cPblDxb4AhP91kyWnFrYaSerL52NvtNpPmYAAdYM6DvoZ7dyYC08eVKxX5qVu3giF1J2RZKhBd2PjCQxr/d9QvkXX1PQO4qkmNKa8OzAtUIprfX4dAIqLSaATZMiU/WZ+4qKCq9zMnvxAaVfrcNzrFeUyJH+o1M6qd0g4qhjqMRAvK7+PseAJjsLteuaupEHAJZ+VrouhXFEqczaJV2HXxI+cX0R2A0GIqaIob7JO7RG6scZ+9pe98giM9DeK4Ezf1vmyfhe9p3u0HzuD3slq05xqHyI+sU2HA4TEQdgGHlNL4Rji873uy+SgiGv5cYVQBQzUQ8FvYff6To2oj1gprXm264ooiSyklZIQZlGk+58/T/gN1x1KjeCF49TVlXPFq2D32BWTncK54+OUTvo4VrdSiV7AAJJHgA44bFemuTlyW8LztRPhyakgXBqFZw30juQVhn8hqTN8WT8tySJe3xEbi9GDXgwSF9C5Rm/Q6cPAO09MLO6B8UBcvSs/aGhbqy3D9SM/O1WQ/yOrxpObRs6uVEJ0gENCrh4xxvCET24Tojy7dzpwmr82d6+UN743KHb9o7Zcjf4Cohal/a2oGEFWo098sRnai7tlfy20N0UVevvYUoQW08WMTxuBb4JCxPso/d3rxtDjWP6k34Y8ajpDWtHZK2norl82k+dPhgei9ET5De8fbZjqzVwGUp1xp/Cf6Fdyb60w41nD2DMZz4oACMfnrczxJWR7z601KRPHfhf+DtGmbmpLMU/oF8plnIPW/pP05FcG6ePizS7/N2bEWfUsZu8ddy6uSaSNgEzfAmFTPqMmoVVkQhUa9I0kWjY28cbmrsIkLncQBqR3lOmoHnFCPRzKtPPuwimie0YhzxQvm/UmVuHxWPlrQIzFhFAIwcTm0A4OErJyE8KO1Vzj00PfItYZYWXt//PNodu7AtDBOLl1XVcOOQneZQ6D8+IlcVZiPh7KMeAlGxQQj5UnHm3Pi6EHQXhE0+pf8LfDaYqtvMDuKlF5Uxkiv7ITTYo9kemNe31GPikUWgrXj2ii5t3H03o4F/GJW6QHOwKKGKbfI5VBjkwB/KFBpHBKgWkcDlhxuO3gIev1/C8NLIVsc9SO9HiOk4ZObFqBBZUZ97XWIooKA2XCAz7yykhIwQaezjv7DMyW6CZHToPyxtadMQ8rI2SEHqtDjRKMO544QqpKInYdwF35gdwT/MEUyzvM5BQb4Xtsm1xFRKXmGxn8aSXBYjlp1BekUosjNrkFTjMfUyj0OAtk4NwP/Qt12mFay6gJOvU7SsFcDuTtjukQzwUYItOXaGqNKLHTVrEPXaCBWSW84y+Sfl7oCRkcnhDzi5qmDsBi0msosUTsKHclWTemGYm+KVReyXVTQycdOKjY69+NvDDQz9aQjh6t/49n2kRsOTo1HdvQ7nJMapXAyye/0VbXs0Zse57JQAOWnDzlfDWqtMFaogiw6nLWl5b/WL5+2HszlHVq4CmjBolIUpZPzlIl47/jjiSoJd+IH6LnkeiKlFUvF6CRO8TgUm1OBhRrHaUruvhl/laXttgKoh72JbecwqtXcqY0fthBFJHbkqCqx+jrd7IjWGUjNkp8tBTEMkNHEe/6jexjCFK546/ANc7ORZl4I+uqx+e31tollSeSWGqPT5oLKZxA7cTz1wVjp61OfU5yckNqj2vKvT5lbVrv4+kDs2db6DlM3GvKVlW1gf4NCIGu4f2zCUrTSjRNRrVcZlQZs4S+XoJEGoFA5Jr2m3mkZatrYENHmH14GAy31q/8K1HymbHaBIqy6Q/7AhaRf9pM4oMBt1dgb+zp+CCOcFfDmdRP/tYa3BmSjE+MRljsEf5b+MBB5pAF2ywl7TrhnmDzKp+X6NF/tnKOg/nwNaclAm3AjLioJyzTFSTgq7SRMDmMcU/ByxYRVIng9ulS1VuDxihMB96wvbsqOlbiup+UpsEP2yQSv9xroN+SJhtSB3ALg2b35I0bPJ5KOJh7JuF8D35Ok0NpEryLAEmARAPbc7D+L6sTBPxKzfpBG85AilPEV3pjfOCrvAZbku6Q4J+VHp3RRsNrhytWr0qXMCPPYMBtXymmeujMITenXX7C6+rZwvvFZTwjYFscGL0q76AM4DTRmaji7sN2RL/5I3xSZnxypmtMlAyj8dfiAtNIzdPVNkrw7bFLp/en2z/Hi8gaN73NykTNaI10C8Sbes6ZVuvx/XZanqgpDA2dwqAwg3g/7aaTnM8Bo3mKWZYUFLd/TTQJTrKoeDuA8qHKCl5YNqJSayxuIO1WeMiMYMjS+bVeBkzM6seOEfiVpNpQpdErko3AhmAT804NkxO69YjHxnlap9vIHiLihc8hdL1TNkuYfr++0sIesWakKdnTUz6Tp2BqrcStRdZ80Qtaud80p2w/R4NTvU8ybCQ+ZoCf0sk6iP8HpXc2O+NZzN1f7NJoc9+hnY9ok3G+bnnLc8SCgpgUoUbPnI5NItRbp99Gg0WkY+XkwQln0Q7xHRyqC8dkP/vE3IBey0/GVcXoNveh4FV8KnmVjRxAydA0B+hXEOC7+Ibsv5b34kQoY1HZQqa17kjvcNQLhqQjAZ39fuPyqqOROrVrD77nCebivmE43sdFexhgbvvkrtzAZ8bTEz75kV3b5+A9ErZrGhs0vHatwoLpOdZs3o+MAWcBM99DaPDitkJukipmcqK6KVzL3hrxwTopu3xDT49682I5CBVdA+2TEma1ypcaHJBajDqb1NtRnTqcQQO9mP0uIilc0XRRL/zeWMp1grNlQXIUwtnKFNhvg03nEG0kxSMYLxiznH0VnwirJPbR36Afto6LUS9qKRD5YY7upHVKbiIjCEXe9YaBBAl1H8uc73BPFbfD57RQaDfUrtgxiDe4btubAPaXDhLNHfaDrnq5cafS56hG7rAzdYGXc/+cNxvSLJY3kstRoAgpNwBMfDDtEoPhX9wQYRpdD3JrE6C6ytPL6bi3do22LQf0oLvUWyM9ZlV5cOU1zKANVHLSVhw70MX7JAgPQmVSnItUKMiKx57XVWteH0uB4a5Rcba2qgTJFM8J7aTny9vQj9QHePMeDBfmix6V8Wg10A5FweRc32st7iOa3XUgF844NnGHFe5gWutCOyLmn8nJij+3VBjv50HCA186zjnl7JcRn2HantUeFer+Tjtszc1taumnLfPLl2gwbDql5qvFQUcH0gwpwWuqNR1mEHAPpeIHP9gWaYD7gNCZnfdK6SrDSVHkju/7lfC2YuQCjToaaix2347HTsxPU2vsV+5RTKPkYDY/mRSSJsdiBmm3i9AFUGTK2cOhIIo5SGXFLbXCKhjNPPhGt3lMn5h1nxonQQQx6/HV52RRbZvaZIk/yxbmk+azfabP799B53bl95hpYXSWInS59AvU0SR+LanIoxSjWIm88WGixX2T2li2YuhQHopIdXw6M5/a0eVLe+TkF7f+e3VGvayduzR75U+KnotfOXLwdluQv7WTbIhmsl/3m2UCcgoRPs96orFIeRi5rldrg9o0+v2vjV8rv8XcVRt343BmF2mkCG7iMdbudflnnfdXjOGz+fF4bMZ7PfTVeeRsKPnlcEzGLzdwNsjGl6ZiK71F6Mzy1+YHBYudxVB/ruICZLEID+xUg7I84RoX51splrQSdCmkCw9BkyW0IsxeVdxqc4quwKITfvAZdY2tXgb2cabvwaT97f+3vOO58yTNR/QcOufp5VwxmW5ocTd2aZN5kwlZUOPx5OGqnvdaDpq+GcREuSAvB4BcMUWeLOHsINMXrNrLiEPKOEGeEhMciyMoC/73aztjOskFXn2oxgUmTR9sYM56iWzILcfsfwt1O+oVdfSpubhftZ+XnsO+1kSUzpDBSv3Ad2zBGIMsJ/bLT7UwRzBwKkKtRp3soUljWkxPGNMb+I7D2KzeSpjHCKdtzwi0CnDngED3P2nlC479K3cfyNvoKxryG6x4e9iZ7A6mInYy1goIVb0f8lbOUXNfS9UCXAZrugy0XLU8S9OFn8TxFNPJAcZ2IIjWR+ml3HUP8RJJ3Q7IRcfzp1JxtrXciwHkyNFmzFL0I32DLLjTaELv6f8U0LGfnJuXzA/a2Qv11vW0P7TrGXPHKQIOEc2rKya692FxUMzJu7TSGmOsTYalMftmbR5jrdYj0XldAxYFHMfdfNYj5lPpeU+gE+bOYoodVcgiVYJr6L2ZX/6oBfieNUSBCCq+1Bsk/f+559meAq//90S3GniFonoIYNQOuAtKxixFa8yny6FAe5ii4yGYOmeFanECt6DHzcxx3Lsw5xMzE2fhcGuEmEPd2C2fFHosFeXGpCw7NU1ATbu/7Bt1lY/cRxzjmQA9lSvfKoouhfHbGas9V3BdtIq83BaBahE5W02+T7MQAMor6brjdZJRCL6/gT7yQPB6n4weQD+dqUHicBKRYeUFxyXWJpQRgpxYzCHUZvsdWPhKTIR/7RwbZgsVauI54VpDKJX31N6QrYE3eBMKLJpD9AvWeHUIpHe8c7GXRYV0qONlpRacJZ9vKnUJ6P/vzdzBbeJnZstwLjWclne+q8isDSLEfGZOIcJonGev7bWaMr1oTqaY8G8tLx3jRkTfTnWOqytd5dh+puW/CTGkZyUU+Su1KUKTaj+awfTi4eaMI9wuqzI9yA0b8HTJ1+FdBguoIWx5THPK4zWvyv45ygkQ7szgsdrL0kZrJwjTfQgQSE6P1ARh63YbWvf/cz9mUMjRpiFamoyEgYRCLK3aLoQmFFw/lchuecwTv9uqhGWhTzw2WdZRAGN1htjXWpAUxs7fkkGzhlK2FVQIU0Y56FbnSnBwaih12+Ypzk5M2fTF6xnbBhf32RlkVwHDpb29XDTXl3fcwrEMjzk78VM8ViSM/Mk/9uMIyA1YhyPnxRWUXCz6bj0S4FY/ov/4fyEnk9oOY19oCb0SHdqYqiLvlL9Ph0PLMulrYSm4fhpGh0749CCtvFM2MVJRpMboQU0dk0/yVE4lGVvp8amQSW3c7RT/SzSGQyRSunSl9RKeI82j+KB4AkWD7apNU0l2k49R4r2UjRh8nW/bhP5tWQRBhkmaEyW9fw1MrpSiM8XRXheALH5v5D4h9c8f3FfMh7CbFVw4dtx7pRYz2b200trtglBYSNei/QIeObdbAe5Rg8VvC3RiQ7/pp0JcVLWI5o6fmKb3obCcTdGMa6mvQvoHaLl/2wgVARSf5Wi62XgKXBD0xoCd/oqjBu8Jac/CJHTsuSIVfY62///kFKlQKMM9Qy7S2jjioPl+1T3DAKi30moVBer2nhPGN059jYU6LD6nVsRPG1wScD4IEbsye3U4C4QBU5VR/qJ55FKsj9J4dtoa922iD37eBSVkBPrpO7uDKp67yHKhcDLzlLaifmaaj/drW1GUxBFm9Yx4urmTwycbUoybzifqG1dkbj2iJFy76z5hsvKzvveUzYlx4iwU/yWvJ0LkLYrgGfsd2TI8tLHxbUt0rydwQ8KXYNtajQPWqzk9vvb/spBcwWYanY+rDnrCPZQguzQgERM4IuDd4IVecrl7QbNI4Iv7C2tUpxx3p6G1XtmN9rPeaiqjgR/+qoOrdFCk6M1/UPqp310QSSmUtVU17T4MEEpNRrtRGbAUv/lAhz0/2oPpJtkWsnQvi5nU1FqD1mJ/TRfD8YsOQPnlIi1iXlNAOKm0mPPnB9J5K2QpJHX6fd/tA7DNTi5xaV4sG/zI+7B93A8Bn5zvU5Qf4DUctp1wiYlLNzukThlXEzUSY8dpVYbLmUonp7D8Sc7yv9Y9cHJsMH9MXy6cRwXwnYSVA6l78I1Xw45ZBAfqCCKEeYelO87fmXiVAWY17+wfpQoULogC3Igd8lMEckrLY7IIlN4mVqnHVNss8Qpu2FVmUCFvsJbPaSVE03aLJ1n0xlMJo0HN+sKYzQW+/FLY7SUBXwxUuM6pkJ7mfkrXrk6s7bxgkMSC4Q4/y2vzboCGQ155cH81C9MdYArPcHqm7vkL/Yd+P3wIW49q7u5SJlcNyGhk61hq98uUKrr0d5ILboFXsLQvHUeCaNUDK9X55eoppMK9kuLEbU1QGQJ4pt+vvayVUQktU0yPqpl+L7gYaNj+gZsTVGuZmlg6l3o5yYQ0BNEqcbklUb8gdAseeqHws5o9f6oHCEaETg8IidVIUbIUAQ5Tdk2HS7WDFU5MRncNQNIBouuOzJzqsFLv9QWIc4mXIX9bD6/PBmc6aJOO7WIwGNL6XjgWiX/9zV96P/df4j+L3mFxwP0uqHISsx1o/0epBjHYA3i8WeOkhBrY7wdT11zMg12ChmvMHR6tMjyvh7+C8JsnaEdM2So16+6yIuYAgNJAXF11mN+kSw2Q+BXy7SzpyObia6nTFUxCXnaboWGfTi0DyooDxupJWfuff7RCLo0B4WSa0KmSMa3DbSRsLlul37dBf+A7LDMaJ4z2pcisgymTTN86CERvQrt/CbjDJOwjqD4SSm7wJokR8o5QBO4MEWtNKr/87OHtDWmjJ/iGpm1gfOrqAu3RqVq1MaPl/nUmGIiURmXZyzUgUwLaHrta5HUtlVXTP8ACZbKkyIalYJ0fZoCYO3QytN6jwezT8HcGHt33ttSJuh+URLGadxKyMWnP2yzBQCQ0hrQCLgSe4hH3e3bN50FBJKqN06Fu15ZancwlmbeAkLmSnMjysUycOGPYbz28l/lOM2RlIqUPRpuH/9bMCxPcJjQe9hlj6WhePfujxloeM4YYIIGj2nCevi2Opw79A8y/jjk2m1t8OmP7PmHZdh6BHUjvxpsPiRg+BLNQTKWlE+jU/Yuf/fr4n7pkZ3hSKHbM5DyjM47LUZ/t/DucxxonoNZ6V0u3G4jG7p+EqUCQtCt2+WwD6Bqv2q/b+i5NNxpv3K9GzKyhJCnb9GI4hIRoSiNHkAJHKrHIl3CbGFRT8vOmnCh69xBYia3rwRkjJw+XSVLyS2z23FA1xl8lq1qzbzUi9eP7xsD9p4kUd1/7tXpuNeNFQwg+M5tpp6YSyZ3eg6tJfBmLlBFtJRkGf9VLpeAS5ukFzi60POFL43orv/CmxKWx0ba90nE38nreMrrLwuUxXbryAu8J+FepnXhYpc+mgyyqSbTP3rOsN74Ts3hpOvvGdauFTzsNUTGgybRTM1WiSDG8+bR5UOn9xuiuMaPqQKFUzDlaqUCrhbkvYJVz9wRGGEbgGKroY0PEue5DblVI5RSfn3P4CxumqnN2LVqbTmOewJM5H0Az6Ni1nayVCO6T3Fh392dQZX2Ebv3uGjwIU2WfB8fuLNm0OW9ITaKcu9PDGTTyLSor3E2TgAJ3qgbnMX0ylF0lKs1mfp3TNfRoVrHAjr29MU9jgDjU/V1x1d/EjLn896XM3jjm1/8qprWPt7gSABZ0tU1fG4GBGxRccme442+U/7vAAmXzwbuPHh43tOUcd4Lrop3/hrXfCQxOTXaIf/5I+yF2XPhRq/bCbYowx6afdy6x/g+lR0VW3/L3elnB5/CEvfqaQnIxwX2P0vDZb2gElwB7pG410Phqmko5Rl2thDWJrLqp6JuOPSbwUYt6oXeNT3Y9LLB2h9Um2556h2KgU6HZjOaGoPi5lNWajP0xMQCFnv/aH3hcjGd+3JG1oXmXz3P51Y3SLuliuUrR0fxpRmgmw9BezGGFYL4Xba26p/Ivr/gnmNn/1fRJwoB69/tgFeaRZBV5nUSkVlLb+BsB55JFzAtLKroTRFZ4xmSN/5ug273PVRfFTuNjuAfthtEEEZqAfDXAUqf+mgkeEdmaaBdswdHHYGsvu8i0mCnRXHsYOB+oIa8X/UFexbZefGXdt594PJnsRg5h/LPqfCi9XJd/mugXqk86H19KX6Jmr+P/MPoAdqJT27jiGEhndwNWRSkgcjX2hX1qLIjfifmPPBlJXIARKXCnUwKZ5rwdDZCjwLIk+/LtplorrVzBgVtXTOqEY0ErbM3wSpLx2a4hI2x5V01moWkD2ooZiSfvqWAsU6toRnyrh49AZANeFL3MbpeMkCS5SdTpdEJRXUrWeqvJa7frU/1Ovlr6O+l2WPUP+gDVw5Xfs2kqm1C/s2oxGjIAE6QzGg5Gu9a8j6KG7KsZQdSEI/FcrdZF4lrPLfYMHsw8bbI79SlZ6uLlS+1/d/x8wWKdSCa9HfdF5qzd3dBWsea6J3DJXA0YXNI9fZyGiPHbR8Xzm+OoBgrRT8UJy2exiaWkUfDhGuaC2KLxcnW1+KF505RuSunDfd99UOeNtO9uu9NNs4+lr8T/jPvejLd5FBZzb2wIEz/MAqRWzxqSLaSp4PBu/lzxpFk2Re3Q//9ONypcTPt5JFcXfw5gGk8do8qsRw3rH/EEJILg90VUJDNbIKCSjvZRG4bpv1eRQtGdBHX//UpZ8k1SBCIDObYykpWfNT6A4Tf7Uso8OVZcxrfPJMBA3G+LSLWAVV8i2weFhvXZF4CfsItD7jz4Oq/G4/k3ryck8N/jws/Yr12qymefiOof6KlPx5EbscdO/gGB4/6Hto8pfzv7hfyVCNo4TGxrhNNjdqsa5nFOcYqr0087G8zn7kqiRHe7TZaSJcgdKRAQW+Rp1dSnywH23TAW2hzV+3Dg7jle6r4MQuG43oUIe90ZX4/TUwOHYtUCvpvKQ6M4+LA4/RbTjnI4VpAm3N0/OmoiVPhis6HqV9kMcAMUWR02V3r/QP313w7ovcVk/tOBBcArQ0rTAo7EfNvgX5hkjusKmNt819b93TLKfDdUH7Af/81/3tefbJFh76pnoZ0onx8aduBO4Dtyzw0oPQcI2M126tZtiQ+Y+uTsXWwrp8Sd2isbXYGYhdZsaLJUpFpawj1FJ8z3uGVKVSS6RhV/Y52c3GOpbYZdHQQlS6jDtK4/cRUkcyjOVO2yH/mgwqf4D/h2yOQ0KPxFNFh4PjSIoaHCLU2Zvc/fMG8jVHtnL7Sq9GtBzH43gZbHyKbXAKSo5easfzIcWDJUB3PZ7w3W6JPj0OoW8c5WHA8wUTNGEm20cl12G2H7omxfFhxMn8lCNhBKunOOGfDlpnUD6VpCuIGUTxqiVghAwcl/+IkTtCrOsquONMdUc5u+0ThS2KcDvIH86B3ig0eWpedCSxH0mv2zhSmXsKCAe/OmnZMAplzmK/fkjR+bMgxWaAaXI6jGEDMEipH5id95QfhRILQSdS1r3/8mcBE+7jilIx3yC/mI5dgl9AgTRQX0wHXwmn1wnI3MSCkgwyRe1l/gmqDgIWb9qjnpqZozblLDydxTcEOtjBMmPiD6gFvdjNyc9pIlpxXFoks+geDPtLAtWqFVqaHitH2z0UVc07ebZkBF08GKuqrBsB3EQ8vB/nCdRVVovvQfEGtkwis5cHEJPi4nvLtK5GMcGAH+hX1O3rletXN/5sz8bKhn06EkjnrBrWuCBcQRP4Z8kprzBsqgXhlMI+n7pPOGevN11eMrlxR23Mk1EdYqyAE/fuq9xNnGnu7ClsZBzvCLLihFn7e9uY3rxGVVl3q1Kg8BL0RhXDBvmV9HRpnXkvTs7ExRbdNxI6Yfi/A99+2jcnJu27kYX4OWXLNBoakrwBhdm20eTc7VxcV23E4eje5ww4xcAK4Z6VDWGCCyeEbkAHC1ZpOBkEFt6zWktPZvWv0Ac+97H+syvyR0jVe2I0oirF8WUniOSOboMEY5ZKnhK/s7/e9XMY/yd/C6ju/Yk49r+WMV7BHjWNw+0avyoLQpGx9INtGsNDocgjsdytQHe8i35sRMhmKuwH7+oYxU9/mNWM9Hmr3d1BXbj+oUkCNXx6Ss8FWtJAFJ7g9UcmBBBx1t3HMOHlvc6wwgovF/VRhqatHKtk+uflZftKGzgKEyIF4yBQMfE3B+nA8XfD8yBqIKS2v6Fr+v5+ercdLcAst9UaaOlkQQ1xhDy0ieJLN7XbXd6OrE7/3y1SIgAa2IOF0DKbx07PaQw/gh1NBQOhTUgs0YHDFpkqxcofmDhlq9XwMBg+n8CcS3ZgNniH46TZiFpGsHLje/YVPgcc9g1ftYkPyJpmq9/dVNwvs9Y92q34FWndVMq86xhxwDOZSytV/7V2Xj6Q6f787+CRlBv9YEuoYwL+2z8lvYQtiwXExgp1oTEXfCvOo91ZQCstHmNWPlsmF5Vrz7FTx3ZIRfUpgKxlDZEZIVxp+vD5WpPs2zFnHvmsYp+XmJNUFaH6n7HchiIf6GwlxNmO9ug/02Zd/07p1RXA2HnYWmGAZuVlRtIGGMBlVAexSdl1OjhcoPTOoExRA8FgvVc5Td5HW/oaMXQpCwwh1uUZdXXTocbM+wZk5KoH4DhFexCmH6zq1ub21L9VgV+THM7gUQZVg0LMXxslDk+ExNA/Xw6AtJAglDURSLcNTS/PQPqb/JOo+yEEIUPCGUmtcFsOqXCLOpR4Wlzj7YAguT3uZxEqWegQgE/IyWtBsqm+I0sf/q5AAU4OiOq8Reimh3njW5Bg6A9LTXyRy3v1Getv++0FMvI4HFnH+qclvewd/JMNRjx9ZJFzLHDKmv+UNHNggcg5uMO/X18Csts6UyZe+PEcoL9jT64UOyBGK1CMpNkmz9PayMvvxUoGeUobfm2XjqULezFRAEqC0914Njl8lD6tWE7cdtZjfuVKiNq9N4rKSlNZmdmDjbkXkITbkwRiZytCp4RXPAMy1RyTjjvDhj8aothXZxKzY8eTwaWfqvfyVsuH+a496+FTkuKZ2xcQ9pJ0iUvzNrc//Tnz9kg7dVWW7JpS0/Q858nSm+BzouyfpNarml7MvWYe43phkt544YG3wB97Ku9GB+Nlj6Vvx6tZxLWgmOQj7FaBQ81iX+WKoA9vB7ikMw6Oj7y69UxtL/WlVzoqoYovGB//Zyu+34OmVorgL0unHeJ//LJvThof/0H0TKccvB1Bd8EHiR9Va5AkAHvthmVD2ExiiNQ7Kf7GeHumj43PWQyoY+ZDv/trpiwx0zTEMQCD5g6bt7eEZavj74NVB0fsCAOliYdANXOmSgcm7qTq5ssT8Y8y3fAg+pxCVtzAKbhGQNDpIzwORxVHZhv2tszZfRfws0wb4TrGq4I/PKTq7U21xTa/i5NPzzvWAACYNxksk5zMbolxxc1xhqphoETWPYf2fkwy49fUpW2tvLNmgrPWQMCRcqc56wyMxg5s+lU40tQ4B9tRptkUF+vMY81z7Bf1uNiU3nEfFM+iVl3UxUJYUCWKprcuOu9FQ15b854PSZZoGl5hwUizocp2fXa3UtpC+/Nfin7A5ssIzktkhSXn7z9IMUR9b9iRacpn1haxGgtKGFT1eYDS9r6vis+jfi3hunP7uHz/40tyFmKLiS7Z/pvOyJRil9+BFMfgHRQSc7NEebdD+pY25byFQSmFysDa62Ouo2bM4LSl7D/F0YVoqJhI8KNiqnntyfDlvRl/BC2kdukZqgiU4+lMAnCgQ2LR+5z5F+LRG0zxRYAQCFNl+jwRnSQBiqmt35fvu+RInkN+dYTSs71dxwgu6BKLt4zbj8hv4BGZmT6HfEfz0BRKIjzjPfD+CU6U61bjrc6YQry9dO7EZnLKeo4KRk+LpmEj21FMqViGnUt3RZwmd3pVzQ2xrfO77qI99j22+GyX6aRUSoDVWzQwdY/999yCyDhvGYf1VLFrZM85Y00QfkZPAOvqDFwh9vNV8qTiiwpxYwczfkSKjkh5GB0TczAaEFxXzRB+JUs+mVt5yBPfmwkj/CRaZAGSQGNxSEHcaXl/UazzZzO73ynIsJxg6KYTFzG/LRCVCuw6PdXGSfxyhCQebh60gOnLOWW3U9t8GATpMehQP7D+o3qL4m+HHMT0SEhLMyqYt6mtX9Cmgx7klHGrIpl8P/JaTJ+5BLN2QQUZRoR16/dAaSShw4iNGyynShzUfhPVOJBLhCx79djwR2hc5XEf9VjKFKDFJS8RjIoWTZ9XmcODRTs8kD/GGPET+hjWRePkhRgL/RHuT2KnkpTUGeLRF1WA6ODpUXhZi+7AkPVE39WSkJipVEmi8hkMoCuZl+k5hTIMZr2iI7PY0xJc/HGhlcj8zBtfhNosGJ4lYuBXrX2H/0o6oZhKmmfeS7NBtS2CtAZWCYGeZLhGuGCxlxOTADL0KcMGC44QXYUrQOpZzpsJyJScI4Hx6qzeetWzKT4RYvLmBHdgISrWO6FfW1o6VbNiW7MTMD0wBo33PZ3Zr3HP8aFDWtOgTBfyiJNve51Z24f4liplDsf2aYvoPQ4tY8fHPL3PyaXlJdyQQdMK1UYbXojvUv5mF8GFef4ElESx8V1AG1OF0UDzkyh5gQF2PPbsconUU0s3UdBVzvgmvr4rz/0ryAnW2i5Qxf86+TSsryME5CyUmJ6j+othL9qsNJzKKkXVSNowq0ph9f66eZnwvv6bYfjELSWHjYWQyYTFJagYlvLasCJhIrnDVeZLsqZX6HV52lkqUO7U+eQPDaN75VD7+WRrE2CdGzIJijZZo5QrV+GO+xQVECcCYiYvgs3ueJgO7gRfKG3FJo9wkp8Y6YxZ1PmkBoGwrvhv8j37JFZiSA25h+s4kyaHtq57A/26+HRiDftbZzPjJGmEu73JgnSKSfa1uUSQs51vlUH+k4d130rNOct0H/Qu4nz48zJvD28IIEHxlHi//z++AMd8LDLJpGQ1ZSLA63syOuMfbjuNoGVkQbYdRbAZslVftT7n+WrgJH9mRS8TxoqAVNN6T2Tji3ae3jVCquMziD4oCdgXPqa6Sd/4c4YDNDST7209zUnnvBFfR9kgP/2iJzUuDZWtbQ1AByegtk4IgWa5hMmrOUZk0lo5G/U6F0dYDkX2gF5j7r0pUMWu/lsZv9hTsBjq0YNMpEAVhQBnt/UfbdtYnhyo+dmq3FE4+wQBRT1lu/qfXhcXZxdTwW7CI7488X4hrELbFN9vW51UcAZP2/PnF7dNdFTv7KRlctffb8v86FnKcsT1316P6mIXgSq1bohWCqPvmAvWtVUig1V4vDoTZgVHQjo0p+XHrH/mpU1WPElP1ub+c3sWv5DHI1L1PSKQCiRwZSuoPuaH2PDmMPuWJNew6YIlMpmsRHp4nLyyn7dADDl4u05I7TYaGSXwO3G8O6SuKEWRWud2/6IhOQ2iRwfraDeXas1g8hnH/45tVjk1UARXkQfgZx9x+doUmySH2fW4McUjfM9MtwOhTVNVjGTymt+t0tT0u6BrFLVRJYx4Dx6lZGBtLCC8tlABBGUJPXjM37NOQrFYYN3GPL5auuOK9p/ToF1sz1SedISuqagyASL5SmLvnM7yd42kqjuH3HH96tzZkQ1qeOn2eNv5jnTBV+N7YZP8FJl+FxBiBTq1qyTpyLdyu34MlM/ie3Kc5FiQ09Sq2UaA6gFBTP2IjX6DvAEwMCf/XcWEsHRzt91926hMHD2dLQKZuEbXCVb1VwbMGnQBahx2R/XDwKV52gNf+XqN/YuCPpf2d+j1bGThprbStCVUpUtvZSuQYNpXTnRkhdnAuB1+azOoYEnQIAjcQ9o7/vf5NrSug1j8NgDz2Yfp8ZjwTpogzM/o09vSLKkzmwppQdcnerb4CxyN4peY4wIUDG57J16p10wx+Ip6M+x5tnSLjovKr0IksFFYbgJHvnGtbYdXr2aS3yv0DhxfzFwQWSZkQDF8fn9uBBI4DWAXowXedr/I8/1Xysj0jjQLMmveKVhRNt/Dor/9267XUgs4ie+/Zf6ykNu+Y+qmGEWjjCmfEcpgEI/MI9zOO0kjpOr+3ei+EmTtBK2S0QlSjwtCbQldaiMzTv1AP9SvRpi7gWXMWQO4Ayl+jwAkeYviN9FmkESJqd/XfjO/53qvBNQ36MGnUjAkb/NUT80HrR3sh301KTzi1vKfv7WV+33z+hZmwdBjQa1pxgvthRyZ1AOtOm98xbEaYQPdoSF4totE2X584jCz7x+NjWdxfDAUbAVdXDekp2mhcI0kK20x5fKHc3xIBjo9GyS+/g3DtBOMm0vw3Hq++REN5EtyKJMGsbEiPyBL5cPDO+7NzYwJnCVpt4J//v9yMP0HWM89icR42Bi9ftnomjAf/xlbi3lyKIbAaxqsfdcjwvm5WLA92EwQ7OyGtMU3vXnN7yfQuDuO/gd7DEU/WrA8fVG2SslsGj617QbqZ03Fl5Cw2oII4qieI61a44K/GYvtVbCRoQuTxj8oBqu5iMZNS/68JxuqhXxn4fviKxtJRnXdSfgP3snBdEG3MSPi3FmPoKpxaw1TtJ0zlesr5R2aUzV1+71BbekqjZANeNN3/egH5taAwqgXKLldV3GNGHCwU969H1P8bGSyN9A/+0fyjkRD3JOShBaHsvhvqdyn9BU3xockf7N3P/6QFhXJG0cA3/9jS6FzP+MEb94sVJO5i6wjf977rTfi6FQLD3OuLzel9dFVzHBOx60vKUgpvB56wTJlZ8UG9Rz+I8i9rboF1vMXQ0tYAD+9L8fkh0nAy452xZMnS8c6PlWrFSu0PNhMSkutFBDANLSMAIlH9+QDMS1995bsztevfe6kqbVxhfdKa2pvdAgvd2EYPXa9RjbjX/dP1GDR/2boR+I8v61DjerCBzAM9lsa8hV7YInwBE28L2iObnOb2qcCvEgA3asC8KLLZIYbY+Ra6nB1GDR9dRjpJQZeoMKaIN/h9zvBuanN09f0AKUrkwzmifgFBPpLKD6XvEpJEg5iSU3x3nqIlT9gVjRHHQqvSKkJn7e67vGySPZGWR8NwG3jzBaDJCw3p70qZnJdv/6o6+cc0VjqOhrxis2MaSOYgL63cVcwjjc5Fvuf0OsnJ21iLZKOj2TxenR43L+s6zYAjnuNExYm905M2dpsxhp5bQ8LtJM5IvURZmxtfF5M81pFy6caWfXvv+baNsznfZ/Ptw26RRBMx6d9miSGlTmwOJ+2wXNtyh0n6W0pd0pndsD7lv6opkr3ll0GhjEj74fs69NtCh0P3OFRrPwgP1H5ji/xGSlCihjaH3d/mbtLlkShEjzAvWHft0mMzPJ5T3ycFCzipjpEepdS0mI+4O8rT3Tn4nEjNsmLAQvFk2s1A6QHBteGXtCSnUesTI4Gw0cVbPxnoxt1Y+upwk/jhKoYPFmFWkBbDBov5mfFXOY5McP+o8oRWLIGkg5PqicGTiyFnG5zOilXIAVriF/GwgMzoiaW2PATrMvan3uJk3yYTGbc7vWigiTSCQjOCD9roqxZWXTkHr3gmDb3Cj0BbktcQ79LvKoo71n6/3GGjY6zGroLswNUvLHhL0ldyYEw1QZ1bOxsUaf4efR1Qs821uM3FjsnBEieX/BWQsH3cXI9aGnhgAJXvbZEbSiOiKBPZF/xnznMtFeQ9Pi+NTqbZUg/9XM4ldf1KcEpz5KYRjd8LL8R5SlYTSWJ54RHcoi+G+1hmuHrxKr3pwR0UfRmXrIMFGYh7Lupuvf18IBHSNk04vIsHbMKP+naqbNtf4oYaCiFhzZGg0ZS1LrA9GXYFuar6YqyO/F54RSB8AP4aY1VHnhzLerL+y8tQzvL76eqiEXSIZoGybsmzjI94DAOJH2A5aD64lYJ4tjfa5lXBa6BZ3ybEK9h5o7g3C880t2xMN0bh11ekEWVjBS31P85R63F/rLPRxC32jxt1nOom/K+B6cPxXjvsNunWc3s9vU+oPqfULQiFwyQHlMXNDzuXKPqBci7tC7LPKCqqDqG2au9tdLuoHr0WPQnJLmBJByLzytuUeeFSjtXWMziV0zkQ1XeGoZtJv9vslFXtVxpHDWojMPJM2n3aVgoQFcwl9y60UDEhmW2qAHpXSs7/XkQnT+/O4UMUwwebp8Z3A9hGOSvo9Im6cRrVJX5GM89ruO5KSNjFpJ11Q++orD17uBZIhX3FRDkJeNkB7xDvemA19evvJVY2BQy9+Xq8ciHbNIKqN/ZNCa5ScYCvF+8bmLNCEtCLWE5YOUjS7Sb7Pkuagrd6XAbA3/x8g7zIYgC0lfR+C1yRUhkPnAG9Y9d7unOQBGaO48bd88IglRDPQsBExKz4uSP3spekovEW3UZfdaRN9Daa7ifWz6OES1QWiYkJoK56DAsCDQdsRyFTIIpCFeqDB/S1cYVjKPXtj98EwegxnABhXLXCPyXO7hRw2pxQDdn9oYOBvib7XAil6DDeg7YYtWxPnhEgnOd/H28hK3xok6jtBcuUROy9yWvvptUUEnN2q3p9GlAL+cV8CmYtrPtEqpEjUsx2EabxHVgGuCIqwU/e4uwKrUGr7mx65Jhwwz7u2NnB/5kcPDdY7ueckFy1xRc477BfVebisl7kyNZFKW6mg19vMBcNtcBTrKPn3UmNpUgZV+GKCGfbRbjL7y2bIflJdf14K7AFKHJzqUvoRwe+m2aW6+IIJU0ROSRx6OpayQv/NyxnuJTkAzthpV79GoazCZrSyQWCx54W8IXFGpK/BV7btrGG3grefhnbq87E3/9PXJf4gDszg10Rom6NzkHGkjNKZEaDl0tGRmRwOD1IMCp65ZI2+geFwFypjx5u1ibaCfVfkzh4GqSPIvr7V4iutAQJFiAIKqnjgycJflit5JdBZpzpXrXFRiOw5/L8xVFV5cbPcnkL2PQsrshKwnHdrfGv2llDKsB7GCp8VNOnsn8taPmZGN990IEsxOy3s71b5SjADQeArKxM5SWXDj3x239rkOgKESuu559erL/EpKO+1hDmu9LSp7ptkiyPvnc3nvHbY09JpIDhu78Fma0ixfKo0LY+pNrEJUi91eTDwLV8d7Xe2UGxURpN6TR85aQHg9d2u9J1nTWznc+lwhjvpK1dOclOnleXwNGwkiklhRmeXbMhoqfI/M0LSjIebHCCIEvtUxbefeb+pqY28zIbRFK/EFDBh1EQ5YDS71wLBpjQE17aclQv3jnr0TcMF/j+VixEUuOONy+hnGKSA0qB2kjP/TGh+eapsv13HzlxrYrnYunyGpB0eliFHK4JLO3yTpOdTfacxCnPy7CFdCtbsehlcQZ4NKFDRPGzvKiTYEsqYW1tpgfVoEwmqUmeT3Zi/m4209/2bXY1wUhrxEcxADUVHwYFKjM8OD87EORvwGoXsz9Neq0PZ0i5wvVRAok3evdpV3a3QPwCex+Wf/deCytB4tmwyJFZEzpfjkNCOq8xXJ131BymXUSzUOZGuvbIAn5fyALYihwZxw0WdkRaibNPeYQl4dObky639Z/da4glfAfh3+rNQjhqfL3gOU4G+r6LOh+zAv3O9Sovw5MC71ElRBrzWnJWNnSWzVqF8d8mqC9oAjtmwSs/7sS62o3Sbeoyh44E8qOWwe+aYiS0qnn86Rr4wnM3Y8g+wURgegpLuur6FESEQrXXDgH/fY6sZFeGhmNjF2psGeXJSc6eJUUO5EQ+dN64lj2cz50lGKXhHbpPUdUKFnU3Ot46Vby+RQsw1co2mnv4E5N/2Qmzd7v3w8rxdPCrkgyUDj2ABtLuOIyfN+HMpUgfMtRGoHaeHcLOzWYUWzGrPCk7gO2MgyB6Zq0IzICEmGjS/43oMTbC+jyUDykgwlicBAbxRLyXPWXYbh+EvZWdmDQ7uHwLkiRIjATHbpNMjWda1dwWkUHooC+KXiQWKtt9g+sHlMu1nAjTX4eW92tZTeNO7MvOlE9fGRIDZNEe+US4C/X60cxXXAdblzc+41SyCqSpE3lZrbc8ecmEYPRGnp/W7io89S4Tinq0JGfB+VrefafbS0anUPWTRNmNzcy1Hoa+/OUejutTk3ey7tEBi/Gudrp4Z8+6Z0p8VQ4cqCdYZBQFXx6e2gDlNuTHFFMySmIPN0kZ12u0Vo9quqwsvT/7dNj9O/7Hn57slV1iZi1eQM8KbAZQXZsZww4Wth7vHhQvMcc6yfbM9hFFE/deo6T4BWdkSMfWvGMRmG9wRwb2+OG9e/IKXTBNAoSQFiOvBVmGS9iE+5h6qpwngO2aSt9j7qnFhBAssb03VGWFLqzEautQp/nae/l4Fi+1xhl5gT7F8CMio6EeFWKDRDhIChOEjIXh26ay0mpFNkztkRn5iPul8+grY830/XwawD+V1FozScGQvC0SRUWOOPMDWj5+KWoXw75qOjCIg5eupvYm5TXnwaaTRPUu6Z+rdRi6PnRCfyi0kzhoM5H+58jXD/w3iO9UFSK5LDIrsJkksF2Ez4TW9AGB3yPAWxik4azaTrdKmCVBQtADjjbZrCqxmD7tV8ZBCy2S3Fr/VJi1LAcH5ZJAh55HjhkSGw1Yb+TdVWqU5LWMT2sY+cmeKVgKpSUX3hR9aSBwTi4qXIdMoiCM2s/1TXE2evavHKm1Ho5Ql9eKy2AuB1am0AmRRQfFackriefDv8vrfqDXjO3mDh4u6aGZ7jLRgf5UINgK/PL9hGFKxiIzAmDY8w6sYj6PVVmb68vhKhtW00cyEJSrs/FMGfPxqAHpFCkTqoUVrgCBJSYRRSWUpAoBveTOTV3hZ5aIf1SKEegrHIXxWizm+Jyw4QCwu4SmPmWXEnsYuxJfuQXPFvhNzYXVf04GKzzWbcJJLNnLVCSXibaF9m0CV741b+gOERghVtzR0xYs0kadqAuK1kB1PjxalOVVXLWxurBeBXHXN/1WtuudHVku/FzjxjfQUGM/6lr8c1n2N0jvGuU/AkMaVjtDegSE61W7/OTjYbHf9Q5sS2GrYnBWbEGgfDELSKYkcBoyYyhqd9Jrw7lf5wtlzfj+J0BbM7L2ZlcVcE8ermW4A5Z8C/k8DlmrpotdFX5Edtt+g5Vg9Todiwzk0bcWS93nQuQ6A0rzXi+iqLHlVjFE34M052f2f6vj9h9ItmNv+PpMmyammhznpNIu57bUDfDT2FEMUTTbKqfGNcCJBcWQn75I8w/xXM43Doew4+c3z/4Utp/tBm8WGHQ7skkiWom9sev3zLYqa4OHY8sr7bMNxj6P6Le5WuIhBpPLQt2RzvBvJQqUe7WvVAEAK/55R5atJUKFRnyUpqJeyeBhyE8pKyBZm1Z95jDNrVHXt7YqCoK4X9Hj/dJlLn6pwBzmdH6BCzehRu6q9fbGN/YoeaOQqPbhX7QxYfb5uE6mYL1Xk9u8718TVHvEQxUI1qZynqqtSxFyUqtk7Z14+6ro67ncBiEtJKpiNze8by7imEnH5EkWHRIANrofWMQiqrODabSqVjKVqiC82mO/ZMgmrcj3psATNbv3C7j+2+aXXDuenkqz+ra0T4HL3Z56QUb2qaqBOtrecF1PaD0lvfAb/c/63+w2rU8DzJCYLiC1hdKaWxpyEHvJms7464J1HAzomJIT4pH+fQPg2wSEtHTGSlf8bvNqUfMi5PtIOqsAUpSNoujxyB4Tppq7g5DVr+xlsgmooisKm2qtLJj3/uIzfeGyKRTDOHqFgMkPHylK0Dn7esDDjlDXsSrx3FRCp/zilHbfZygEZakGHn/r1g9zEyyJimJJtx6udz9c8EZrbeT7+8GFAEGPC1jndDL7qBh6zjtnCboy31ckDlGMQwdGuDA70ZYWW9BjI+YX6IiEpWMeeSzyhQuOspopUN+jILsx1cpt2vq7JiYgGAzGjwiszQWEpir+2PCcel+emXkEyNHmqLAKVeZvkgz13N2st/YubcluesFDcL9IK9dofgHrxFtOOf6LZv/0Ik566RQQHyMwe0evuzEmkQ4kHW92HTk7WA/ZuujsuOmSLHT0+yJcKQPyYX/kMGhhDSksJuwumQCi+0fS4NBRD40j1JM9+6EPmoMXoANj06HRxN2rfmd4LEypUnUk/Waq2s5bATcwtLX3KqJBtY/3GH6VM25Gnev226Bzyvxn3L19va085KFZu0L4fkJvvkyaevY9v7WAgS8eb/RDR4sHEXLRCI5OWhdVz20zGUeY8tSVKSTcBxNJEnH/V0bm8Ll1YnYbM6sdiB/VgjKWZOax/dfp5HS1EURNQHnQV23NRJt3WuCjyrDqc7rdj9tH5HrZrQ/pWIVrtQmmJrVFOzXPLTT59SWq5SzpEpIv/becC2Cy0N+vhV5TcJAuOTpbluQn8WKLzW/RcIdXNx8eqImc3cMklynxdANW2hQVFas0djYgHrgVxjZ8yyUl6v6AxRrjNbrqUzxbmZozj3WJKVJdhibNw0xTkGW+aeEEFpMj3lkYQLuVB4vYcDeOts11vEs6X67tAPTpt/8Ie4kQkd5QqA7M62X92FaHP4RK1uZayerLGefTOUtWIFoAXwTW2JCUEQ1BqM3dyt2Wg5kG+AnquIfpyDIQKIxIzq0KYpPWHqnPNUmxBbja7q+mKmcqWrdxwazNY6eDsLCcGABg0skvBdqPa/+rBYSmHpdks8FD/TCTLGralOLunTzHOchNh33k3Enoyj5tz6/kHSInuLE8+ejIqUUsymW/V3+afpEpdSjNOzedyb15+V+ANFnIKOibkSY2Yejq3qlHGuAHOL2gKYFcgZeoLVgknMsuCJXUuYDOjBa5bFRTnHAfW+d/dky0aAoy40tflNcqLA5HHC+5bijH4MAZfEccpCDHcG3TM8ZDW12aYbA1NaHzq42AwHpuPX3nqmXidX5FIwl78/eFqWPWG8CvEnqhL5ko3R00MjLQ0+dCExmH92T2Yfbch7HQxJXIPLBeyhIwrGjB0ICoj+r618cqDqTuQeELvAdjA2Lnt8w8oxtc/wNG/i34Kgu1sZz33po6ikegyAR3uyCSWDNjB5ucsk95k+2Is6oLmvuO1KK50CmTezul0Ug4vG+NqxzVzegK+ipveS4wnJOI/mbegOrdZxzkGLd1k24BD+lhcN9GLGRcWiFXqU1nPfn8Vh6cWdOvVCsvG7MN0ESy17SDfq2QOn8g1V1Twq8ypsJaJ2GvLWb6Hx95wq8ANhSCEZYasG/19iQukyD4u0yTSpWV9JmQvyN0NML4Dibm0mrYNJX5WsOv3/tmaF4nfpKFV8MsK+/uY5kFNtN3ILB1eoO9WTG7QKr+eBM520g3Io6aEraL8D3KhjUriDQnPlrVdvncqEnWbQpYfnPpSA1PmRKdAaIIHSCJ8VZ2mhGmayji+NZovm7wVj4rPdagm4/3xr/DVPZm5KlQuxS1YjmWRSBHNeWSnngKLLJQcwaln1XAm296Rv8F1qUthGC6ENyfvjFcYqjjZsR4ozoXcXPx9pwWfbvVS00FWGoaSrKfReTefpVu/iGdsShbPNgkIgTEdtYj7yk0GUgrArv6CGsi+gEp3Ck/3F7Y6F/MP5ZyyGoeOEncuaYWgOfLRm7SJ7DkktlcomfIwG9Dyc5lUWF8K5WWvwPZuDIf+TyfqhmAdSJFaxehefDULTNJGRHxQZFpCTKLKzzEBtlvZlCQqAIE0j+8+HQKc1/0NWBHEA3x/eLRCeyb2mBbgvDgpcg9xejVA40qjsxiwfEpN6fevcyoWZFMc0Hfj4pKMKmmyOXgAHEXr/k9LGmwC05CalSFE9s2YUSE/O2lvI6i0LkXPPKhCcX+7AjKUbS6FbDNeqAhEiTdfMIcDFBLGJqjWFd4DCk/9mLZx5+Sw8DnAfB7k5EVsmZDLKoRF9eQZJc96bIraVDMaNkteocNqPD6GlE5YZVj6xXlvyEVpPfME07GhHpiFHoiaZjKg2r4bM3GI7H42lx5tlcvdRl8EwAX/SKOJgmlOmuB9wkB+QRcwA6jYYVmE2t4cD3Fyxk4LvSkcfZlRyZ2sXgG+pAx774rq+FHMYr/mNWLOen4G6gefvs7WvmtxI6EYRLa9cSeW4iqtDkh3xv6pKYeisfQNeEjb0+CUPYWUeM0vW6DyIwYwdjFcKwDTi9R9RrEObAY/zjAo832thuw1VtM3GShAj2FaeHUpKOz3uNlsOLz0yDykABj7iQeLKDm9ce5bUFtXw0IhPVGSK5naEmRdKIPdEtDC+ytQxlmxz/+uS08xyVoyDGrsfmsZjKjTsfSyseRyvzbh4IGgMp9HsvMbeEqePYY65cZZwgAI/WpeGGh3xSupw1jpKjDi/F91/LEOoXgOr3v3gSidGBoOShUGCOBMatduAvdTmRnwELZNYpESL0TZ09BgYWkCbkmtTPwzmiGyqeMk73aStuLhycmQ4c04Bky/A1ZXOdyD48ntXdNRaDl/wQoa1oKovFtKo3Ql8iE/HSlXgdirGpOU0L4pYuJLUaiGHCSHahMpx3hdwOVWviTat/TpaYVUIhtgaNlEus8hoUP64F1OIdSC66cCFDp5AJKEEcrg54HaY68OOoKnoIAdbkgImx7bwBp6Pc9Rlof8Cyrft4U5jqBh01qf15MO8Bcvk1a4fUEfw9v+vaXplb+329o2s6AS+2HnA1vDhVec0NP184UPauSBvIUDaw16AkwPyurQfqaCTYtvbCMm0AT81s1AJUV/foMhdaolCb4Z25325fNegxAf6E6lKgyFEl+8wsFL/0o7jtL6zKg0CiDLFxlmIFbK/ne5XHPgMlp6/i2CidRrmOxCsuFaFB7yg+nwbmM7l/BYsZW6FT+4TvgSaAw610xvwDMn2OWt4OOMn4e+U0+YNEuKieTpF7UF/uKrSnqNX8qm1llKhctdQ3CNXmyZleaQ+i24OrlgpsFRzTAmhrouKVMI1pUxPj9g+CQYyGfZFOTRxF0nMdFXvj1jL+BBHZoQT3mQG2iRCRm+SKAw4wMLVuFMJT6wEYC+c+CSnmmOroeH3NgY6CaBaf/SlSd3lOCTe8fEVEOq4QpjEEc9lb+5DBF7jLXI3cpWc44sFFoAt6JOmXmlE9bNMiFkQPT5ax1+MR43nS0Gyl32XsKGW5LM3Vnqd0WTTjWF6VoeBR4QJiySRb2YljIQdp8JmmA2O4d3SgEkW2EeuPr2AQsX3guWivulaJrAAs6porAhIhm6yYyI2A/nK6eIBsHWaCAfVpzLxOMMfJEiSkPYW8J1M/w0gTpUCgghWHxqgkBdnwyZAKzsTHrMOOZQ3bIPEB+SyA1BG0vphvsU10zNk9i0sh/2//TGydnmdr4qhNiB0Os6rvfxY8VBecSpn0iTfGBvfuxB4DSV+A6yCvOx9e7+09vrW0XDYoLBf9KvJSDh9yXDTCpCyvIQWxrElLWYdyLzgN8LwYbPN3kEzsSF+aqLvPOX94RT/RX20bs74l6JPVqwF6j1xZjN0lzBAUF6277QJJ30E7ZRXH1sfep6oQzjs9t2vhYUArrxNPakUPq/yjpdiQFTsHZ1wMbhnaMXtszeROWYBPW1xTyn32ae2n4HBSaUtRhDgPjehNRPHGMSYwF250utbIGzSix2y+x92pxyYCSS4FknGmdfJG+o8w2Y9bwfaySXE4Mk/Rs521plQfAqSQdfiEQl0LBkEyTmzwwDuhfdm+6TPltL3IiCJz3uyVpc+KPmzQN3MyCPv3S4ARxHEIX+D+ezj7vZx8x0UcCVW1MTw9xH11I+f+XEDaCIgUtWtTgmXQHr/VlqFknoIYfPttuUoO6ZgKRfEd8xdHnOjmmeqKNqUgFlOvQPnm4Wbb4f389fqJlkaGtCpFaUlwckRLm1TCGK/e5WpGWiD9V0/FabmtLH3uw5Rr9khhfT5rsndo+GfKilMA6zWGsFa0i8w8INX2s8BiwjVzMl6dnZY6dEB9N5ZX2o5LzLY/XCzzB2ZyfWYzlb937oOPlrBRhv87+joSTt6GysQWtxAjafjxb07zpAtx5NYZePLhYZbDJGYvXatSlvOib0SzUxSTP0obzS91+KRRCIsRRBS7vCnDg0jAz59ygxaSS5RUNcZK+lu11Ffqu8QRU5lwtGzZf0ttDrD/E6u3Kw1D9Oc8HeiW0GACSQgCmkO2jMm++Civq7BZD8ncl0NLpEMHU8vJJfSTkT7J4qtQKkWBo2hjSpnxSp5BcfVUEgFhtJ8F2/TFghX4XAUkLT3EwLR32AbaVhGiUWodGF6vKzf5ilkg5xzdTpEFdNB0U382U/MIQqIH6yejZE7fvywtz03LX7SDIhNzg/q0iiSYldjIdCOjDNr2LyOF6RPI7zDchTaJ8mSuCDhlxwi5VuS0LAZv7jOK/0N7BUI06HQ9v5ErjdF67lSQEGj6cXeXJoqoWjDuqXc65KznneGq0IN4qnOPPP0kvPf+ugb4LwCZ2bKmNE4J8dVONm7tudrOLV/WsSXeVBcHYg2ArQZvXd0ZuIr+8Mkij8bn96b0pc0+tL+ZtwxzX+Zq1k4HpbFJ5H0DbDGQApF9tlY5tWABHCLeZ4LJblusbKDjU5t+8dUCw1ZmXN1HcTkPqrv3HAzmymVOyT+73El7XKOdZeJ/jO6Xyt+OcMq3iHp5BXg1vkyjj1VGIENsPdOjr4qV70Tauy1yuQfVHVNmPQavvlSVhG7G4uYBOEGDPKeqO9ur/o6sjUVovGSZf6Nr1AGhTaAOVE29iyrByHDHXE9Df3v94uamPCVkZyDY/5utg5260Ya7fr1446ZVyvCyqCRw+Bf7G9k0q42X+ORnoAOWhQmuqf2de1APsj9Dhj5H7CsJlbA/ADdpx3lgFZI4fbngZUqqvBeIpBZDaybgxPK6spdi4Y8vbN7+kT7pEDjXjgJtl13u0QwjiesElYkpWhZazlCIrlcskBC3Peghqf4OiVgAcLqVj29mLk60PYEoyfvzgu2qNopaRYu99aWX80giLSvP0wFu4lL42zDLWO8UcCsxV2j70LEsuqR/aXB9MIHH8u3u7TZMMBAFwWB5UiAZ82mejt88dXYYBvsqJqgFk/pUYM5TIFzsPhxZFhF9Pgo5tmouGbdLTjcEDariEbJvxOuVJZqZedFq23PEJltZ0zL/423cS/6q/vTxC38K/h94K+lPUo+JEFe+pur4VHxqMU06xQcLdC830+ZmolNVhzBNxO5/X2ktSpNSDREpW6iS6xNNrrNR46yHiiCvpqMcnz1nFspUBBlcE7SyuSonQs70u1xu0qtqJKyCLaK+DlKaM6Y6+ZxXurweDGcAmW/8EklhbcVR7m+Xp20cIKEyvinc2vr5WGCgh7ME8GP4czr2OdLK1rSjmgvuwtnC1DRHdLzKNy75aSNEqe0DpRAMo+9gPZs4Y8eeMKVmw0O5svtIbyw2p/6kJ1aeglLiD16QhvMVnS7Qv7SdYjIdWPgB8oO8HLbc+xMy46FiAEhhBh5GVyJNQShgGvzxm1urwa9AwTP3AJxQ1AWDR5uuY6p7fVtmqdfwMk5kVgVk0OQ09BF3+WYM9Tjs/8rxt2a/CrylLJfH5kOccL49cOO45mH8EtVCjqRAcCqRyzJLQI9hMcLgphhJ3BPH53jLjc7h/Ifx3lLhS5xaTe222M5iwoNVftBP0b0yWW/LwSu/jKkES4lw9xd54qT+XseGa7i2pvR+af3Hj9pl/NrIB/U8aiRs62ZnSpOTgpWb3xiZkrpvefeQrD3flYX3+nSfRiVkDamPjwqY+ayu8IJ0c7jOO5T3vtzF/fgAmR51WjGoaz2mosvS5Z9445KP4eRKKeokLE/aOOoZYoxqcuB2prHAJm9CCSQfCpLUuBivVFf3O2ufHB049tSZ49nylfR5Uop3kwA09D/kbfzWaNi5sPr1l8ebMBjNVbAsHYZdbFvSmsoRUk+czvvgSQ5gD7ZmmA+cDSpaJX8PEUqKIki1RPTi+bSf0FzZGoaoNDf2R+oknLoC3zkbVaUvF9ez0qmfBkNg7OIEvHFzLI5U6Jq8yl6S/+HgAAHe6iqiicckQXuG45L23dr/SMFqtQ/fJpcFsdv6mgW4fhcRb+/j64/YFr9ytZsmOSQRDHHyCqMKRejh2GwxyjMwHeor9C6R/xd77QSkkyFYsDr5X70H7r3eBSOkH1Uk/s1VpYkhHJyndHE2w8Bv55Fmh6/5gbKoWju6BxYJM2hxzkID66tFrSCdRvfq1wfZgPTOHjRfSiIjPRtPm2cFjzCrvpiwdCXx/8q6HsCQ1O3BiTGFLF3SUsNGkUIcyoMeOZGhFV5Gs4abJ5mw08Mt/Gd7QOgkFIAD7co72LCua4tWbJFCNAR2zhqt4TuiCmw40maZpxaCQtQAJIcBdwtjPpStVCiH8Y8JO6FFO281ZOD5/gA90NUPxRqXAawjr03RSl83JKjV3HD02G4NAKL6v0kx0u3fvFLhLzWrbrbIPpJucJnjrmJrqkGK7lj/FfM9npqBar5AA7DNC3Ql3JaHAb2yzguVWcnAfRugSEJyUBeDcFkKjUp2qUWHFTmSfD++JAGiaP3mx22HF+S03edxOh/E6yltVn87x+f1JKdD8i03OOY+B6nA7KJttlz8BC1YZeZHugVg+saJGN2kcsTQDWNbXpIGg3iTBSnB6/cFmuFuuk+OYp8nGXmQvoHaRlSXimYzQ3LlgqNuOLNfVSuAZUifL0E12JTUFn840Rv97+gCbnC97/O008b/GFCX5TDV8W6YTCDCmzknh34ipxFmmiL6bATMuEo86PEcaTODeS2E1fLh1ttEyyB7wh6x8YlfPceBZI6d5KGpEdYxiX/mkzjYsK3h0+nRseJywSGvEAXG4pSNTYowOGG+5f4vkpDlIGAuvCq+UjSMlT5VlIHTJOF3AjwhegZ++mvi7XoNYYYj0Nj1KG72eaIbYkEoxiqIF9+V4FfxQBRgJ/pbtRXRT8wmAGcFlVBYtZSlYmOqIoCSCAjxtiqHnO0BqV4iVy3UzXrpDgcgJhotzVUgTDxKkzoajpRFW4UNQKAtbBp2LypgrjLdbYhlp9zTHx/RmpweVh7hz5gvegorTl+E95TMpN823DTrjiwgXMI4UAqyzg/SdxkA6NCED3aRUBEFsViZwc/r37IaBhhFz/PouPzOR7ZFYvHDvQbfNTBhqnENRplbMH5tlG36guOryv8RkIzKkisVKaULofCh6g3y+HyUK31SUPdWRn+qvmtBGVkwHNtK322EuVIonyoixBwA0zOo74bKx5vhLo9ANrWjzUf2wg0e1+kU1EgmbMhbXJAyxiGLWITODrjvgfIJMI73idpwRJ1DXBtjGnpA+dpfwLZS1l4QOntlDjecFQrNRWJrsRlU874pMSfpHG/+FTBiGIN453NmMz2DgQzwEoRLn9JGvfIVZE4Mz3qZez5S6XDWrH1LQBwsfiLi/Xt86sk5DaYxt1N6AZSNqRoQbKjBzSjN7UnP/OXjRIFBE7DngnFJZFd5jSfuaP1oueMOBtIgEY019aYUYW6clUCaS8Q8NowlsrUHdGIJgfdpsD3+Ja6qVdhnT+8Yrehuo0xA2T0D1kp4/xwQS7/8XZqsjk32NfJufd7cJ40pK8/WWT8YbxKP2AmJHmJCl2j+qOJ3I+ibPy3dOq1fBHWZqwg8s4jMRjyyHux3tzN0lLTbuZXXJiv24LSrQYXgKw6FpW/9ZbzidIOpzOyloQ5+gWx1wBVJ2esSAmfbXd40KspwAsdsWYKaWtTPkSZjnl86cpa1cJ3P1g9wje2IpcEC+IzZFDp5FmEfwwBbkzByFJ2erYf9cSaBRHB8EuJ+Uj2AIde4x4kOQVZrcBwKRKrZauHDOnqfBBhG4UUW7zuzVjEQlhguMmI5c6jWvSQXI7MwZcyPGgN0ZYO9auDg5xZgS+D1r6kRSM83GhCjT+2hcEVVuLuKe167FvKgqW/7vUETw2NUm/69AAusydzVSq6S+mbXEWMv6byMis65RF5P6dgqnDeaRO25wewFQoa6HxjX3Oyf5edjrwPD2BtqcMya0poyWmZtO8wffze6YxkrLiavvsxM1Hsa1+Rq9UIMC4/+hC4/SmItOamQX0mUOJY9C+bmEY4t82pzu1HShGjWCNsbiz7+nNA6tnVlDJ/AhVmdroQgw9+0H1rnNNFRAxT5gdNTcTISimMoVUnlgCvArDQdtiWIfFJENcLcSgoojazz0YDbzeJwIergl7LOU4FSdxuk+tvYdGZbS1MfAZ6ObBcDiHMsCZOrjMFLnvy4vB6ejvsHdVAgZ4eUqF4vnpBSTZcDfF78O8Xk8wC3PeIk6EVQp7OfZ9Q+q7Yoeia3Rrl5LyXaBpkmyqwmTo5Sm7h4wztFetIIzUnSed6PYmLntSg3NNdYCQrnsSoaS5lv8xSEEmTM2yzZez+22e4ClFZvsvNchXcwKi1N1U2LdL5BYBd/Nw6dSdMVWAOvQD6XUK6uorwt2qHIMngumnQEtLRxGyxoOp6/zLYbM1PRipHxIQo/gv8FQ+CUQ8NP1GGQhIiwSSyAYEHvm3MCG0dg4CLAe8TwiMe4YGeGlExsoYeAfBBT6Hyi1kg5vSC0BjCaFTWCt2bbOK4ddq9uM5d/DJjdV+LTtPXV9S3VX5PE7X3CBDtKoJ4uVBX8h2BkUIX9TGMtdt6FFoG/fwy2jtX+jeP1tiNIB3eBjsCuK7VOR+sDcgmO84QBIRR0dqfESBMBSdzdpIYJp+SViEqvYtQT2v8ADUqDQdx2LOuBn9o+BCXZKe4Bs7CCYgmjd1rCJubVM41JmD5JM6udIzEqNTQxnTyEQpdficxjae0TWSG677CPxbtwmNxjnFI589l2LTI5mxhmp34wxOr+aaqf83gfP55N8tg/MRJZJVrrMiKDMWt63gkVpRJZVl2xrDGQmOmRe6e+9C9v1GvbmAbV38QFsif3sZWrDlrutoXW/R1PRzdol88LBe+McDxcfeveAu+eSv7ocyc/ENjn7q0rjnaspG/RKJUmMxV7jxsIsjr3hkDk1r4MeqtQzoxFuONksih+ooO4AAAAZDv0VR7Djcm0ciwpdGnYEftqomh0BwxhgHF1jquupqLLQ2uRw+a7KqKjlBsFwGMKQQv+sIB4iaMrqCrJj/XEgGGl2Tbw+rpG69nouj/kPo6mPzfrm1EoGl5SH9mCdAPSw2jkY/k5LSg2NEgmsgpWuNMqr8Ugw+prISnXr51SzKU1dJJNd8lUtNxDGM2UJl424JlZaHC5Ej6BnG6O8P8S/6ZDFMm9fpIzoo8rre4HuTUJK4Hk2ygrDaZPr2T6wTvX+uihy/CRr0bkDJyBPOwdBLjcZN3W6oqEQWvwzAtK4Cix++3m+uMwNfQAVqYjo53eGJRq70NNJAEyrPiaqVCmeoTM9toGdT0132UFsTFsWkLyy9tcXdrAUK/FlZ9NKX4LnFzNMJ5FLn6KFNB6XWrkBjdZWgRZP9iy/HekPI+Hg+6/onBhx2CN2mjW0drwCC2L//c65gAWiUOewLR2YOfiKGfjnyikL3s+im9ZmueyG/NItPGPF8RqMgk//5O3o/xOA7lTmhk9jWpNhfFrh4CIYGDdy4wvTr3pJbQBFFHEpyKpeIrxJKSeRNpRx7p/ker/XSkUo839bLl1SIloyBs+e5xAcK4LINzunp9MesM6kFki1qbNAcHvktO5nmOLwTXixeihObqoxEv0NwAdzzalk7ecivmfdkbiqULCg6Whn/BOi689c/2IiAwl9gaT8VAPtK55ljhrZPOxci+GSnAHNUzFjUHIstKYgOlI49HEHetN7Ov49DCRoEle37n76zQ0eFD+Kfg1RpEwmIGTjS91+jaYBnFyDMzlf3pYPbYxYkYj+bqBWAD/P41I/I2QPdBHAjUFmG3gtXXY+wAeY2efHHYq/SnjoUQSHGbnD5/TTiK3u5ekGKK0O/RjUvhW/3AjqtUcnYgVQxFQqSlBpuaQWVoVoAi2gB5N6NzS7QGUnvmDDhLeHILmthLt0cJ7ldC2YTXZphvR1fxhkzELxaNGz4ut4OmL7lZb2+0yDPEL5GDI9bsyYx2Q0/fgXvs/Wyem9FdxQmJbP8c34cPXf9/kmkXvDd5ZaIsDQBKkMWNJwGxRYbIRCb85u+RD6uUQzsRSXyAWtzVnW/a3Kuv7mES4Uk0/vH10jZPtAjAvo4dKHVQYLYS7oqu9YInEak4uvitYA1fakwT7F5l3aluM8tncX3776amfUglK5EvLH13RzflyEtv/ojMhiUrDK6+9gqPO+d0RErZqk7a/CMzDTk/5IVF0dQuW5memJZwG80fmXtWFtukgXH9UbKrvTEkh6k554fOnM3b07ECYKV5UGqZDnFMfHO70wigOO5SYEVwIz0wgYXJap2lzl1oR/BfrKIzhKmdbIUo9CaiEWuyVCrRiB/50tHp3n4m4RHENO4If1kNyqLOufVlC16nVK1SrJb+HGnTI3QECWNiV7tpFZQ3h4XWQYQinDtPMNMxdykMg8kRV5wFrLs4MyL4PH6/FIKIOKjISwxD7CP5AhuU9LluE76XdEznV4DXO/XLCQABT1Il8g/H7ZgNEfEKFwp6dq2rMSNsv1iEYHuXdd1/Bkp6jY12cgjNeGmqixKTVoJFRojbmPB9oOYW5OpVnrRaHe2sqNe7LoFrmU0Ch5exUltGZR1UsIp6j4K2F/inW7dmUSes92872fOvNislJjgD6ZFhAYDVyFclR34s2f7iGYH7FBGr3Pgd/ictp0oWcWWA2f4TWikSPmsxji6jK7CK61wg7BkDZZKXPQJja42ahdkpNDOBb6ay3hc4rehQKtZyJ7R28u7uWCyemz04nwtGzytR1debsyTzuE5XoThQu/m4NmmNBcChYXu2noYL2PeFDRcE9T+GHR8OIhtDPcyPNE/lHJlCFnIksaDoElXsO8k0UcxD3xDFkdl/gNY8R2rEtN2C/AqrXrdT218mpsgebtx4sjS0dzzsuY5fIhqXlxEbyivBWCloJo3euflua03eIxBWB9Oj9z2dAUD3U87S1CIG9ZfGlEBVGr9nVnAELyno5DKKZDgjRmRQD68lY8i1/+3PtfZSXjeB74kMO/XOB/R27hF8GJWr24YkF0ZB2FNEEGjGK8pECeqLRJo3mXdhkaNrFRThNoXt0GS+kZf0mIitOp56mjlxSlc4XqSGvYT4uUzeg0VN9oPKZoT722+QrE3eaNk4ZEVRg+IS58gVgLyWv90TKB7u414XcDe0nvqSnZ9miT5/Tqn2cBeH04hAqmy0vHSGEG6eyS31gbfopH6tdD/cD9JL/wM46FcZFYbU57dtVuixYzQiZH8EhU5tftPwZsQHv5V3MHAmoBr6sAbk5A1O7lVWgckadKZp+kyX+sbcqqAZ/vc1uZye0a3Macg+kLgAX6UDolKNx5K+LDahNyW5LP7N0m7ZIEfBrrOQE7JtEyRt24flXQHjk5oiQ+nAAkNnMldnwJpHYuGuyojBiY097O0BCVfIDq4vBDlbOt+IKDt1jCanBwljAGRTaTeE0NTLY5A1eXTNAYaeiMSiMjW9+dz024helrB3J2eFhywNpDt8TPpFtnf8gNP8ABJtgr3RX90PHd8KbqLIw+fPrV9cBH3juIWeOPZEpsiUsuOSlPLggg1Gdkdco+2Xl3e0xqDNp+HSf648hvvnkiKClh+EaEn/xag37fGpWEioBh9lklSAk3La8xevTJiMcfV+E+ydcMkMIdVhaGnmXJD5lJ1FOFAgBTpUsVcfl20T/EHnnEt9JjQvEOGkpG8JruUdMfdPsJjUVwMh8apwJP9xJ82K5ncIjtqPSRRZNmuaTdP1c9oiZ8ECy7OLnD9kUwcDR4KTk2dYLRnGF8I6cECignHRK3L2iUd7HYZmOxUq+nOaRj0eja7GmsgfBVO5KcwHoRN8dG2RvYWsGxH9a3//9L3D706Yx5otVyHxzlVgpNfAjLNY76jd/Xdo6ZakyqiJaby2HRn6lCR1qJ+rcVKmfMLGgf3eeynkvf2dEVsyoRooA6PuZALVmdOoMZ6AW0x5wfn0kBXeOi5q2OSR/aScSXFu9Sr99rh1OEBEucGxXHLfzuESdA4eQUit3C7yCpu9OmxSXF8q1+G5xEEYA9CaMXia0nJfjxrRIrlpOf8relrvyOVHLw4AXyU50pYE+pkX4damSaLYhkASBe1lo81Cl1z5a5r/VslsSfDyv7I+VsNRAd1uZE3wlRBYSdZpjeo0zzN2rsTp6B5XXlaZVS11szvYmdpBr1UoxMzSknc42xV1Gm89FsC8pBgncVmLN8HnFA1R5NzS41iGa/MXUeOTv7WvrKXRWC/+lt2dKak54kkp74P0+nb5LKf4RHpPdTJYlVu4bDLh8dYBazq9+d3GIq1xr6FHqtMUAbbyo5fJGDSpzz5jDTrfftAo3XW3hFg4hmIleonnmgvL4aHob+96Be6i948LBh6keZqixoyUQKQKxAAAkXXSaWRObUwqEQ5COfG1yBIXUrG634lCiGicfMUcoItbGrOfngTc4eCIznlz7y5GMJIbnurPhAYZVcQOV1ndoCSgU901zFt4V7aJxj3PwlmdgrGQ77kZI9z+s3jijqp6HMUQchJwMXc9RQLdY1hoNEm562d/aYLo+wtJ1vZedN+hvVxrkZO+cr6ptys7TXyWSnCLi/QYwon4d1PxeYwiuJaMxf1uMzOYnZe/LDNTvdw1WebYDR6jWgbv16h0f4j51leUd/jSBjJwgJlExdC/9gwBG/S4ywseS/ugYfTiUPP4M1JvW7C4bN6hV8ENnPQI3RhNJqzYAfxPDGVMT1IKxq3Rt+8wPj3sL+G7iMGWC39HPBtnVi71os59Wyq1hsx4l2xfR7JvThLt2SjeAYCZaoV35o5kogx8rc98sGiIaSEGk2aBWBkpbUjKtaevfKSFF6oTR5q7KJMsS0jfJt3C1kneVrFXYtJosmR8lweqRcIiBa2if4M3n0zr9/WgncBeAlq6vTp4T70zmDz/nLHTN5fg/+/8o4dxHq6u/dn6Jk5fX2jWfKhJLAHZlAgTGAsNdlzzRZyMOObEEg8InijTpzLpJP84HO0Ipzt//fD73T4sfZeel+/fj/ZIF5pBkm5jo1Qin29JjbNh4ZBGOvoGiTXLrn5ySwgcfbpAHgADUSgB/ztL2hAA5eNn3D+XWZZMTSFdVXpV/ItVjVOj3zYhbbg0JpqRNBqxhX8AABqSA7KiqgRSwJnDsicOcn6lxiCWGOBRUiTqVFET+1vKzI+KFp/Ig53oVA5BYNjghORShMgTi4gjLo56tRo+1CDTcxWKtOgG0oxhMu+FUX8ARHz3VGqNmHXe8Hj6b3Fe4FweTxEKv6V48T83qFCZl3N+78lIAouFdZQq0sm/ANzjH3R0NsWKO6eBPrGe8KkzFnoCqHwv6ElGXt9llK5AfRioDIEMw9gavf7a7RQ8ogorGIbTLnlWLioP77iPMZGhNabyq7/XEipo5q6OpIEO7+bV1duAVL2vfR99KZnyJWexOhm+Xo34RTJVcAFbLbjTJI6o4JAU6wt8azZkYIEeDgdbBWMCE5rFdcI/y7Up9GDRD7Db1vIwNQpWuLGsQsp2ORG+x0YoK2ie7Qt6zquSvHct0McpiKVgAC7Bwjjr+oEoStUdakx8E6C18VH/YmAcR2DUv4j8C0aMungsyuB32JMTMvU7vKlxP0JepgddL6C0GShxhSX5En0tajXQtiaaTW3TNBezSk5VcRpXEidvllu5JSl0fATy9L1KBUsh3HBe1ZJTyAvxaVDdFvuvxS55yxnXvJ03VM6DpYbuaN0gKeimFrgo0TYOpKn+X7JFuYVlO9BtnWLpO2pKTSn/Tef82goKBjjieYriwABuZfmfThVEXqd751I7lgP7lrUHkndKvj0k8TznsIaTaC75ORWxxKDq1T2M4dmccooEdbyhVXHabw2qATuoeoLxkDyjUDYlchVkkaLKUi7TKh1JoQeM3zeSPv50loBTfXsH0bZbUHk+vQfjEyVVl6yDL3MKerhtcLMNkHhjot/svhv/oCW602theoAhXYgYQiUR+L3cYs1QyWkWt/+YpZpNgdYvbMrxvXpbDAsWAJqv8pVTi0HrqP9mRpWJx31ofks5yH88+L3FllH765dyBRGw2LllxQeoN8JEl1BpvnKBsi1w0TJhHnhLxT6sHiJBO1CV8mW+xdy7hyEGcA5QUAV5f/HZoPNBI1xCivseZVffBuRGZePnu2aZZWhlAZWCSPQDlnRbb28yAiusJ7EwNyXyQKbUCflCzWfkwMbXT1+//NJIlfWDgtxLrsR9s0jXmeTWIMp/MymVvAOe/e3WSdLJECZcntB62CM40OQSARCZmGXioBIJl8aWXjwQy0QZ630ID+3fZ15uNxjXaUzCuzdcBEbHQIc6E4uq6C1uGLhjC5609vwsMPXhvZ3GLNgEcKSP1e8Fjob7Ake2F7a3sefIuhM9/3MWhLPvTXQx2ijz4/ap/TWOGF4c2pmufdy0WNj5fXaUANQV+dFjjSBgIjsohKaN6PPovxBIcSWr+tX7Ll6A2c5rU1jmSdHYDvT2H1Kum4Lnn5osb3K0BeB8BG75zwz8oBMW71ow9Us4y+++WgBZ93TDp1rsPIP4rSDN2FgApqQOsmjayIKmfr/aH8Hq9+Qr6LqIkj8UVIdD9FX9UTOdfZtPCuHrU0GPOfasSmmj9cw37Ju2bARXMSiEu7Vo03XPMqzAP44wREB+ee6tiqNALpb0NoPOnpe+cnn+QRe23YfVl9S5kbIrgdEkqaP9aUYNWAXfPuIZ7dsnepZdcjOYcLW5GX8NfidpZNE5DuZfsu7U5JXgtI9nkGybnkxbd78oXVyFD5II5UL4lJd6tp9eLc7qH8jUjoCNeghPLirdyOsz5I2lMxZBzC7oijHIHeS14K0H0CBhYYDwz6UNl8Bnaulx+KyOvd+47ywpks6hcfbUIo2Za5zZMBq0JgfiKdvFepXyRAiQ0llP67QjfZtTHMqSGOA0+XyZI8NoRAtzgjuvw+vDSGSUp51pK8AbvpuSG8CuHc7r7/EIWirRITWZrMSJzu88PDEjR+KNHn2PioeWDswctp3dt30r5ssWBKs8gydMTzrpoTzlpc+Jr85s8445cxewPlaRHHh/I+lmtewjVLhVgeZyAOkArahepe6xRrQyk/rce0aJsS+tR25tjgyITkAOa3VIhntlqk94/8XxKGIhsnOhjBDLHMGa6dYTs1dGq5mayRnqbJZEa7qGPMbiuzCSbc6V3CnVPqedY7nEgVj2Hp25SyIXlheeXRFLZyX/rqT701We8Kx1nqOjwgAsV+h4LJ8Z3NIdcedjht1e2yghAn2uaOJkDidy4v+3pY5ys/4/9jqxY2woVqqSANXiDV/E+FEeHdaOkycq3AkNlzSKFG29SJ7Oo5EK0X3kKvwACvISdQWre6DHZfc1v37HyN8cBknn+6dknYC6+W3lgpZ2jzr/U5nke7QTdoKThS1Ei4sWDD/XERuSmRDaZkQnx+s+AZ1lUlbQ9QRY/ntKJw91hq2+B/rbWg6AorEYzXwtdpPFTSqHsstjRlkpxYJBndpB0gLqBjs0pRuhROpVPFf4yh6CCcmkcNxB8INF2Ew0e0TzZq0eRROe0ZZ7UJEJpp/f7xuUg9oUXIgDzjDCwnXJ8h1jYShm03kFnLXUTfqmQ8OsYjmwqWy4OVJjllJoQnDG9X39xmooTH+sUtORGk6uFiYNGDdvNjOHmlvssnxZPzDN0triQcl+OpiAw3S1EvPClO3W0Ee8AN7J9L689PBlnGpHEBfkoW2VWq3mpb9bFjPQeSAjXiq+sNAuBgLCVA4iFGQ/o1NmlC+pwXQ9vEBloLrMSmPpihmHxAoXIR11R222VBx/ZHZne0sJlyRHIQYTWxTjo75XIWVczOifNgEXEqkMahUy33amcylui0TD0fgty9Xf8BeHsyp1YFnFslsoIw3wi3+vdhDVzKsku1yB6NI0B/QINNxNV1bff/u38txTpuzLsmiPbTfG3agLFKiYwDUxgFK1qNGFoK4lbLapHnrCEyxoQk430TVr7cIGUzGOW0Rf96FlS78YNjXa3lewxSmXpopnyi4c/tJrUNd5Ons2+o7vvmm0UPdYdNMrmCcRwA8wZ92KlIw2ss1lYVWcFYHO30Y3DVC/3Q04uOyXbDOmKg1VrxtToh36XLitMWZKVrnSndoIVLCEuOlxutM7NiHE58WAal+Nj9QFHV1F/4+39NDKFcAADenRo3uQby54AXY1ZjbfpnNCcd4Fo8sMjHoD6NeLtvDr78vHrRYPX6+ck1yBjYOEVG8PCjsATlSDBmDT2lG3L8M+9szNRMVrc6L6GXIZaH/xRNL+nkA8v2AiKptZflluVnpbU8VBVsLeYy8F4yDeh+lu4y4kIKcQyFwVjTveqKXG2cgLYcTohjgin8Cfn6Bp10r063d716tSBw7XS08h0nS+wSO5Ra48QgkeBOmLuZUpZ49sjwe8k3ouBW2/XONMSfGZrguVp54p7rt7g03wDbCIT+ca+13R5akuwNcP1nFVfxX5nmBvlaVvBflT2BiMDy4hu7SRLM3pLH6RueJ1ACgXWzAwXi9+DTiMrNmvvEJn5fEJQdLGh9zWe7fwI1whU9vp0UkOtQ9EiXyLglLIJ4mDJpfZ5+fEPsvoMdFC8OqbURvsYxfRNZZIgyiaF0LwZNyYKfnJrFLp6ozZW2exy4X4MoKKHngCeSGK/apI4kNILo1urE12/Ni1O7ZxRBq1nsMDtqSU+/aTVJwGA2ZqVgxbQAIGQ0VwStrSi0vlAqAPBtiHRd2+VYk0FLvodsk5Nu+4yqlyrEz7hIPZ9/FWe412frRMYtjBMw80I4VeLkggZmCivhGj8HHL1U/4Du/vswX2go5mrVkncSMKhbNbJdPKoHkfgcJTKd8ns9VKVXIndEeyqZrMb5juXu1gaiDDLCbiXcQi1K+ZNnHha+HREIO/d8fQfCDRz9xmLEABlP5hVp/sGYhmh/UQ7s8ImFgyCsHstYGeizChlsREJj9IHV8KGLo3/WOm/8sFm5TfPaSMJ6WI/DEuq5YRr/9VSGEmNLX0/O3Mfzm5PpiW2KJ2Pv6xDwlaKvNltGolexLV+7BMwbpZEFXi4CCPhgwSwOqs2pUFKerr0eQd5w+0h3voeBM2bjLdWyFBS1GZUaJvF14HEY8oWEbEo/DEQHH/CMbjNWtpJu48XJefKTf0BDjLa48syrnEZIrSaXo6xOrwBH7o8eJvEAGnFgXVqIQpkdlUUdS9zmbrjqKrL7upVsci6Cui1JNxn0rvSrNgTZu52u8eaSRGYW7K5kUHYMYIhcii6MuxACcCC74TIglZ4RiUOVn+0kXY3XgizHZ7qM16weZhhwGVm09JFv7xQcu+0Rfvo+8T3us8CUHlXKHlbPu1xESAy4ReoUAblgh8O8LSRjTB1BZSBfYwABdPp6h7Vqv1welTXqO1DpuTD2SFSvFs6FECvmg7Q3+vMpqJFnl8BxOpG96LPGNf5QBY1ZkPAWvwRMDfQ49rpyUi4+0aogUMn+EL/8UFqAVyENgBFcp8/24p9gPFweVs41fBAQNMxLjmNrYeWPSVz8X4+fs42YJE0tukKvGKkluIkgCEcdrc+Ze4Y0rQp1IB7pbUR/7qoZnDhhK9lgql+1mJ6/IDKKw7zkWnl/iArLr/DeOhW0esRPkyAWPi1Na/D5M9U3DoHtte7sVw7ZuQS4jE1IJGxPD5wJwgaTVeIiSHgeYJoGJXfcyKlAVfVE9cDepoBvnj7Jfeqbw27rDZ2/F8z5vhAaaDmy88V3DNM6bUsSmj3u24Mk1iy4Y+0F26zaCp2nUIoVCUNQtGvhCsnjpoliMlWYcg/2u9sYW69SlnPLp6Cs+JZx4hwbAGLEHC/B30JBHbJGqFgxp0MjMuNTvdymqzjP2EqKFATPflaOCkLzQxGTDl0QrC9NueQgYlpIvuaScvKr3QYzSCHYRcMVKvdD2zmkqy8FP5deFJlHide3e3HLa2xrh6EjcaFG3ebQxiIPyj9w2Hqo4s8sB5WiuCmGaCho1LCbJkBE2nWgC/pM2/WGeU/b1b8EUgvUf9pKKaMn1j/oiS1UcIMPgeDFZiUPLreQG4hnVQt05GFWdJYaFfRyva62iKzlMcWkzbNwh4XDzqWsTOykCf2+ITesHcK1Ih8Rccg6XgidEETS0SdSQc109skVWh+eLYRc492TUeKRQY4VYgkSCEpjnNT/atgn2Ck/tFNYL9ysUzlVo43Pt0/A+Jm7R61y4oEeOEgBv++dL5AZYighE550DTXKD8sWh4/Qxn/tPIPPjbKzT6BQiq0rrG+OZhbiNp7t0ZUDcL51+4ECnFnFKTIrRaN/O83E/sieF7+PV793/zZErpPJstQV0mNjiXFI7U9RiHEHHDhHedkRxs2A/vhUBD51r9CRgRgRlsSLPzqUUsl8YVAt7NP+M/WdlP9tjHAYonzQccxwIMz5n0Q5x2nI5nMgBOyrQRx8qh1B7uMhVSetxUKvE16p3L/XtC1v205pjvTgxtwD4FAv4ytnNsAtJBUMc3Wt3anKOtoTQ7zh8ofmRT9M4IfyxExYnkYBoyYmGbkVpqNmSty9URkM5JAFEFfSnpUNeJgowYzvmjEamU0myb0s8v6FtGa4JQup8JRhsPID0u/J0FeKHL6xBJoudy+fBaksAuxbOzpOH2JWsaQ/4Ty7BYWdZ/fZXlcKT7LosgCePp42ve+0J3C0dzdw+KKxqJvJrL8G1LOarMxPUfqh9unyGaj1myZEzTWRUBgRdNgQW3d8JvGAPRndLNHibG627l4mEd0daARtoUPeLZHY4ZgOufkxcIYR+30NiEJwormPlzBU8s4FvhZwKDExXZ/Z0JayjfUAR7nVXd7QOeionLXL5lA8quSqfQU8SPTc57aH4oP/n+UgY33Xa6Y8PPoQcNNzttVxUe6viNQtP7gkv2VSEruenL5RuJwBro8YAM+mkeJnQ521b/bCL9bo+QaAYBX9IhL6T76DFsVIPUPxfPax23Psul2EZjrIJP69S6a2kbYY3hEJ+WaS7AUKA5r9Yrog5TST6Mtycl0QEzEidR6JXHSijVO1ddmZAJ2OaTN40xzsUcP6wNBRTey0LvC4vVF6zJ57Y9fVNyptCeIFp6rvIY/6KRBfNpimDkwb60nJXVhsKOI5ZaozafJG07WCGlDhr9HRJUnTBbSXhc8jL8JDMa3SlORPkblXkyJ4Bpnee6Q0tZeFXSeN14a7ouRPpt/BovcQwX/OOdLsGkU+ovYs51P0ejf+tyzQm9dYlZaH/o+te3bccXuqoILUQ7aX+U3SNXY3mEptvA35FI+sXl7p/fs1R/jIMueqvHQwSaQbyv8KpLLgoeKXCklDKYa2FPThrzqJNylA6r5TM8FyvRDzBIVF5K6js1GG8YlZViPGn9GczJqx4KJO82iwfjWrE73UWA4XFkL+B6fciF1oB3FeRrzY5ioA0Q2KI37GfZFxX/TF9qtHnsYRjcTAn2ArvTthFagiXl/6jQ2Me3FUte2SXxhQqkto791dG8l5ILLwEfAHoTmplRFy+ke5tFHnIdi8/tFAs+VW4qJgkQImvjZZUHQK/098vuAZtgGDIqDGyWlCrvEa7nI5LvAUaIdgmteG4JtahHrfR2tTSbsMKOlZn9mdeX0tVOGQVdVlWhHng01i62ovHK0Wu2L1hnLmBSrhDuTd4V6m50JJph5tk1uo8eNQNcca+Rz4hLV/i+Xhm54e0Joa0nl6u4/EQHP1SFgdlj6plqo6SxQhivvzewqIl9rkDF+0jQme95Rpn1MjRQeqAwai4TDZQ8muf7BqGMpT0UnBfyRkc+GCP41k4XQUa8MtwQakyipb4NeBbI9y6hi8y/809xc0fXaGt0AAAioxDxr8th+7FJm0osLHfKw86461OxkTbgGeRUZAxfYoV/MntQz7gnla00FU1v7nVY5HTZ8QgN94ng7SZbXnb96cKzXOUIuu92tGPMcwYBWm+8ZQXBqsOt11Dh6i8mQDiO+bRiv4GuF5OuZXRY5IMejX81zewN+6CVmaUCpA78/mMX0Q2sg/A3FKduEDqC0sQ9Tpfx3c5zA1MO8Oc/WQrxzDMel6tbHYqgKma1v8dHj3t9f9NTaxNH/2InyHZ84r3bgtEDgw3kedJ8y1+cOmUr/AGk8yQ0p0Rj1hbRcnR2cUhwAgvXnWkiLsUujML6lkUSb3slnVy6DETfZjNYa6VaAV2Wi5+4l2llNO0KBCKBXZLx/EWZPaidyQYtatyExqG2URXPjV65/Yg2t1hnV4A2fG/YWC1ShfmqD5O7V8f3is9CFlolrOskhhJ/FDHUN9HkGa45DpAk0Y1cYfSN1bYXYcL6gx3+VA3AmBdgUZHZdui0u0IwvXVDKk8kplrzAGIIjYm3ivgDS7BeyRr/l0JjQnoZo9OwU6XI/cP/oxaeEr7wVlMZPgqAxyuaY4kw2ZsJPomm4wWlY/0LJcutQZAA36DcSYzPipEpd4CkBg9XMDzED89mwY015qD1Nj23t9kHq770RacKq4p3XiQ5/dQnwjmsesHAa1QCylxDlu4jech0YZ3cdIGF3byyfC7OuGclqGolTv8XNgncXsivOtABVCaR02o+1QxtoAkrXm1e5iBNONZ8H2jaeISgooyzMAyYusxwOG0Ea5MsJhB+cRn8COHp84rpmUN59IHRXmpJDoYl7E0LamFKRtJaeh/aKxEcVen1+EcypReyxzSlFYFfAEu86RShc+i9c/p/wHbWhSDS8ucpti3m+PVQEeGOZVGyh5xTtEZWu8WL8tp7PeLfrst79yKMuuVcvf9TbYDmh6L7bbsoOFIS1MDWDTrcU6wZizQvCo0r29W+LyIRGMWXqvIkohzbJv3lNRiMxMeB698CdFkOrwSE73tsjzmJuiyJvmr9kgxKm8rX7CF0TTaRhClqZ1c40ciT5NAZMQvzgYVUUENXoFQK04nVJLKJoJxQudAJbEKbFgBkhQAd3G1xTcrgRGv0HfzhFZfID4xDOC9QyJE9tCPlPzmAJx9L3uKU5LI00RBiYMY0dBJf1fcda47tKFQVjt3i835ASsYzbQgfYLuUxsx40UK0qNRD0/JU5KLAcvz6C/Nj5dyht3huxsxeMwKfX+ldU98oped6Mq+xznczWTu/qsQvFqEIgclUsfhpifsYGOmcV7pmV4rSZlqt4VcFXKycam4SEJrGTz4Gd+xQ9Mr/Jn07Qn3JWI2Dj6s9I7RxD+z1czk0QxaNr4GkIg5G9I1VDjcjl7YKbw7YQFB1lKM55Xi0NJKtNYemf1uLmuwqe0PmUZejH5vW0gyN+qQxcCc83JrsAAp0yaokS5uhDvM4RcxB+YPljgSB9vbpMuZ4QvU5PJSQWCraqqj6rV7wjoiH+kkBzNKkwYu/klAuzJLN+EnAjDKo8zkH0rcrjLojBzE9LUyBmXGEtSnXFZpa2VSlc1lFHau2z1p3UCSPhknlPJPM892JLiXoGtii+1ms70io1fxlcnJ5pthyJgm7g3UELqoCd/8MYnbs9G9FpikeN7k5UjYsAgf5QIHAjr9Nm3mPE2GburZPxvxjMvEP6kb6GZQRntReV/3HLbNzn0B4AIqJv8I0kkcwZnSD8WdnMKs6mxE2LgHvgDmTO7+60fzOdO/wLWwA60IvPJDCw9T/0J7vNLnzMpE2uCFXquieteU520wvUOZtiNqn3ndwrI0AcqR9O6/m5UrHILEEAk080WpCLkXWAuntSWgkZONFNlHWRD3Go3D40eFgXcpr4uvqxWa+8CLXTZMWyciLxv+UZ8rQPICTyrDAnDlLRQVNSefAxKojsq/66uTG9uiP3YkcSgpYIv3eDdziX6RBP4gH2NSFUL0P3pS50WAe+BCJxL+rCGXYywKFt0XPwBtPj/jm/7uY1tTc6kraKtoX1Ise6wyEQuooknyJgwkDJCCrrtNF6re4vl6+fR5sXP9zfsIy8Lq9hCuFxIvNFFegXC0yHGuTXNN9IrMx394PDkQ5Tnen37qTHM/ZMaj66EW3wNUXIQm8Gzg8FoE2FkXRCL5Jn2z28lmCPzxwdaYK30XFUJcThx73WLr/RjBpiCXmEAVu3k8bTBrLT3MCbLc38PqTDIoYJE/Lxy40zGJ+PTQGF/KkdbCeIWKirNRN5XJuN1bDQZLFCgpWDNOZJibs3FA0wn4BNc7bup2YBNTB2GAL4pi0SPfaasp7/EmKZ3oRE9mMcDzkxabraJoBv2kyS1FxegucQHXowmPPo4dQEzwKszzKB1UeK7q9a2AHfyMANycnvJiyofnoBmAL3xKuFK7KVZe5aTJAKMUk3PHgzJqtY1Kx9GPqx1FO3fxmYKaayoXYZgIS8umFDg3XbXhKYPTcM1glq9pw/8DdTXUWydcxWPogSbUoKvAIs4qMuYjtP/zCpkMBQOoSnY+TOFHXvuq8bVU9pmBvrre0FNwZn6aDCThG+6j0Z+BNSXrVe81f5EQ6tmrQXEDzWYhvAU10AvKtKivsfpIAH9LFfvXVrd/RsRzkUpDdjq2uNhfsFs8gGydW/9PJaPVj2hw9e6Nys8mH8ATE01puzQM9muzNMndMus8Pqo/3sC2IH7aGvpYli66KC3NzzMQmiybGXpEG2aaaOXXec/d4KMDzOFn7uRBP6Fd53lj4C6sijJV8H1x9l6077zSF6PmOp1tohDhGioWD05xDC1JbbrabS5YLGBd6rknhjgEQLbvD9Qnl8n0qMFe3ifnfZvzav/wvILlF8K2ibpJtT7IuEtW8y1OZVqbRNddlRKGiTHyOwdT4k7eMtE0JSlg3sWUya4fCGhFdtdvM4whyJFU/URE6eEFK4aKkyd0lO5NfIwgvdoiAtP4MO05kjP6sTrWRlaMXR/wwN2Qxp0qZITZ2noyYXocQ/jpkSDbGsstNrKyF9ozG26EvvCY6jb6SlmJVMdf9bIsob4WqJETUTDEfMhnP2I0HfUXpZDWkXh58j4lf2gNIBfJAg1y7l+QDb77MgjVRD0MEF6EUjHq4PLmd4JXVXymfnMKhOPcHvZlQfWEWfSP1p4fA22C9ZDP7j/iJTQoIHOjTKNn1yY8+wqQO3gh8Dqamtg5+Acu4TvwtgM4ZbHbWPdhpEgPsBiE8uXzyJgZgDPyKEXo4CXsnyDNhMmnNO4QZ/Un0FDUOykZGKDjYyLHTTWWQ1bEy3hYPdVsVKbAWZY/TmZsn71Xoe2emWjUWVBgrrqolmMdXTykHJASh3OAGJNmrdBKku9TWn7NVaX4E7Azvl5u1hTgMXN9RmARmuyDZ7rOaRD615mpTFMqXZPnmNijTji6psI4uJvA15JDzuYn+ljIwUSf5nMQAAE47PS4pLV6pVZkG4oIagD2P6o1Q/8S0JaVZVkIMAFCshj79VtR/nlKjSmGhDSgRM/Wrx5HPK04H7h7SSAmk860VjqarmADEDSvWr5CRRZ6XZMgxgHuG90XU2n8fpMJhcIE+PVVN+MU/nH3GHHXguN4hTDaNcbV0LjqIDDKbEPezsiMrrRtuv0er+rX9EdbOG4Ao42M5j26EO23JRTEXgxAwu9pe/X4EIP4WMhc1M2Aktn72Ey4P7BpjcVmEhvXGBoP8rxQLew6/+E8IJrEESfFF8lJaUSuceccqw6TNDWuZpMCy+R888CmW9yRGxdGCzlu2z2wheXuNRPkyaX/fHgtIiUslA536YOfTyrsYzW8zZj8sXR65jEc540zu0lw3BhTEOPtHLiW99yrmd0AUVBWl2yJ3qDPMmRtgHOzMDBzwfVaFAsdnKSe6e0aJARTW4xqesFJBxk8T9ofRA+ql0DHPb4pDUAOFwWkEE0j/SeXCuQMu1OuFRzidHNG1V01lLmu8pNxTgUgKaqvlleecop5WIc+0W52nKwRys6ayFkjcblTn5ntcfTRGJUnwWZbUUVJy3XjjQ1mAdgtTlIk8fKQ3K/fpeFBcTt2iJDbwnSvKJAX9ixIWzXvFL5550AsTMsLdDrgmFdqRRTr4oMQJ/y/HmIVbup34Cclvana/QgewOXa6KBEY2thTX25jiakvScSUkJJtCDrbFgoangTD2EmsVDrrn1560DHYcXybuFWq/nQeSJW5z6o5wcNUixhXkkYnjxTkhIaKONt++99kg0Ad0MzN21NfvpS3Av2Qt6fjcMJUEq2p4FxPRRI+b2qia6U26lzqBS9feEXYJzljmDo/Pkwv/YJr04eYo5BWniYkq86fkcbuG8v0z7WpeA0kxmCctkv1PkdpvNWbHbp4uL4GzKYSt/WNxKrNPVq9/DyeS3OM819xAYXvn71lFcl/KWtNXnC++QogLxQDHnPai3X/nP5CIop1mqDf6d09t1sc/u0uDYVpJYNzosQC6BpsIaiuxLeHqrUR7JEFZqDLm6EBLo/Sj2yKZc7C7OMqQwRaXp4upyh88yA9L/6CoMxlQSD7z90VCYdHJ8XjusPhUGBv9e25u727N3SOjG/1SBmzpsr2BVViFA5+dZwvHKP0F4dFRxNvuDmqYPgVNqJ7h4or+h4dDQuDl5jyjXZdsqroA0e+D1iGcG1Ib93F4KFVk5lUFCiIA2LmJZH4PmLYpYSvXsa8/0u3U3Tbp7Y2MA1v739SNVM7zqqPOgTWnNDsoDukelzeEDn7HDQn8+ybfMkqvk2mqt1iNmTRfdf6E+u7eypZ+g1N5K3bXcZvB6UnLj6skRWkiHBiag6UWWrPaJ/5YHJizLZt4Fsgc9yadyuO4ZD9bU674Uhx8qVO0CsW7nm+5957c+1IXetRs6eVgCP2ZgbMl28ZD3LygZhCC36fiuuuy471BcgZCW5B/9O9rF4dRfHKcRNlPgu2Cq4e7FdhdVM49cawBmhrdus5iBZ05EfUUgJ3/JrfZqz3A+t2F3wu42o2ZDWGTHeWNSDG+kypgjTffM7gHtXmw+M4dowuEW5POfDOOQ9M6zf1smSuiYuTaHROxYGWqsFGAC6qdm7pqZ7fAA21avMKoJ9Yr91/qbl9dkOuIuxFkjvyvD5M8MKZv2Aw12oVGoU4fbu9cPn3VS8+l/2W+JA7PyF/JgHjeee8HhQeo/sEesvH99uchuzcMZGF2ptpB8cUA6DOXMWWCWrZnAISYNTGn6NJUnLbdWsmVSQtAtkXsJs58rjyTYgKWnB7CMcSwmoyzIXgu3rcRlj7U42T9jm/qSQgySOxUepcT67ynETs/VFXSFjOerxnFqVQ40f9WdpexYTIGGdGiFfFrDZbRybRra8mnVuZYBaiRlJ5wpUKs4lJ4/RKSoau+thlVcxB4pVu/5h6iCEBI6ovAFHDZr9ws7O4xvw3wcVwIc4d03v1h9W7MB5SBrH7wAtvQxyksMm6z8INvI1+l0aUSIoUdhYBLIu5UMoI04OXrX+jSG14VUE7y2YT1HtEZPyXCPKeBkVIvcX+IoOR3rrYwzryS7RqFHodMQdRCLqKYgR2ui/AOdWaIYb/EXRBXfzM8K1RBTIhaYeQR/75i42LDRajq1IJaqddeDeuRMPV5SeNjUcNQRRRmReKle/gOUi4YHL+Sbj8OrN2EFywfNjrLUlVFUsrJNh2BEc95PhZMw4c5lct4qgDQJlGVolUz4KkAQ4xpN67L7GUWQ2zsMyDWdWLzFUdIVrxcZ5vgPhDvW9GekIkV6a1dHAjTLiPerNbH1F6vfiXP/XgUvRskByki7rFGRBLa5D7U6v+R827fquJzfXK3EWDmhsXk35SVpj55rx3P67FM6Qi3xfMfh9ccGT+mcujrhyvRlAs551ITPZtMCfJIaPqYBdt8b0i4LLiegUDww+8VbApxZ/oH3KKpuY650Y/r+r1UqDGdI13X3QLBuamEPOBAxkt6xq4BYvAp0yr6JKtcR0JEGE3FWigIITOnus4zV/8DhhDADFA/N6aK9zDQwNM5zm/ctM3eNi1kkH//wybMbJ+4NV0GY2YN5cGk+admEe073OH+ubHQhOmc2iwZFiPzRjyE6KeKhctuelc96DcE/bEq9ZkWw/9QrMpc171ysnsnHh9apnnVap2EXuoV8TjccvBleH7mrpcEqtxyAvaqH++Auyid8VszSUvCFMIhs/CiRNqV4YEJsQVZOa3WrfLviGxbv5ZeomuTEWKFPl6J7C1pOMKDJhw4I9lK9O/Gq59MUcwNA/T92UutXkbV7EgPw/49lndYfpM+2nIscrpwGPI+pc2DCMzlhg3UeHSacola6Tln49Tj9GMeqcrUDWfgVavAgthtH6ZwkrKMBThUwNwp4hHDzc3/xc3qusocKHdCzPyWYrL6we+N63OAh2z36wJW//H/6CCajWi7uhtOvfsQZuh/S5EvrE8hldiaO3d4AWM/irZmOzkHCmd65a3wtu1BcARHoNcfsEsJlaJACScC3qjHls5968SxZm57LDZZoRmoSReTguGGCYYOirLTsKMepbmlUn9Id7mH9Ahgx3hQGbQEjVoQ2UPxknnVwNtwRrlQGl7qD6cC0m4KceIXp0SisGfnyoGabzKEcZkFZXj3fWvE6U5FRHN0KASQVtKmCHgfMMRtS+op8POoFKQxqPpsiuw6fFGmyRPdcAuHzd6j0p67crSi0nqAB/G2lKOjSqNR1rqcnuKZJA9KRAtgoukuooV0MA34rTJJ95D7whYCuX13/eaR1aV4xdBGdWnPxrfWXuCvalrC7ui/ShhBe4iV4YWdQlSU2xhq2CD3WWMJcXXoh0XxaWiEzI/gMPAgMBRqKSLggASdhMPvIfsK8gii/+viVSXq1ArrMrRSo9gCfiXLVp16FTzsng2pkbp9I/9hmb2w51m8c+do6r+6eeQ50IaZkFqiF2uZrg/Gi0QsAC6BZJjevzbiREKSOY/wwO/NZ8ZHdxteNZlCWOKTS+yqaYGAcvvJGf9FiFT8C0ewRHT4k2KAgVoRFsFwBXMkWAABFEfGF1gZzflLD8G9P5pSIOfOgImk4R6TINLq6BSHqR52AMegchJQzMuaMVn9UQImT0MLR+s2D18i2uEjO2XbQxGppJ8cC/TsScFQzh5LHmbBMBUXOuAJpjzr/SIxuW9vyqaXwZwX4nWA1o1+CRf197kTsI6l0GKaons9DR6BGnTQepqIHUfijxF+s+NfrPAsT8tRtS7J4N/Oe0GNDQD/hlLMpQRS9OITQMO5EG4YDubXlKIbzpTQt81BKzQCx/WB1zc/53m4E6Ehqc3KkJiuL8ttWA1MDH2Hjm/0PGyyC8htT+FoenEUJ0dnCn5DCF/9uovZS3YvfvC7xasP0q59ExDqKg2dq+XWrS3hsnB+9oT3w6FGKatNO7O7dyAC8569LfhstvmAlYMJTh4cjGgS0vlpM1HccjlzwUzHZezJmhmYYCDwyQLnYJStq8DhAoUal6lwEkYRRtnPSOuh2qnXdosD/ImYSCmTzNzhD+2JrOMLjZZn9I5CEN207AbGe7ve0TNJUSjK423/794jSSCoXIFf9gQD/l0jjAbz3i0NIh2FTlJ0lmN46oIxL7QH/NYDZnRNCKUfSrZionTsm7njwZ7kWNzMsKIMWtHBAnlVC1M+JQJMT10wirmv9qC5kR0y07JQRr5dVwOkZSSZobm70+kyUt7Jic2ELgmbhDtoyuucITEIG59qI7NUJx8UpATcPQZxeWkZbBr6jGb0ipzU+8HnTe8sV8lFtiyVBihaGjJhAkofpGEmxvFAxGpsYc+dVlV2w2czUndHsnO6lxE+kB5alZMnQUldr10/y89aW2Hv1f64RRPLRXn5ZGiDnuojAOiRra8sTQ0PACimoVDz/YQZhug7wZ0OtgrqvAenKnqpHAtpLWWVWXYm2ZPN0ykDlOHOh2gekxcg8onGdffUPiB5lDnG+fs/9HiVkR+XoFVuSoMnECfI2r1I9UgriX8k6lHOY/Esker7QmyE+9EER4H4Krfd4XmoljEG9Pg3zN/bD24j/rY9Up1kL2VeInh2rPqKWRN7aP06sltP6vkZTv62NedBJvHeCqJgMU07biMkf4bKJ40lR9NeyHk8JYjH1+qS/p5Df9Nbz3w2RnyngyFgujWJVaorbnWiUDy2EXiEYtOBBgnAGS4Trq4BCFnWqjRPSEjXTN9ropQsfhP4I9Fj7Tsa9mibZDtcGjaYg5zsHxglXLeTBjYi+NXv3Rz3jdDpCE2ZJG/9vgWzKvxwq68GP0MVq907vzMVY+bMJQMijFAHXo5dDAwlnFFoXq6HjdYj5WpADEroiV2cLt12JEWyI2xAVqlgbonNeVH2seLZyWowxzBl/3tr8uTwXzjiMtodP+WREYa5/+TgUI1ljLz98S2k/2we/RNrVk3U2iDM8ZZlA1oMm9+0Llsz7WGXS3Q2H8AAAaGMDB2PiOUFw5L9GZB85sfNHKAvUG5MZimb+NZUIqg7UZMn2u4R3MPbW8dfM0D5i0JCG8nzKogtGayKpDZlCn9PtJlIRak4YeQx3NcJyx796U5wEZMrsxvcGa+qpRCnOkwiFWgWPW0SR3sPkkLziTqWect4D6cDJIcnNYX8kOWOnkQwHqCMm/8weV7NXWjED796reNeMPVDX5+syGbbd8jHF3vaXYwwvRhOLcolvbW4gME/zND5WKaBWrHFL02ICEKYL7OWX0gZjVGAwNTs2k+uRJJwP6OpcXpMMBlNTT/l5PaXf+NQK8reKmb7BUNkIRNpC/yrdevo4lNaOjxYyzurazrF6Kl9tdl80UUVJIqQGEHdKGsdJO1sa1ffwhdzqxKn4XbtEYLlmUR+k1r+pZcqvY9Yw+OMFeYtPfyKaMCJopw8yMz6RPvGejxns7CEnnck9SzPLUQHsVg5kjVw45HgPJxsbvQf/ACvsGlLYZBibi6mQ5OCfL+980klkFHjvmP1cC8ATRLAp7eh2M7aLwV4Gr6eLR1CusecOL698agOdxFLVBqQhGequLqp5C+SPKyz5YSxUPb/nSILsWpwRwwll1CJwoBMnG8MZud0ReM8m90WNXtdr3nLmYhLYnbbP/begELzJ0P9CDZhzLq93eYZTgn3xlX4ibRHH/T0xwzKQrofZuSUG+TAuyYJPh0waej+9QrKu9OaXe2xql3w/IAurp4r+CV6RIZSd4bXvT0LQISmKtec8vCVt76F+fAIJVpb5qQLtlyeskZzPT7nZV/HGSKvjBWpvlKS2IGS4F+vq9pQtG11rZB+U8C5p8KfM1iT+gi6c3954SnZQZi0UVEXesZX3yvtp7coCVq4J8mJ0ZZn6C1ScKKucNSQGq6lu5SHht4tpPphn4g/NuQp2WLAHG1PcHDyEu6O1Kh60B3F97LUgElXOIYAncMJBKkm7fJQZAe6FNVepal/Ku+F5X0i998EUvLQo7scT//ROmroUQe7AvmnXwLzry9dsEo4EEKuvUTuAMcJ+qVvsAMg/8deoR2Cbt/Yo9GChj+BWyPG6gtLqXZbBT2hQB8hF01eTfzz+yvmkFxKPHnp6F8C2SN1BY5Av0kFHSoO6z76T579Lj3tTHsKOOaTnJLazolYfzAR7gdIXOITJiFZBo0mrlBqLByrEYfxKb7t+PHNtHO93gFtoy/pmmOmZ5V4os2ABa9FbWIFYO8qWmprVMa9zjYJXrWly2VhmYXRoOk7Xan39CfKk6J+Edn9FG/PPBg1w4nYXIj4cK9P0T58RDlItXEu4O21eEdlvFSgu1lBMVsu8u9es6ifXr8LD3LarUG/C0LPCk/H/b87zls1EihTfmI4H19h4K3MfRNUVP0NxmLgWi2veHuUAtyjKAtVOh2VE6dvAJjmw1nAJHQOKykcqzFWhEJKYQ3Gzps+2ufEj2U+tSWTenrS/zGfMEG8hz5V9DQqfeANRfebYDNbp6dRLUmeT94hB7EmLbuvA3lRkRsnjEbuUqfooOCUY/CO2H489fHLDqGzGq1d/59Jll1WUJE0C/Q8gskuoSDKCZMPCx/qAig8xfE9cuNiRGtemNEH25tuc77qnF/Zpou5GFAJqqzmqhiXjp1RikmDAk+lJID/IhROnEVqnAzonQ/BHJcYT8PjcMUjTcTr5y6JekqdNvCi6yPIuyfJBAil/kHjIzVqmNtkNqQsLDmO5aghgANZJedcvTHTZkYU2L1b1VGiWACH3Qti58djpy064UUiPamvduBstCzZYloGSxxYOObU7XsQdE7M/T2NZXFprVt3p9BXqvZxtBDgb7Xe3TFYaXduOPnQKaGnA8lNxikLToO7DMT9bU40wsWb3VL9oK/CcNUsTGvGUw8jw83Zwk30QI3KTjA6AaWDDHPR/ioMdEbe9N9dWDUJBEja4dEiJifC3iY4C91kr5VlNM+xEeJShsWk0cSbJjzy9b+kKb5w5L4OK1iBU8X4Vd7JjEjvIikTjnpQow5oCbf/EtghSWlGJCUSiIsSy+1gA2YpC0ayXSOLfj4XGwR3je8OMMA6pn9iyWaoj8dnObl9UjPNs2pHgjwwYEilWmp0FsZtuEGu8qzJqGlzUKTm04MbLz7hmbCM5x8bBopWQQVRlyBo3Vl0whuIkrFJu5XnWP6jWHZEte+MW+mErLFb+IhB1z6esSA4himazDXAEDjBqsmeMyDioVsS0aDonR5c1CY/iHM9hOZJbPq9IU6msBg5ztWx3mh88JVAUn3JSpOhgiOgiqMBkXwlzZ9qiQAmu/H4hpVnq5Re592n0xZ0M82OSVjbS97LxFXxLAZOerqlCZgq0TPVMAAfodgkLi7FXccCQ7QtkKoOzygl8h0eln+3sU4+OKNLiimplqHPZhbqCwZemHMPq3K05ebq5b4rPEdA0asO4yeWvBgQ/GilTlOCaBSyu6DFjB8D1Ja/IeA3D1Z5gQZcP/Ipl8129KoLJ10x3LQpmdr/ZNpP/REeLUhZJPpsiysDqkmzmYZPdIbY6SKRdE/C2b9A9es081ycWSmTo8x15KpdREvn1QOTEGEom6OipCs7Ej1ki54wW4ZScAqffJXNv0cuh7DK+Tr5LPdxZ4kPT0r0uG8lSytfz6n40bQyBcPvrrVoCq+lGtqHxcKqS5YCfNzzqNY3VSayafLM+t5pSzVdtaa+nwVUZGapS+ow3W8hjBdGrjSq/QbGwk0uEvV/nzVjH4pUByRs7S34ysCsB3e+bqqAsxOnHIeTkOd3wBCItILhTKuzk/pjbOTPmPwDShiF0tJJH24LPiF1B8izvQ2YDHdF3ZlZX/g/iHOFiWQEYf+/coX+1mNPC5/FrIFsSWduiS3gZezj2HvoRaZJgEwqD+8QXw0VofP+5FAbqVhjdcm5HPtIEtWjBPRwlgVnfU6ufMEqiTDk0lN1rdrT/mmiN4kUwENVTVqPUjYx8kFPAveciOsX78S9DVIyLmFcX8PpJlBkJTMpoKsruqUHO5187O3R9WkjXEx2cJCDhMGuhEKbjhkgxdwPa5e2yN0SzElHOnsYQfNkMy4ajnt9kxYQiShXUc+a/jFGoy0rKEr5e2DM3nrWNW6QRJww6Aw5v54d2/ZdpUHhhhiYvq2E+uwNuvYi8vGfZmLpJI2zbsnpZRRU4i3wuNrXtT+yxfsIaLYzXyhO49JvySk9OVjM50JBQmMyU6l/12nTYwy9lfSuJ42p7N9mUYZrhDuRByqHwD/qpznxpvItI4gT8jn6FB66ePJgPplXUaMHlsk9oWFUzgqBmB4CkJq7xjZW6jlpV03km9/Ec0N3pYEAL+cHMuuqP2rv7hBCsxwMTW+QUEa6koLjNYy9yxkp4z0tDRw3C++WKX4B7UF7J5pJKYKCEAEgf0McBAPCSHONDGfgHz2kykopq8C3c7FGee/zFZxKgl6jdSI/dx8Wizar4T4e0cGsWH2vZyrh+2RgdlSRx7+U28PvsrKF1p6SIWodEJl8H5Qwzxq4viR6lUvK3mM88o4FqkRh760nOZJ4qh5I/E+BXBM8lXFtRAnvZbTHE1Y9BqXZPbzZvs99h9oE/kkovdtMM6CyED3r/9GeuFFRjyf8lkRXUlWRQoEJKNH6kLk9/+n80eI7FuIdmrLPXRfHkHfQDImcrVcGyE5qaOeDIi6YlSVc0Fb37Xj4meFPD8OxpSQAxIdmRAXwhOLlfB3tcbJ7FFWpBQdCQ83sSObXFjaNVgoJQi5Uwp8gOWC67p4UuQlE5fr3XwoMh9ZfAjb2x3bQbKqilCJ08W6LAiPktqujV/97CNmpzTC2TsiuhoEO3ZpWiCpQJKxiaRaGuSeEOcBAa/ZLvgyzk8tV6a7Az6IxxyjM/81IbmMY0ZV6EGusizE3FXk5XamnyDrdjtb+ggkGwaPRsPXkxqJrLHLcNCi2zjq9Sta2rLns/cvlZYp/t1i5g8x5h4NoKl/ldWed3CRKDa8D0f4ZwmpT19TUZ/QsgtG/WkObD9GJNCUgvxrux2d6Y5XJFdPCzS0ZuRNBNrerMIVX2cWFBmJfdigUAbux7eARO9iSo/J387YSvAAmMN9ZBSSjaHCYhlmVpBWze/PK/8iwLtg0xFy5KwE5P7B9wAlvVhcB5vSzPLAIXR1muEdqlwiq4d9UNax67jjLnUp34w/vnYgrTNnoq2a6BZfpXmSn7eLFqcM6G9MWhPIiId4kZQCoQ/DEgwFtqqiwUEUzLFrXJMiqRUTQfd3arub4d/S88AuN9pvPIr8atHYRKQ7Q0fP4mkIgKpSXawrsYPFuFjWHbszIV92p3o6qm9tmCsbCaTZ+YD4G8yuwm/2wK21Wax8VlghJhuMM11ckZalWx3Uh/0U3dJ80O+6Unxr6Hm9R071ybSUzqkZhSfkfKK/kRsYaapXnhtV/TU/uGE+QjpBl0gG7F72HCiHSYKnW99D8VGiFXIvxU+DyZozxGZja0fwjKODBBUjv1WvKY8YWy9lVwzj2S5zYME+CXJQSS9OIngZcgHQu/gEj9hdGanqtIu7aTsvhkbXexpxF+qbYlzmEjv/EO1AzeFWvAY/cP3qXL7pEVMCi6iJNNSQdbJvDkAA/dyK5guZ/lvEWaLs3xL1ZeyGxJmuFB68TZGmhf4US1JdAXvLBS6aZ2tjnUvQ4NE/q9VKR3NNpLei3VHX2Ce1JidUzCxpUZC8ocD0gPWwE3W0JtCW+tJYB+goPWJjAxWAt4sRmFVzNOg4Qxxk03ZAfZ4fZlffCtqqI0IVWlmwDx11gFYbOaKxS0vuRQN4tXc/qg6fZYrcMZ5IS9zS3rcB3BQdYX+kvzz0XMngNSqPuNkOcDkX3fdvkNiX5P72hglTHbwpHVxvK++tIHMMTaqo1N3nBoZmSStfDdWojzSUrFpqORTvTzvVc2nmAW8fd3emFXZ2FZT39/r5sLyx6h/4EZPB2jWjbmuiZJV1gOzovPDoGnXcc4UX0v9bRLShfeoTLLO5lb4ei/m/g13BmnVX1xveDdr2x9Qgju43GjX1/iOFks1diCUPguHZt8vcuA258lTsyHLDpjW20AnF0MjdS0YyP9mNU3ueRcCSuKUVVHCjITEH/FW9R2vCdIblWJJ68O3Chvq5kMUHO2sdzGMtoE7N9V2StYDmrBtrCWRrU5QQRUdWgJ6K+kMG1Zdg0KaR1iZxu9vYK0vbioDmAfWd7a2rnC6g3xApN9EpbhC3vqH0zh4b9aAymAXtTz9dtGyR+aW8kN8lvyT11iB9LRe3Aoq9TEXZ080poUtB9Ssrs4Znig1sv4QiuPGYIka/IL7pha8imuFjl9Q5mwY05KCZHTBvMstiB/+nQCpCzzAdhwdqv1Sw72N7X/Qt9NfWOc/QJF6ZgEc/PZ+NfVlYbZT//GRhLU6DEtzIuNlkyJ7u8F2snDOKgvs6EWw4kk3BfogdmEg7tfhxnsKtn0jVNsvBo/5ZERBQVuCdmvyMAAliAB2J+XON3McbSje4HawSz5wYHAUJK+/a6T2ATpgp4wOBBgupdzb/hYGaM0snfPTyH7vpfzFj+/9+yTMbPwBv+B6eQrfU9SWrG5P1Qgl3xithTy09fKycZm7BZuky2rsY1SlBlQ2luRl95flFJNTo5nApCbkB8FNciDNbYk8sUqI0hAxbUuO3uC6Xj7dwQmBWRBoKXqEyWurcYTrn9dGo/Klhg5ZcFgj9kfpr3W63z4n+N3zpDT1tlbt2jy2g+iVkTFAj1+anDn638s0UUIPYPAFrEojBgFRQ50MZgcYJ3aiBaTq7WkJipymgiU1tqdEt+6OptaNacFoiKgoIuEGr/6zXeVLjiBn5ukdBM1AHwOYTwZ0PKQLnVIbqyA4fWJH6RSgowqAgDGHwtSjcJfszgTTglC8CUe0Gh/N3u0eBBu2SMR3lR0PMNxFvnVNc4N1b/iSPXAJiEtAqyGWIf/t/sdVTwOncOP72F+GHYKCnhgv6n2oxJ6tJk1mY/gXgZYBgVS8HBZmkqZKSvlg1K2m+7GXQUjGY7k2584LoCefBNZCNKlK2KksA8j8bgvUWi+/OrUQOyyUBD4indtETYs2+54mnrZE3YuTxU3izBQWMvSePXaDm8P9E01QfGd0fKTSX/znEfuuR2YFMlYsTrq1//JjQEXavxTpWFUF5ZPgeptyFJN5zQrWfGltG1B+J2XnhgqhxrYzrdHt9H5NkYTULDqniLS4S94Ogpe5J0vWE43k3zcd8/fWK/Rv9AB65dyBLktMbct6mOQIrrn08+VZ0sHMwkn7r7wDtDLblGSB/WOjDBLkNYachYYXBl5mYApuZwmcK7KdF+PVpSXzfJMJXrpcJj0rHS4wbWfHrgBEkh3yBWs7wZyTGddT1c4KX7uoom4DcEPb5mnwQzJD4YfPOvdKawx+ldWuMWzrLTAO7wrSeoC/iICHAew5TMJCmaF5VJtDt51XvvlXvW397rCgdeqoWcst/iCpn+jKbyrRWOa5sOs8R8DNgYwIzztzzWkM9MgGM3hWaIMZz4cAMNBCk1Dfg38AtIgKQYryOcKQQ7NdexSwQxIEP9ATArGCzdtwUtPFfqAR9tbNTdb5xj8xLSQHCjrfCrI4bXECvXa936ktievvO6/xCw/1fUfiAfnVErVtvR2efMEul0zG9f1oe87eHKm2SJVlCMYiiUT6p/ifFkmoYqzAfMfbJfOQoIi+ocObukSg+yNS3JEhoHGTveX+0Zl9uBl4q7tS4kb79o5hxFEOgODmxAUMYPmensNAPR4v+PFnywL45y/i5fTi6mgF2QAwtmjXlsCO3RPOBxX7ISP7Nb68MvcItosda+IJF1ApkwGgwW34Dzsez97wjQiqzBey4tPtBOk5RZXrWPZNOSVpKLgDIe5sId5XkIy4bvnJjHEXDUSn+MNX2oiCRQM+E5iGDU+L+0mOD9yfVZNu56DWYo3klHNGzJG3El30vNkzWWe8dzDQChwSiGSB6FxcHnOqROUkS/o3k8MspFWvATwEzLQdniIBqah69Qd48zgT7J5UMHt/TQl4uiI28KwdXo3Smi17QzsRwXqERlcXRAkf99b/Fh2Eap7w6myrCxHKGBYFFyFcPpD/b/A0NvNhSzZkZDJIq7m53GF+HYdNf7aYdscv9U7CQjBYxNqC0COr/MdjJRfdWJlxoY9FvXya42ZPoKJOrHgkMCpxr2Rtu6sOCHqOPKLAVZKpzsOgBlST1uDxJQmpIdfRayOdaXz3ceBWAzPLwE9gGSoVHu0qCoDldjRbzVUjsZj6XbxX+U0+ZMwbgGfL0Hp7h88F8xDfkw5ZhkkuEvawB8jgT1L/dHUlzI0/Jf9nLt/qUROoc2myXFgDMFz4Ps/KoLYfUlohujZIZuDRTJPG2y8XZPihpgPr0FOEaoeQthghqjRQRGBPE9kOzZ8kFvn3SzfvhWsXD3ysLu2E7UCs+ILOETpls++1B8c74mNAgeZkPoo5MA9HTrmCIM7RQX792p3TrQZWoF8sFfowC420KHCh/rl73oFPcRy48W/OgRSP1kHB18moW1JcL9ic4f4li2TCy9T2Td8Uqh8meYrsQ8W3ZhRoz/Y5zZsRc6a/LDAWSvUrPLUwyeMGdC0a8/3hnHeqSXincUufW3iZm6ytfrzDhwCJbXNzoHJrg25G+F4e6nqrll9nzs1lPZ2P4TcX9qIVkWFs7wWxR5PiHOHwc8P/Vg/yt7CxPmWSLMZwqf/loHxqucsruFfQ2VAPTnSibOjo8lOky3oZ09w85Ef8rJyZWWVnBY5Y9G8V9QxoNk6/kYYBoyJMYKsoW3GdVzYs1yrDgAW+S4lHUdK5ICTDPDGeDG7c1EjB1WKexp4TFtSeDYRa4chflxvqfdFCGN6sRt6Ityr8gLHXPw/W3keWb241sCnTzzgqj23pZ+YzRlUax5B1hy5bh/cT6A9zslMMA3saroMLwlD3UUWZGNcTZ3fJvUhvbnCmbDcAZAWZw46kU8v0+NY9v/MJFBikINDsR/gcqVvroVNBhf7qk0wr37sSGzslkUhXIkP5xjDXuW0KHL/3hAdEvSALUuBgtj5nIY2n/b9VIvpv8/cQrdHKszmWMgHL+Rr58HT3f8bH1XJUqimbwDiCu642cwCwPHwEIj5YOsn4tscHQtqnRKHXD2zFZrvlaI1jOYiqSO8oUb6E8ZWSPH/OwBPPdXDvPsrY3pmX9A12iXb4vom4D9aW9dKakNzskzsRwI82q/FJEiw4S4Fg8y8+UC5C9zIajny4C/hmsktHY1p1hXmqrALdTcMUsk0+Sl0VuzuoByhRle0+iZxVvh2LF0zyuuC0zfnyCWbK1CCTsuEIrHbJwpbrxUR97i25lSkyD1hpUPMw2en8eFpZP26fepAEMlqbepS1jmY0VsoOoylxC9ekhm9UHECwbVVDiP+kxe408ZMbWUxt0np+EjefM8Kx4a6QzC+iJqExnm5ENa+GtyvCgkz/dmRX7O4KedosATUKF3a4roAz+ZwmBcEHzKTy0chs5R9n7rWVlbiAJK1tHq6p4EHhWZyZ8oS7tNH1iziQpj5UOaM3Xj2zFCyXEeNS1zkvQ0/1k9I+FfJZQZr+5mAUM88tHfGSCeN4e2IqT7/etAQEZq0lNgeSFRJmVcRvZGQvASR33AvRsyaAMHsG/Y+cB/HEmnbbMDli6L+aXI9rzuc/weP7SC3fH9agQOLdt0tmZiY8Qn8Mhov8C/E0hIuW6NhUELT+yG89GKwg4pqeLNznJu4XoyE1aZ/0ubgEqz09LY6LHdfccUp9UliD8O5Pod2JtQfnpm+7xrryElPx95f0GtBT6RxAsznWI7kfhB7VGSi9W3/rre87NxydPr9z4DNXBtvKDvyB3g+0ZBjlNBBptjoVQEuuakgeRDH3WwAYXBM1/76Kd8zy1OqUeJkjMYBaFqN9K4nf70+xgGCZHR9No7ewISTeLdVsUQrYiOISH4SUikfYD5ijvOqWOR/k+26obdyODZi57N5HrqlFZnGe9pSivk37J6pIvSSkeUZfcoinrju+OYPQKIUXB0pmyDkuJ5C+EfqIcBHBs9nAr/4v4Tb1iXBqfYvNc1CgYVpLtTGihgylUMgxOHWFVlEnnf9edEA4H7vMzWnxFme1ojc4TzwHhLJiF+CbL1KuF+aQGWl5+Rz3Sm+eLbOO2A0N3Pzjbnv+PhRMZBq2abEWoyK9akMfivr3idphnXqgtQiCQpgoIlJ9SGJDwtuYBwCGOnF+J75803Ca9moTE4BJH84UIUbMDPEackw+qbD6KVtDQOADyQufL0XwSpZMCKnalS5JuMv9e0DjvMlR0hwdYjQxtddgo3wjMfHhA6FcbDVL2xizmMUtg0KH/5H1oRKDkSvII+/8pKAtgMos1UVEz7PXI2Em1JqCyq58vlyAWyzqoiP3XDu/69+vJ+0qlDnIKoDKYouPlrGee5788GVBtg3Rb3PgQkUgpdocFdR9gxNkncC7gDA1bKBRAyXce6jt4DU+rqN2zzSoQkhS4B6UvQ2eLO3UmG7LI4K5kmQiAxACemHUsA5a9BYSy7kriy6asnXDLIE3PRxMUXHw2KoWi2rVLnvkewsYSGQJ6nxJh7Kl111h0vkKWIt/H+MgnSk9QfhlU9T3WS+SgFpXw7qwQc6ca3Ok8Q7pdz2EHZwkEef3W/Hb5n/yRnTBHbISD8skXZDlUViIijygp548Y1Nu0Yyk1ccQRn6PRtL75Fvb/jdWzdouXbmerPHjixTlX5ZoVx4xA4YKZZ5Xmn9Myk7VnQAbruvuKE0QflkeNSEIj+3HZ+e0unK7cymwgLsIRDjmtBKFRscruIE2E2B9H+Wj1ABnr/FqS8oG9FP9ArFItLnXyI3oL5zWLIaJfWgcjmJDR9If0rGMt76NQL02WdQ0ffYDntRO8ATq86FlT47LMzHsE+iKWdKbD8vRcdJvlHHZoHoLF6Ua/ZKqtodeotFWsnd1lDNk4an35VtAk/P5DI3Roo9IuMiZxd/zc2zF1r0vuxnL1yK9A58KJ/kXucjnBem0ESfQc89b+TSWjM/2K3omN+YAb6uvwiDVPn6EkDXEA4HvKwlQHJv1JL3MH7PxqMoAdW6da2fZOHu8UdUMAum5J3eueqcBYE1sgE0V2sJ4Cc1UWtRiT81X4rJobpHn6HehrxQ3cLuUj5xEoZTE9U3zkjIdeiUkb1daKwir/uFTA/fd2ENz+tFzNIrPIuuwlQ1x/hozj86MU7avFnoRaq3Ank0ju07FSU53R7HtiV8Jk0tNpC+XWBKf/WIqqtt+clQ9tDV7rp4BGJkUFjvMAtcLbRPSUUrud1ngMvs4lNhzDJWVth8SEqM9oVDO7mFg5i8IL7RFpK/LZsYCp5MX+As/kZFdae+PJgU2Xxcemjt+dO6qXbV18PSFOJGUcPE6MDdXxE5Ltv1Ukc+zCmQeRPlN/8AlOogwAr6cU87Skfo5SiMnUoNlVpZG/Fc6oY9egc/DciwccN+n8fan5G026/A972fzobvkTDfZKCx28TX4jiVddHzWRAA5twUbV9Ldncs8C2v2B3zKnNi5xODPSxcCRfi0EgYgnS8TNjY9RaddVu29VCMYUUOdLuIv3i6jQdWlc2t8u1AXTgXigy61Wko+Etx1/eNUL+X8qjHONGIl92XCzpxnkmI0HObKx/ONuMcjw6BJ1kCPiMj5KBSccRITc0hHeYTVRq30WYDdSxRid+6h/LtXTm7LA88Iu/jVYTG4DmVZAqwVXmh7K0F03Vgb2+0J+8PVFWA7i/qXCrGwKQy+q6UIwrvNhKmCNKLr/jxmu4APga7l/pelFMr69R0BZAw/k8hrgX4L/NQDimPEaUtB0jJUvNTGCeUhHTvquxZrvzHxv+AVNNdpWPuPyBNPej7/zmw0UGVdiqNPTlC+RHq1AWNF8Dcg+Ff1QEPjGCxaIL/1FRYLeH4eBXrJWyQwweW6kTQ11eBmToz/vez21WGL7HVimKg7IdVBbxO5Nz7uMTRP6/4sdl5rsSIdePoFymUsDT1jXHW+A9myUlvXJGXjYTSUiHicm1PkUPZpmxy0ZYRsZKdNppTSw0rRT+t2VTHe5e10XJyERveEYqFbB4Kwm1CMrosxwn1i9Ul9ar9uFzvHKJ14Gz9dqUWkeMUXvF+ZhOEHyB5IGAd5MRdTOhjVPzRxO2g22VEcSDXzNdoXavrjW5fqF5pR/DxSxMwr1cBOGdOw0S2rfWvsWbUI29YQoc9WBW/nzHs1IluETHJJJRPF6He5JrMVjfV6pTzAp4L/YLjawFW22JJvE1ULWi5170PdLZgwQTFuguJ59YHYV6HIPyEBtnWMYBjGbMpLghnbbhWaORYZjZSaYaQgQcgAjn8P0fwyCbQ4MjxxHPN026qmHoAEE6yQA3/O6Qjh1IvxoyVIUNwkCWB5d4Ivj7Ej8EvPXuxte71nYqwSqdcegwAgvp4X2Mk0/J9UpsAxxYM60/0D+7EB4mflyyzYiYOpb5C7Gygn9Pd6MSsUn6AyFnW91PW4RmY6invF5V8Nv4B63QNk7vOVKoXY8whleqAxBYx+sQS/cqx/XJhDmBs3S2m1ao6kixniD41C8dpxY3dhTnklLrm5Og7At32wATPDy7UjW42IYet3DJkT2UFf/m15xQ14KXBR+Vx2eUHPHSCV4IeMbbMXhxy2BpmePy5bE9d1Vko0c9AWUHiuNyFoaxGfUtffB4bmlyeEioISFlG5mf/7mbGs7PRJ18bshQ9x+TtLWo7z1JVV0/oWb4U89LUnUmXxg8/EsHZILVkk7p6uDk9Sj9ncs0fsSEXeqZu/SFYmZrGhqwmn6qoVn9TTebTikpu2D/5FWkNWSlKQ+G1lF7RXQyECyD+znsInRgSBp0q944Xmdx5rbwd06ojJnZeTwqwBMkdlSIJAK60/ACoBL/rzOhfwx8WNgfpnrgYtos/tKjnmBxMcPIiK+T5VDkKUjbjkvo8thLppvzALr6rqKkVvSrY04HZe3J9cSnZHbNR57JAATkvX89/vvBvlSZpt7w0yju2COg59BmYyVho2Ey2s2LgMYf1ATn6wPB27U+2acjD0ijRhAbZbi1tBlNvfHONuuWpQm+gbdRStf/JWQj1ZmHgCkEdcURORRXN4UgdLe4dNh2zL316Kxh4qh0+djvU4lPA5soqv2HKWfdsPYcvygwvPiw/lRoRpyLA6JJ0XUBt2l8rFirrr8AUqErrzApETvr/dyZdzgbnWj+yDtROcHc1TF5gT9GfpBq4B9ocuOwea01avPNoLE7mPBg+LbyFzZDPzflJgo35SwQbJppqWxkIki3BBUl+NbNyyb9jDIG6g+yLWzauwukjK6bhhJ9xFlZyAsACJoDbDNaqaGZ0DzDLr4a/FQa0bJw752ZA6d52I2naNBh33IceIGXT0uBCSq3YJAd5GVFxSESvQrSqikk4JkHgEvTfAhAApOZ0xJ+msEtuJmUfuT6aCza5+PfNaMggUu453I5iGKJpc9iNueq9H53WZ291eiZYP2a8NIu+nzSSfC6PI1ROCmtken1/x+sRQ87TarecDeSroLxG14vneZlQle0F6n7Mhl52utRtULEsO/JBcyFv5Tshb50dZ0blt76i5JW6AMQvMzHivSpOeovWAR+lzO3ZiOSLaN1O9l4KS28rxLcJJLqVmAzfc4o8YsUkmMLzqLqnpDPslO1/4AqCX2Gxtb8fJqw4R7TvTWBG6QZt8UAcgkr//n5wdtzvqz8o2tA3zOIBW6p/tQH8aGml/E79w9RsIGm8Sx+6bsZJVuOFeDNBZ2pKo41uZLG71C/SyXzp9SBzrvJrUuNNGt/+BbIgcTiJ+N6pJdnqoSmit6PBB+BuH8sqeMGW+wDY4R7Kl7YDYErIMqXvKxamQ5yP3j97Fb0SE2kwRPkm0rUDsVExEQJZLNMPTsM2YQrlpLiWSryZc6EHx2dJGnekQdecwiMMRLxh1gP/KvyFxDCg/r1cIQSAB916cVeEQXYPlxBjA/xOFrERKxPFbqD72vIPwuNgIuEHBgeU1iCF518swUrCD17Tk8/YrzOaYsgH6B5ojKCmQVmbLWG2ml3QHM9AFG3oVyQVvEUWnyXiVKK6KEBD1bx04ALznVce+ZVaJDoI3P3Q8gHVxQ5/F3GAFBPbH+9flCi7sD9LeJccszGG1hy8axncUK6xqj1m+3ASGKiKZ66DoKbRV+DaWVbH0ESX3+b8pfE4rScycNoLn2mk98u25j47Sec40D7QPbAfxRGwUAAPXs3E8H2jq+5cZxm193T/gwb0vSjHxMdZbJozNA/9ePrrCMf/Cefcc9hnv3LTAKrvvTBO2zmFWA4QDsvS+5OvZ8utvsthWPZSrFRuSGSwVhbRj8ZbUUE5ocIrHeCWmQV8joRGVXganENVwag83Khcc4Xrqt4vxE9PYmi1C5pP5jICNTV2mrXQkNYNSfK0YyczeFP/DEiiHBNejU6Jm9x2AIqHylHvVK7MXRt0dGA3HnzuDqxc+7GEb147Cb6vBUCrkDK6cxoCxV6W4M9oXPLN5PkCzc81kefkflhpM5PluWhssoCyUQf1+tflg4lMAYEMb+RBUNurf2n3IeP6RT7WhqTsmrutUBpUE0hmVo2buUKNKGnLzdDVhs8VU8IENshNRYCJnItZajp38iaer20m659qJKyAu0nWHmcgaFsS62MWNH+KuHbBqxD6qDWogQyO/Om8O+xdIqvHkX1n7QabfIKmzLj4WfbYwsBawPV2E0Bm9X1AKZSAdtkKicz19CLTCZbmu4wrupPvRuTgGr+3Hkb9mjl9lqHveuqxi3+aquX+EgOHpgF8J78h8MhaLswwotYH3I1FIrC4QS6xktknu+3lXsFtDzZ4iGu8C7D/SEccDAMB3M1xft+fvqpuhc3izpMZrXhJwrLVJBORFUNNXeD7RAjAs9Mw5xYEOIv5gzQPl0jdWs6HYXZsivgxLRqarN5Mss1/txoMK9jSmhCHZP9v4c7UZx2b5Cc989V4/yasjuGD7+WpLTuAxYPhH9sJnvL5+WKkiL/Ua/ooB7pVBPzSdazTYGuTBR7hA7Qc7sR8U7v673+k6zyF2fNlqvn5lGT4IU4gFWKGVvhIVTlSLR93+6X5DHIUPNWPyT3vkFZGpmU4niOSEU7UpMjQYfsirKzJwbGt0YnClaZ8jyTywiPlym8I85Dm1mzefGD5IN43znO1Fro13/EGAmpiwTlKQ7yglJJ3xo7tGF+Bipr6l0Tx6Mrximpl+mdhWkjstXEzx6+cFbikcbn61ZuCGJsrI0DZ9w9DhbZ080Y/rRh2E/2dCHGT6v5JPM7TKHmi7ddONC3ngXHHhVXtKoqyOKwiMLU0zI+IgzONk9oe4eCtlbNPzhXVFDfjrgsaLqXPUe3x9KC4cn5IW/PRD3mYk4iA3koKo9QV2Gb62ijRtRJ9/94l8GWdr3y0wYqGeNxZ1RtT5ltbx330ngBHH79Ior4gM7RVQvSrxCPHzixMXn8uAGOmW+2oBw97N7tUFuPseV3eINtVNkWa/+KXYqgIOKKPweGuEoLhhA4hsMcSTecGMOJQ0OlSZTJjLmN0GbhlYaDTUuhoINUTHaE5i3xvpwkh7JZvrMRqENtK5nH2NwmX5LU5GtDDbzf9I0qCbhCHxj6+BrixrPDwIOvOeW4ul0qVgGaidMrsGEbd2fd8ab1iJNOHfonrMCUdOTmt0d4zbRFOtH6UWDctB7pqySsVq9GniUZ4Fg5sAEOYM46KC/7JyCqk0L0p3KA4DgxDITIN78/zqGf05d8YpWexi4zpa8wYcL4OmjOVdnG4+27sk4o8uwDdh/Kl2oZ3OK/MY8M0bnaxDU9Oh4fb6S2wt09/D1WejwKRjWGnilK2gsW66QZw1vSwBNrlGN2v3TNLG0bByO+Lc9OsZmycgD+dB13ghS9lnvRQfw/1CILL2mPWgqmRKmb9M5Ql2clxiFGLQnszNctI+H/v0lx23Dn4FFMjoXb1dSfe34nNnV/EbP8AEfkvbUq56rQWMM7Py/ARceiNtQtXDeJdw63k+eH2v7oRSjPvTM+A0UZn6CEfx7R7xmHVgA5czZv6zVE61mnNVSnQA+iTHLnCjz/Zm9qBM1vifDxeynF4/x/G24CqYKxu0KctmF5AZ/zEeDSJZ2sYU1eNnAtBOILlEYzC8m9cga1/Yw4/LS60ollGDzcoQxivxevffSC5x6FX1iXiW4ss6ux3i53umCDqRBilMjzrMN862XqElrgfgWbMASI690lhTgf4aOf0z90W0fU0Aqc6VeaA9BTDiNZpMLTXFWyrxQKfKZ9jWSD2XYqO79A0f+2xo/A+3f28iNg0aOIbITaBLG0Bt2BpwWElv6/NqL2ag33YN3B4tK5c0RxmXY3O4rn1piYedtf/VF/zk4EdV54GzHvX6+D2kB/W+OyQG1hDNeO1sMi/v7Qp6BlP2qAB1g5aXW3zQUEaHaaa4TicZdJOt3tzE6/JWgFrx1N0EyKJmZc/NLh89nMO8lWbUStipC/xiz6NFHTS9+VgtIh4OqsReTzXHo5fGU10wgZnwBegQO0hlYxlS5KzTYWjFum9wF6kjTtYQalQUPyRdc7e3k4Bshz2fvJ7HzMNNUsYZBhs0OlPXFMgD1Y7fDdhcMUCoJ/NLVms4cnhED2noLHXsDNJno0KMWezKPurmN+DwvAZ7pjCXndqPd98skv/neb7MSYFAkIFruTITFt5r9aEePKAslZxlQPIWKF6XUGPpQJoUO8ngzUjvkNLhUcuL+qoF83Jlpadq0XUQDeXlj5KZ3MvsWJCZxgz3f8WK0VSVXQzox+GreB5C5qiSlklPbK97tZXbv8mCa4RdcsO5LjxDd2uv8s4pfcodqeWGHIcxJL6qRU9OcA70mg1ohZc4uuhY/aJ1ahAviGsp/5xCpBfzZdXZSc8lTzefKUuQkXOzIPWatKGKWi5pBnvHWAcbHgpXqz3mhMTdnsfgivTprzhuxkDAnJOSpGwZqleKp2WlYJ3D095cBMqf9hRWRFzN6AFrJRzzNs5G9s6Cu1GsQeoCQTwj58k9e31uKeONGV4B2gYMNGkATB3I24W1TvVcJYXhIp2Q8L26G4XBxITSELPm59eqCVVIME1nW9ZQsUYwqpAF/TMMbq2VgTLStz00fjH1GAzpS2ey1tM6jUM4+Z0EhmsKxRzV7BUfEvLANfueYSIpUg+Lla1s4AnuFIzSAd4ZMhNmbYLXI2UoaGE23qosMsd4nxby/7s6u322qTvo/HFESkYGX4/hbjF53Ez39/iF/6Fhe1rBBtD7A0sFdrMKa4R4oY39gaIwOsxMzChpF1ZhDXUCijVbrh5TjB72bzAuxlF8nU4YB1+ZFREqdo8lvcUfneDvjOFQbhC+NVn7pD8SbiGaZagnDTlYJTeBoo6cAUbuNQFCs6KuQlLETTj0TgilN1EFfsEOs/PrkNwyLnvP9IC5Ni8TrHOQ8KK3NWbqi/VykLp1gg66uYCKpWbSnkknAd+Qr/zDEo7oZC9sAAhJfVUAnqXhnugKZAvb3mp+nWeX+W+GP0OhifcrtoUpkcJDfxef9RXiqjRbXF3ZQxI7RTuvcvh2k509U8eS+xKUAXcIw1jJIQrntSqkGcg7q9jyYJnG3o5NulGhtwMlvf3cXYdF++mVsWkFk0APxAELT7Q1tlEWIl3vpX2RAhHarFPst4kqQKkJxa3qzNHMBjDAOjoPeUXcZHATUrQQWIO0Wlm/AGcpvj51BvbuDArzL0gOJ3ItqcA6a07nN83dcEhyZ4TXlunFQjwPenj0I/YGZsedh5ff6d7VBFWCR2P0gM1CIYO12oDs8JXWvC7YsGqe707OzeHovV2BEpT7ZOF5Hve5mR8o5/qcaMy5IRo+XfvcBK8Ql/uDIKXxVugLiXogB4zJ6JIRCYoK3bAgYRuqKmAazGYf8PXcEgH4diMg0PLNyHN3HxY81tGkRmlWUZbPWJ/QDmk7yiZG1B+As0V0gpkKNJxCzRAlPYv+T7u9jlU2/ULfJ58pSr9qOODDoWALfcLd1iivCg5bNjqk5iezlw7DGiy2tuFl2bIhKrRCUUCXT64/ROKw39AkF2mbraOnUgnjhJQVT2HG1qyBwJkYduj0bRe28Fz09k0n8xI1uS54UvBftjffyvPXHISyJlVJUR8P4A+/kzi2nvjLD3MzCFUi15ofFXqbt3fnhlNSmyNy+h1QgjAYBAaz3opOmhCos1Qe6b9eaXKqzBhke5oDdEds3z4pn1b2z6jUURTABinOrkj6JephUSrt6UNoG1PfKqXr70/y294ieT8X5Qv+M2UUCBX+RVScMU7pLYdFpTrIJx//s95jx24TfiBnBMZ5Wz2bcReBPZzieKxv0RDsR1kGUDjPMzSge1axswHqa3UE0Cio2YGoAikUb8JVoC1YRT1Aju2hJuRKEdgJsn7HcFNJZp6N24dPTl2FNVrEZSCubRXcSg2PeMtI+dxFBc+xvAQRSEX92f4urNwLscUev0Pppw5dP+QN3Ueiy5FKMd6Ikq0rvLnU0BFaNrVPbANSBDFBr5x3f/3IQzqKb08B1kaEidjkY5LRpLkGgNnBsxNJQAr+zJxNPQclTOaJB9omlmXDLqBCyCA6nYA03XxBzl49D0B8IXkXI2nwebgT78Ihe4lbhCyW5QSJ9v/Eck/owJzFP23caQAsEcJHZdu8UpmNA9Wn+ltG7k7xqELcLvV3I6NfLNx26HpX6+4ClN1CsJ0fZT+ZxjV3Hgmct99X7S5EYBLuz+ykTB6mCfkSRj1MUqTjB9A2W6flErhHIh+3PNYag0su6eotEYvjLBEdyRCZ456IzczglEUyAiBkKsdd5PkrYolCsO/iVyBrtzywFpZAnZb5eWF6yaSfAw0S9jVQ54L6UW38SEaugSzQantP9vaal5AM6d/gkXtS4h0isUGr/F1L3M1inwckBe3rprL6jR28U0aV01KuOTIXJtOcTkW9eO0Ox2LFEXiXLfBb26baYe80EuDmKtaRewNi456uzda8phHtvIcIZ69yZedFhZ5MNkoayA/8CYdg2z1UCeKRQrrdLzwIU9tRDSCYVcTlF1IJ7+c6FxWpFpYlaYOJNoSvjyBCJF5z5tKFnmB+0OamE8zldVR1/ICSJTPKtQ8YWGdjGKeiO20/AlqW4JgbvM3zUOpNp6j+xRu5ZCxjyN4bmilVA2CusQK7jK6Lm89/dAP0q5ZFnLDcMjnKP4WD1F8enuoNRpO01EPGiAY+UDAc9qmh7Ig0ujqssAfN8Yc84KpjSldU6sWRpPp6uyaHqEWjLmCwbS8WdZXPMiQjExCBnAvGtsEzy9/szDgeAtbcEwaAVwUzOScOGKixP1D5f/T7hCIy0qMpGLKaq396CTDZ8WzZU/mf86rJyFlvG09aEwaKid2tlnpQv9CE6Gny7gz4fz6oqTZuuO9eLLixYZLuEheunbEXMXIKhcGzW1Ty+wkIl8Dvv0FvRY/FyfkA3AwWsGAMsaS8gOnpi5LRHYtL8K84SiROeyfUHF6uZ7hQojTmATtbdoYnuyipmx5YkpaJXdqxEnaS7/G66RYW2+1G03QHHO7cpQt3zHU47bj0l1cM10bBsyPbSfmaA2+nPfO5H0vetuMmf8Q2QZTrhpsG0sea8XaZBPuqs7m5tKa1uIi2nMzPyQbA1l+QXVMAg/2KcCMMZXVKzyp2S4WaOck5kizN71OLU5p70m7V/FLAh4CyghNERPApreijOApvjTmxy/mk64caWET7WfHoqVzI2hLrDp2FNRM8XhwRvSZLq+wtP7EClMn8JtW+iLvBMBwxKO4FA1Ti1S5d6+srbvG0FM7dQMwtZgqWuFhpF+dktlXTmneovmUuusTrX/V4jf7jase5S8sgO35Ks73CMKC4W1sHrc/xpcMU8beL+c9Dip9hV0TkxN04ibuoZyOhz6Cf8SNIwJzn5DI9wqobGCI9coAVSzh9eG+qBwHncRZ6xRV6Q5OdyLo4p6B4atV7gvC2lIJIBrO7i9yENoYU87chPbcauc9gr/LqOGWQNpHHCgQTUEJyjcKHvxuxx5fF5aFqA3lpKLlZ2yqDaikNkFaSSttOlpHggvH57JxfkeXobMMf2xaJNaN2zxQsWafIW5OvWofAPJdm+pOK9H4w/F5T1DUsH8O8ZpPTFaHyBzTorkjsUwtI9JRIc4TeFUTmRZh+UOmwfNbL7dV4QZrcS8WG8NmC9QwA+Ir3o6QVc4QAfd/KBzIr0KNEJFN2OtL1VmfpgWU9ZV7RgpZpdpbyiggv8Ti9Pfu4OStFhzMerF9YBFMC7l3TK6qQfdj93zWHN5mncfRskKOWraCT1vJOPWjBn1++FwGKPPXyD4p2tTPspyxEBlMtisYQOTgvXJY/rHuHHJxsws/xcMOtyAw1TQRVwYHvAHPRzHpVXNtc/TkcKgB1oA+VaXdG+DZxYiM7ZytbIyleczwjXen8AJobOryeLIPkaDn2uaKV0QJSl6y1h8+VlftaV6J9CJTRBpK9q5aZw+r3iiAV8NgPdB9LjwV3sEm/CQ1FYX1Ayb8m5y1tr3zdP5COhBliIoj6QtTakwQDl1fm6x6C4JhTPMqNIOU3B9draeu2LsgJdmTY4iVMk2aUjQFRKFdDWygLf7A1r2pbtQl269wtUTylXTfnaFArmyTfn4x/YMikUczyPbD5/p9z2SY7MkK/4rOf1u8pxp2zYWkWl3D+NceDNudeZQ7rH2+dzzLqGvxDm7yF1U1u0lcm62eIgvASYUOojXQpjXipV6EeGclcEs3BjAQVqGAKSZg41rVpfr7k95MAA0qUQRRorbs/+JR5bXjZzFUU/NkFYCA5ijt5IbikezQnhS4GkpSY7HWjXu7LlLdiTSt0NDsxNvS19w1NTtE7Y3UW17uhgk7hh+qMdm4imONRReqElrrmpPe6LGE88OIn2GhBuE6yf2qowvFQQv5Bmut02Bp0oesCZcGVfx6VJPCqNMsoEqXNTbPGs6YJo5p8S3tMIyeVY76lQuZmnN1pt1cW9XfvSTIwfRQVFPzQ+x9PYG3otXxK7v6ooz7tes+5zFxAJEqmZfuzA1kXbAGlBxm3h3TF1H3dRXoYYDgOxdZ8jQXt7eho18qx1etloB1GXvytrGGdj8HhcpCGFPlE0OyYoj3JXJIQR3HIhC+cIc5Pku8peJj8z8zqy5GlysBnTihFOhy+N14K1HszKVyBf9AoaIP0Vvur6peUa25Fl/gx7CN6XX1lbcAdX+UsK7GatfjW6m9kwBMXIPvlw42OGvE2BcmEertEqgOLCbK+iULSuOTbgMAOCSDlng1eEcyZViKjteWZkJV1siR5AUZ88ITpd6TGFmSdyvMs7HctDXbsBcO6p71sqLXL2gW8+MLjBO4ikEAjudSA7FsKOf2pE9iMSAcaFCnZ3KlSStYQMI2A8/InhHiKQFSLy26ikhjBCQdOEqFjCP5R1FJsUBF15dmPyxrvfvFISj6YTfVm8upaTHrtzL8TbVAG8jJwQIGEiOFpFDHbHMDqaGhYIzb4oTTJkARPXREgcpkR34Uhyg9zbDc+PrmT4FUUME4sRWHW0B1v2dWgv6JdytGmVnM2ao8DfuSIQftyGtP2CplrOrVNUr5fvvSMS3SF0U/oejHgnVNhpGw8m0UjAlSeM23sm88aKP+YI4v2/F4risOtK0llZOKveTCF7uUj1RcFYH0O2tU7+iDeD22B8kDVZJyaNX6iFlWBUkvrJfGEl10ox074hWswjJxdOmppp9QvVIGWPkHkKue18pFE2fa/9DSMJHc0mz/BQ06C5bpOLIg0byzyb2nhOfwVb6nIEWA9RZQM/onqWp3gKRVQofpEq6Rw8a4lHjvSYLGsGCZndMYol1YyBEPj7ORE0IOAoZsTyvSW+3Q8gJfq0z0tNpTQzt79zhhIJyIp1QPBf1rHhXschJjqhO10A+MGUs25oCcUlhCSDaI86DceG9DAYxUS5VnaxQ0p9PN8HFFBvPPa8I7eL3rU0oSwVzk/NqD8h6H/6RLAjZgM9ofVjAxG4YLzIfhk3lLGPMbpMCndb3SaIMGYB98pHMXIOhkySxkrHT5YMo2jwyZ/wCxEoqTUCp9J5QM6ICEg9FH7o8b4iIMe33bDOFsSeJCrNi4IApSX+vu1LAU1cJHz255u6XTfUPDvcZ5w+67vbVztwIXURQgv9z/X11Z592hembFLfomm3T1qargmqLAnE4Xz79uaDQXq1YiLU+EdIzUozNtOOujbsZLu5seN6ef65AGMFf7xzIlgHdd1zTERDxbCPcRmct9kfsSC4y+VMPOV6bMuLYeMRB2KcCinZUksRnYaF5U+CZoF41NIDcNbzAQPncLNyvxqnP21rUa5yKI9oqmpfN9sz8gXk20ZPYahXLPD7wsNSi18bEr4nfBWspz8LhsLzIFi688UZ6J76qljbSv+RlrfPBqnlV8YksUHcLXyEaxl2tdHPdI0hyngriPe/yR0+GzaQMgyKBSQUt8+FN6oigZcPzLMdpX8YN+B4WaoQqM7IXTnfH+C4MrnBIb6cVtJYwJ0lcXSXE/bm/DMdvuAwRuLbP+WT57JoRLxhHjPvSjyKHKQq/9TOWLJ45esIXhpApoMEAnFkJXYHUrIx6TfiKDWwn0vPkc+0wFz9GGVy8oc2PaDl/3+M0z3VUptLaWKdfW7Mt1CxkytTsC9yfjVfdEsZNywVbdmrfKjbXkrvjKDqzbOQAL0WgCBvwKswXM5yJK3ZAcKkqMfSmMBVkuFEq+nE0+naa3hYGU4vWhafh7kfNKRK5dglwm5SEhou/aK+MI/92N3E6+Qlro0a4gEC2IaBkjnTLYApJBo9PxV732LRQT5tZ8hoDo7eCdASUyyFuI3Lmu1KtPSLUjF9ULABLy7yBqcRRMw6aOuikG5WoU8+mZ5CJO0dDuWeN5l0Ue0i9ZjWXTjAu54DwPUuGF+FWUufR86dw875YRjr+2SV/L7BTyPNXU6hQ4EVmBBcjp1UYeY0/Pma/5pzSWHUQTiYaN8RT1kV1zOzGziRjW9qRi7vPWkj9kQYfuI7fQUQ7Lcsr+aWwvQyfXCJYW5J4HzCJz8sBGDhXOVWJsQXrfOfI9Tcj5og9U53nisrecC2DgMBhymTaLqhE0ax/EoaOxopQdUQo878X3FhgD6c4yGAMqtjm68VEElOhCQCoM1Lf0KMlI71gugNt2sSwv3eQEIPm/Ed1vsgRWfnbkZ3vjGa+jPJffh6jl3fb5agTF2KWgxlCycvD+tLKIWWC0udtr96pTrWVrqqGpzTZT5u9znrMm7XNPVb7PKKN8Y2toLk6I9cq9FR72yw/TMRQtrC+g1r0AQadZH0WZJ2ZoE2qCto1qx4cSGf9C2yxhIptyKSwRHmFQl+5DMK5tyIjX1Wt53QmTAEnhjb9/VuF81B2nUETUUVW7uRqgGf0l4vSEB+D4V8XTLbHWVi3bI6yEiL64HSNSRv797XhJdRWLZCM545lIoytFIPtfE7f/seNyBVlrT7SmZ4YlMhUrXdNt0w4w8ZERazKKdJUuaDrpRj8Wy0jTfwkfHn9kFkX5c69L8f85jdC17nAoahwqUMAsosBH+DjOCGA9LtmTNHd/iyqrMt/o3L6yUNkL9jjbzR8eBiSBlVhj8lUP39ufadxnPLERmqz8w3wqCq+f7Pr29umln7CZbSJPYOpEIyICE8gCMQ7lBMNJgCZPVh18fmECVS8MS2K70rMZS7WSkyJJJGArlOphu8rUmeJygrC4jCuimBZHrYzvGVhRNl7zmoSQu4QO72E5NYoP1qybP7deci9rgfwbPvxgrD1b+X9itsGSTbIkH/HL4EvZEzFsuxmXrRZD7Ij+AZT+BxZ2aXKiGCqAa5yKcmLtOV/O1QteSG5Bw4EnzIk56ymjh80Yiu6Oc5wrPqrPwqNryOTsS31qCZv+T6akir+Pp8s5939U/x9hSM0rpWCMQOl4pblflTF+UIOXP4J+nmvmFZJ5vjWIhI3XV02Ri7FlOHzqsKWEPCPz8fqg6ZJXZE038e4b6QXq0tnqiK6iacN1yq+RN7opwrm+6IqsuI+WhYML37VPT7W3/0q7RpNlURYgQxTvVKVDORfqWTF+3Bspw4ktqh6xNtT21ZWrBhinyylmRVy/x5cOEffcrc5tKJgBjVP6cnyh08g0ghr+gHR1OnYjyoej2BEOpuf8NiVl+u7Kz5HoWV6uAysPye7j7tHO4pyebiUkLqT/5xOJyiwyy4kTv/e+2PnhbjecvdxtVRkP04QV/g9Gv4AH7bjv9N1OZaRZ3KP5ITJuXTzFSBeXXZIBZM/vcrvgO+8JcjOvzW0MB8ShQoNVxpG4jLwERVsR6geaXgem8hPxQ8G1qLnOB/mTZ1OAfsxApIbEbV3CZyLz+O3swKbwCUME12o1dragXo2XIt3swUqB7we1zGvbS1SmX9z/3SToXjlNV0t1RX3FRlZjpPRHUe0qRVcKo1yGljPaScWk1WvzORv0tjxultgMCLSxDHa7m6i2tRzzpcRjB6Nf4Urv5Utb/qstCye1+YYxNSPjC9b5qa2kCUfNkR119GwKO/+NxImjuTPUz2BqNIGwfZB9Zt442zB8CIbCnc5uwCOpnA7MNwO4oHCAwly2JDYWmCj6GO/lK8ufLXdo4nMbmHrcMqB00fBO4ineXUzFWz+JbeSzxmt4VTg8SVV9dLvhuCI2u6WsQ9SwAFxB6H1gt8QPhaV4rKR+358oeXWCpM92ss8PVtUFsQ6WGCu0Q7IAASh9tFMPlOptZCbJaotyFiMlrz6IRoSjTUmdS8ClXIC9/sYzSuoBs82SFGTi2qH4xIJr/Ok0uDwGlWAXXmKKNAh79ztuiYWl+d/Ss+KHaAc+oCRSfE8mxl77gnlPdPyhakHnWbSMlBZu92/UwWRvmOgX/EQzUXUvL8W7vIydLnUHMNLhoS9aHZScXCTky09/AXTXI6xeDOtkeLEqT/x3ZN0sNsifWd33Zgwefs6mZBwvUSKerbS48rvtrQIWWHhqlbLDu47PkexHZaWFMMP239stVDw1iDnk4v+p2nnCegBlVyAH+JSSxvGl7DSHNkHr97IiXNkS5NIppk0dmcxRWzmhXsIkqmwITauxqN9aL0+uudVKKU9nBhzVeMxPqNK+ozq/igASToLCf4h3WCVEtrNv1rxTOo4R+kFIlw0T247+6dcVyKxubGDf1w0h2Fbcw8BLxlZWJqvppbYCwoNAn2iMS5gnU+s0lHiNJQLiVedtNSRwwuFKGeYFMGBHiEWPBN2+DBb3yHRJkbZYdIVtxu0j+eTCJyafR410ZQOHFJr35DFWj2k+3F29J1lnkjK9gOd58K82Z9twUeoeezIXMypc4LUVlIpgdunXKkSQnYnPp1+GrJAMrqKdD3lYbRg4EEAqxa43GbXZAPWuiXzvaFlueflJ6VWaEdS1uDxRofvaegrSJbW5wZMN0SXwP4QTL/c4MJ4sdCnVe+uNaz3N32L+n9mbUmvZzLBfDF7x39tp8wooTcWz2sbrKc4AB8jer4L4aYW1jP0ZTyU34EBvHgfIjV9BEudf7/va1KPwSOfXZS8kzslTh9Yk3QKPC0hG4ZVlPnmtjSXKCg9o0fCNQIC8zSCLViY5fmRj2/ta8gAO5Y0lzVNPOXN6GFOSWHU/273D51i7vQHzesfqGMOgAen3mQGe8ocQv0GHGF/lg6ZNSgdnLtSMZBCzdtXOB05vyHK1ZPiPbl8MQlPfDiZbEIoHgxc6WdPhfeimIMLFa9un2c8s732xMtz+S5OnvKLOCYObvJ3atm1OWr77kBw8ePzFtvg4qv5vwWPiw3eZUIjx5SnDRGNXRJKvZjEpkeX0GDKFR8fBPlnaPkEfvOgvBGbgsEO2CVKFMEC4IqRzb1Q+XuVjLMyHYnb7kTUo0B1KdMSYlkKzeovEZTB8uq9wiYQzY8Xiu0mVEdweX4YKvOzEE3osZ7oteV5zeltYwwqnsWeAD2mTkUl2hcjZQY18n9Reo7ttmHz7oU0bUT0Pre5ApLZPqbdY8t7qr5sBwd7xfMvuDW3Yt2fbSxiB997GVVPOfD0H0Z93gT2t+E89G7gB/K/wPh6hmsBhVg4ECvChvoRk96aOyGJP1yWncChSXPSvsypwdbIQs1oE3DE73UjDaketNf20WZT6X4lofot/MThMxwFILyv/gFs3DoILY4UmqKiWOacwVmASkd8V8prTlAsrnbke5glX2HmZc+PyuVFERVdprXtXG13Vt141behULCHaRf/gJZKQBhL366GS91CUkSxd6OLOIsoGYToMO51jV4gk93lFyzeFNhOZ8vgMghNX2fafH4Wgfqq4WWIDz2sy4JqtgsD/BcSreVvHqekheqt1SASs51RP4a7DCy9cmUgqBQ6W+/XaBH/t/hkzMnFbcbmLeYH2SRnqW4gLdEw777h1Rv7dajkHeWO08v/Cb8rfj4iA1VFCwCQs2iIlVWAq/mbabZJEMwwo4o3FgZKc0eCC3y1Z3M1BQRWadH3O5pGEm6wcymToCTT5Us/DlJ4CSiM3R7R+I4AqeMQj/B6ov+s+D632Z3IZqwg/5wwaFZ8iPIPnPUIIzrQzW/GR9HSshRqNy9Ga/NK/hIYTkJ7VDw8wEO6JM6EA2+sy7lmbuerCNxDDzVhrlwVeLXK2E4XlMeQy5Wmw+AJLNc9WCzdSYN5aZtMR4te1fH6D7BMIRdktb3DLFkHNSA2RMue2MtpRY1uGAylkWezWEg3boUzjwW6k3rmMCUz/e6Q8Xbs+5EnEpwyeE84Xl1ufDo47cvt1DgfK7cFfTF0auAcUDoDmQ2fTWGSNZgultkTNUHhYWIxxEGs1hLWUK13XQ+fl9eY8nuLIHLf8s9Qc9qOpkRN3Bi3LtNFNT0i0/f/msTFh8UhkWfHPdzjjhqUvQEtensfvYcupKGDH7CQcz/WPpJ10jDa/2gtViBMoHmliZQ70NsaY54PqLmZHrOko/O4NJ0119LwGrFF+N/l6bnTybpDpUefTF6SgBfwR9i1GRyyVY9acwS01nM4+4Y3FTKWu3jlRHclq8tSH8opMNevSXapbVhnlYJXBDddOHia77qIVgZwduKxLQ8S80ONQqbm5TNjURZPb26SSPoP8OXgci1ido+fVolijcKwbabxM5ViEgCas6zWzMA2JpCXeWBC26LTa+vob53FB0A3vckcHIl/fND4pSEU9tyE4i3E2tokN9gA7DjHQVxoI3SNWmQC6y9NziEglSiPNTdViGAhA1F3ukRI8exzSPfqXZ9EVsDf8EHzk7tZPVpjtjNNSbQetIabFUWnZfVgcBjqsRmqnaz7qRTF3iO0iFavVaqj0znU3k08z5vafbXhsb2EZ0/duBX0ghpCxwGTla0RmvHP1JiPi5aweWAYUIRVcpOKDQQZNIufprqlKtdOaBkbVA2Q7ATAHRdNJXIbnv9bIEFFASgUtt51A5b7PkOjm8VhbVIw24pPq4WhZLn5/UylSyRI/S86vGKcgGFt/BgP7jsZx+EUb2yfhua7unL/4helA4wKFtO1Yg56uHj5cEXGVkhLIlSTPvyy7wcFDddsRjxjbOjle6KzRiXl1YQsCbEutMeAxCV9AzLK3hqF+yGzUMjN/HFO+p1E5iHNeevo6dmMl57JW5x6hBXDxQqNOG0GnG1yaGENEyDDIo+DMjV694rDpmTpDGYCxpojkXL+bJRMvu9AOCEefZxquszpsVAEo+FqFGIjB7Rd3UBqKIDpICudSW4Wq11vQVs86B+oIg/IZ/6aAC5Ye9QzQ6M/uL1g309kJsdK/Ie5hc77VONaagekWPfersyuY56OLf1bucygrDZ2pH5hfT7fIAji76WX/N8YnqymvVPfLUzohijjQ8hApQzCJXQPWrxFIaBWfcsY7dBg3EfubMBP27Dg91tMKaQEB43Q/t+hXFtYOJE9Ws4jKdlg1VS3NwQ/E2jzCQjUf7Mu8OQnMay4eVlCmDmZAfkbixAIGdeAY3iflR0H5e0/VCaJXCtIbppfCOuZzAhAkuuX/KVWk00pHI9XxhnhDri3HJ5yp3JNsJ0V5L5xEjSw4v3wkricueVLv+gzWaz4XbOk/2gI90XnP3Wf5W6r3TJiGhbxwSMYFyQDUV631GbtsmxuYcyvQ7vr9j7RwJ9mF/sLK3pdWr01Y8ndoOPTEdoh8Df2LcVSQvfrDJ+n2ye5hTMK2ZS4VkNH8BZ7tVC0/Hm+lX2xSB9pw9MK0f+pK5+BNgMn11gg6RPnOBO4saG7ojiiGPSgq4Awx6Z/ZjhQzTycimKHAU9kscg5e/W41w2VupYKN1BFzMeES9NCJxKMVViKEccRYbGN2u+Xk1jEGpQC9WK/SnstzdL9+WwLzgdxMM3UTP9hsctF+8cM/s/MbZCj1pRFwuxjYLFkG9JI9ViYGJhh5tAgw+XSEOoCsx1rsEEU38+UNFCi2kRyKuOrgKrTkskf3XlScXGFzmlm14Pob8YgyRSJnboUv/tI5YWjXud6dJqbL7I9yYp8V4fqzp1NgYBtF9K8POKl6MyV7bsN4+6vk71pX4d+j9rMhmsMQrc3pE9d7xIm76/HNUs/UnH1y3Mj9Mvtone9mHyh0T1vgIybM9s6ZjzChEPpcwNVm7hpFkJdwy2HcCQozT8ZnOSWsM4QG0Ugj5A8FJ30+lnJOW67BPr2hc1DVbbhnMydRAfPEorm+wQdVl7XInNToTrVDnDAYfm6KAvK67XIDZ7pkcJPdXe9UJZvPrRiqF9dwyinuhiqoqoWcNfwRWn22wHYBeiQRsmWHzbtzEg3I9Bpaa4W0l7gSPRMAFfEYAzPRT22e31vuO0KxxFCUHbToeVGIpLUH0UC5Pnw69aEGxj0MYApgdFhAv3cfQJiqSX/1hftOSTndFyWiLzLGPlLMNg0Z2nFFYDMt7Sf3klCkenNjo/J+BUXnivbk9RXGtFx0u90uCDMNurEJsDIiNneLlL99shfzHuqf28ovpa9qHXJR3JxWqofiyOs58cCBMwYClbgRFQ0XcM8nA58CWpom6TzNl7D+R/N/CADt9MYnKO4vZZyzGs31Hghg80acHvXx3m486uqa7DBvXyuzC3KWWishcy/0EAHaoqqvIR1J7EBdxlxWgqa57P8YogN8dNCV5pigq4yQS89J2nSaa8k2t1Lu28zHDVdfYIrrF1/TOwetx3K7MYrVHUJgdptbPO20fQw2xPeJU+xvjWOM7r1UND+pn/eEb1xb5LNVqqokVBkBa7T5fP12XKrJyASY+372DbhveLylMV0PGKZw8HXUrU2Cx70SUQvyUR5ZyiDajC2/iLtuVMSTu+9pKBqMhgrE/sg7DJt7OJFCi3QWIyZT2BmR7Pn9/EDcBBEZM1dt1wdUo9S9bVOnybNOuieAlTA7mNZq3sAKi5otvfxA/AQ1ej6uZnDOh0PzNca8gLv5jmvzLkDYcG5WKxYFfW6qRYsTGrcQgkD/8UOSVaaVU4fdrHjkFe5rdNDjmKTH1vv5UoJjzaBlOuQX31kjFonLt6gv6hdG+5FQAmwwkSCV9Zwd5ey0h/9Cqs/QUsa4iMdgEiGM1G6Z95ywKgRk9JMiknLQSp7ey9k8UgZ1UkCVQH4WRb9ynLrJ47eA5bzEp7bZLPtPZXBlFi5aIUvWLPB8N4YZBV58e1pQ7e8uisD3kAZUYWR4jJ8pP6yS9E0Su16UgYvITVZ+/y0y3SEqEKTlVJqJo9KGAer+N+luusDHMm4Ct7eapd9nfpfVpQT6sjPpi/fG0jFWatOa0TRMpWA018yYiNTomNvx4kXalbVoVvR1I4VVh4yYIr3u+NBrnX/8IY+ulTO9XlJZmqNidX9cwRY4a4P2LhB45G6lmTsQoCgDZJWCzpEnOvrQHnMFvm7A1PrpRC5lLbLEcvLdZiN65om9XbmmhlZm/ysk7NJ7xNiY8V8mkDzx0XfJKC+x6Z6zPQ5EdijrvWyXXDVdn4uXnA1/ZnjVts5QqU1cHS+Ow5HYUF98ubml7Ma+Y7ASN5umdNsfgzk87+jJudx7NmfYACFiXvMH6MCFWKdtnT0QOsG8QSbdbY7PpdfLKdS5hA2RYFivkBC4ET90BzqAKzED6qSTdit688fqDMw0wz7Tv6cI0ByyhksRKKyWdzh8YgI9mbNBviNSh8vrlXdND3yNd8J6X1JU43tLr6Oc8Vvhh1q6SbE3hG667/w2V5JufVjLAsmazaFnhkyL/KawE0mQ0q9XQc9P8Rj1V3dB63zHSYC06unjI96c8KxuGNSW43Zh2mwnd+HxK/SPVal0DbtFgDtgy6MVC4ZG7XpgfsZ9VuGJZEq9eXxv26ugoJ9+bh7JJli75twWCeZAguGOMlTxk1Igg5Y3mzEyO27Zi9KyIztIPK60j8TOEIYR/luifXTUY3/G9iEDkxh+uxaY1LGEopZ/Tmlo0kZ1zfxjWVY+lKhqm8M9N8EXMCmxcrIii7bU5D3rbhUWa+9vobgNJHIFVTpTc1F48ILols7WOqW34aW40cpBGoSJFNAPwM/erIqgYXrqE+ruRHULJ5CLN2EEgE49znJEol1Yu/MkkmGbYvZTEFrfX7RiMB1t3GeSBEwE2J9cRfo37cAHt8PM6zGcuglJq6cQB3i4H0i5Hp0QJ461T9cF8ZN3qcsgHO6CSzHFQs3QTIm989cKtZXo/jFB7KFv32HM+E5DNfFiFQ5dCjtCsDXDo8T34Xg03VFeF7U8MaoPMUXy6uWVZ2ki16gPsjWi+mh9JuDMUdivMuuFiwgmnfpoaV/Rc3nzz2a6vLaPcoqhfeUWX688SkrwXktrknS9KWxRhVs0AWR7NfeS6DG2Xm60axEwdHweFuVDJ3hol3Iz3lQ/Rvb3juxazokkkgrvKlqWyrvXndBOkTTmHpLAMkgCvJa+39pfZl/fEHY57s8LASmOIXwpEZd9hon6zflAJZH0WRXNKY3wrLOfkD95hM64QNmeCiWaBGQ8++tmg7Yy0uVPg2TTxzDxLx3oNmV5vAwoWwup75smzfFu8wkUaad0uNMj2jJp/fQQ3GkNZns3fMDUuht0iX+J90ANtuEVQsKSgVLjanOw9c+0NemBytwsx8fglpzU2W1Y3yoG6qgihcJCEYO5SdNOIjIjV1VXJFH3R9U1o4cABttSkZltPK8cpKuXiUkpjkweKkx9efnmAEQNDC090oN3lpv/RgxTYF+NmQbNCEXK9jJ1kq+6fVGZtMSi68EDzv3zcYU5r02DHX/GVrHXt3zZ0cge6kCXq9xLLYfNuTbA382NwE5P3hQY6yCMtZDFwnkmjgY9ck38z665PE7HEariMR4JikbxH2cnt8zFHw+U4u4yjtgklJom/+0N2Y+pYcVHw7jNKF2EjFM1Q/UMHJGoL5bI9NW3Z79fb1w5SvEUe2Y86YzHmhAChqEU3LpZnPcsUohEeRh2NdfsEkeSG3oll1y21vsGXYct7UA5A4XMt/zt3rrscSpf7BgiQKZrsTv2Lm75jcNaT56VoXvLCaTBweZfT0Bo6y3uDRFTWI1ziKmvyLAk5rLH7G+zHO4EgLi/Jc1qaB2xKf1iV83THj1TmllZCfN8AMTYS1rJ+GONYgZXJW6hHjGeQ/s55V/nEQJN0FtCyLp6SFDsw0QT2bDMw6rg7EcxJYMPDLZ9p7psn0bOkMMOh+UlkadxLm1/avmvznNIjcRKRBs8w2BmW0pxbxxivMV9g/Dgc3j4Tgtt3TTG9fZiVYM1BtaJfeJmgapHdb1u+GYfYPQX91BRLPy1db+fGZFZ/Lpg7Ujim62+CgOpN7KFbGBrwrx7pqjzasz6RWGF6w2tr0Q9mplO9/kVNlzCM5xdOolrooMQxPqs6sfhmdeC16cLpPSy5s3t1p76YO8O0jJs6HOij/qR5AcyynjAtLgROmWplnWHtuIqxLlNA+Zfd7lYF1dnxfenSWDOAhzu0l9P0v444Vv93ICHD6IAhkXycdtGFGTc+98ierkgaueDqkf3tld7sRTJbVJ9VSRTpOz1jCtyV4O5IbPkfGRpDe1KUo0RMSoCBlNKnHv+ZxB/uSXVMaJWjHtoOsNC52iZo56nBLPan/LyUtDPFl+oQX7ZmSX3Ql/U1mEp35TNZDpFmpHKbLG8jwVONV+AJGjZ2SfIPECm6bYPMTuM9jF9DHvygoZJjbS3nKN6mId3jP368Iwx0SMeFrrD3Rz3s+nlpXQe221eACT5hVL6fAOj80fc2G6WcHDp+wpp2GpF0UdNq/0BpjvL5eMC9r6g2g0mTUHCDtAM5i/iq1AebnVm871qHklhKvBGLNJ3bNlRSqdMjR5khMOuXFYhsUeUwMCZQUDPW4yZLWPmEhF3y2QewVBFR1hGRYEbQOKAjctxS7E0gPCvy8EmdwIDyxndD81+PLnqyM3ROb6J55q+e7Evq77ufSBQqgQwdKWqzFTEiwdnG68tjgnfSQ6LtzMlGhuyAUCekIpwNrsQMTrnbylP9EM84nCErTYYAy+KFNql3Dd6VR73xogag/4pIefTYBF72S9gqiZZ1fIb9feygaHaKbV+UEUEh7Lz1R4uHvORkxRnN95B58ThxFlZYzW0XCk7KNoViqEqSxMfTkArtPaWqNPNrJoLwT9RjqtNlltHG5LIht9KkmslG9cfGE4tLNeQZVPGxze5+LKgzAZ9CbhTh+cM3YnqojQYQlpK0F6QFgqJZz+r9o8jPDDQwp7dP6RbVyUgiXSuOAABQL3oAYwfKcS3CZiLmf1AB5i7B/4EdeQxBDbeEGKDgLo15l/AbcAFp5kJPt5pOxe6puCg6tnjbigpE0DQJlX9z+HMGyVwPszm+k3i/zjYgTcA99eEYlekwt2ZO9BDXYe4E4lxHmz2tcbnD01RpyYjDWZcXofmcsClbzOGCZloOBoHQwsfy405+7p+/banmat+c28N/RGePhEcrJHeDyNRvih8quzSU2N21Oy6TgbTvL09gROPDszcJUyMaetoZUBjwk84vlhiyD5YddkrhgBDLgkZhQ4/L5anmIYHRI7p2MLrgptO9lWoRDVW6nu3f5n4iN45xrIwtHIxOy3djmLgIAmONz2xHkEwL5vZCqxCEXjrPb5v4r7g+lMmgrlagAghaEiWHHT6840DTJqmn3Gy97zA1DwHBubWFxDFbCQ5Wtdouytvy9BRxM3ayJa2J7mC2oRvLlwJr5NNGIBdH2N5ozqV1quOhzXfx1mm0XTOcZ2G3StAELnEWiiKatK6wRtSFy3C1qhUUjwlUsYbSirCAFu6xGPwSgzRuGPprTH2+r/cAjBWIMw9KFV92yvwmE8mNBUF5qflgh/CFsGgB7LX+QVrSjq2pLr6aYXlpgU7aT4ULJx96Z1OTAymfTVqt6WF/FxcJNCjxpfQyMomwgp4mea4+OybzhcLAPDAqoyb1sdsvOZmipSjX5MZujYMMmNL6iNM0EUlvC/+cSshidNVhHrhyTvkGGMjHxRFJC1JZrkNJiYWMUpd40gUfMfHwLC4HcOefI0FdeVWUhxBgt+KsC4kexlL93Hkcw1gXsiFcimMfxZn7g4JR91xyJPu0N39KhUJkU5jl0/gsDIxdGOz8IGUKYP/k3pWIcLYfX08RhGWudA/FGlbatgp8yvFk4QvlCF8iHz9+cqkkFPa/PMeIEpXSiQ/GTwjXRtpUKTEF/sOLeA35Cp+6H1DblVqyebsFvFtxrJYeOn0DRNvVxacFQt8vMiZ0d+idxbjOyYTqK3n6PQT0n16JzkovlQt02NBIRRMtjRy46zr4pxyBuIICY0C3i3qSIdVkGFCqYyjO/0yCj+w0wySXOXtL7WEwvg4CAKLR6QQYB5SSNYUwmKEQJsrST+94AYwDLD6MKIH9fEbd4nsot27nKdYD+cjLZtMFp2QDkmRgpXd/Dfd8MI4fIL0fe4Dxf0mef5SmbdJzX5lnPkgymATLGIeOcbgvrEkFvxAiDvcpgmaey5MqSWEWOmef0POoAShnS9e7Wg+K/jUbEA8MKSZoajgZ85uA0OXXstEEY2uXNzQ7Suyst//zKAJLKMo8XxXYafzNXsViH6/j/ZkxGrh+98tSnvtxzo9LHEbo3cm2wpw/Recc+FxuMtqQXvoReuryQ1B7N6Kdfj7yB3mYu6rcsJu091bw2kxKCNTFRerrJ4B7u7Aq2pgTx03bOQEytop7rD3VhzOnmAfS+09MobI2zl6KkSWUILlX0AO/kZw2TIyS8bosityfW2Ado+oCVSgDlA4dx8EswBxFANPV5Md0veYpzehpwkGBNaaMIPtFh9vhtLa3qpJkfKCuj6IIy/YQ8Q03iQFGesXrNuP24IK4aEPo/bS1B+eHYIFXQ3zxI/1NmAXhK1E8xvMVTAFewcK+wBFRKCM0sIKPFc8plBZh9KOzuTQfq4ekeD4z7Zg1HJIHnPQlqRfT9uC17DqfZ01w0ZLlnsGWmDtgLqLZ3sH3cXJCrgnUTdP1jIKMJFmLg1yQ1GgDxUnSJ2BDOtt//V5dldoPSIfv+winsV0H5sZfL9Rsr+ttMk2Yw+EAT3Fle8YEL28C0QYKFEjNBnPPAUr0KXgUOM8ks9ZGTJmqb5I8goUd6R4mzig75DQdgq4fNOOdht4AfEDiZm0FGFUn5pBodocIyDocl8N8iGHwDlP9mI6fdZmHNdWxA3RjEqS8gDX8FOEvlsvdeManKGnu6iXvqieYBfduzQunGVWUUoW+BQb/W2zJuysY4mREeRGQd8CzQZsl/Sj0JKZOoNboqAnQgUmzNspvRH30MV6jaHWc96levkpXWNQmWIJkR0kQ1eUFg8NSdHz1F2fxozbc4uRMqyxPOmXxjFSu8PNbibW474ujRKJOaWroe6MfreiRNeHNJ9k61zdsS5Gd3v2CzQy+RJ+kj+JLlOiVeqSGFZ77a/rHS2i+ZvtdcQvWfACu5T4h19lXoXyS86IE4zdOsdnAj80GFSTbjNK6sjoK6xMEGmz8qBldXNS8IMgq5Xw3rJ3oEQWDIjhjPFDj274rZnQ32Ax0keBA5MRuOwLsegQRfs3k5Nh+YgBlEVt2WUWbAnHiQkvASbF4tLxg2tQW+F6ezrIgLMM54lhG46xGsQhWTLRRoyeTNmM6o3UkGKAk7tebNMGuYoEq+k9PWr+V+g4o80HHMnbCBKiZt4CjVmebcdZJxtaopgN4LQyRsjtXsHpMQFccujsdAaozcS8yNLqMRmOF6WFKLEqFICAbLFgko3kyARDUoEo0UPogrJJdFLV5OmgPbiwzLbW6ttGzGKpjaPytXhmt7KK8Cg4IiYAUeaf7JojPF2z45vcidV93Wjo4hQ++KjyBxC28tfHorrTvz8U1o0cEGA3C70IXpcO/OZBScJd6Pa2ZX0Ahkdiuc0nDYsnBjlBe6CKCUDB1g+N53zWmFKGvlpil9e79ug4k68nCdTWVU6EgFvKixLvB31/L0t6MCi0WxGE0xQlX+wKU+sMVXchjd/1QSYzhDQ/8qST3cTxsnFcr2CJDlsDZwg8IMDu1ll7B9oIcfmpccpNg+AkXtTrtOJXcvkOjK6Wge929jJczh7mk2ALe6eFooCWiulKh76tcz+w9kW1kNnKJv195OhbrcfrkQtT7jOxqOlpga/2Uy3e4aT6nfGDru6rns7H/BafqRums5SXyluQB5/VyHyEr1QFSmX1r9T1LXCUrMje1N3Zl+rag9TzD4g55hs6X7xAw2APJZcfm9bRWaMOBUckmG+n0QbOlmbkHi4CLS9ohDeTBOMI1oP7YwnK5BuZrTKWHCdLEqpEaCdQ78JksGBg9bG6swAwI7fL/WL9hasvOd3pNrea5nV8N+UhzhnHH3Nsf6cm9mt3J3Mc9XC6u1e9kuwAAFdq5tG4a49tLHRsSdoNp/QTLlf5Nh5R8CTBtTPV6rK2zFllAqis24SqPcAzspR1e4U2o0tBU95wi2L96xcpoXTL1Kvp6Wgi7TpWnIl+zZrsJQyasUklNHE4iyjZMqyWrli+Kef/UfG/k+hmNc1bq4fSbMfiy4hffS7NEyJL1KeJ7oQw24SOTJB4MrLwTDM/8q+Nbw+9vOUoFCGc9PE8P7MRfw7lKtcYK6Dvcl3uPdamopecADLILz8zOBbZbe0p4t0RltL4rVOjMr37b/gZX/DCmye0VnyoMmmcwfYST2JmFQ+MGU93pBp7gng7ZUy69fogfFMRD90r4p59Vpgzwe7wFc2adRrULfOm1UEg4yAbPvMeyu4hsmMqBrLY1FWmAkbkcSTDBOOtYE8JAg0kVxybDz1Ikp8PAsnKAGpXLd81S4qRi35tWo2+pm1+JbVkxaB72VyCn/6LO6Ww7WXko43qrmY6YeZ4gcR7+QItCBZJ51SfbiRs4l0+c5od0VIERcu3OdqtMid0D/6wepKUQlGSyzjfTzvWdLBglRd5SVpBd0vDsnHI7LToi5vBCL6rXL0lbpzR+FjHdzsR7dBsuhyix2Z8xo41v9gdvPetwWFTYiB1wihbPWAxw272TPZIZ+HlmumzwuZC6xuEkqhnt/V5mqZ3qmvhqvzvmnadse9Opge+y+VKs2YT3arMBae1HZ++Ag59XY2QH0H9IQ3j5A38Mw8QqPL0hU9aC+1CxCg+m8MOuwe6hUChP91PaFyxAH7dTnoNX1DRBsG9F3w6lZlxYrQaMArsqhkseYIl4f1lVx1I/P07A05kWauZhY9gywkFs831Jf0KIemJQ6WGggCwFF4EZaMyoHizC74TXvdaOQ42Cae2YJctC9HQQ0R0A+TPgk5ZRXIs1iNf8uCe03YBYkdvMt0NIT7nzZnalb6NI9QB6xRQLgEGSsT1WySNxKSge2pXFHQQUG2TSOFD5v2G5wqAgcVTQjK+acfdFaufdu1AAAALDjoCSi+u/+B66A5jwiikUMMDOYiNO9+rqCjgFuLNTsDZVKf+s+bQQ0SEHDuv60KofzeLTCuxz4Vtfnl/r46izdJw5Fiq+sPNMBcRHjil0ldYyIIoEiGnxgXQg7HmeG0AsttG5dG8erq35AohkPkl4d8VHLTLKz3Y51lZFvN1i5B4K4cm5dEt+fg7BMQAnk5/c7iGPN/Cglkkv1PHaHJh6ge8HZt9oK9AQpPX57vwDYsWBy39FT9MRu5oxFduYIOdft2GVFCc9flL/PTmD7rWTFJxaVqB5NFNV34aCMpglQ9Cg0xzH6SimPxVWtNAf23PEWFMQgQGHpTquVieMwykPmQFSx91gRrr5Q6dl2MtvwW+EiTsH+3WP25Q3WXnkGpOfJxGc4Me/GT933I30PzKz9a8s/pucWak7DkDk9m/r52qjVmKXYHy13q1H4gzn6Y6Nsoy8WNZ6ZTRo/4HJ/FEcCe5SXbiN9nzxjRkvbm7frs+ZZfl74/X3U/f66UVDFhkOjIJ5Y2aE5Mku7i5mqJzETNHMngX4rCcwHX1SGK5qpkA6C3m9ZmO+l7JDl4QU95oX8Rf0vad7w+40fRcq7pKikD5n7JLQz5/9CNZwTdvpHW46EtZ1aWUo76Sru+YpcOJMdmTwrZzBi1sSI9n6434g3SQ2pftM4oupMnsBi32+6v020p4XTHmjJONkJnOC5H/BkACSBIQaxEXOWUQtM6OVLaRbnOf4qYAcpoedFnNf/8dUJZA8r4Na6V2t56K44oXm+bxRL2adSSMNoZljJEQksB3kdoliG4ftCLlbSfuT/GWM0A+kT6o8dKYl74NY+9VtacjxZPrm3Tji2E8R5J72PzekVKGMmxfj7zPaIqAzhCVNJTo8g071uEoEPRzHzXHncN4ZpG/1Odjk7HDa0tf7ZXeQNm8VaHUYEwv6ShtqlYzxu7GJQ6OtTbLhWAeS8HDHpmEkokqJzazjKow6/xWkUGeIzJMcITDuAYkCGwfT1VBrBTxWGafBpsQZWd/edwdjDs6DgZw/4vumnRSxBC/Itpi03Niz5Giee1EugSqJ15rKrAMsmEh3mu7Ta1ZjAK9LGh6MG6IOhVCGiZ2sY1GMojNnG0J5I/IiHJUgLcteAdIXo/Vi5oMQlX5VRrPXwtvs0j15D4mOjg+H3FScv1owWyI8nGpe6YQ5bASUxQuIPOKT9KVIJ8/OVpbfIjdOkZnxacQfUGj5NTwy/4Zj1VDIukgYPGABkaKAoW44OIdvY1ba55v1UJahmi0zXPr/SBBhojzRLYIx6djOgcZR0pmdI+6O9t1N7vPSIMMAXNpwT3s2bZ625RLGAIkkeklp+egsGbS7p6HaXSQuU4F98dcOm0WEvDEjCOsyVm9dUPxR9QbulLVmE74jvnO2g1UUmycOBJR7JdcdQOWf1Y/pgL4ufmwbxCqNBe7bqqiHRNY1VeBUXgigCtJFmg/oL5bULnjHos5GMmwuqU4hBYVQYhIzV2fyDh2DO8VsmO4QzDk5Zo3AYIgz7eR5N17PfkULmQQL4oqWP4goADGqeAwAsks1G0giMugkxlzNLtyZQwPtgqma0+3nPxdCnC/U5/mW4BzVxM14c88/LPKJNyPhnVdu5ZnuRO/IC4zlO1wrOqfoATEyWOaCbtevoP2b/svrvtGQJmLykEVkiPZJNYr8qta9SDkB8mlQnc4Z1MySYPNt4k6p3DPwS846nCERZEdQcxGuD/YPQFOwahmeVy04dTBdi6HZklf2jHMgoHtRytuK2CpvJXqkEi2GV57Tt8AjwldmptFt4+Ulg7w7Twpg1ee9lK6mmAu5xKiu/g+d+Pnvk6ET09MniJopqqBcph97RmWR+fV59btCjTV2YzasuW3zGCehqyIdrjPyVLBI32Gx5O65W7mYCH8EGPi27nlvtRoZhl6RjnZvH7PKjUe3Gvap0vuFklVWvgDo2B8Bu6xN/D+sF6FQtaaPv2wGmrQnSekWyLguQMWAjZRjWojGr9/9OcXAWn1f53lUPTaEekP4XO1c0oj//X589mAjVWd3Gdd0YunRF/QAA98rggoMRs4KNlXAMFQD8NTyQm/1E/raBj+BY47owMBysqgXLWNoTXiFzQ7iK9eErOJHmqLN1qcV4WwvckIA+Jxk7LCpQqmNIMafRWrw14XuBidwaJ419kqmfjUxUL3GMyot50ihaSDEHcAz2OfUXdo/pJYGr6bGlMnR8uRtBcuhUGqosH1q04cX8rEEJ0SuyfUcYaNZnnTzbu/q1HuDkBRRLZBUsbCFqII2pjqCk/ItQNts+p+/jjkl+mMJ9WdWqMoLS/EeEFSq8n0dnM1vIyt5s/lQ9vPOqbhjm8hu/H4tSg4tn7p+Me/NSXpm6xGZi3K312/2jxRYupClBSHXMDS8wNTOf3oXRPd7hr/teE17jc7CWezQYrTxU1TJqJ6BL3BoerKJGBu1loLI6USWf2v7drkH3+OgKiu05Em/Cpy6n8307dXR9JWaQFUEckKfhrr3mqVFyVzLW5HlEXJ+yOGAGIVJEv6S0D2oDCe6WlY53mJbZSDa36ovhd6n0fTqHMJpjKZkwO0xfmNRGJO4OHHUhW7iWl+NoStP0v112pwvmrStUx5lVKi8PqQfDtyMkX68HakEC23oRL13CEtdli1M3HOWv3DNfRRquUTEAX01UIE1K7p1kpD5dQAt+FVDAPCuMUduVn1AX/jk2OLmqlkfdQW1Y14hLEFWR6m9wbl1UEg+KRVsG58Noq88lZ5evyzOJI4qKR6U9RuO3hRHqr6UhQR2DMaba5zz+eHYOXO7UKHACKqL5CjuwcoollbzwnaampSwETR8ATOFoZi2gL8RZI14M1r0/yKu+SeUSGU0WawvY3yPNTWaVJLPQPpYIO3J59CqKFRMPSFiWzWJYRhllkcfbxFphTQ8NutpLzLs99+DBe3ZD1c4rxHKLW7Dd0bv/jPUDSjCczkXHusr47nPYpstsnqbH454U9K9hTeO0uDlQjDEdkAp3PAFPR1nppBJAIKFAJGwqwmcCKpbozRo/UddeoP9jc8aXjA59hm69hbVRNfi8pmO+wNhH0tVOL1K1B6zZBA1+52pv1wFZpBRRnUgGgeWfXcq021bStxMflbncHShr6Eg0mUuwxJsB1xcaTlvxUOqPQiSznu7kBkfEPiWzUW50vwLPiEjV1rfCTkOvYtx9dBJluIjtuRbqrBv6VUQVeJH8lvS0tg5Jk5PA4UpW33D2jm5eRcs9Mw6PiovHrvE13d46qte0kijHngmGHZQDz+PiGNGHgqOqEfEG87VQUZQe0IBmxWVWAmmOvdv0qDEL2ToMzrkegN+p6nlEEjdCUKbpXxO+2zRzPQVrn3wFPh9E9ctdIX6iErO95RPGO9Q4MdIcS35Sbd78EkY20dJ+Uk27/ZsDT/C8YSuKAREUvTWA/LLYC/iiJiyDcl1VRRV+bbyNwc89hvxV8jbipItV/LfcAh9ZxIyfZz4yTdWRsCLceRLY+49X0qclkp5OQ08olwUG9dqN7kgvfpT/+qspfx083jUnYOarId3SJSChz6YEeKZiDlxLq7vuiZz3FFXxwaNoSabmNDRVhNlgsgpGM9laUK65ScUaVboBxst6n8EeI/S3u3mRM3Wsmr02CCcssZVTOKZDwjM9qqTfZ9HbDXb3TMhhzVL41Pi82yGbukuYOPQgdth4g7aaqeKkUC91nYAK2ntprPSB1P9nrCSYYj2aMxyxY+NnB8v2xINfKlM02v4q+Ho/i7PDTKE8vYtj8Do6hWva2I1RmPklw+LmXej/UYqKh4PS36k8kwxbNKWvHxxLyflWNf2XBRZ8kYhQN59Z3cCIOQ8YRapzBD/M5vj6/0lKxHRlxJsiOKPBZDmSpFlzGgVVxdL1p3X3bJdN12k4Oty1XfV9Vw49oxE3XB8pBov0q49VZeQEs0sS1Gz8WyE1W3dUC8Av8fZGHBVT+WaZ1bux/QU8KzqQFHlxPVhyzPyrUzas4wJxqhmrDAb73wU0LdsNcbJA+U68piIHWGJ5XeUA1mQ4zspxtfFXUDXgPq4tC7EWHofvlBSIuu2LNuPgCE/+QENkoxv6nDnhg/waOFf0zeURTKB3RhIXD6hTPf4q2yuxbI1FGfqy1MvE1aEtGR5aah/1IxHAGkm9g6vqeP0XGL4haIx9PV6j0LKIjfYTPbe4DgUnGHOedq5HaGoBZ3cpg3f29rft82rYZAZ3x8Ief1QXzuQrv1nH8tjmsEXc9iPtDHfFahFbhUlvvywEe3akJ7iRnsl6bxt+LqdWebx5hUSMPi8M+uVb7yv70Z9BbiesiqphakX8zmi/xIWe9jDY9MupBdPpe34/7d6Dm3d/36cnuVgzXBuEkXRkoGuXRaNAXo3pLhvKH5SV9b7uNo1y6ii5CMWG3QXh7iOyrEC0IldPabCERNPcX9gaYyGjhoyxEHlpdulZiEMfitDmvgtjxpRSeuYZRPyJDiNPU0ysGhUS9ZCd9BOoDyMe5geYSnuSLiphHkrnlkMwDioeicsYRxk7Jyhb807JqG/4KrdCF21xIEpYNvBOAQkLR6ZE+LGtfcBDwiDYfkEMZTiIRe9hHsWzKaqFoMal578tp2s7SRFUTB645iVEmFck5SPfZVOhbHJYGPLoJvhMaGjTAGvys6k+Q/401LYkUMkr0Wo/kE2gmoaBAG9tpNBQFoWxKudSfsSgGtZNXFEaDlT9Edvl88oCvRROxWzqq12ydL6Gwzgn8PeoowoDTsfIsoqzqbgTkwORYPAxJPxy1vOVr2sJhIrmP6z06bnIbx2jD3AeqJoYQ6j6XSMisv803Cunx9Qfiy7Oky+6ixE0yGxGvbDoz5kdw8PJd6tSoZoDpnZnYLXwUnbpwgm1vm3DQ4zZeinCxdgNR6ua7Dy8qqoMUyvT3Cbq+QBMxoDNjbg/x71NVjNfRIQh0JNTWbGM6EquTYQKv93DvR5xFGStrPUXBpJSogJafe6D+1VsWUW72ICc5ITW5opyhPyEsopFwuL2hNTioWm9pH41+5R0NFFiI4lnpUWvn7uNoUqbEJrcohEiL3RCBav9ijpmNUx0Ut4prm7VMxAhZe7FOUL9bcl1mlm7GcurmnFMMtoCAPpBpv2sa5XImWl1664hAUIrzfHoDI/v2VA+wuuMrtKrB/opx9SWCkJB1jy4/jzUSHJHe2Es7yw1PhTSGAN8aQtwhMzPedVkmuXw5i8mbFBwM3yrqtC68+6Dly+Fnvca/aVmNR/y8Knj7NNqMC41NaO7r+Y+MFCfkpiA0SyHIUePSSMtzkTNSlGk5CpQA2rBjm5nBx6A7F1iXpYdbdqOsna0iFsyd3kx+p6Pkwya7C+OOByfcBYYbhJkC1pfDo/w5o0OgvVt8QFQuAPN/X7H3f9pt41vgOI0QLO5M6MMxRGiCUD/ieb7X6fC6NFHl3sNhengvgTnXODZM4NhM4xGD3RUGEAp6UvDsoowTFHYhzu9XhaduB3Z4pvVA6+gkj4wqgpaZ6F1TWItOt3KlN+D3Xbd/hjnpeCOGjc99ExFM1XoOqZCTgLfoynogiyqiCr1nmULmpVPfX6lUvYN2obt1jKXwxmX5/QSbJ6eN03zBQDzXMujgXLz47jE6I+r4jJB+lxsHHX3UhZ8KiNIW9vCZ07OmUbvjtBdP4aDpfdjCdM2xK5R9rmzWJzL/QQYCTUwVlaiIw0Az25XJzico+u/IvydVTym3IcSN3SGWtLMnXU+bVnpJY0waDD2C+fulBPPGl9gTXNOc7We4H1WDkZcgAA9olvcVFLTB5cBIL8JOJh2seplSqVNwuWxOPp336wIAczC8w7Xcwz/o8sdxV8iJUe8Xc6V5Pe/uKEwT87Ocn7XOXjm2McpY+CPrNi0F5Cb5q9bWgjOPmRzmq4ciDIPfqZz4Qj0X41EdDaHqnYZz5iL+4rbIN230FYinBCMMawK0HDFtAbeWQ4p8bZJ/Qjl3dfGFsEw7BIHdD7IP8Wy2butwAUzTINpalhDRXtfxVcs1qm44vQNSb8Re5zZIHsfFQE0ZQWocDEGG7Oq2XRJ7gYGcKHPk9Zr6ztTMwNnuXpfrhpBlAg/ibhPq1HcJXPRVlWdqJ2gXDBJLo4/+BoHt96AdA/oNXylOhs3MlqvypaNqIPzyso7WsXJCjR0mOnbaBwYvrDOrzzpAyYMjfUNEqRDBly7Slgftx0jRo6a00IhXVxcKxc5sHFUnZynnmzaQwJ1ch0AXeZsryC3QEaBRLhP3rEsCgwxqsRDkIA4Oms5Ec/XLFjKdHtThkrB3XFTpFlUVCuipW2iCPFZfiD1xpLg4aAhp/PEjPXV962oXC8Zar5hlt9JKtbr0DQo4jKyliqBWVAQqAXJsadmQBvM2W5YsiYGCTD26SsGf71no7JUb+OkLWyRFCoBCPolfXECRB4BMJlr1D/OmK2IMQpV85FzD9qsgbO5/Bw3LNp5wWA65SrlyX+6MjTlMQTQUcaID1ilr95Z2nWpRr0pU6g6OcueP4HRtw/HxGfRIF7ifjRIGlR5LIfZxR3n8k98FSMltlkf71bNx3/SftZKzOB+x0kzFL9stKJxMOaNi7E8DTky/ra0jT0ktQQzT6iKIto0raguGLoxlDQ+q2clZedXjKBMSQK/XfCMIdhT8Zj53yAcGPTIvOanxowDvCA9JrH+hia8G0YdGAxrPR9kI+QTuvmpznHLkMKMJpcO/XMZrywnHocE3x4FsnK8OFiCbTRxWgVmNvgO1W7XpESlM0VKxqwyuDsb6qUJEGo4pg5vSyg173iOHQVK7JHWKhgU7gzGrnQcV9ZZVvAKMBSLNYTT8/TEEg4DTOVDCUhGuRicwIuUe25YqwepgrxjambpHZA80bIx4fQ3+TNlGqUFfqUNws9XzGnLKSRdUq5E2lMzsF+Ug1pzwLgRDH4IqqcLZaVkwnpfY7JMrjMcdAbX02wk02THVIENDtA+f2EPUaMDfpwz042SQC3V4QtyEtRngriDrv+/ZozeD8ssVAebIwD4qLlIq5JGl/mYwIZcmB0Y4N4cLdanfGXg2HT1RSHvW95IH1suiuZX92Q4tDlDYLFtBZ9MYx9swHFOKsCf8OLVbH54YiY4giJ5t6k7DQ01b5Gur2QEdldkRxnaH+vkNCxIS+fkCKYBQqQz2Zyn+MXFy/r6yonzuexhHw8qmwABYyZW8x7i9Vhk8l49T5HBNSyUCIGJ3SoqcUW6FqwEYTQCUSjICYkkshjrShyiRidbQU9Uz7vgjshgAnuLc8Wm4q3Q2lYCvZ+nphtIks5+7uBfSmJKl+JNBY4vtcGPQVCpfT0/BuUCy0wMBf8/KMyZN+hMgbKtIxfthbaNp+hCE6GdHX9cwd6ErQ04kd8dR13b6huIn4Q4KidXlT+omT7ldppORdaMRzg8XY/N4ZRrgKcjTxO4ncPCO6ZKhqMgGYEr6Db7MCog81mbzCi1jTnLyvGj7xfZxiNX8wOzkOn+KyUN+dlbE4qYc0rXDKWEMsx2XycBEYDmm6koHMPv1U4565AmLHHDbEyItJcWYc27AjJbbqKAUdwR5ZX7ElSc06J1WyIVutaLKYhJEIT8nqF3T0UZLH7fdaFa0asjCeZd5jHcLSPFr4kWnVSNGBX0wFGNKS2kwmUf5Ty/pl34P5sdQK1XB+8wjZgqjsLemCoMnaNvcnBXKdrtWUvoAMDGbCRCQsA8bZXrjg1F/7JFbHQWI9QY8msdQVHYK9VZCnuKyStzXeuSEynKY/BEF6Ko43IY1EX82evwnniFKJlkVwdwqJNJjGA4jdATPiel8NjIJM20dDPiG/PpPypjWyDLTunf1iG/PwmysFUPze5LMtyovX17QHnREHxIhRtab0Kx2D8hlF/dai2xS8OkHuzrk1wShr1NMX7/sRpJvPwl5comziB2O/XWAnJXmhtUUkjCZoqTsAM12ppw8xZ9D6i2+EHrVTcnU1owK9brfQedEn783kMh+Ouk5MoW8pAtzyglMXKRwZrfwZyJ1zV9Hsg/1r8h/pwzLHV5IS/ycXKzf0EWT8ZwdCfLfTgyKWluBbBjsWrMNxJFg/WmwcH3QThUXrhMjVNtzIiym529Jlp4V0B6f+V84ZeWNwARHXJUdD3w1jS3FhMGb2bVrHS11xYm/w0cRTvsba/PDRVFMI0NKWSHjCirb4D6NKSJPGcHXt+sz4bUvlYmb/lwD5rW6J3h1fTCPCTBZNCuBIujq6Zj4Pik5WifZ1bgKjcx/C7tHhbEdAbQYijWO5uvVKw6rlY60ix5NbHeRHWu+GHmN3Hu+noE+tA4GmXv2U039EZFhsNQf69EUfop9xrUx7ZhMXlCl14vU0g715byXfoXrHvgTMgVlwN77hantJgTBETcO600kDuxxPYkIyzDhjAVqmJL5VJoM7c/cD9J4Cri70dcPo4g7uADUgiNNXF20oyaUCibzs2NSRxInVcxm2dUYJ4mFD9Gv2NGYv8057XBBHDCk5fh6diflLFC9emvrxpU9h/6n/Zju1qfyK9uYpalFXGdrUVXfOQLo4zoRThfj0CYTwolP9FVaPUk7R7WvrLPslh3YJrTxlXftCjWECj4FdMa27f5+bxxMaZvK826nHY8vlwHzSpP6w5nZN8mrsv5ZCjZphREUONXwhtTsdeP9TEJ4s5XGOA3XT2o+thlufNBV2b80ckr2uTxeyC9MTeJ8YM6oeoBGcFjAxBouhgiPw2SESipfAEKjv3YgBpsAvgWOI56fR+G1pNgBpIYxqSNPX3yTVgAdTwnnYO01PHh3P26CfptEPtxgGW7Me05ZtA/LAumjBmq4L3O+2XEse6iZsKSOH5/t+qGNQWGyAaDr/24FWIZvF3myHbHbsKyFkqWfz1yng/OqFAARIv3eSwQ4LS9TGaH/6XsejDj9GVOj/Lth4lUqnWG3nLdkVhZlQqIDqEMIrTCo6gs+FbuGZCznyIZgpvL1cw8SaSeg/IX2XUIq7WoC5yIkRkbAPJbw5+6VraonFfaSw3uwF8LZN2ccExdP4Ipmn4GicTP7rgN0bc21p6wcMtuYx6FU01rrgjJpibphTVuc1OJSvRneV3TfKtWQjeus3SvDWSisrj3y1Sd/T7XTvM2lyl1omjxQmiHAGysfE/HrIeaZLoJhIIOEtznJr60vRbPW2zLxpA8ofako9ySxfpeC2DqyRgHkNlTwNAoSp2csoG6HnFEoFYWZujQzkb+B0tpPUyXvn9x1mUEjhvEJF814fMiZp3Ba3hZYNZ/v0Z7uUVtgdCey4dbcBNLZBZ4NcrCw040aUx01ZuIoVwqxU+bMm7AdtiuSv8+07vbyTPYZ0DMt2kK8Pp6hKoUogtN6TWqe+Tdo1OOA9fTJHOSZcysaQR1fZnuN/MaS73Lo/y5ZESZ1gguAMSmKNbfFT+eTjbyrk+Wyq1S17CRaOk1zsK2pbuc7QWvNJIHbbd4sWnbgFvP9we7ilcy8+DsWJBoBO9EDwmV5YzlqD1HcLyHXowaPZ6VcFevOzp7l4q5T9R7W3NQ2lDtXHsTK5fi0GIg+vKN9S0TVaNjaewSOfYK8JekVea0dk9dYywuMcUVuIjITy6GjY8v8JsChRBaVowOKUZav6vGxmAMVsduTjcWF/8l6aVJU7JbiQVZj1LVJbkKQsFwJgwfZ3LGiooZ6BtgK+kXgrnDxX/MKbUUQvBRwo8NrS0CqucwGQED50Q+4NLQnn5zkb/UBAiIImEiC9hfM6NafekKSfcgNCIPeCLRRhhcer6jkwvAZn28n7v7/A3irllbjlP2RvNvJInTJIBgmPK0WJ+r+xYhC0np4WvDD7bazELjZJZXU8n37rDipbaIASiS5944xO8dvgtOLV3se3R6wOqtLMCzt8QEcfh8I45P1Qd4DPapsIEfKwfyOeP9mw+OmmLOKc4uWD5H+ntU/dQMj9bMf9RtppLDJ6y8lvOtDfpG2hEBVoz+7iA5kqOmcuVv2+gzLDPR6ChkezKrHpU5ioZl4O9CYlysPKx98cwUu1fPUSKdLaJTih7mk2LIMtkpucz9jnveYC7aVO0GwkUu0UcWP594udbUXoSqaVcUngg8cbFphEPcWgcjLFXhsYaxOhhswqR3wozYjW5OmB6SFFmh7fUnSUgJREa2C9KpkK1Y8exBtjrAVYG6paoGD4AhlDDXpvUrpCrtJiJipEq1r9H10cj7iG5U1SofQUgTq7CqVtoNrMB+HCwCmdBlVRG7/Z4kS3H4eAF9Hfdlc+0XfwlAo90Tke2pzgrgTwvtVHCdJ1fbn2yrBBMYxOfvHMiYSbgvORGK1uOAjL9DrX5X+NXc0NHouXFadouU9BgbdIiPGDBJAtLnnttWqQKXp9Myv1j0wQaaxgNHI6XG4f8rvcNAXYemi5b8GEZNO20hmnV1YxNjXgMOXmSyu/kNSiTwVo5ZKdq/zPIJ+/SD4IT0ZkVxSnxJg0QQKvoKTbptLv6Ist2we06tXTYmpAznIa4Getgq8QVL4qpTEuXWLMny88J8U/LK6CrzYacO/swo8dwlSG1hesmSNchAnX+vzpq/3wzERBuelJFStnS1pZlJ/wyvJ6Zpr0VPB/bSykuBf9NKo4SnQlh2eBfYYzBPwXXDRIkuY2SeTEp1+p47vDJqwVKNL5JYUlP/iSs2jnZrRymLzZw0Cw3oX5vHXJERDk5NHPSCwioI83TfGCrgYsJPkCWOgUM9b9d6wc+Vv/cK9k9JzK2D3CslBzuLFiKWBioGm46XVOZC+VQrMAdXG6dHoj/gTSN5sIwiPTOvnfW4S0Cj0507nWAVn4Yap+Oec2WAWT3K0bN2NKGOmov9rr6000Og0RH0IM/p6fvkjEJ8JfsUma/OcvrZtQBCE3m70jqF5+KNcwjc8xj9fwagMi7bj+2ksg2HnYNTyl8MTTjgUHy/Y4a3L5Gn7qBm2wGvECGE7OKf4/4R4NytMjxykC68WICFLeIPJV6dj9dp3LG0s8sVXKv1/JDMBJOIoo+3d/WyoAhBRrOa+WbwSfFEr1lGfDOILhQNEB5VoTWSdkRb2/EgOW01vNnn3iBcsVVWuVn3sn/Bg8jEzcI5GSXWR/+a6fnJ+yI6E/ZWBmRn/NOptUrlEHIl1Y+GlnFMCQ55+3LbM5c0xhuv4TYuw/rUPOrVl07HSbepR+C9a7kaPGE41eAGfUW+iv6bBQOaXXrmRQ7xyncB9YWT9zB9fEDtGE4zS5bTz2z7OZgE99SOpU3uATQYmCumgMtek3NM9x7tCNxW8jrENDE/MmixIfsy5+tpkiEsJjnINkVGaA0CkzahiEthhLU0vk9zXAtVm2OW7xVa5IfhDkuFijRV7DYaa12aZ8Rh/knKNd/qnfZtXWObX1recCpEw+AgCw2wtGwZjoL8Aowlhv7dYgONrPoWWSG66JSVWCuM8EZby3qyj/lX5vLaNmLPknPoTznORr+8tp3C6bM5VNBj5LAy6vyGEbfydN1aR/lCwSGoIFv7Sr1u9rkeuJcBcn1OkqVuj0ojshiug7EeDx9fiL7ATMDpTU8bw7TKnr/gM5/KYSHwM5a95Gvkpee4WYikxZYS4nnt2XXACogXroWt/5O5aJn1xj5IBZFQFq0GQEtuTh/XXFHUFLOrSzlWRh5MdgsmGgnomGiFE3Iv/UOEe6LzlrW25rhnDztHXQvFEr75yxzyU5lNoq0TIODVFVNBOG0nIHS0Cqodiq+3uaRyl6vAXnQ8AN72opxMBI9vqWgVzdVAZnP1kfRei6Hu7osoyQI+hE4FqTvE9hCb4TdQw46CN6V9X7caPxqux/ucExWXx0jZcHYbYsZes0q0YujIO9BQakYS0NUC+dL16W2FwlABkJ8V1VjcRdHqsbNNAdh4zhOP5tiqDBogjQY4tWLghfxnQduzYnLBnejV+mefKYDSb0MU2XNQLl6/DyC1lgtvlOqdk44Sc52MJPSnTtj2KkXD4st92zZtN8PRRS/9VMOlAApdGp04YNLmU12VuTTBkcT8KcL/SIE/7bfCUo+UfErU8piZ6wvJByWMXbnJhAinYSbbOsPPqzVYnk1A/o7CtNCsjU5mmGQy2l+j/72LUQmaCNsoxLZAeO6aN0KA5dh2GWjsAkdh12EmqAr+18CX7YrTs58+5IiJ/b10OZF/+JXHcy7aPQurg3j8O3mLnFKe6Vk/Ww3jhmzYdLuEDr610O1HsHDnl+jn7kk2y159zlSpwanoWH9eDpkac7PumLYioPndZUSTNHUXcWuG7e5Ugf2bykVf1dp5lC2Gq9rV5RJ2pG0Ejr4ZNFpGLG+Wx9+H+U5u0Ff0bmyFsYlZn2mrIIc4yQPMojKJcSD+2vSu1MlMcoiJ3xbKQZ006yQVyDanBmCyqvOyKbpKR6uM6gsKVRR+O5NkVOAGdsHRQgS08V6xbDcm75MJA0DbE9CpH6vIcvLPhSVwz+tD6OEKYb4GeuPPoqx9oRtVTlXYj7vCCDz0sGeFOTa80uyNl17jMVgjdeHFmGtyJXD0wLAkZQbCJfPh7M5KwIja8hTLe2yxlf7AqxUnIHcAp1OI/ByYaxGLeWPUXkKR1OF4auW2a6OBD209ltevc0txNuCzplGEhhKi4VoxSlnlnv8dNwIOyX4WBpOyAHkvnR/Mc4ZarG0wDkzY+O3nhUa0xp8Nz9jqilJxOMQkvJeSGUxtpVUYHX8PEj0DuC+02GpXTnwBKGAVPC6pG6wCpyobX4LBXMTkRg7HOBsCgPbpH/Ne1Xj9OWEL7ZBF712uXKE9sMRhrhBZimRtCnMN4UjIMnYuF0rti0qAEM27yV+MF7ddzeOpJ07j4U/YU0l/upQ+JvSySpF0C8GfkcWAAJ5Slhjk7fO8UpiJxKJOxRVl1ip8VNnymgIHoQOhF4jfZ8kuQIJx8Y9aWjFgFbd6eo/XtOBkN5JBZmZb6XOCoqS1DseOVKZeS1oVUFio3kAbclOW5mM/zVMjMzsbCi1EX62ZrHQNRwqdiOnC49tkgEfdkwnYh8MDIGR8Bu2wa4tPEJNmOPEpu0ozJVzsdQUQ7ov+NYajKSEY5AV5ztNDU6ze/xNAJfdVaJgqgdBB2RLEVXW7Udsu5160Iw15Doo0NA16LdYltzhLVY05cew2Gh9bZKIwtoDimmsR+Tg23cowdE0+GMS3l10Smb3vrmlNJ4pvwskiGzW52QEiSKD4PaGz/9QCymNt71eolUKdLo4NngD+u4Wr6s/owMFuwjjgDzIyIem8aQaSFC5tHoK3vqX+xOPSJXeho4VwPpo8KgP5lSDhnkidibLa1NJ7HRn74YOMtnGxm/3apfu3Lvekby+hIeP1bKz5qZiFALObolsb0NqsRsMyppS+P/VxEtY+xJCCQ1/lD6/Z75AWWdMm7eG8uR1Dz6MEU8t4iO6Zpq+3HFlhMejwpIKdBxhV1/QeKYRjzB2IqwD6mJbVofNiyw/g7u4znmA/ElbpKybM3ue8d0yFdiOz6H+nmxLNESvFFguB8/fVsT5nafcJ7fUszaZQk5wirQVZywjrOZtPpUHsS0EDv7KwyKb+RYSH5DP4QVJ8RYWd5v4PwH3uOxDAimSAywNdnvLqZeEroKIAwcRnFMVIYxIj9EHA6ilHP4XwLn2Ny6/zED+FCdRZO6v34C6qeTxtrQTE7+W6edxner8RvH3zEkTpJYG7h+vym2ib9Jg0RcDm3NJ6xOjUo0MsNJxAnUJCR0tn6/akT76dZCCQQyBkV1YOhA3y/J58VMXJgvyjKtFahk4HBeNQwFxQlLc0pgUZeWwwtvEhlCBh1t/fFC+tHtb02SMZIIbIKzl+u6f+mkSTMoOTfTRcYSpwdjsrPlQtbbVFT1IzZi46cJy91D2RRDBJfXkhIs6SZrR0pREykU3KKLcinFSHejNv80L3iUT8XEonZsg6/ZlRyoZ87d5B/uNoPqCS8YilQA5J/pjkGrfd1DcbIuxH3m+0ln0j81lcDcrtt2KihYxQDlYAgoOH/kW+PZYsuHJWoplOV9AEqETFDSBVWyEmPzlniVZJcAh9Ba60vdOKaWWX8g+qzDPi2G9+OQIAMcafKxj164onvaVcQqsFr3J0ZNS8VLHolO8WkC0N9VnXJjHW7OV4np+/lDe+Aab7VdQF7KuIxqhLFWNWnlJuzH+pDQrpEP7vI8XhBkLTZvqDaDGE+WssXEYO+FG2tBfdHut+UTz5tUUM6GKFGz0ERhGxwqpUKetu08KKys6LY1fcGop/BUqizkAF/pte0aguo3FstCf5qNHhlVuIVKTsNPQg1xSE1uEZWKislh/QYb7ySasuhcwybKQv7rmS8TuNOVPa+/JhEGdop6XF0xDVNo+ORGi/zGLBjBYAHOuPHGmPfi4dp72B2oYleflUOS+1CkBHhe8/kz6pqWklnWxj26bWZ/wv8yw2nTgqUS71cVq3Il461UKbb5dJIcau4wQYrO75bgOb9wm32+H/aBzl4ZYwhOHaw6T2JCXf9w27rP9zhzMT/1NBdSOBXbcbeAmCP89Q3vt0aLsr6yPbBVvthLJmDreJfgNe6WmjZOlk44EDJOsS/FFED/wgUMqATOgxdfKp4SfnfLLSnVO3kEJTzdBn5VqlgLHffrQ1rXor124Kmg145cGEnaDu7jBJ+fAuaCWT6wedtKA+39DBd2AAWW8QKEDrkniWKAXYr7xSK9Z/mvHZWqcPynWuABBg8ngI1OPfAGXT4WjXcCRJqzmnMlpUFn5ld4x+m9rxV6g3YAn3pAx8I0k5+7HxGpYT6WfKdkc7eglcU4zZf/9gTBAVhsPag8V+2VwzskNCzdyhGpoTXaD743L9mO1LWLpR7Esvw58CUl7gN+gvY5qloerqz/xTHHl0S2atT1QS33Mg+kBsZYzyiFYeno/weMyzbsd+Q35wXbC4tIp7xCYnSWbQzOlLE9XZUDbxpFoRSQ3/pLS1X6XU4Glgn+0iqmVOTPMOnpPk4s+l3t1TBiGnO9c1hVw7PWrlce2+bB6ShfLR9JgfY/Z+oVQZMlnsEe5C/0YiL2d1FZIIAktFKZO/nkaI/gKmo3ljokuwNdiO97X/MMKWcwphGbz0lu05yZYXXKsuHgzD82sm3eboiPqpuA8OK8Rt7tMTps1bp19C6JpmgSkwx4H2PjJV3tQERq9HhI0EVUVGPCW9TwDrvEodxjFasbWmMozbsZums6dQzZpDtcq9e/hT8d1tUlhftFjHtvRk6HDu2gFNqC1mXH2MAzijv08n+LV22RST88f/BK7HXPGLLPNkqmmMErW9SOJNIGSnYhwQVbbsD2bXV01OkTAoBFVpAAW2JfBnqWQCZMffOf2QRjG3Y7jURLq61IRi5YJSwFx/3RcRHeIJrhsvUungrtnpFTz40iT8OCo98TXH1L+LnkbFj3mTwwnLbSFoPZ7U/unqBFIHgiMbtNoBiBvzBAQYF/WTtKuWdm0VfVionjfdfBkrTLXjPphDFUoqB/dOMFapBlLIAU1pSYsTFc/ajqON6WNiGTbBBKPFJs29jPEPHFpv96vy9NoGYvPZG7ETqGLwykH/TcMJmf1rnktz/lKqjMz8eSLB4zoXg+eWIAPzuG4CKAlTubpu/RdCmSVV5eTKSVw9S8GGF75jRqZlJ4zgnkKnvtWVXSFJlDNNO7U7S7o5DVLOrfUhFD4nlo2FcpvdwkI4+eawNxbkZu1bJtxURi68euJMKfrWGukWBihGWkQ5j1KExJCxxsVucb9g/E9RhpGxwWfsu/A+Ux4UAXYsw8nihpetlsHAGPwSOQi1/WdqoZmL2nzR/NZjJRsxRaiy/g2m7yDA6zXulMpVM7pi2D9z+38Dv+F1vwQt7zY7ZzmJb0eMFfldpO6sLUSd1CF59eLf0GeRIR9mTogKX9x1tvPqiN4PXRmUbtB+BsJ1GEQY6l3f/P+2cLN22NrN+jOq9Sy6KLKlNC1OUpql4uCQB6FcYfDxMmZwWLh8d/vRnDKqZCnPKHWDOPrJMMUfjlhMQ53fuWaKykpzvgox2I/oG8fICdest8MeUjqzMrjM3dUbdnnREayAi+1Fk07kgC5cKdQbz4rMmzwUiPdZrQGE9KulrQKwgaJOvGlfhizQF/Zioxx3ZLq2zp+PnHbyCFjfGh2uowJTt37VSgbzquSbWRQzvhMY05RXC6/k6VZnpAKGdWLGbcmbjmE2U++txtNvGZtzxXJpYRcQHV4/F7iL8VT6w3QiSdkDSp0ljP0thZZi5VgNQSVOs11F5D9cVRo49SB+vd+Dil3zPuswqJkLcqiteG/LC1ShrdTNh0dl4ST5nqQKcQllTweSyYz6ZAdurgpbdh0WAmoL4kMAV90nnCgu/S2GMvymWhGZIuygPfD3xBvhiKroNhSEmmgCQTMjGrIhJFMhW0XY/mqkI32xJekCUUor3+1w3YBxVEuBskpmkudm4nBpTZADcjdQRzhcHLSLBfXRjGY8BhphuTTv8pSedhkdaT3ekt6baVzm4DsfUjaWl4MO+MmjJtAp1uoOeNe4AFzzRkwyBPWJ8vMXppPfoMxLx3oZbzx2NwTeOWLaPlUBoEJnnmIN8Em2SGjhyIDdlHmRZMr0rFIDPPFAVBoh9nPFVijvrzKY+7Kg2mgLRQCI95sARoQMFRxxlxYoeJkDGVv5EvRQe7fzpeKPrl9UErTUEweB1wox32Em5OTyxGkQHwPuYWYDwEjTrhyIZCkNf8+4mL6uBFWUK1rhaa8u9XSTtRpufCXN76ixqvHbxoATSJiqYWFIYXiIigbxMUDih8oaHrdpQSY0pHsd8kN/zKsdR+Rvzl80E7E+qoZYX+KhffonBFTGFKu60ecOgh9DEtRL2WvHvL2f3L3a5jl0HejB09rMmX/smdxaMYgHLyAD8nEOVR23ijnmk4llZ8vckx8F6woBf2m83qcNlabELYh18MDzrQD48q9uEoll4hzHC2JzGS2Lj5dE0llxhUmV4qBknVkCgZYYBoJYohRcUxxFo3iDzRQh8IeA11YiwlDZkagUaw8urYVsQr+DsdxMzbShSAWJlVa2PkZDw5AkC1rKeF0SWgsXfr6ezrsuisZA6uGTOFDxbBAK7YEKM3lntEBWGrdXo3vw7iw2bNDyJT7Vqw15/Diyo/GCEd5l0u9B6ZCCfASNyD0WhSLmDEN+OtQ2nWwV6Vj4joYoGYh87jDWapmDK/WUrSSshnbCE8vKTT0eDu4deigR7Zb1GONrxFSWv2Tnzv6MyROcgybZiDAsivE30o3ui4mXxqD0dMqEK6Q34y1UBKyPF/1nMIYO2G47kFxIiQkwelvCQdIuPSq4k5lbboHr/1L9xddtfDrMdEbfAADDMdS5Adf6WC6lMnXJgXVNeIZCAj8gKW3myGFOvJca+STcyDEvfX8nqxoq4YfiAY/dLHUJRX6dqStCOgRQ83dWD8GKtAZVC8pE2xJNOGEFwv9eTwIbMothrtHfy1DIPsaH+DualLTHDmXtXPfO+1kjjTn90uEwF4xpEt30OYBt86hzphCy48DF+KlcD3/aia/XOvrknVcZ3lXXh7Lw+Jxfaxea/ogBCWUoR5Orgb4w5os4iajMjTmARQX14cHiA7KayizkDZh+CJ6WSw0zrJxYsJSPiNJ5cMEVi6Ebrb4nIxjy9Z9apbtZhepvb/NMWF90m0vFKektRixq8y0ZEF1UYLMv3/KCcKniJxuKrxSanXyVK98yZL87dn/vSUJRYDbMn7UB56NY7/jiRDlSloW0wqa5KkqGZqzr/0QUkFYjgoNw5ekciIvHgE/LrRhucFwCPQIFSaw8B7QfYAO4PqBoWs6++pVKySpQmWDBKqMXECA/gQUdq6yHpfPWwd0pzigbsfJB4VCn+HSLZPgJwTvN2CaBEC1QGmCE0LqbIQevZaoarNjCiK16C9qdfx+LyKKcfs9tk433zWtCKSnxgaH1NkuO7nRWojCNl+Wf6MZQNfeVMAgkpA8a+NgXPRiEytzxq8ePzpWWyjpRs3Msh6n4H1HYFr6EikcNiZWhmjSvGlcq4MrE8WHZsR2+8CzfEc9O6ksmDkkc5aJUCZRwAwp6RnLBlj7xQiCasy6AykUk/wOv5P0nRcFbRiPH/F3grxIuyn5hRR4udtvjqZE0l1YBcRoy+qCsUfqdaZ067EbsXlsIRyeOfhPtq26+Oq+ewwvjnyVaYm+/mOoDPyT9T5j4+6ts/RaiBZUdn8P9y05eUAVSl9mAExzFCLxK93Id2YLg+DmejPSVxB//bY5GbViroYEFgjTZ0VXloWJ5FEXu7M+vS6TcaaDMBL43ZIgzgU/tHmTw2d040D8moSOnzOCXhN1UUsHUp1PYcEFFreuDyhh1FuLvK+dApexgUjzKtUMQZCSSkRXBWm3QpsFmeUtDIIdOKFEWHI1skpxaEg7wcI2BWf+bJIcs/6mnZlGTYr8r+NueeJFgjaE/OAqZRTT/qyY33BrTVbF6pExEN9mh1oj7XATaBcjzIWnyVBbm/y18eRFuE4dAnNd72wUDVorQHXh3+/CiFTLQ2c1n5gocAEGLE2t+Jh+zoHe+NWp886LlFfmol172RGup8KJYXka2NoaiK68prhMVAvbhWQKp9yTKQdMsncE2OIPcYjYhm6+/5XIa/zrJcneHF9XymPGHWwGi/jc08p2m6KQC4F+I/y7fVBPL0yl0RTh8KrT8gGSaX0Lwe/DhsPHzI58UZ9b7Lpq0eiEJNnaiVhdNQRd3gjFCg8uRs4vEJsBZhVaqXrVQ7CHhVBZyJNm5QLVrxvC2v31PXrDrteY+Bj4bxd8sRBkdrtj5wYxZ0aJ07VL9V4NOeTmQgJpJEj7FaqlHo4c8mrTK0RBm8+oYFM1f3w7gd2uBp3SKwac45KTm31swdM+4pa3n4f3glpOHcfBPncTnQATCbywKB5+ju5rRBby9IQuBC7DOCqpTeIX7RrLAZayYvbhOsSkXwgfdqy0rfPY8yzE1GITKFY01zYeL9uwSG/kuzfs0+2LWO+RIt+F6NvQTR78M5NgfEPBhM9UUSRW8fyFLCg9YuCYB3o8a0WRV+P9o2SbKOWcXeCTvaOam1lLJzhei8lLjXhATKUY2BYVTVsUhvbN3+JtCUrMHuhSjp02NBGFdj0Il/wNgvS5oMOVHdjHC6xst4bnM/2eBTg2tNmt72eF0AmDAwWnyjFF6vnn7LIVDEIcpArEE8PaP2wgHnjIat8hupSHUftdrZfsQdOsBq2GaVlfGUOKok8+cYsB7we7qEjHfetwP87e/iAuina0fZBotLStnX2IDb1eZ1kMwhG0IF6AtnGDJ0YTpUvTO8Pz7CqqFsKpdsIA77IIZcXXXDxLWDUr6epzTMeXAKWJKULeKCbtzzz/a69jOtYkb/UrRN1SJctCJtatCZK6poK5jM2WapsMjtH4U9JAaC50MQqeneGQtVrXhDihRe3XqARGqlJrUfZcOuq89Qwn0Ybu4ATlcPwJRBEB0PKWwOv7Otms4GBPdy2EqRsrA3uGp6CbB0oEzQqK6GUimO5eLbhPW6I+9xAzPr/EsqiQt26MJQ7jw2CryZ+8uD52A9T8+0QEudS8DQzOwyLWAMzXk2DbzisXI7nYSZlreebkAmNK9lfIcdpDq4kHUZ2reGpVSjZ8+ZQZozvrmEyaaV+PhiVRip3AKpa72uj4Q1lBibEK0XJJnvt2M7l4lFDYmN5hBZnyGIVeOlIiYS+i/MyZHY8itDac+LjZReefsQLQxPBcp9tct08M92noCI4SBlYTcD/iTwgo/CpfYmzYtuKQQQJlIC6EpUJs745KvJRd1rsJRS8XTljzRK/8Y3Kdr7EVxCr73rXyexREzgP1QWKtnzA4FER/5D3R7BGdTznPYR02CG1lkkkhD5rMm8C1rNrk40uHUWCW6diRC1hyotRAZQiB09rDIzg5nz6pWNfDuOAAZnotSUt56rxeDtwvyQ3A17ckUJOgOkV03jA55Bm/9arMuBb8dFusMWm8zPb+HRd2Dv6TIatu6qP7Y7fhYl5r84Qw0ZmCQZ43lTmoovvh1vygdt2t1KS5bfchoP0FXSKKnIw+o2CcfHVwGBCg1MSG19sX6K7hsc6w9Xh/celMZqHdvkmT/Ev/ZJrDBR8y2lsz2pPW0ezvNp8LzTEKs24NB2yX+R1GePw1SPd3sD6M0lZJPhbmmwyJqPvvo1XJPgBsOaFN3OVfXPdOhy64DG1AG91nMemLzJ2S68cKGzwbw7EWgRnoUPwHj/mQIdO2hZtoz8AI47gGVp8gP1Ip0zw8Fno8KYWawF+0tczQtzA+NcQ0uRBcBQE3Git2RAuUrANtatNqL/0dRJL6BfAec7wI99eg4qKzyv9lDZolM8Z/3BMZdCcn3EOxoAi/Q1WaY6JYjlYNMZDIa8YrdUDnO2xa9hD/qXi5FbFzW31H9juTc8/gzQppGFq3pFGqjAREenE/5NnhYrDlEJVow2d1DBo4mH1HasX5f02ZQp9eNdSN4s2s1LmxyqDLlw6417+FehAngFG38qfy1owsHiF/4DCXcx6i1M1ICvEkq73jMUylIkUEWcgy7Rngs3O/+DhBucNGLYwtlSM+4HMXJfVxW1jTiG9trCtAlzyYI4E95mpK3NcVuzyHHTVhahIl6p6QQLEX9c56KBTA5KezeWxSNwzONTLNsyWlk+gtvon6N+9tZEWv/uRmG37PqvbSZLO/fLuTNUjyQiUUQwVxqh1DuJEQ22MlxlmuE71wKQAXuegaYoeTyZ/ZXCEOU8Fd5qI4BfKc3+DvsS5R3qib+9TjtAXxnV0OywKFNsYejueGuI4yF8SXDMeY3T8q8cxUQqy5wl5vO6ULlCInaUreV3ZGs0wZzevt1KHx0xSJNqT9Y9WhACxZuurRl+0+O5rgiES3xn0k7D4bDHP1l9mq7u7+sfsUkO6KL2o47jEw6lOywWj9tzU2lZGgoj6voOr7TdABPmiusCgP7mw1Vu837DlPccK2WCTe6KBtsVM+TYu9cH4dx0tvWzpBcCTUQHGoquzztqNib0e98JCEhv/3X0SgX+KnTfMgvSiQw3oIlL/VLZ4gKtIt/UR+2xecSHZ6h0WUG+jVq+bLWRXHnRh4/tgFujEYJkOsBzxsR22Y5Cc9/dl8SJIi5362LIZuOhUmw68k8rpY/RdXVFlZcS2f+quTMr3pr45Frabegg0MBqWLg6RAjIPg2RqwgutIAAAuQbx6IxmuEP2niBkLcopUTaGivJzD69hiDwvoAz4QpcQ0xWi0dgmUuVm4g7MNU92qaHiLv3a5mX6ZOzNVwjnsMnH9tzg/FpghNdZLhGHCJe14IZ0/qDNjcoo69OgPRg4Yjtx9IKLPfS4gQt4k8VRLB9vi0fAy66jPRxeEblN2r44hoRrsIQLV1vIRgL6ac2pApj1ajT5xOoniNVbIApUmlSnwk48gPUUd63tCLYKLTeSpc2IG6t5cgAn2X7uX55jjof1VJSLGx/RKRvBrZ8g3PAE8XTRjKV13tFFvWVfNC0GM9NZo+hwMlb/4fkII+r4d24MwrJPko8xTAligRYi/1oWUw/yRQg69XV5R69rrSeQe3wi+6h7zZjusoVprBRFRD3hH8+iCjIdU2fyiPYtYFDjmzMhfv/kt9Cq6GeoViKS1E82HDLxdqP11SQw9nZUsVeXBC5GDXmLSIjvUfI8TAz2HRasSuHMV1FTCCwg9Ci9KiWOanzCIR3kA/fQ0sbFpxaMhPs6NcssTLo6aftin3ee/dVDBVcbFyXhxRfgKxVR7x1TEHOq3MPlBpZLntshSlU/jsUufe2XudEpUor8I36r7p3SAW/GAfp+uRWlfifHzFv2kCSOncApdpP0RcZkm+VDVPN/KXrn7JeI8jGu3wGuc4e5mxcMGh965rVLJp8GkQrA2qPjgMeOXgdKAmNqXCZ3FmHvj6BFiGFVaPF8uQe8nZrvp/AtIihl5lEVQKvBNmSwaXpcC5+ovzTau1GGugMgw8tOMfM65s2PwhEY7Q9CQezGy6KDkH9kCRurScJeU1sQK/P0zVJm8khDt9E2GZ5PueYNaqvCxKhIfNyeUuC4cilsVjIiVPkCp7HQkpGdbbgTwreQzA6Avy5wzZA9Ixj9dbrnouVg2rAojLJ1rmf+rrIW0elORck52C3kzre3WXTBqqDV2G8bfHqB6I/Abm+/k1lJ9wCPplwNxkE55ibpS1cXMvFWRxR2KPRgJmVRcGtziKUZXXxCV2jbzHMPdJX+HiPqscw28JmyTfB/r7DRdUx4P+OFcZOy6VxuOGZOWi4NH/6qx+99piZgw/sy/qhhPW3Uxdia6wbmEzFu5l7mhKCbbPMwFSsWal6u9HGEIuRaw2dTzNbeMK2YvF4lk1sHu8gS/ad+KTcF5W4YtfMwvpeKgcC45IKF0HwVK72x4LauzmAawGUFIIocn+ePaL6UShA/4PHXYxguZh8ibJRknuoHL5K18ZW3B7Ml5XYRKzLq8a+s4VSeqqYT6NHYYHU7NGCMXg4jtH6/epl60DuTjueLVIr+oqDJ7nTxp6cK3kLaDh9oD1hnWeu6Xgkgu9IFA8+F2NeFIz1nfJ6FVb8K/V2xQedHnahg6I5EIVJ1yElisf9eGnnVIacFkEAnlGsWi6h+AAL4Q73nblJepeQ9dZfDYn7DtudkCoU3hIj0HXECXIXOY/TW+UdDEsXk5TwRVkEnV0yoaMh5/MKtNjZ6osQs+9a1x4jLvsjrhGfrmVNsF64rZOltiVcMpjZpms5NqtR5GALZacEkxgJtvRV7O4DtLetHxEfi/baX2wtiMnrYf0KxPr319zJpwre/d+0HZaY+B/X4nEIlVwIJ1njCnXpNeKYzJmUXNWPNYIfUKn9Kd+gQLsmvx4SwPgXolGtSzOihEZQGmGnzeMf5ZZBkgN8R3LKfVgPRyeDjhPDLQh91pJYa20n1AIV8N+RwJ2TpBSzrSU2iYc3pIzL+TvxVgF/H0ZkQfJsTaEqaczkVAWGCGo+jD6sPdHHHYC64AfOayIlwwZl67FXJwId/1m73iCAdWhbxD5FasIc8bGsFG3aHGXEwNHVou0NE1kl7TYDDydXy4toUPYOLKkaiYOPRct4B40HI4vKV5T/Tak2qQ8wSWShpQOovvpwbOf6K2JE9HNmA+Jxtnxw+yMUA/p1DPWoyzmrOec1f7aKSpxwLkCmDmKuUYF92TF4nli2FDWxqxf1DntrDw2BykfyFDzqBChRHZM1Pq+fsh2+uCKtoiyP9dYsa59WUa3PqYN9JLjgZXPJCcDJykZ9VMoAJv5p4t+4rwZ1CZ24AgR9CqO2Xd/tySfxRk1XtGMaMajxPAap9tsLGUoQl3rAQzhI6oqzmQoU5JoFwb37Yg+u6bOwZWyGVb5vCgWd9RmB1NfoRlqLRu8dcwNbRB4xUXaXlbK9Cu3nPZ1GYNGNC/+S08WX5nq0SO3uktNiItD5nZ6vSBZhG9HuFYCn/z+uw9TIjINYxAM0KsTPDbtlDgom3MIvjPaXCFva2OUaoxrmIX10+rpftCJLKJARiSSQyJN2qMtpphAU1ZuwYa4KcaTzyGPfbyW9zo41OBapFwkpZMxfPgAuRkShnmuJLeMJAA5l8Pkd75iDov/SojFfDf/hAxi7te2lh1KfSArfSF3n0G/bAR4BjIQsd5dbbI0xG1D8Im9i2UJJz4lpNLSLK8pndFHHFCRfX+7GKIq/63CSvT5CUNAdRMuKBKmfulbtabCuHrK77NMPipagz+x8zpRPCoLUVoLvpunZGcHIPOVTmFWw1WzmPggABqMcYR9ONZu4xEFjmX4JbXAACKEwXTGoAAA5xrGpvTRrdI5N68nkeJcBZ3IsRZKDxjtPcw7hqpPOgq0I1sQn4hGuZKAQ1drJWCNzVurJG+Y+s2XLI2WdogduuOq/0t4l6wq70QVz+Ycj3MF1YxvwboEtg2vb7rwipH1s/iTvVsF0wybpMGrilgkv21oCZDirnAwmlaN1hC3i8CbNaeCQuNWN0ja5dC2mj8BlomYPoTWkwvQwzA0T1WWQ2dyunQgpVbJxOkGOrUfijYNO4IB1kinbUlYgxPYT2zpOSHa4jc3Ip75N2c+ZmIqE1WEEiHUHXx4R6V9bi4GqV++JynndaVImZ1/V2JtG/2SF2gDDjEQ5qGa793iObuiUB6hyTKWbtaG+LpiiuRu9N+jTiWflUX3Vl1FbW/R1ZI4ooIWVsrujZp2GVkEpOn/6xjtzzuHgbSK2EL26dURNyMopY/XdySnvECpFg6TRsqL05R62+Kz1O3LoeyQCuFknnPrn3+D6EQukDWikIx0+hvMF1Vq9lnemPbYHaWV0rPb869UMf4XXXZ1XzpRj1RGB9iPlcJkukvjOgK4ZxX5lrXTJ1/ib7BN2sf8mquL+iDqvvl/yPka2A31+SRejrzHj12qd0is/wG6ze+XWsH8jAjmsOgfO/YlVU8GB625FUs4pYgBoKEywaxqQaGYcRAppVG5UOcbDcbVDh4XOzi62cUnRrtDaivXYGfRLPxHhuQOTPYc1b6JpINDAmbXjidK2F3RtmZ0pltzXGegWmn+jOBcDxkuX3fxzdV96vK4m8g4KqWkFz2/Ye9qPorqbaTpkmZctrPXnqPJAlGlKabfsiM9gewvMffGByyckq3DFN2nHfx8Nk7zZvi1udh4276MOPcX8G3W22xSi1kIvYbX6DfJIJOwp8+HU10bU8/j+j4uKY5tq7nsqfhjlDRaHjW3jb/u93uyRlVEkfUBFhuMGog1qOaJLp5yrekcMGAxJHK1tOGGUWGZvm27X5yMo4TDKBt7K+DNYzMFPGLOYO4dUpANB1555qwb+5v6+tfPLcI3kkc+Bi22r+84b5lYsjx1ugZZgyGmFmg614CD1KKmsMA3FyvCEahU3h4+9pw/GpnzCE9fGb5P7P+WIJHVZgbGUehZedHWm7e79sbWiXl7OVhvH7z36rAjOPBIhPWHTiWz+F78xJmkyk4fzJHkucZxURAYwsVkEt9qWKxSViv8FIrte8zSFHDhautllS3MaLqg2PR2Gzx1zVF1Wo95ZoqjXBh303NNNX70ktEmtAYJ52EsifZjEj53BZaL5qTUzM5VIowd94szNL9LCvmai2xDGP+qz9OhN/xyDoB7EnAdOFswHtfbf4U0cIJe/EF70DZRKnpQh4xaTa3fL+UEdvD3tiWlrwGGswBnrU1evrtI4frhfXzJqXjEeT6wUapcVWPn3EBGWdvJMcDlzIiTZaWaZzsslVscwxeq4YU8Mox7qA8tQKGiH0RPdA4Ca1Hh/ywgonYr5kyQeG9mUO/izvjItK2x4fBh1LdRDWURar1vAm1UifeFGFOmH1S5B3mmYxMthTI5ZbaILVW1DYyXfp01Nv/y5x/CbosFV1zH0F00s/SuSXy/9yQwRUj31R3tEaUruJlxq/rn5ZUCWyJqslxXF/BbO9jYlfoHq2pFMDBPnbcPuKcUxDlQGQrvK2dfG4LOSEky8x58dH0AvuOMzzpsyBdJHEcFLkjXbIgQwahOaOHh0Pl7b1cqqlO/vmfC1QaxuUe6cdk+5ZbV8G0RcK7QAkFztYrK8QKM0Q5tWGES//4b8AYMD6yqe8RCplgoHqZKoXniXtO7YD+W41nA6PO/5JwAZIL3WbWIiojYgbrzd6ZYmWOZuLtgVdJkdhO4g8Mq2jRwsdHyFbC7W8dLhWdhaK3KDCE3ABvj3QemcpmfS44voVNfuHA6r6F2HgOGi7uRvZBVKB0MhVnKcJ7pWPOWkmlgw+3PuoHXWLlE6nne5z19ZePS9HVZcUiIg1WB/SUCPUH06B2p9xC3FzDYxRC9kefsWngxws4Z/bX8W1x8aimI4WEeFSbxE4qVB4BHIT4ICOYR1ktxsDIu1NPfrct4iI5fQWHegUtnJBcRqCNBlW05SXSWn/ZsOcvZKd81LY5uqeoio6YQUokOH5gPieray1ncpAVjX2/XlbxqUJWlfwVQ1/SjTHJmFNzhaNDTDFggkcQdSDQMURAiD/DGWe3IiTuz7h7QxjtcgoSW6azNjUmOwGqRfrc3DoilYNBn89CaMBVaUsnQyrvbS/Jc/+raWYk2Xe25Xav0hcE+BWUobwIXWgORnlGadn5KiAT0j4wdtZXxzajWT/ZOY52E4Wqz+U4m7ahk6jfp9M/58qQNxiiwVnESTdeXu82MhlVNz5p28JYT7PAJ5QlVsT+gmy2g4yGGRkRTn6QMvdQTetF0K2+yYWjKLr0IUcgx2/ayriY9uGC3BKn8yDu+QPV9kr0qFXTX5dgKlaBD17HA2nM1JVRVGp6+VpPwjcgq0vG3tebb9k7nxVSCMvTsGkL5G5qqxFHv8aAUsQ/5yCuQ1d3y2OdMF4XQoQI3dvkxZK+A6Ad2JQPMJecnlECMLieo7qOaKblWEEAAvdDjdRhNaWXU/kadL4X04l8NIgfWF5MRO0QqlM1hFcm+vwbe8KffA8XSb8dJiS2FPwlA/Kn5Cnt6UrMzAs5+3ELnxYDH21v1+sYaO9M2IqjhAATFJadJG3N4vJm8LEPQlTjkuf6IT+PGV5TILbm6Di6NQJFSIokACFNYre1W7jyZmFcDuC73zRLXrPEbzxXqGaUBUBmPLB9/NTH8nzmWHmKV/l6ZthTrXX4gD6+MuqmVOND08yIEC63kgh2WD5iw6K6avAp7BWqyARi/wXfkIpEvgZhV8KuBXjyGOkaAfPPxMHQtwOphPHhk1DxYalNjChtE+ZXo98RH0jHKZFQ0IzNyhSHzOU7KDCEdwCeJb/pIGz7hjIg7Zm8PJ6zYTdWjnxhQ1SZms0CFKHhmwFjSVFnZ5i5j/qmKOp7QL6o4YpC8HstEWzn5Yaljk0VzF+x9wgIC8mEImEJmDjp8L2I0JM76pEjvPEsLXCoCju5Ai8ibK6Nr0PoI5V5NdwQdXk6d45bdiHKBYhracn4WpxlWizRneeXrDk5OeZaFTra4V31tkan14RgAmkn7ygckrpF0Xxi/5aZj8G3EeKASqdsRdmWWhjFxJC6QPUB66QGOCGvlZZo/+QgwBLeWyhp2IPwWeFo7ClwqWxpm4naHyT4niK7yXzpYGiZ2C2W/ZkOC2qX7Dp//hWxG6MmnKHjKsslFN3ECykFtaDaJqlyb3EjDjNVTAT8fXjlOJx40vo5Y63GXlUpVfnKQ21VRsfnbexem6YtDUcHvDecm7qMUEAAotvRL1Uso5IQbSD3HTYuBZLyucTiwWCaJ4cIBPHtj8QKONGcUM0yRcS5T7ljgbBFqVUEA2dMwkFOMWj5Xk99tccasVe0H+M3/KCOe9u83lEu5H6F92Pbrpu84sQJrqHo41qZwQBrOMiTItYzFjxTuEmU9wXqcJs+y1idNSlw/oDAXM35ZgX117Dw+qONgxMUX7ovqEtQ7xHFcChZAKwx/ztFCh42SR+BnVIqD0zLHYSomvYLkHVoEFa9z5s7DnhMxBTRHByR6iSE4nIPEHME1/9XtvtvrbIsVIIQ/WYQx3XaEZYSwuAbrmAOSFhTHpm1jHkn6vXPg8szdiY0M3DQ8ejnvqllV8qRnG9zYlEEsduKKkUt83Xbi7TnhjNhJb96iHcpCHVsL+x9U6KMQBtSSSrSLUquXJGNNsJBIGTu6hrUTstaxh3oSY6V7GhdI9xSDNtSZaZZtCnLpJ823VExN9tLR3zhRPtl22i5+FGWUFg8lTbrxh3FSxvHfehnEq5W+q2YGUbT0oBPELqtlXqTaWeR4EaBfjZnfjl3/a6MnhUl6YVuG8GnP0/o/wGy9GfbVJez5TarPn04FVCY83R45EkzcLf8j/sOFOCDktFXLMSZCHWnm5CStBg1l78tU5q/hInRL/urCeI1fFdu6AYS2jPvwnYIvgq2E2cyz7ZfRk5BU9PvpOO6bkHSjIYDIUzCgyGPGrsmSWiXA+4+iLUSIbWZKl2mU8Kw43IpaxwTtdIODy6bvb2YyG/aNPB+IITVahKG25gfP9ETaTDT7Iy4AjZF7bMUqm8b4gSQCMvIPQ+kiosES1/Gk7Lj3Nn8aFOE8askrKOdGBzDn6LkCY/4FrPjOaNwDZQwfP5BTf1uoKQqMHwnCxmKpBvhlrWEj7SFcVyJ+nO6lHBRvlFzgZWfO1mfIceyj+LZpuqlyna4MZ2dK7BlmBUjcrUpaqnYJC85fX87vWg49et83S5ZULUWB8dxzjbPWSAc9EiF03hMv9hUfkiNGZpVHXOBLCUF6Ngiswfb6CZmylpPJtQ4TwnZ3xkRY4RaIgTYFVaAQVzkZUXWocT1NNoctUqeuoOubou94zvXyGimY86ojG5Iq3vH6OMZOgSswt7BjWPJt9ydoh8dLq2baBTm/nfQwqsk9nrMY5qKsBsa1ToQ5rz5lzKL9bJc2TNJlHE42yjeHZoiM4ge+CkMokHI/BD+XCu4Apsfoj4DN5o5+3u3RC3rQmVjSh2bm3Nz8XZcDMsrLQ3xhGNMi0th+qJY4cVVgztBCmS0D8YHuaCfvKlcPT6QCvEUcBKggj4xDc0sLiNClWxw3VNdHG5LCv0KsQryZVxCwXpTEWpYSQyPW39+kdoiFDsUuIkeqFPc3fndfYcH64g3+719QYrbeCCoBLmNOgETStoHVwhDDDiHun3Bp3H4sHsoIwrYKmQBE/v2kIfwa8HpO0cdo9QVIdXVrUNLe3g7aNOVFh8U/0/Ub8Xv8+50H3eKvoXzW6FYANF33vbQ6x7aowALWRmqqKNkCr91yFbnzgk5uo9U0XW13a9HoflkQhLGwYnGGgFSsT1m4hY3NuHTy5Qyong4Lb5jtCfBC3j0zkAi2+Vbul1vTFxNF3RUagOxtOgrTweoa9Pi55WLi9etXEpYw05zpjmZgSuy7m9vfZLq8qRt17dqdgtdbkakal2IUIaGLZSYcuMTa9Nvffg2U+n/a9kxXF0Hxpux1uF0YQoWj9xMqKOMfr2MM7XnI1Uk8RelJho1HDIJC2+g0vitVGftJUkWkvj5xVwtzUEOEz2DX7QXAlVGp5o9HOj1CDMSQ1y7TaJF525S1mp0Z9PQ0bZvhATAaw1grvioef4pWHQXSYvIu9bKqfRaCIuPDUXmC2KNsxRVBjEsZ4nP8U406ByEcxg4mVMWf8Z8Fty62KOH6g4Ar2lfmN8jAx7wKi12hE/+aEcNSceT5n7DRka4e+Ih2JkVgzupvkR7jKQskMIhSXxpYMTbHUkmjavTXJ7JBW+i2ozqgWID58YLz0Db/NvYg5BdvUuZG8Xr6GpyCN8FHoYuheI7g5b0rIuuYqgZng6iFA4Z7OoJuK4MEL/jJORsb78AACkh9j2Wb9Hmh09p1XGXtwGRC4L7gHplOYB2Eyz8zMTR8TqlxQErTQ+ts2/UePrsCQH7t4EBnQ5Ed0ClqNlPofbVY9vHfrnYNBKg5nazwnvqvTu7U0XTyECsIgjzDBeIbVperPGthU6cMxT2XHuG+qmCZlvzFEE0bCjYpUJzkMO+wxNTcmSsGuecI1ZQKOUDz5rckolXrCJs2Goms8fFmX792JWicDxWw1Y6N7ubm7jc7H6+WDJ72ZL7FeQdi1SSIN2teGyJA/Z8zVZqINHH7666FuyHVRanXKQzhp0XfJcmTi6o7iaSkp/uxChMhOe3LqjAuc6K+BJDblXgIxo/XcpLqmrSqSKqivFTO93Z7gd9mcc6eB6iYil5P88h/Rx4OwiUMKxekF7q36OVpURNMYPXwEJ26gMrDd6JLV4jddpDUv42lwERSu+MtvmQN7VYBfwpL0xsYRf9pnRIEY6Yg7LM62gESV9SwQ1anSk6mpeHecR+hZqc+3BdrCt+Pqg7LAk8YbR2InnopdReMq+U/PGDQvFP5+yvvVBtUbyjbwBqzn22Cg22JwZHLwsm5EjcyyqYIXGsr8Sv/F3LTBe2ogJEAwegAV/fi8SesS9Wdur9pVXbNJQLQedFVrsGNvdJBfd/EtzosSNqB8ZTM6grFBpAC1W9jXafVTh0vpP/s7egrz8W6di5TJn0CqNxBF+Ri6t8DFGRU24uTQwPT4//4MZmY1dUqsmb2srXqJ+yj97TP+CytwM/zRc7AgzViBPuuoXfmK4dG5IAA4y4WKxvfiAgfrXJxW6iCbkzWRTaivdEO3LuD8Ip1uHFeU3Ew+zOq6F/3d6j4gvta2TWBduYgnBYXsVoMWXqa0LOvE+eNNyjSceRtZFNi9vY7eELFzSHWKYyYRIZPXY7hLJ3iQgmwFCYcyDi4+gNwOoiTe70anW5FsTqqiOspEsIquCNFHHcDADdlaplVpCwTL1PJMH6cCv3nuOc6aITO8B43VH6gM3OkMFCoyiy5wpz6++AkkcZpJf55wO2xktNGE9npu9h6vfDdZrzSRVD3dsIbwqg8Su236AOCrNE2jvb/T0h1FKub6O0MsUhoA5ipCzAKTVm7NiYbpi3SBxlTnfiYdIMstGoBJe6dpPUpaS8eira3/HP+fEL4eW1rnGmdnSgrY0TISgHkQroFdn/lb5voVCBlgb/FEq7JC4NrKZwsIHbyBKfiYUSUf9kS91//Pid6tvJVlXy3I0fu2+AEhwMAGfnhTlbb1dmCWcl0scfjO+zhX0MrqbbLhqfhg6ySlwo0Ux/np4hyemhqvEfZzVwrDakgbvnnNxb2pk8At8QyTY/PjpWe6l6yDmPSQuetEOF+5ogZ6DmSPjEdAd2nVveGsFuCK/SwWofCDWcb9bJrdHzdcMOZFCT/aeEnPpRwlIwgBXthE1i8CPi3eMCUX/A3X58lKF44RVYF94YZN2m7BgjiC/1j1ciGnAKTsxNXJ3Edw58Wgf3ZINn2AMuhNv1+qDjLQg2Rpl694+sWp7tBRto9j2GvyfH6koc0HWDFU1/TD9Ru+f3hvu/1sVlQtA7Jv/RoZ+mHUxEmAWggasGIz5zHhFWRyK2nnCJNxOBE2Zg/+XlxKAXltk1Ty336g9n1zay+vc+B3X+1iEKjHGb1sqA6cPXxNQLj90jh9PPGdhoYOQJV+kEb5fmRc2hq7xx1Du5Ut9svGF+dBTGV4yI7bocEjDbkjuYPp43gp8YgIajQhKOr56DfufcFviqYk54Tjdtk4Qgj6462Ndb/aL47fPG0imzviu8fA4qt1pULuOe6c1GETRd6NYq1MT9iSDblVcYTlg56NJimCBA9LVQbXF29mCYOxAf3L5QOn+P1ns57nk7T45MmUav4NzPGy++Q2kbFwPJOZhWz8dW8OdYs6KhAV0Hrfk0MGDejzcy8lbCOTMfyWsIu8guhnX7n6Z7rQnVa8b/OJnKlSANn2FhDHUNW6UJFcMEmwxR6fpaNeNnDXzBfIiQKlfC6YW+gWyJ+TGDoLv67le9leOzAu0h4Y93sw6dP0KlXjMiVs0fmiHmY6uafFELDTjWS+HJ9qZVs7uvy0qfzhp87kxxQkJ3/PO81mshBi5SRiulkovIdg4Eiwi4TvoxkAsrv6t4A6Nsux1RN/0sFeN016Ay/CqBfMdGV1q8O95SJ2EjUN8q8jBnyivQsFica+p4ve1vD+I7susK6lc6SOzZGcCtLk9R/gGjKOF3mN33RVo70j4Q1CIslgnha1GL00lm3/q70MOm19+++N1lON0upwHpLvA5CecSJdZPefp7RgUBLx/ukvP1k/bneLpuS8FxyAwvZBec5SZZCs6/yWbblQ99+sD11VaKhlsNcWZdf9aKUf2YARtAe1ULaVxyl8msv/zU77didDMcNR5KyLor2WmjdXdugMyUfrs/BWRe6FuLCFlojWsRlBzAD7bS0Xcxs/ZZQ9OEiXlH6f1ZUWLeeA4Epz1WoJprl9upc2iC5w16HCeEGWZs0s8anWUluXm8lwin8qSDcrkjb7KAGehwREiUk7HJ6Lr2ZHChnBAw7YON7wsJXjtB5afP0+g553E5ek5EIKCUWTq3e1h5VLGF9V7cv2sK9KxfGaxSwkAABnSgIuXHsuP+nfC6ZQXycdnsY4jyt4muPvz0zlaZCYckZ95GCqMpWz4u+UQ+eyNaWOc46wNdzMNt/W+1j6hZxwCc7n466JFbFm1M6YR36Q16XAbnuwW4HivgXZoerjD9GhJPWNWtdKxCf/gg0rQMo4RFJ+TDfovcHDz8KxOe9OiYQuskBXaQLmXPR8v5oz/+2hhE3kKxeQSuWFd1H3+ShHLV1uHt8B++9vWjrtpfUI/WyAbKAM4atuXv6nlKuwIAIsPr6d6sRX0zuexIJ3YQVKDP7AqwPG013+phrdGkXfVX+dEX/rd06Vy1it5ADcacIymkTn+xLTBKKJwXY03jQXA2CYLdLzYlSOqzMSrwg5ipQrfKQrRpbQUX/bQv02BcywCqwbujq2018ISvXh9sKwglYS00uG1ANEx8CyKkD0lsCt/fZln+ae2hRUMk4/S0k/ygGUMOyyjlTh3uAmUhpoP5+59P+IKKfoiIYWhyysxBMsUIlSPebtQc0r/cWNwUezIpfW+PaFb9AWASiRjukcO+Im2dVBOa6gvDlee0guDk6/QvSBCrR3Hy+CjYV9GTryqO9qrwO0hxfiiXOe6+YeDejDqdzm17jFtcLO2X5nx7UZX085I0eY3IHsQvind1eldRc709kKpx/lc3VXebLz2mjRH0lVwIj51zd6CDLECX17SW7SZblbdkdDUGBNqDDjWMVow9zQp8Lasm5pgyXxJhPo/1Mnhcv9Jscf+HosZRPhRV0157dJqN9mpTPwF9LbIWgRqfpxMxod8XAXrTYOpNnwwAxb1bHkzjOnYvX+7h47QOvxLAq1sko8BCCWbWVf1I7fobMoihP77GCsz8pMJ/+1RzyeZSO5WbmiH+QaMKmaRMYDc/l8nYKDTDxWJfWELRGKRB/+9V3Onq+K5UfwFnm1fbYcSrSrS6atEnyhuqWs1idtAkUba64Y42xDpdg7t8T+Ep+zEXj2Qm8p+ALrkTFLF/8ws6HK8yJLyxJcr8tK6WIOlRKssrlqe0P+ihla68SATYzVkRMyMI+oE9WoApOsWg5aB91Vlk8Bsxe27+e5G0BiZN5PgAqM7DXwQidaZIbSShz5jXr+AJzrr7lsqv8JRAW8uQZCr8scmWFi/GmTCOqnE1dvmnl/dXlfTB+BeYIp0xFEoXtzbXOmdxgnShszRsu9REp0ZcIbDqB5crX4XLSOfbWiHjXD1HGnSl0DTfNM66NhDfRStOWJalbTEvI2h+0GQw9hAAdzPX13wp1oDmEr0smh/4FpR3x/jje9rrg56hZ5pXY6WYWZ1VtFRxSu7FVJn/UmXbN8U4lXUHoDC851XIxMoJZ5U7nojkyWdxGvyY8jK/ttBtisAO5O23BBHRuSZ/gatmzjkGmCi4iNDbaUCi/pjtwOmFLrNYYUhgPtaDDyHhjNOw4GWTO0oOAs7CkOVjQNflUJULDorwasr9TffBqKFRnGcdKyVou/oaSOZbnW7YqSbuBFjrCHbxTfwNzEwZ6PpA/c4HXeFSS7mwT+bjslwgOo7X8qOeWwDa72wVZFkX1GWwBiEhrbmkws6YJ1p/qnl+oTrknj3k4KJUXXgIv6FRvLOc2nB8AFfcvaID1AlrONUjsXueeW+i4K5SnTXpsiOr8LeSkl9J7tUyXO8tJbO2uvx18fgRqC750FpP/KmXgeENI/GrcNBVp8/3n8tslorYBC0/si+HRZSbcP+8BoD4xYB7rAPVay/PKfcHgduz26Zpnko3yd64zr1lF86px7FhC94Zl3xoXudzEW+Tahbw4k8tfKMlNuviE1a1uoSupDKgSds7d2OZV9SITnyhZg26+ybtGNS5wHDzk36e74YOzc4Vc5GsR71b89wKYcMWbfM/ojTPoHgWpDWKfN0fCjF4AdZEvi2WzFOzN6OCRPAoIAMAVMEjA0kdE7kF9c/afDMaEP71BfP6BvDbCTBP28RxRPq/y6+QtTkjAAt1SusEGeXd26wzZtDrF+XvZ0bIO5mUKcKiDaC6EcFp7r2MpmjwxMdYRdVl4r6m8xS9Fq/SnnX0KSrb/iyotOM+w7BXQ+ZN4XQ+VfP30FFW0Jo4TWnQTwwUuD/h6XRSmwWkthlucmOtg+dyRxCQ9mTeniAnOTNIIEilGGXQoUgI4K6dTHzn+ZC+zY9xNxQEv54zgnmHNh/ZKp4FFjWjgrKt2qo/eFZZutUX5WjdP6/3s6NJYfFiSj/uzocOueACluHd4mkjUSdsG4LDjlSJRCj/PtO31oorJNDIYRaTroQ4edc1Djx9CMC8wnvSKmORJfZpN2SseNFS30+jIa4AhQyHVx6n31iIaD2LmMFIdIyEmeQDT8//obhSqnYRgBgdbrj8UnnLWH/NJdmTcPHIuJElNUj3C4mr/ThgkBEYUbdDZDYJtVb0XvAUzmgZCBAoGCtjSm4iobZ/6bqAx9scIaTO6emgCiUaoWpRqn84gBQuSKs7Xju8cN0NI6pJWaR8kKyJOxTVfEu1i1AzNEsHVzF9t16vFUyRUcgVyM306pE5Ix30L3mf6azEJqpPpE8FZnPypHP6klj47QxatqRcDUxhvVHD4VEZBha+4EuVwGLUw3KumuenbuVlCH9u56iSF5WzL5F1h7JpkO4gEBryqA+qYk0ijmENem8ZhpyP82RUzezrlh9yL8K6XzXmPjFqXsSJ8WL8zmGTKRs61lfUkKbQQXVsHWItd8oUagZjPvVvngljlj6oUQTdpn4HuUDopomKgn+Wz8GEgoF+auFCNEdNtx+X9XLnIkZIkaFibd4XaYsSWHI5EDmpDxCPt6Dths7PWEqtIKhJIzPIsL60rKCsTAtBPu6uO6ZrO46cDYEY2uYPP2HdoMM9wkSpAd3v/TrchXsiFqdku9RKU2AL+aC6J3POi/sqKx0WP5rnmOHdE4jeiA8yOUsqQpfswF5pJv9XqIPGMg7x7HxSV3roXOuj8fgHcOzHsk2B3AZ5u3NyLD8IqTcvDkygFafqcBeQ9eMHvJcCAMYfbVGVRO9xGZ1jUyGZNUdfpj9i6Kz+D610dXu4HwxtXpZ//vob8u+6Z929T/D3b7lxrAipuYbFt+unzuoO83i0861Ks3B688S75BomnkQZH2CkO2rZh9YH0kRabsoANrumHkkDLqsqMdqBxTVYE6TW9W5zMSkTmkE+gGLHSc3SwOtGhDA2aVP/OTXazrly2rZviI1Ye+z7xYg9rR8B7bF4BTFkb4hR7kzFh1hD9iPWNYx3t5144i8lieG0TXi/0lKFnoqVkKU4szkeYIS+FN/G8mr0d766jgQabbcl36OtzgTCr6acKlzBcpat9+OuSnBSj+44aCpSZ8tLLfKAlmAw+vNZIz5Em+29R5zn+D5YDBEmj2V+hL2YEwSSwGXJK6iQiIeBi12z2XAF74LT+o3n0hHaLm/OY9jASME/bCjEOBuuYd/0ORI3+MCb6oiIKghu6bjQzD8ZVP5levJEz28tdjJkBgTtiMJ8ejDvc9fDIgI65bkAC7xPtaYLqGTH4xEgL2uTjw2fL7JN5HA+A58IEl0KG4so89Ptb0ELJUDzx5qXlc//dIoYN93oORUiPrVoSDDfCMm3ClPoMaESGaYBDSPe4En7hrcxGDrDpPRxXfXAqBiljdx5TZVON0qkE5kb5t/r1lZq6SiIoh1Tk1/576AoszCKqjrEnwIElF7fP8L6E2HxbU+dE8mPmI5bQjHz4kD81ND4/oUetDOP23zAnJweI9UiHAWwZijIvjw7eYYu0CQxw3l6jMPYwoEm5QPz82HZwk47iiMNE9g5XQfzhJ+28/75WfEZ9FWT1pODJYspw9MRsVAaUsbIBH+TZHlZ5QQwYYsw8dOqrkNRhrSnIDt9WyCDv3ZGMcDazzaqp8W9NImFAmyq2tkwe5zIrx4hovsQwUNfZ8HYkN8j1zAcpASVrFVKr4ZVD445OXO8fqp/xr+437usDZpsXmDUf7pW29TQo7LWv6EoOdy4Af2VXzJjeXJUD/WLVR/Js0C5pICDH8clHvdg3Pb95DhVgFGyH/6a/jBkHjciD1SkuWPjzmkNXZBFiJgmeeXWmufQx7K9CaYIsVqzq4hcP/m8sV5I4J64DSUbi79B35526rgk3vT4XvpmBopgS4zYZh0dbPJQdsiQ5XnB9oEpZEdFlprT7s0guXb8m+e+3puooBEeoPwL1kCjSXolQ3Ra5OyJrCVPqrquNqQpMabTgyf7Igs4sq331RxosQRRwNMCfMbb3qRzSKE1jh4VDMr5OpzDPwBbllfSNv+yL+5Xc3N4F/S0NC1M13jrTcY79BuZWCDwD68LuWUU+ndzR83ioL+9lGHQhA7gpveZVhrBX7xBfw7oww0FAXQxWTUnPgQFE2DInxyTUYT3Rm/kOkdst7b3T4eu/4vv0Li5mwRUBO60WGUQuLLFrmjeOrBkunikWjHj9TcNXjJngcicr4r1Q2fCwtPrNiHf/ziZxSi7taNfLDfpO6yt3FxBAAKcAQzJNgtNqm3XQqmgUWiOyXe6XXxW9JdoHat+oeshKEL/4YtV7xFRwuIpmOmaf0MzJUHdRS3RLiAId6YuI/4nrE2mERW2F4ObdR+ksdQfekE6FtdK8ovsfS4LQJgBNQuQ3jAO2YcctLgQt1U1vhxIIUFXsKG7U5JyCueSdBINk84ph3RJa1cBR9hAdctZUfT3sGLlhsQQ0nNDO5saichBuhPCltIOaaXTt4Q2yTcU82QEJTTx0TapR4SkbYu93tEtcDUT54bKLrE+7wWkkIEs79Bs88i90el9h9t4kbzzL0457bwW9WfdAR+DDRiRI5MsRH/TCtrER3jxxnP7SQ3DTkgcWWdcUwR7DkFJOLFi+9UifsW7PeoB8Xi4iyOBSfK5s+a9qIiQEncSkKrSXsvjwZctgX0wF7f6W6O8mVPsxGO/B4/YqNxBhSMGYPgOj3THHQV9WUTLGvg49bCsYyn/474lUlUA3kSSkIrZa/oKCPDZzYAJxYRxSK7ESUGuMv9PxbuwlB/+QNTDAmAsVRSApk9dmOQvOJkUqjAf14KlPmwUEj32qQALoG1lxOiT27sPlRdXnDtIieTat5IB51CUV2yqoBWmK4eulBsq4Nm4Y4vxERHRqMVSYgJ+c86b9JBRqjfE7qPZxY6eZbFjNeAYGSXg9APAziJ/a4ALzrjKfyZZDbFvpIpycf8xo/uVqn1b3CxjQjj+ZsCCh0S5KxZQqnGn0xQKTdySdqmAFx8apDBoYIEoGo+deYabgK4L+sWCm9QS9EPV6/DW8vrUHqZNjvOcBjMK/yQ9KSixiJIggEZD9QwTsi/9UXZkl5CEuyUA5KHecl9FHnn4LIAlpI+q9K8REwSIVpy0V8THKAvYCNFBnqKSZFryPgzZfoARdygtA7IeshYWBAy0fkBKsyif4ywJbTxgMPnXSrBXoe2Bb8t8h1JNosJWJNrybH/x8FEvijC2hpDgqos97HN4oZ+9ssOBMAzrOel+czo0ghkeIhQ/Mr4pQSb7KNOnT4zMyTXkCVHTwCymtbV9BM+EAXHDapppZPDOu2VMbR8urLTlwQBaNIg0tkpTnEzexW4J81ndW8YI9YO0HJ7Yy8WiWDtjcsmFtM+zr5t/AYqaJicBFIWMf2nDgh1K1UwvufkZJz06A9oI/D7Y+Kn2jI7SxNSoUMn8tgPaaBoRhbYOPAdzzRJknWtzSztrC22E6DSHqLMjsrUPm9Olnnxw2v1V6XOZJj5gtrmmTO/OU8CB+mFyms6k+PMWmS1Sg3BSiw3ExuMNNuNWaMhWQllWewAaJ9yUSntL5D5JAdazfzGSWNisZ5fP+POSXsuAP5o523KLEwQ1fS0/GfZCxE2K91+iIq2IUKHLYorrqCgF0cD6wlc7cVgvpYl2NFEFKUXKHct+ZkgofH7fcVwPvTwQo7ybEv6rW0femzD86qu2XJ4i43Bfzq4Ac7oLksQhNf9ycZrB6FuqkK4cLSMoR8IJyQFpSNKzDzLxek1tALpwJR37u0afKdNadCxHZ/4+2lgmDKXhD4qREqvdoNbvesUlePBqcH4tbkIE2pmjhG4NMPTYZC2VDHl4bYi1+a5vSal4W3HwSflGJV8nkyaKLrMVZ5JklUqeT7gn/AEs84nR5DNQPUdhtHGt1RaET1SPWoxkTJAJu+ZBriPlM6ab5a0hQ0XEEH7b/of8HMXCRjKomWN6R5/LEHu9SEAXMmXZfKDUhoGuh0AP5B18X2iglyLH7lW8yjyX5TWbB9s6+gu6IZVGehsXtHskTWbtAb8TmE+iEGjc3a6FMMHswgAG6X+267y4o0Ls1ZdwOAOW6Wwt2UQ4vHIthbEFWsQ+ggu5s49PqwG1P/hr7+HVgq+c/G4TWGp/t5t151KZ+FAgILT4b7a4xH74fE3nH0SU4cSjjQpJnAS/O+XmgXquwuPdyd8EoK54HXadT81vLVsvaMcg9sAYP3Zfi1Mf5qUMjATdLxJEi0Jp8jCzOWLpYcQGEPev47huFgesdeT4TKyYMQTidtDR1w+RLr9BMXoRNQWgUoFALjHcU4j9AMIvyTHIfONvCCckeXPaEm+QeS+ZtbfHKfQH95ydkj2256UQTRXeBzJhVFE3YJySJYTFWZC6/WHnLhwFfxz9EeZT9qqbtIKkvCRtrHfdwk8HgROx+0UbG8vtDwQ0u52YlDRc3HeuqnHjwh/VqLDlnpnRXmwlVmxQXLothHmGr2rpvgGeFWudXnukPdkRjTJ+h2j/dQXSaFZaiiP1imR1RFrQJhiU3oPtqZkpDxw9wQzan1XirFyFGYIdibTzVmHh3bkQcwPmDEF8cD6seLMP77j25GzyK7JW2b/0SLiWFL7Hrn59wzDlDjgoOb7722YYGnHAVC5nKUCzdDojZdIh/luECPVluRKMHL59JDQOCSsRjAv0HkA/iWJI8WsourdwrvWg0extQ2t1yxHx5+euLIa+yTq0WMH2CHj06FcLmqH38loO7nv5Q7DalOMf1pometJ7MdCbV6SgrVj2Eb+Gb9qVtDTN6yiy9a1OmEh/DnkBz/TFHrR58Vb3+9SDaeDnEVICUXmJzBoaPYNf6ycAFED8pJu6DfyKdDNVY7zZGvtPNDFnv0fHSHCtL8/SM0qjZlSETKXTD+8F8W4hkCuqEwhOR0KYz0yCUtxTUrj+emHbcXDQbjLnQsXeJLep8+GyT3kIgZKmEkScy8B4WcrNKjVOYGV8/+utPNtpS69kcalAvc6bWnkORYkxONZDhj5U27axkzWeGVbmWRPw1QOdYHQwBuqnTCOeQpFK0qEOHre2cBXGNtwqSwLuHFT/pMGh6xsaqgtWhsy3/LHhR0u7f9AmNmgfkm6uAZRNied43GZkxrRvWRLZ1TfFZk/mOkRH7lnN/7nEPFAUDIXi1mY+Gke81/fb1xtz79Td/ZU8JbORL9c7xDZKOgQYCV1dmjq9eAlWK21nM9LATuQ0EwmKNIL2Ko6rgTOb7KyOsUzCByiqMcMC30/RK3J6EKd0f401jhq1y+/052hHb2igya0LT9/mT7fCMdVvac/ZL51UBfVaLPHH9Qcp3BpI1FneFdRQqzCz8mm3qwirCFtE6AEJmmxVCy/h0Kx6bl8opTInH9WOr/Aj6dccxN0TtV6z8njFAwYcNozIXbKmNEytKRXOly10wlC/AMFY5n30SUfX9oay9nI8UcEotSA8jokiKI5qv5Mi/0JmhnpM1YO6y5LB/aBoSuHWUyy3YzdU+n5LtzU1QK8uo4SBk78eGeE3BIsXt5Qt2YzT24VXnT0fw4/HM0J8UCG7R8OgnZDqxfQC1cgZgXX6MXncUyLtcmzyOkYmuNr3NgEDzAKNwKcqj3dqb77v7jeLaIr0MCPzZbDPuFtOAP1aScLFpvF8uBOA6LCb5hUlVgmAR+/46zz33k0VEXGsopBG+Kd/ygG4m6i/kwIz168S4P74I5UQkXDID4yIPuqYxVmg9uFJ4bSrVv2t0kR2LG2qkJpoi9+IlHWNrPpmn9xpEjnsx5jVSjZQP1jLqrlOck8PtSA91ntwk1PXNxGJQ5BevRyVR7ug2JZtiFZYHaruJZU4RGqiOCbIT6/2EYUZlGIDGH2AtBcWifgr5Jv7objUYQ990aroSoSz8wlTqkCbdyiGwpkE+q/B/9OKBp4cHh+lfWEO+f+o6USdgnWZ95IJm9XznSMp/5fwn92D3LFUinzUzUJp7sbR1LiUtfzEh0OhYwFxEiA3KFRBD1LGNL1zyGN+8+T6OTzp+Ve/UTI0+bKpX/QM5HEen2nii7nuxr43Ru4JV7p1/7Iu0vysr40Nv+SN9Q+kI06Yz8fd7DqgjDTN7wwsbncPSXVLdG2kyZigAYcYV3A3TAIV/IPU3B0jxVrjzXgAmUUBLFP7/wUu6/fR7/uyAynVFB/b1N4iPMUQ9/tTca20/Rye+cAGTEbZdLh4iADXOxCtQ1MxWvUxiyYTq7aoqdKHoHT+t8e6j1jL+XHKufjJQcmnqaFOr3aPMiz+er5SIbpTfSRSW3cbtFcY4pvztRa8eM9aiKZBveALWuMchk6alzYBBW6IuFTwWheZdNqfo5gynu4MnwoNj30SHzBfgsLqaygOdCzoHUe1JQb5YFDRjxZZ9KyDQZanK8m4knRJPBt6ByKAlvfF5r5/BJjVMfvo2s5tVvHa4xKiGrcsrRqzC4KgzMgD/UXDNOyhnoia2gxy3k0GYP9ve1Thv52ZwjqZcgHEIo5Bm4XAVxNYOMU5AgpTpSWPiAIdDdxMwrnsw7AwKRicQob5Mp17OFbDuMB3Pp6Z5XAbYFhm0U4tfIv6eJJq6JCtmDjlxQNeDlolKNvcCYkAXiRS59AUujl38YYaGyE/T4iME2DTNBq4kFSXgeph2mSOpt+lgZbuJA1mXy7WBOwego10d/bju4Q6y3sOrBtwURr7RjRE4VOverYC4SfqG2RdCJ/sZ8j1/6J1GZ7u6EN344Hn2+WVZZTG8zQ52Uh0Jpln1tilZkXkqqkiRUM+DK13R3jMPsLxpTBlEDOWjbpIqfS4qs+kbOsfyQ/bGO8CEgVEVLKkg/va9nkfjeRkcVPE8aRH1xf5hGJw41uHYe4qoSoymT2f+JhYn6K87s5dzrMkG+u0s9Zop4CXqLGo16bKeaSCMVK7iLif+WAjjjCeE8Cn0ehCL+GuaKP5PZk66Zwmelm70GxO0g2ui/zCIoXGCMFWSu775gB5H7JuA7yRMW+aa67OhxH76XkbM6qyfzvNQ+i2mHTZTd03ZTYb7AZbEe/3x5iEcyOMgnEzUWhsx1PIKwWAVS1dW1TWiUaoSPuuZt8WGtaAjeUTn5P1nPoiIFfuSIb7t3y2B2jICB4yaAQ5fvCgxiItsXxf3x0Ob4NEbJvJUws8I9o77wqUQokg8lgQMGad22AbQ4WocdrvYASuncAWDCPJ318z6u/VFHHdxvXCNCPPn7EdT5dCesD9RIxO/GmHUmujdtsBuxR+Ni5IVKqfTR1NXyQXvY1aBX3wyENQZ6rv+CT3mV9Pc+FJ/lXSdUAOSw01OiMQSgrJiaqxYPGXU4naz2K6EB3Y4/Ld+R9czkPGsQwO20b7vekbWGQ0k3sfhtmRvfHL1OVpMA6QpOAIgfM9Co6r+bZFx6sHilc1nGohgeXgSzzLm9jp4nzVoHrf7RGqHhrGT6uCfMvizRq1tsHfMTMdYpvkw2gS012Yy5srf1d8SDPBGNWosU99twQxnnJ0Fd+6yuFTrXtHWLGt4O71PmPpA+BYefb79HjkhNbE0OT8aa5N/ygCKL88MerTzv8ya2au77wJUrd8+J6KQAAxNstKy5vAwNXiO6YatmfpuX+nqakzi1m7MaTL2eKJOz9yw679ZzqnM/cv0ix31CkZ8iuOyXvCB0Fs3Vl/hthxKP7NoqlVtdJa9sAYZz8ZS1onaWFZnW5qJS6leadPlfxdDjprQFgLfLGnAI7PjPrv5xgqZ+I6v/crvTDSbgkxj0mgPZ617e/j5q3EavthH+xpZZNyRm8QDgC4M4ySkR4jZhcmYPn4SSD2H0+x8mwuluGjg9+lnUG+mk0QmFu92exDMkxnBPd83l4XZbaVZCI1ZfXMzJd2KeqWZeR/3tp+hUU5MKPFyck3ptMeX4jxXiPVRC2vVvuPpF5dLRLwF8A/zs4W7LPshd4RRRz+H6VcT3txaKwE8EdYpbnXh+onHkRGiyVzVp04MQ1bDZ4WCH84HkusoTUWXAzMnVXiufESyeNG5uK/LZK7X9oyouPVEvkzsA+7pB7X79Qb2r3XyDsMVb1lGr5vCbOS5gb5Y75rZ25VrSxws9yK32WAgRWWZE3zSHfmiwjRSqjjMSBC87Lsuwvo4wRppVGEUzklXlJrAfoRGPdIsqYEVtcv8IOo2Hv3WldMPrRn8w+CCiD5yD+4S8WevF4lHdqtgALrC9NV8qsE+3Imve2z3AeWAdYH2p4E0yYo4UMBqp8CPYWT3u0rHQDOFDC3VKg0cFtSVz+u3PsVnjDLghTRmvlyY30GAyDAOnkXacNviEV7OgG7BORM1y/abHE+qXDMrQdVY4X+tgZ+i/OvCNeKCtmX+aUudddDXJtpCboUxeENXPzAQPqHmctML20lG5NbCRjPSdbDTN8u/VjHfhdjK4MPTd/gq5M2lBmbyf/5un2el2fyxzWHrTH26hHnuvLm9tQXaNJeIzdEAp/6zLj6trKvuvNPVR5/kK/c0jX5sR7YAzECMCdXDRM1p6zIfP2Vveh3to+G6aFn3hslxo+ftLjSSvv6l7xLDNreg+w8Ec+D7gfIYyjR4luxI+amlFo9FNlIkWKrXI7cp1F0EnWELHW90WYZN6KrrMMIz6IZ7go6xP889se6/0jJQyOC41JudNyXYxixnJHSSnARu1Xkp/PPFv7WSE8cO4LeK+3QnDe0PFCnALlWUW6z0oTqXkhgWEJaxQpI9qMHVps6NOOV9IQWOnLHPvGb/QgngjRkpAgpaE6V8s5Wthxju/9p3QImd2BE0hYvjezUOW6CQwuuN4GAoSUUrOj+ISTfMT4YVuGFFwRTq67zIp+dFIrTE5lyLGK0fZajdMOTv23lSuXmRlxXbX3IDShzXRPx4QimzuVCQNS+Ykpq0SbdzM7XHHSpgaFuF11sJYFx4+M6Hs+XtgYWZRUBS5H8AEaPieCXCBLzFgmUlKxRVYOT7+s7ACFN3O0K0Vqr4TOtaoTz2yArpYQfZ0Iv5LSYsSVO+hkUs9rWKoaPTRqKqYbvl7Pk9hP9/O1ODprey0JBf5v+R+PTMzUVed1slfaTGWgj4vUuS+uYPVoHe7gdRQ3rMi3Uzu6wghQ6rHsp2It5ka3RCECNkiRn4Mo1iMLnmjYZ1oK7DZcKsjxHIDd5FiUv01xNY4le0upKrlwr6Qj2ebUtfUPVNoBjH7zk3qKmKLW7Ym/IFw/4J5Yfrli8c4oNWNvndYfS2f9S+mhN1YV3Vn4GFEbnYtj8DDW4UQMq5Dg+14p7w+v8OY1zi8Q6vwTg0gzNrxAwbbZFFgBYJGLBJmj8I7qjeiK0MpNihIwzUgNNgOUhoUXWoYGoyKFlAL2geQ6J7fInlMVvLmzbX8RNTocci9kCNhpivrQFSdtQcLuBhaLzuHmYlVyzpxRcfnpY3SqzPltyjLyxq6rvdr+i0SEW6UzIEg/jPBUygtCcEpUlcu7TlACj2pub+aWcQtR/y9P9d4P4EBX317KM42YNarqBQE9kx4W4RFp4dOteelINArMsgsfmYhKFBPxL075pG08cUFTRJTcKGcgooV5DD4x9BjgfSbvG+hfYAlDk8slF5BVyYM/s7juF2fLW71deS/MYNnAA80hSU9YB+uyq+X8xpzXcwhqADs1TuA4w+Qmm5tOjy4BNJqA8gz+Z7RItwKH2RRFh4Q0LUPVIFt2Mju2sxd0X9+AwrY6jS3zpl/27DEWBRGBA8dfe0VdWzscy43AnFfntOC2xCUA1TalY49vgA0+PRRmc5zmWkf+SIhyrZMu6oUtvQornNNA+3fz6QQJwCRgpe8WkmZWh4CeZtT0euxbemfbaeyUgq0YVUfa444L6n7gommYw8xntepjle4tm+a8DIc8eyIlDtZUCQfcIuVlQE+qc9/p+d9Iy2+y7XOtJdFuwAK3hSg7kTx6xV+W19DdWoBNagGicWPql2JUNm46gLAn7vYgquya/+vzWuxeOKGDlQWMqLGrgC8BM4wJhpE9mOoRGRzMNZofHk1kKfeyoVOpKakt8brjxaHFma4M13Fv6p9GcRtzTQXVxHJMoEeX8FHvQ6N38Qk66zZP9ZeG1QxTocGl2MYmcwNsBLh5vs+xgXCpaivYxPgDIgD02l9Ffa9FlWGFRY3PURgH0NE+YUOdTeuvus9hEfisxgIFmMa7f/KduxjRgM8IZv9HFgotTwYES2ZFdqyQmNk2jNGflpp0V3UEWMedHSXwsTFO38PRUqXldxD6HGZX8dunxDTL/mSCkt0IfL7dYJNHuiWbNNmc098lbVDYtBWX/Emsg4LFIULMsPgptqSzOg98CtLJ992kamTp/xbLz67BA7W8gUIzhqrUM7p48MHWzbyOMcT0Wzt/dKv9zlpNDzZkT5Hvuoy7OxfnPqdSJPGxNVXhIKF7CstE5/CW4RpXDl/JhyfSaaCw8i0iBVA9AJOWwbXwJIlRy47lhm0vMMFAzxxpLOmRQqk87rvoIIL2xBvlnt58IxS062d/2H5GHKB4njzRY42m7qTjij8f2E/PskHfpGnVQWI5VKKj5U/QaJPk8M5+FUOp7ZUPKiO2DK275LTSgSu8ILmk/a03zO+Tu4joKu5jfUzMUmTzv3OkYWmbbfTrAiqQyBKOHWWBRjeKQUNZA44kGCKw0T7078oZ5Apscz1JmfTTTQkidCr727uiyPvtPR+L12H9qYI2s2s8M2gKvtzAhHhTieRFHyhfUPgq4Thp25NOnDtv++4T/g0rAjlBWFeA/2J/0zXHWmSRZxIzeqGUaIm/N60R1RmRxlE9lnlq3BqdD0XZCKMaVgHgYyowQWZd2UcyJgBJSFVLoy4Rgy/g0sUejrtuZCeTczxlOa58UqPUugIQpdC4abdEmQ57H4P0J9aWNiIsMNIUapO3mVKklwTJRhj4fN+qYO1pM/lei0v3wUmrjKNhfNqudzWsT+qtx9v8RUl2TnbgDgIktdL8Sz7jIjHwZ3NOnLgXulYi1SJgLWAd89HfjsoAT+Tyc7N4xJiI4Ew2IX3oi+raRFRr1zgmxenTFUZP1iKoE8OvuLLdb+zL/7PHJMa0AMEoe8A/9F3kgEcrhoICy7CEdsrw7UeuFeVQpuUKJyu1J9/tcisT6hBWNnz3jIKQ2QLm3E86ai72qUI6RA2sbM1y06v7JY3JX3K/hkfoLJmJFrFcHGCmgghiMEVHc+tvTGEaIxThMpdtV4zU7wFOroMUGyjaOucss6XeobO/EVX2TQ4T3pV70chHD8vUGoS+9bn9SiwTEaZppG7FszlAV5KZt7LbvvuxdL8Pc5hqaGL9enlRPHdf3Sr+8ZYCEMHtsOFjg+AM1+efBLZbM6xECKPyVtWR69Hp31seMmAMnUghE1S/sDFvoGyWq3cj3V+trhYCsM5H/iqkRP6KMSoM8ZGhT70jGFEf/wjk9E39WdY37+KOhf+1YjJwUBCMIUy283yxsxGgqDZpaf3K1cK/8fEs+/fv+oAAy7afsvvpvj7FvlseSPMIchtgAlxP7d01SpmPKbs1F7trpZTEwelxCtb/Fn3lWN/YWhv98qrOHhgEpLeugVj2zH6MFhoF+D+6IVtNVa7LVnwJ0OGOaWiphJSx7aKe4L/I44lux33L8T2Og1N0iUvLvtdI//QH/t/wgpN9RrwFO4ZPGj7gT5bnnUEkSQQB/cBreO3aicYVHWRHAM0KHbV9BpvZu1/+z3/nTBufJPK5XDkVGcmm4DfAI2lU77pWc5sEdP/f31C6vcrm0Onx4b8oqfTzVoY6hGcdJPRaUIhAD4IRXupSaH88/f+gh1jpWnWed3q8k3ZGBnH2GNtnbpEh8ks1LJESivac6QxZAteNrXDlAAatHk3Bcfuv+hPkQVOsxr1z6YEH7PER1ywZUHj+Y3zI1qyc//fi6l/eJVTlThkKNzVGYXsZl6kIrFOaHmwBGcd7yQad56p9XaOFUVuhfmCWRD7NSMd8OrVnD7dOCs02kX/lnt6m/FIaLjL2reXxDAo+/T2agvJlYZVOcPOs5XLeHv7T3vVRJCq9HYCXsUFc+/+NIQ7mRd3AXTvGth2MIgZvWYe9eOu3ATOsN6I0twzEcX4XvFZFNyplpG/H4mUYp9lUyFiyd0ZRDFrDlCld2O1GW0I+YKvMWw+yMzPf2jyfPo/wr4ihBzvSBRibRfXi2KDrLKy+RmT7eGNj9pHd1Rh9A5BNy0XrAceyLBdTA5C37nTH7i7DUVWPgvgJFmhON5sQcBKL3IOfqD0S8odXQUYFv/uJKh6lmxtz76ptJg5/BGTynETgkkOMDROFLwV05YsHExTjuGpcp210EDgj6bZE9hF70Qiz3nJ60ldQhPFWhWW3gR47PcatasYvkj85UOYvcuCQiEdA9C3+/zYpMCOxwvlb3z9KkD82eLN8oEL7z6A0A9jZMcnFFro2fdceixgJdl1gUFevePk27i2ARU/q9aS9MGdtCtMAh2EtizvrxtDb5nSqXsLX7OVNJK8l8dCbLsnIz+cPluRd1z3GA2DVdFpK9kdAHnLyybMJ26C8hUWg7DVNmX214U1smzr85tBglk5cqLv2mljNsVK8NyMw/lLeqAzEjz2q7xz1wcCD2dGkemNVHBlQWbdycoR/zjS21e9hYVTiOW3hzQ49//pX6OyKmkawOuY/09/wK6HB6SEupxjUQLa0+8X4UrWraZzmI25z5+iopKt/PgerDn0Fk565Z24Ri5MgUfAZxM1TntUqlLeuMEbbq6jo34PqCOPGyV0ePizuc9OxePyIczLvHLpFwjQzycdPkJX4/dJq8UfOKj34aKaKyLYttG7p8LyPzkqjEy+9JKe+N5aRYbS6Agv8E6njEG6DJ8pa2cndWaJShFuXPiul1byW8dzQa1UoojKdoIR+vwws+5msAhdfCq9dChPuVQbKInhLeu/FYwq9s6Ygnt8SX7iNfDDch3NRKtM533CjnKEDwZlrVu+JsicdQnGt2HWZsiNzNNaVo6wYC2P+wkWwvKhkJF6UFisBI7DQG4MiSXBKu3s4gsecasOPPYOJs57CnuoOoJhJoqMy4Fgwk63wsotp7NR1zvi1qnjTOaMplN7WLoiKzundsq2TYv53kKw7PWhouymvtsBfygLvegt9MDLFUghZXd+R3KL1a1KlfOLJSD/ugzMLaAHs1F67AalcZexTOg0g0nzvNnBqUAdTifUDQ8z/0leHuwJnhHanoASCHXArzDWxh/zcgbhKsYbIoqMdpmG2btIZjTbYTtCCQ5eOjwu4FV4xy7W3VXR/iRpyYT6y/2U8WfY8OOvkKGUanJ61y+CvtXVJd2arX03cuWEJMSgKMwJoLnlVe7HiLhfCtyGa2A0rfmOEwgSmmlQ30Tns52c0R181ZInd/Ccun6waZwA93ZNtRof0xiDq1ozcuE7l4P/2eie/Iign09updRvwG/eLW8QWpzDPlLYlbcRvsKciVRDUJYP4H7Y4H51paYS37sibFvLTozM8lfKYzlTPwLD1vdftszHDIsskccrdvKSJ4f1Rfh4nUITGf9MD2cD3fQZb1y3MgzP8iUuCaDgQ2wJt//r1Rlyy5LAkvJ18b9RavcwhnyxSBv59EA4a2KnUMMGN/A4iQy9zP+gI6Cvl5bZ56Fxu6ETWFDENNI+dJun8a8BWTdoOCfT9tsQgRpZUZHRZ0dCZ4i1yH/lw8qsKwOM3NV2oN/Bs0FkGw5WejgoB/oDLy9aBiR3ruMn1RrqKPSP4tfk/QsEpuxhaa/jnTlAN8ra0Gp/2XyvGJwA+1B5hyiCCVnGdajBWj/s7qhPRTk+pZIffClKF1bIUquJS1XOCJ63t1FguE80bFkIPvqgirY8hKZAEsEmogKMglFr6FiObM+2tUNqlKUlTKR8gr7H5MmOoGLOk4wR+9zqhiNEQ7GBvpuMW3bG+wHtXdoDakHgObm5m4jONhKL6m599jofb28aw/OV63VSTPGaWyQCZ41qe3BFFnzZpMXWgjSqnq7BQWOqa8E32KCYpO6A9IXmMaG/h9rXiEYIaRSvEd+l3s1zsy070ClQZ070cYnmTrYWHg3xDMDm44yfhYB+g9yhpLnmqU0V3qVWEO2bUgZj6OQ43bRwYWUya4BNWoCdIQ2ki6RsHRjyMhlPcxMvDK8HDXeh47ORQv1wSj3m7DgSewm2lozHCJIEAQWwOQUw5jBeu+ggRY6XtzYdnVqfDxG8FAK67D5S96aUZ+ejoLXVQM1Hx2S5AMKn9EPM1FqslPByvW1rbbCGTeTfiNgjcg2P/buy7SsW7/GxaTjbEnkGEWDDAuVxQEqhnFM8BddiQemy5r58KP5DkBS0dczn0jpIAucIe0wcUmAcr9ijg96NW38IBIfW/u8DNBUO2c8s2sHxJeXAYE1HI+962zhcnA0SVxTTGpdduMEYhVkdj3gRN05VlbGw8FI/ACvmcNgQlliMMAs3x6zYy9hGZD/msvrtfv17rC1nJDM6GRBBlYSJOgQpYnhT0OyG2wx7jS8yve4WIScSZAc46br700IjYpv0Z3S0fdpoGGr2BP4Hau8ob/mJF9LhiIEChHV//F+ZbvlBsuZMkjjacTvGH17XbHML0E+EsLWDaqWSnG19dZ0ZEnVuiaPABcx1TzNB6jcGUcKq+4ZE8v1qZCb3GyAtatUoy7E9/e/RBowH610fVw3XVN+ni1SN2Tto3OxATVfJiM4L3M7jk5lyZsU/KmKriTdpzrjeCEYcf764GFZAIipSsFarEyZefTaNARkccE4UXAd0Q+TFr2dxwIxKhTUjGDZbbZfoox+P9BlTxzj3M7rJMezM31oMBvn79PgXuAoptn856g8MGd2sNqkwToD4n+PisdnaTnTZPnjCa45VH689y8/ZT1FDS6JWyCvX7knbgGPDSf79naUZY5RgEfG7CW9GUe5suPoUvICN2aBxbwsIPOwtrWvUdUuow2MDHgnshv72Ad5+cUrZrdIhx2v2Iskn0UYelV9mTKGyBFjHiiiaIWKvdRGyxbtcH2ipiXX7jXR8gxJ8V5XZFqhvxs4Jp0SwknMYhI2e1r43+0MyeOrT9wV35GbwKnwnp4y/6n3x4I9Uz5sWkKpBuKaEd+46a3YHknBP8NG5TjDoApiZ9/nbTiFoaq/mhM6VsNhM9WJv/g04a5yQTnrG6olxXeXeaAI0FitEk8RaAtbsKkNwZ5VccTCzoZtz5Y4fhvQ2Ix5oLe1L9P9qvtYLXcftKXHJnRhCU3qwchD7EMDUcgVPfhCIUdfNLb/8Ba8Ms8s2Z6Lb6NRPafxRQNz7J5ug+yKT2aYCKUGKMCudCVSQTcH/OtgUDwQ8WsheDcSfZDoTnbccgE5CWWB7ztW/6tqNQv07fxUBhZCYYF8zgm+s23/uqrrooSI5KwETptsA7Jj2a2T+O7+JUpnfu7p4bzHUmZsfe5lZdJ6wM/9L8pq/uuoFftzkjSNiuRoV9AGAPXenect75ZsirKbWJAwPkLzhtNuYvh1cWvFsrhQKl2yXwBW1obrKoao6MYVZF8rWCDChZgu65BHwZ9tijQVLM/So/4D43HWyJvIhkgtP5ATZ9MuJP1YLnFM4Py3W7WTiQ9rXg+u+y3TngNMi1DP89brOdz8UGkpxYYRr/D90z2AejN73J7Hhv7rpdZykxyQbfuBMdOpoLh/MqbKv9pIYSNCgnRd8+L9J6GEX+W5VyDupacqGK+foO+lV6Ou56tvcelc7lyt/CaiBzRyVHRpSeIUegqQfmM3Ib62XK+L6NR8m+W3bei10Ja/rYvs4oHV1Rquw1p2NoBCpw1aYrXTR71Z6Vb5PCjrpkukg7egUOyVEcTvTDYoqs0Xy4uG55DUyofWLVGta0PExzwGvb1h81DX02JfwoBh5IO4S0ODrv2M95Ck7xiWRrqx9syTm8+/xZjETyLaA/yFAOTTplFr/r9KT9AHUlkVB5B8gV65XlRIhPO0+QA+rPMaGvI4ajUsav+EcORlEhil9rR+Q0a4b+9G079WKbJ0xy508hkfQIUQ1zkI8siZVLU0Va6duC0oEVcj7chxWmuDBH6zNe1iAIL3N/qWooe7hpM3z8IHl6NWAb0qbyDQbB1JcNrN6k5/irS7ZJhQSiQDUHxvP0NTtlMDY/FDboXAdq7OZQpWlxBfJgOf2Ql6nDDZ75TG8z01RQNfmCmYg3JDjboT3gns4Tpog7/4KllWWPgSKMDWybrQMWX4jDqR8+kPIfNLRdySiPqUxaVEKd7hx22lzUyy4TSIhHC0CCVpxK9IoDgAl00+WwFXpOGOFh/d6GJ0/k+PFJeKfLHAlJ3Uyt+jmw+++wmxN2zOCIMOlx0K4vdpRQj5FOW1c1DWpenYPb3jyhtjYIcySFt5dSsqNbRjwWKU/XGecVvZJSoXY+ydLFAfC7d+rVvLIlV9eWMlCALIDhEy57e+o5s3lJjCrw9BAinToAV0CLePjuOrKKewi4qo06LC+a0SUkK0Phi016KqM7V1S8HwlxR+57mB3ie4LAi8qMMs+/x/Nvy8Tk93EiNav5eDxBoRltTGUoAC8K8lkRzF/F4CqgQ05xTU5SUBWZBj1TVseTrARd/0zQRrCOsEZpT6H6sPhnMEuwWd5Nlf3+/Pn6z774YjIWzkqJpcKa4DwFD0i28SBoupalMNtLfFzhgT1fghR1rtYMo8fwszv0BFTfpwzRjJ0eKZZZ2xW6yHEjdkGqI+m6BQsxKdjacQNUxpxs8/FslxZHQsBvxc5m+K3yZqP1zmcFI+oVaO1b0ISYSC06WkebZMy4DYbTSWBsHIks45noJMhSbQArQx8ZPBENYXVGBaMXtaqn2OSkrdoJJA1CsmNwmBpbb8sKO9VQsKiPXgrtnLOP+8EwwlgJgouj8iaVjBnIqGam5DxDn9cX9mmBQ+gyNmeu7f7NLZXSdNQiK8KxoC8vim8WM1Z4caMJ/uf6YlKmBYl48xMwpZhy+EaXWuoE9Dy71xCWosN55R5SPVUVgH+nlNs4LCkUL1SosUl/DPfSQcH58R/DMX8fjQOJSbrG1+3qWbfy5OR9Bu6IySU6Be6G1LEw5gDy1knornZRYVMMCsz1dJNXtwigwoDAHfjB+n8ZpQKf0QRWS/4ayQhLRkhJJP3M8EwIl1mzUIYhhf3RsngAumS+9Ho8SmjzvalQe2VI6n9v94zMvPgHdQBTbm9Xy2PBhtZi4xVTR36pek6hEWMBb3Pg2ENngMZfnwx6kfQ076zRbG+dzFtTq6I29OPjB1dmZjdVKbcQCLK5WuPijnIpnY58Ev9Z4Brfid+r7Gn/fR8uPkjsjQ8Y/a5TKuuk34GmzaiGgvO0A6+D0Otwg/vTJtvbFnaEMm6uPtQ/Ys+I69r+igAnKEP+SKCz+IivaFdca3ZmV6Bvdekgi/myxz5jHibZK2wbptWTdhF95xtOWRWazEKgUtVoxVLLUNPg6T7w8slMwIU+KPWvzrIR3uZGXdBlgs9lebpuZqu+fQuk7E+gJ0XMBERmi7c5+fT1kS9WlyHy9sFmtFWuBq9lxYiGb/eR/vTRVzAAFKLfF3kWyhRgf5uKopbxdwLwBoggM3ckBn0NDimpcOtc22c/JryiTYIg4+eYl10Fu2mtckXGgFulYb0go8/3fK2sV1WRLrAYpDAvkZhsmK+qWX7iNBKWMGb7C86lUKV/3frIFEWP+t75PtIOtEnqiueDD2yWlFKdhtbi/+Edo0ZeKUGiZ0ySd6aSUTjNPlkt1el0h74kr4JsKuNr1VtiQQJ8/8k/6Iz75xHhjLA8OyO8iOW+1umlmiiY9QZoAe14M0IoJC2pgCSlH3r+cozGgcJ3EWbbYepgQoP841xHElL1CG3qroNJPMc3ZKIoxk8Cnfc659GYS8minoTMBehnsOgIoJLehVO36uPObe/W4dQc+hKUsd3iuvfzORUTLFiALHxjo7r3xAyZIp63qisQwlXesoZ94Ti4Bj2F5c+KtE1y3RpUFC8tQsLPQi6JWp3WPshpkI75OAmJlBFybY6nWIkEobaQpcFk6R+JezVwKIa6mOreYQ6afJBeHFXuV9Yg7FSHqMGZhfdlhQiog4gv6j6eDFQNQ7bI8w/U35rqblQ/iN2xIGK7eLmWxf1XDWeV5Vi77h5J1UTlG8czG0z/N8AChAw9m4BI8JuDbIfAWUDGxDdS4hokMS5qIcwAUjPm2G0FbQxRvZDPUFb+egV43YPjRUFjAZLPrHxNnkPTAE0ZuNMsJSo/uXcTaMnTUGN02jI4LdWqdMjtqestXOEHYfGBQc7lnCVlXlM9c6xcm05SZZGOJT/Xo7qzWvqq9LMzLXVw+0OTUY013Fgml3vngjp7i55MqzOKEcQmq4puj8oSRc7AMs7091JdcrbG3DjVsdfCFyRuOznMDNbbPF+yBUOyKuw7WPpV+JK/IQUG2c1nWwFy5s+KHa07ZSCY5IeLrZ9zS/eR/WUhWIDeINQcHOQpl+18TTRSU5RLoG+yLipKeWef7MuLMuc7s1Ldk+jbL53Oc0rfvDbTSr5b0rWVF0jejswx1KA6F4KMEaytHC8A4CsskPdniKfDIyIMVMWZ/ota58iWO6gFi/0dHyTEjBUYv7as9eCTEesE2Gsd7C9Pcegga49nfr0zqO0adlhsEai7XSUdl87fG+sPrrIim08OCMv8DndydjFKSe/y0VB+DUQVa8elHXH02hNn9pTSWvztOXnv/Ad1QmFX1zXv5mUxSJoU3+3b/vhCCasxKFDlLdRiG9+PyT+qOX91lp5GOt68/e6qD7+0Ls6gOjgJXiGrxvED4JiONmWrqSjBwg5NPcMlFWBhvc6O6bP5dSGsVeMpXiGUN1yOjYs9G7j64LZVDYh7NUfmNUEhsdN0QYZ2f40+licw8eDfd6cTY7i6Q7pbuCe8U3r0sYLwsp8LxO61IR6n0slwHafKUkbOYeZCmdBI9C6HgkR3jvpEEQA0zW+NV8fFYWGkzzX7wg15gzLl5PLd7zVUakcGExQ9kmHQjR6okYDFc204I1dy/H9sKRPYV2dLUvr3sLTXzjKKhDrnrMkESXT7FjRwL7YgDYeJH57WW1pRHUjUgGXMJQhICASVzrwWMKCQafud5kNEOthrMH4iWuOwRaFcWJTL+7KU2ERfzHm9TRPo5VpmyKRc4MvAHCYLLNYQvYOt/DBl9Pzl28ollJO546hWIkZBQH6xQLAGFFD6pDZ6xHC8IGhPT9uUZcfDJNBDIiKkZ7V/IDfQsfjcy3CmxVHP279QpruDlKA+xJFar4lU9wTCalcEkXcPPcInRgq93LR+KMAhjKzruxJjDJuS8OX4of8mkHjJ64xZspjuVoMKL3ra9fhmny/hidq7/a/6f7YSzK3OjtEMQC/YawzGbyBC06XRuNBowp7BPpGeeLLY1hTHN28pBY7GJdlanUCVKyL/FqMjawrtzMrucAwfbsC8hIbcrs04xIjPkfb38GdMikfEni08FlVI2HArHx2WayWOfZTM4l6xiJvvIEZzV4uwNP90TPI88k5o9A3ordU4v3A+ikkcZ+a0dchneqN0gUXeh2rYi6YBpQEC+HicwUVOZXKiJPPRg+A4+Y1+hHgKXFPIcfnQp4G+95tq2KUF49ZMF6Q8wRpMcSBo7o1ZhlNdqW7FzZH0P9dF9Uk/YzP0w6RZTFvnEQLzX/oxnZurwt4tBZjRpmE6uTzm3qUU9BeT43ssU5M321IozU2hNcFtepp9o19rCX/oDB7ArhdF83ALS3ezJIqTpxVmTp1c9Dis3W9dD4EnstGR4hoke+N+/lvtNzbczL88cN1QrTVckXlHyMx8JuvfrKH/l+mU3ZPgYZPMEKx6LrWc0qH1RXakX1QbIet/e32He93wdQiAESwNp3GLrOt1/TrLaMmVsSA+OfhjaqzC2wvkCBr2nJWcjNvlPjiGm4/3e9sz1vMznZZgHmllvisRcNAUcDkucapYloCMt9rWmRJwFaBPuqEg5OuQssJ9zbeSb3cEQYNyhVnQ+XV4S6am1cud3XVu1s0t2mgGEuuULBNuQ45ItfUJcuhxQIc33CJnMHq2lBnYVNnprY7YKGzWq1dvxrcxjsjfZJGNigGrKZN6I/XwLB0gt5hYAUFTY2Z7EguWcQAwE0KINKdUcRu4Q4GOVmFp0/IT4phL8ppRa5n8pc/iD/Xbsbs4M9xe+1VxVWx0bD77FWt9b3jxOnzavvhvvq9goVZzKQz9XvSd6vgeUHt54ogyGzllZM0muEI4Vr0LFJPtMj+73fvAnlSRS5G6AFEFjghQcIErE9aTSip5zBvBYPUDeOEIEF17GOv7w6njuYVKzfiahbmP7XfpzQuRKLfT40GqyEyZNjCSO8ahmOBWUJfARVwa/ZWPmDld+kToGtx/+Pyo/zDbIfP28Ih0/IrKVMHgzjHLqeURMHhCX0pYLjd+RmBCWftfE5dgsWpwI8v3B0QKfJrJ8AORAdfGaxOdWl1NYByxRIzuBAeKZ91Wj8i6ENtlipDfHUd9rE/w91tT7P2cHJqec3Dx0t6Pf/cl08XeSzHruZAW5dcGVb9caeOUR7exfnZcAoB1Od4Lur9KmeM5N/CnnOvm+v/eGm99gO+BXhwAPiuG4h0zQCoWDD8SHN70BmFCJQGOwzakZLfsRqt02re6TKxRkc66v5ap8ZAIcHPeuTTkGJAErvg3f+pbYsGKj0JYul9aHosOidfA+grLjV6GAJGftt8JIU+El8yfiF3tA2jtB4hck/urzxIlQxfCHSptmP71iczleuN58GfR7MkRSNdjbkU64jR1NS91TvDKnBtGuIkOERzAmC4uOV11Re1SBjAxVMxvoxY48GTO1hzjq/ZEg+uZZ52hLiiW6STsCwHeNnzfzFj3sOVy52odSpiz80+MFGp6P0gSWejQ0e1ksoFAP2Y+h/dRWM4wn146SWaERQHfykXruoXra5LUZH/WE0lVbscAk68mUviLQ+DzWKm565cnlTTCuZiFJ6SPQnxwIQ1M0g9BXu32LR9lPdRPBMu1cupiYlIAkYIIBqHEDP39mEn1n/ePorrry0xCWkoVvgzLlsGWzSCNY/NWoYla8br+93rhCnjl5BkGRejlcs9Rbbe17KYUJAl1l/EQWgD3+iPcFOrU+sgvwqq1N11MiZM1Wg0LSA31+jsAgXU9IYxKFQ+uVpuMb0neBotbYevscUbYoVrEIhi2PNHHA6FiXFd60SA8T4IZvqZ1D9PAZzhiQ1r6MePEKdn5veTbS+2E+O5zlzQXfHNOtNjlIojkpABu//Xafshj3HxmT0TI6obWOmw/P+iO2LA/rBwDaEtNB+te38vkyW8fT0umNl4Lt20P04QxGHyi23sOT4ywzgKuZRcBpG7BaGWNENl2/GHa1MQoT785mkaYqIPoeVB/FBa5VrM+9r7CpKJ7uIyCpeYTwNDalMieXrVmoJEora+igBOEiVpbRhk4PobPMebaHgwKCjX4smuIk8fLS+YeDMB5SgR49/+9HcQmoMdrNjMfuy93URpvNFh7+vrSgvmRGBMzp/Wv7ayZaN61QqgBjJFFPoKsOzkG+3PznSsNYd29/8sIJiOoTjUdOpVSHg6KgfC/UI5fQYrhEu9uFdVUIS0VpO2+UPUJ6jmNshmsa5YsB9kK2xUuEf3ivD/WOvgfdhhrNtVaYyZ6OTkvrz+YOE8CNoUHB7LoK2NkDkGVz2kphHlAOXUeSlDA+vO4u5sjEDCvXFhIulY90BHqmIvsP5Yyr5aOTWs7x2e7tri7FNGabuGWSTnZDPdm1i1vr41aATRzDR92HDmL+0fPZUqZHUPEJalxHsyKSeT7BS/6tY2ZHwvO9hQZO13gRE3WY8zcJ1kPJAk4l3FaTwHmLO6d2/zH3N1L9kdv0dQBSoN/2bHKo7mQh222UXvX2wsSHUd+bYnIkRyfMSkSTcGvk3bTHZTd1jRR9YRBEPqu4w7tRtar2G2E5xuNd7Y8ln1wZsW3U15v6+RZ+OT/WNB0KIxXwfS+rRhN1/sqXu7RycM2uWLM/+FWc8PGcOPBay9p3M6Z1Z/us3i75E1uY1l12hur3NkDlPvZYTy6gLgu4nU0idZqwI3sxuI6j1Xx3Yi5J+d1oA3fOutLhPfOdVQjzf7BhgfJn4bNAr88URlbY/gtenjKSAFPCC3/rRa0VxpM/ijxfPro60AQQJveha5Bit/OWiezQmP6ha2LgDBddV6tAbEmpgbcpF8sYLcxQZ5zUTD+hGugqDuWPpB2Yy1qqRXLz131HFtzSeljo/OgzMYcysCExp+KozmGJR35Yf7hRjxLcPU6SrSR1s8S3v0a+5kRDqbj7qhSm78wQJDm21S2tGDqRqtt56ALnIT7U11gyAw2THsrYKyeYnKQDaB8WlD+tOnztHwpQh6mOg9mrfhyUJpKz2NWxuwegh3qo/WauPmRdMAUw2G+hoBFH52lDpcx6fUYmdTEtYZbVnqez9cddVkDC0/NAZzv1ZjHEDwD1Hz8FWN9Gi647M1XA9gXysNNacQZ2FlH69c1WWuCckstPpuA4u/I+rh78mEa7OmlDlSluTvYzOk6gYF0PIORSS5vnuPF2tpdeRErSmtMvUl7YW4cnMIerk4f2/LLtQVfLDW/yFm+90zSegwxteXPT6x9ZFKYZv1hMPdDIkxxlo/sFAfnyZHnY8gFLySGkUEV45hDSNhMEPF7EFtfuYKZ7oWw/bVLuyHE5wVYUgu2fewfDU2sv/33lVY0SY3T4Mu+q5M5ZY5rtr2aAmc37m7VkkgnJLwg5vzLqEyka4B7lBtHYotiHDU5D70e/ULBj1kE54KDxUH5lNJzFm+nYDNZCwJ8V0c1N91PU4zvN3Tn1iIj5MMuB6Lt87UQD45JT6BGmb3siSIjpiNAC3B1z9SnaXJS0EtNm2kKL3FPkrgG+V/zLskQWDSgZ5JDHK9phJKigYVi7+WqQTERfz71IcufjarfrNLOGff0VY7P3RwWzx/nqCrXRvqdJBpsxapoODn4lqdEQ00L+9U45PykJdP1zNmP2pcuYSGBHMwVMbHLWftNd6p52dzKxOUiN8e37WHX+4/aLuS177/7yACcCO+/2sGOajU2ZeT2wPTA7zKMhF0QjbT7NNG73XycbOeSXk63pHrU1bXqbGr+4JOo0/Rmr/mNnEHaslqXxX8WZxFPp/8qd9RIEBdu0THyjNnbXIO1ZVBunY7aqah3tQjAoMWDbTZQcOuyJoZbHLHDSxrgY4DHcQKm0x/IV6i76KgKRVsnS3VKq0FZQjdsBsYsYMumK+dWyEcR2CTxu/p0W+DdouoUpUVqqxCzqssiuKqZb7ZVByEyjdrQSd1fxs82nPcvi8ZnK3qKw9/bNShdQ8Gu1cbef1nyecxyC7/+6v/l6tW6J8h+YCO7k82GwQdTOj4hiQGDfrL8TCooUI/QZMLs0814bBkHepF39mwD6oB347YyWIL521KXXxU7IQQiQCjDgj4T98bCqmpC0gwx1X5LaqWl7FoQ99rAdw00L+vGfbi68c9zkTGYEvMDRPCPKszBVaCpC6Mg+WYNxYDj3Usjqoj2/uOSF/fUXRubL0sBt5TRTAb7thzPt1m7v38njzs6GSo3GpEegdkQi/A7oJfgHgM9Yn6dURaZuiS2NW8pH0zcRi5bo9cHRkUvFI0tagN/BGZHT79eNdv5zqAI1iU6TaFbFdh59igWNQy79A8n2o3EkHHKi31jAUDzclfPsK4maKOjiQXOvLHXP+VeFX4WddPjyIfT2riDano71FoiPZz9QVE9LYZ21NSdDwIO6JLKwkuGGOSWo5yfvZvQzKoj3lKjfbPXfeMxP8E7Z375dD5CHRwjyr8c1EtRR6wOaWFFzsXhBaw22GqIZP4YxuS+a5M9YPBoIB8+J82xXL4fAL1HqTBHHzf5rR0I+qKn3VByuUO4acT9zChiC+epNquMPoaGKU3GEB5mheZUnANzl6WeAKMiPWnKjmbCVIrgGywDrUUSgXOd8969xwnEwdEE7RW8OsfCUw1Ox6LxilUvX4xme610kWzCy2TzUqgYRaCNi3XeYwuji2Oqp8+3jIp/gtJW+066+//R4ENh4ykZDb7c7CBX0fOIl02/fqiLf9yQpHzJ/neZbh87apYEkb4jnykLx4wZzPJIN5owobnabQY7vNwCzMbfoejNimBI7a9qy6Z7U7mWNdFNo7o7MEaXlHauKTouQlubiu+uGJI0EI73fvGHPKShTS6nwTlFwB42okrBFjlSPoetOHY4xsCWv2I205KlzZ9YYObbz+77a4b8kqAMzFcDh7nBPqb50d6k0XBHS9d59kjt0Y8yU2UU7ycovvz8VRZGB5ZFsNKeNLLqIq0I4Gel9DOlVVrYKm558mzulzcattIiimmB7LID+XFOMsyQcBkdNMyUgBTkEcN1gvxoq3sUFjx++c5b6s55Ept6a6tcdSmUW2HlhSMJVQH12mhy/0KhOoHqOqgkyfJPCRSb4t2HSZVS9pKBpkQBI3FOkfFSJ/WClVwyzxwGaqz6wBBXdVQOuduHhnfdwLfkZYnlJNlg9kR1GjHzhQRs0Kui59DoYqLcUZOk58sSd2vypj+YeR2qFIbY7UO+KHxDC+/Plg7AjmDCtx9QbxrmBK6C8YjoBSi86+ZgBXmmVRL8SIlfqjh5s7XKrf4VLyeiVdslTz13QeLWWvU/aMqe/DXa7EG3i1/3XxNgH66ajnv3d/iyahwZhqkzGFT1tEz71Nlw/phSBJd/qXV/t1Yn95FJ8AVjYINgT9Z3LHa/lLldYo6ASHWQjhsUDkjDds91zPj+23qX1tG74Nz9JD+JX3HCv+aG8NETCuOKCe0O4zGg4vFadtTIpscycq1kzsg1T2eGNSvqc0yZ6CSeaVVdTg14kdZivvnpZoWCfV6+N21nl8r4ZPqykauMJ7X7c5pRNNdRj2FEtwKHmrAfeUw9hIzCgZvkZQSOJJl7YYsw1RJkLbrGbpXJ7cENgQp/5CB8PKwlYAS145IAlk/iHVnuANZFZixoB3tilfz9Rg1ROAK6x7gmAqoarNVKJn3Jk4ZSHqvv29LZw9Rhpw7i6AYu+ENmBl1rv33P79yEMOHoiiZbejFraL63hbE9aoPOZvz9AgmqRaIuD+5Pn6rDHFsFo01w/3NELDQcdz20To7fX3k7QuTPhPXVO4eNkR/IlfHXi7EphIGfj7f5+H5QhDZDjVg4MEgJDbtx+bGrBUoMO+DJt9dgGa2+s0R8A4sdH3SoE/KiRrTVd0DRBnlBkRQkpvCXfM2y0N8UPpKF21xYh20BiVi22klZ2KZwm7EgudVZAd/bCv/oF8jQcC6iUMOL9mx686aMOeWM5nj7mIRKe9a3PABFuzGC7ctUfs4Tutp6/Exuj/QN4IfEYXNXpQI7RAHqjF4abPMwVBasWQd6e/De/UhYy30bP354r/ciDTu9ruc5PsQ5gMR4YUgVXiabsIUCb9r4YwVYHYjgVuXThXGhDLPdXJftEMFpUA+LaqtYddVHrSmIN+ln3LE36qc2OGvU3g/+f4AQrLT5Xff8Em7jHF6xkiaRz6Qv+tPTKisveBGSzs0tApBtUJ48195HWXcjUabOqeMUqG94X6zbOiAEoQ28coCrGM2hmx5AVvWQ5cxNFnDbYqoQAs5SBLEv2vAuIMEtR3JWRSdC49hDWTeoCSrjPKjW1PCCEWwsmlgAQZIDtGw2LsGn7d5JV+feldm+I9Li2WBGBfJ8/Bu/sVoVZDie4p0PFF235qa5GklMLZuCqakvaIC5NlgYtqBqL9bzqXTdY+OS29+ASghHe1PvQ0oUVw1qJEUnAPAjnbziRt/7h78Q2DYj1+7mNy9tZ/F7Dil6yRYtxJlNZLUTuPquQIAK/cyZ8dtpQRRB/wDJrfIPMECPpMUXfkiEtrxM8Z/PcrkDq8RkgHJkfI2i7PnoN647Hxb3PRCc4wXT/LJRRdfBFjtbxiU8gvFkNTiBBWZ5aVfYPRLiSlnXlbaMPmGTOGLqxt3/IsSCN30QXj6ZHp5OwylKbAIvpbm2ChKRraRoutsUjwd6TK+VqnbANf+07p0kP8EDFVDmoNHliGsZLDhlrZHo0IVm1QT+ZTfZamrAMwLeDMzGLTrGdSTzorAJcZkUVMDfV3Szh0ilI6Ym9CvZWDgjAdmHQSD6oUJEBRfSpnMlJNacxPgd9cY1ak1KkzH7tV36ZVFIOTgZAfNoNt6siktlU5OLVUA59GDfupEMvHl4ezMTs/erABxG66OYsEJymvF25aCN3bhBkHJBJujIrrkQhmoM0XH3O41Lh+Gk/cDHA6Nb7G2Oxd+Kr1oANeUzHGn7Ne6vKAkR9GXegtaYoCa/ghYZ/mOv/4ffLabxtHKtHz+fEzeZwPzSaSJjR+OFRwy5g48bUKx7XtGrh+eV3DYNW+rCkunSyuziIWSbcgLdUipRKkSN+jEU4cHvpvOIa++Mx1H1HL34sRJ+1S2wQVNbOB/0/S6oSA9D/DZvOIlI3JoELkgqS/AoKx1NTPz53zkhgrX3D3IqvXFyssO5Oqyfk2AtuRMQ1k0+KSJxX2ZaM9weN//Ql+nBYqYpuyfidPp54EBdgAuokBcPz9pAsI89HFH3IFqhXYQbh5ui9e6k8RwyWSxDQpiTV+0jODHMgjyPEOup0fZ11wDHczMLAa4stotfiXXoH4ke/PK4ZzjuU0TW3J+7MKpJQAH1OnaEDkXWvcGqkFBBYk3UENLb6mHcaNVnsIukJveVSLB6HbtPeRZI2jTxpG0YbSUWfVGhwp4VQOMVihKvRMH4tBmQYDKZyWvJg2OKMycwbkm23SldMXdnQUIGAx5qNILKqGJGK3Ew8Skni48+6DewfuUQTSySIbQg9IHX9+poNF9SFufuyMgAWVGm6Gx+0zIiv2c53+QkJS21iTzrdKr+OIFGhkZobDaAziSdTaWYbXNF9ZsgTuXaYK+z20Cjx2vECGMmHT0GJk2CfU3RCmypO6zPJL2P13w7NPLJl/5yUnj327QWlbGzfRBoW6PVpwGwN1NnaxA+LJNBWnhPxkDHZ4Jphi3nyZb3rTnYO3DC3I4yDYV8rEBRDrB8gXaiWkIGmgv8tNVhYHaPfGC5mngxl8AuyMsLkvOUP/q/IbUAmqWHUxe7c6NMXpLst9AzDFCBKfumrG9Y9ZbBIrgNs7ztYAHpBqzcoOgl4eT5i9GgwGNRCD0IN0qYEPMCO2yu6siflkA9gWEoNsul+dDznLCGip1Hwdd0yMQ2a2ShfpvmSMmJuhGB5+ZQJOyW7vxnQFdLtyqUtS77zFfS8ujcBvWuIAHIlK93f0ppBCoy+fOITCaCz+ZgLz4hiW63JK5m80LFmdf01MvkkCNsyd85bFati//isW4tEL48ag91iIM0hc6w1IxEwiE39aDSRTZhSt1uW84EktHOkxhn70P3eUbmBmm3Hyl0daYqDJz9Vuk2kuVr1iCbZ+ahlh+fT051yZvJki45MC9JtEFYj6PqR4z3dvo3OLi7EHYwo9RvW5dtYdUWvq6XnpH+GNN3jVE60cWA3SEOzsHE/ALD0vMG2TtOckZybwEPMEwQXZv1AHA6jGdFjJjF+M6gWbotdnbiT2b9vUnabg5yPCAHS1U674veKB8fRHpthyOSaGTUVrVxaYl9hJuG5qP18oTdEViMdoDHY5R7EEkIJjO3CoswT0V+MT7RHeMGFOglCIDnpTpNG5Rc64SA0RkqkoxZKfmT2GxzVsYH3QB75oKjawiAWqg/qV+8tcpr4Xj3sWwvTMmETRDCWTk2GOBluXJ+4fJFeIURlJv1+880SswZFRXU9/7PjKM5xs+Ty9RiTDoWz7QoGG4BWyyrUcx3G4cbitWy86ZEqkpXCRnAUfyZb/8KlTxueE5s/un1nBVuSLNL9Txxa0T4Nkj0acR1e4U+on72IEL0yluYZkpj3m9URLCmRgFtP9KUQnzkEidk6CYZIwBFhYJprYlOP7/CDUMd6BjSZpcy9qkZXC3u1FkC8Y39NoLbG8o6tsVgu978QvZoZvdbg45DEQYV9v/JGsz4kN3641xDXlrTTWmjKNRlvO54IIaKDxZU5cEmeqVE2qM9tWd+idYGQ84GRTUa1vXACdKz3nQjyLwMdc31cC5oAAYvgl/vquolnTuprwnJ1JsS8T15ruKV8R4cmIapzmuPflhMwoIeHk3mTrppuBmjUfTOxR8Lk1BSz6ZTSROMm6k26GTncE2X8kqBw5vaqdFtDZwyhArRH/lDYQI4n3uRy/1vc24mEGNjKzHZoCazaWGfv9914qxCNdGe7I+Xw7ZzZMnEdZU4IzAMWWCEEIQFOE+NSpV7R3c2Nx31jOZT57uP+vFPm2HeFAzPJfYVLE2iEE9t9llrvrhzC06802HBd+5lTGIEChBHllbwXYf9kmYrPRWB8MY2jGWAeu7mJb7qcccdav8Jp2+nhJXy/iwxdqWAiOmbaInlpXCZ3WBj5teDd041h0RfS2D/+Z0qFWEQDNeQxAY7Cc8OtKqtKio6j/Ao0N1xo1s9oklPX9cCNELfYnIe7+Cn4mLYKVmx+TV71zd1c74sYHOE0zpS6PZsj1BbWbYnbzA6ZP2FOXbZKXD2uOzYypkXHUaMw95OOIizV7gbLU6t8GLwO/ukqkvrQaE4OPTulUTt5sBnDSRIm8ZLA/3KH6WdovD0RUKbMHawdMmiO1HEq8NABLpxYObS7NanPQfoJy7CJx7uvgzTAG5MFN5MfZY6rh/uaIakwgZnH2c0X369iIBzojNvjn8xoCN9WY4G9kWWqvGx1enXaI/2Oin5IilRo/x8DQkVmK5jNH/wNl2QPaQ5ei6k/+IiQGpeQu8iS9PH726HZ8yCDJOYQYMAWa/zoPWxAlSswgtghc5kdNiqKUfcVbYD0Wb6y18iE7p33J4QODCJgGgEe0elYPlgOdd2gWvfJlJLMXIQZRtA4DXSmL7uzm9Zpa5sCOOZHbKucE80y4MTWaqUwlqTUVa3vNICmGGBs0tVe45t/3H9KSS/Z0oycWYJUfQ5yNM0fd8AWii6s0ezGDd0IEwoZxEUicobp2xGTR9LEbZBIIXgzjnEYvNeluF01Ez1EOSzADS+afwpIxRuD0npszvDLqWwhMN33gVTBtUlVUcRnbkPCo4iOvwWNyOnIZ1SP8y5ELpvkvaUkdFeDS5GX6KUHvnMXOI41SE4dXVJ4HwyY7sK4qZiYtAsLAzDOzUj4XXBZcRZe+TPXPr5EPwRH8MmCvQFV3B/t2IhPKNgQnQuHPjcZmZrbv0oxdESDZ1oiMaIVjUdx1V+2uv1PugiDUrK/Xre/1msJLqjqQ2Ex5dApT2tSWsRsQ5kY3FiG01TtVO3DW2uC+KrJS+Bu9lvRQ8+7vOp+0QqbCYIEN2gJw3u5xNFrQBKfyri0gMZzucfpKhj2CT3vuBC0WufR8jbFySGTAx8mg6/AL512N7UtpIXBY8lTmibZZnrT6BBHib5uQLDF/FCmy6I5DflUzYNmfTVLxshYwC1SknO9UE3Vubrkmerw5UUjLj5zpaO46kk4Os1lT0IQS0daf7eA77151tLP1GkzMfEH3yf/6GNcyR9FIhnC14uF4atV5jDW+ccYKc3LIDVyvQTkZgn8XfwFAgJB+/GQxtFcgfbODoEu6LDdNGMa1TOxr90aS5oFwrjlvk00yt2+iBzp56VWv9E4Hi+QUro6QOv8eN9jNiTfrTMBAqPLR+KeIvgTzHvSOpNYsRYpBpfUZpkq7FQtcdd5LhLEg89PAEdZ/AW340Pqz/ybNcqqp7ZGgaRST5U9F+jLsI/cAnoWfIX385fe023PFSz3Jy+Nb2H1t51LuNubP24ubmWOgrJATP94uzTvGSMCrxP7LQbgd6gcDgOhldXxlFCMkd3ZUqhCWkRXwrvwmkD7GGvRIU1KWtU6p3v3TjSe1ZMMN2Qu2SHu8fnZAn3RCuQOwYXoOHvtaAeNRBEuyUA9/KJJgd+NubRrzGNJxlDfAUzo4LJ16r6Mu3BdgLB2wHhpV+ziUCezZtpGAwIm+ygewi5I/yuhg6x+X0RrwYJ+BMIhlhWw9xNU9Dke6fgR2ToPaITAJr2w/Yyeqj675TCzhwbko3zkAW4pIA83FtoIwmJAXDfGs3YGY39i7b06b6O2bIb5fzVUI8aOuFU46KvxarGL9SvcDPfbg+VrwCvLfOGtuyNwTSCIoOmPuB5yruozce01STQnTPdN0ZYSY/SsMKkQd+Zbvk8cRBLHzZ0ZeZCLUa6k1BsSdmBqRoScsb5N0L6HBeps5YMxBaVXucR3tDr4D8hRf5zWFApqlH+b/DNQTlI+haJxoG6/EQk6MIM0JGWnjT23qiiw4hNBX9CHPkrNjzNFwPjL4nqrLg+qc3g/uoqKDQy5wwJ+nzEqLszPzGgTG5coquYgIWkA5Xq/tylef6x8ZHDBfRJq5KTSnigxIbUqbHjChgYz1an1XtiBBxtMekhVbqMIg4ayixbYvsxTiQy/5aH2gLEKrBLQ666mw0lJ+oBdMSlXhg0dhKB8tPQHvevC/bqcSWJjbyGTdNypvRrPi/jWngsdRVkpgv2oFupS38Nue7ytSwbayE7zm8/TcKlak3tXxjXKDUJcCmJwXtXt/ZqJJ0CejZ5DfJBy4EzGVuALWZfXsWTUtLtN9J64EXauQDo5gnGsReiOLrUnGB3+SND0SUaiuLJ6ps59ifzhu3EMaARaUqcM3MuP4+35u+FHeC1yKLP/YoYL+GtnJZqaO+91kv921fo47WsLbp1KG/ahzNx/5O/rLcHy6Pfxy6Q7EvEfGpj8OMb1b37Op0RTaLc6L39EjbPycDSHGSRJpTbTxVrcwIy4tg2Exh+85W8gLTTJepiPaaqad/ibq8oe35VdovOwcDXzAwZOIX6YA/fU4Erew1ueiIE/oxESIHLqKAnX1liwbxknCd5TLQqNdQLBnjB6IREK5IqaFlWnRFSvLhZU4QuPjsWYoXeGesFzp2l3aFcaAceOyExfz5u3BkYvvMljGtecqtxxHvkuXzmsZiXwUDoJi/3hgEpNOj5m1biATy3iHqyasphqQashtdhIEC4v9KG72voYjcqaSLaMbn1+lLYlgtBx+0dDQLKsM1Xw1ToUIiQwM23gdngDrdvjFpkJXo+WoIbO3GolpJohlhWA1QGO8FcWKmotp9BqMkaz3CaxmUuhEaIlR+bHIwbySwyGn8bHSACLk1WUJWDaBLbY/3mdIRJHm0UR4k8MqOGSJuATYVJ120mfj5Dohj2lfpSXUNZgaZeQ5nfpmFyjZ+jMtQC76mz4Sh9l1Zv/mAv3PooGhX1tHuAQGzavyUCQUEfboOYzCUHXnggX0GkQsYZ7njJC21sMrjZCRW/SF0NJ2bQrQ2BKJ6vq4byCQ+FPddDAReUUqDZWLPAJwYIAaGHLgKmIh+iThkBXgAnp7C7SK1jVGvc6S+O+MxdDQy2pZa5vBN6UrG0SbbhAV0RnefoR6E8+DyQ8kSGaxAtpF+z7kF/uzwL0FPlnJIm21mQpiVECt01zurZCD90EbXGURD8XlTgJUFjYFeiN2t161+Av4tnodf9qFQv/+jw1oQzPm3/9DLp8M9bWsWjFDhO/tGsD2uzYy2Tg3VApI/7HLs9vctmvZ3ttRt0rBluhOGL2+vQpgIqUby1IoTHJSKTiwhTWd53RSix2hoc8rXr5nlFhNrL8kAZiT8jm2HfjFGZ1OuQ9ySa9midz4QSB/ETTPRstEfwvu6QYUmvJZKY0sAVWwn+ledfjzfHKVo3uFE52exKM7DfLeazIiaqMv4Oc84TVMoYba09bkGoVCFaod9tPGjdp07+DKqh6p9AmpxLA2ExsApN6o9LMpp/yx1mKUeIwBx01A5hqxKWwf7lU5S6Zp3ecSgfklLowHqhOs+19Y2ccwnZBEY1ZOgOoA92QA9IvtIKQum2r8otWIVMoLXUalad/HxvAlnhAHFCYY1GKAWp40mKKQDI1CWNMrOcqauuZXxdAr3ag4FUAgcbNnJHnW6EZplUx3BYssVuJZ74boHiDGQRX/4czg6E5XmXgF1l+SKU/UuhwECHHWmH5QRgh39aj0hpqAaizFlEv0HBRuXYx2a8iRLREUFf9cKMcUAkRH3Sbo+l5w6mmtrC0GoTqyWgO9+9VmyMYbPxdLbE73tSDvqt4PbupKxMLxtmOMEQkQngMEz2G92DbR6gf/eZFkYLgCpEGEsDeSfyEyXv+gd0x+8ULtM/0trMBEISEBkjrVojUDJQwZmwKPL0KOa3uLzuobbH8H3wxbb3tJHofgcn+yzKLj4DVHWZwjo8jFA6TBAXwylcBGZJqXq8ZS2xMtKmg5e5w2bX+V30Nqe708z1jWjNg+btKJEnQmPiNWpjs8Fml9Ia5a9COYFUXxbXPrIKOOTt+O4Xdk9T3pgCTAKzdv7s8UdslPuRdomVSTTomYeDFOsjn9LVtb9LotHRMy1+rFHCU/BqvnzK2DWniKp9QvoiG9vnLHKd1KGOrGuzAFwXmT5Qp9Z4ImK6578S01+CMGMfu9w0etsHqrcjQfbnM1CVwCV368LpA+n8C3t/20VIJmaDWAyqUy87rInlvVXiQk+6UJdIwmqI8AzBNvreI2Q2YpkOzRuZVFwIDF5htOojkFR55D/zZ9wyj183EFEp5KMtm9h9D27JJ+ymbh55dAkX0YLwTue+zKLtU4a3cy/lBc/rB6EYwgWGHaF9nizI9xBgNI71sB0Ejp0P/jPD1SDT7QKAibdGRSEdpOEMPEmim4WG7pXCF5/3zFK1yZH2MJa5RClIC/YL8XtQjnSsf9q2JDUs/IWNxzN9mNDGyS0WoAEt52Aqk0VGVNNokKyg+A20ipx5NcGTtnDBrMmkpZJ0IK8OSjbFw57uSOxzK1e7HVJ6jn4dkr/DMA02RYu8SgNFWp+/tlNbjRMc6HCQtWbTEIz4T2PLSE/nKmqibmzxQdrxFxPJNzOolXDykBQalbSidLS3K6vhp54hvEsKMkEc3NmVyyogYVxruoBCAFj1iAvWOqmWLxEsMZKndE2lOu4qA39ANdMGz78AhzvXYst6f1vuyR5wE97TLv+xtbGaNSFmjlWJGwwDUMLH194HUaganPww3T+4iTqeyYBI0fw8jGVvacgjURRDS0eDc1FshDRLu3bZVWGuZwvFfswTayjN0IxV0uubSHC+0wD6yfMzmSGnUvB2BN2AqvHQoXOOihxIEE2uiY6hHarCAdlzsZcfOywpSfwuGF+9BWQXttzy+LeqMXXd5RjWzZUTGN66soVWQjg4PjG/Nj4Te9Ba8qQrMyWSchuqKROc+Slt17xRyLRPyEUGA1pyWTAhhcI900zCradgLlfbCmuHDJFLkWVhbjlo7WF2NwtZjwRbSQgLg7BuXEEqJt8jlbSYlG+Cs3mSNiqOWb7dLcolfZmFk/bKmW+ZUzZqjrn2Vi6qt8qPrvKB6y1ADLXTaC5++sd0gCoVbKzg4ZLVpXEGw6qMu3RXNx5GQXO0mrrzWaglpLJbaIGemupM3oUkwzOCBZNwafxctL/UsAWDMpTLBAB5LPz0lGjHXOFpvZOwwewU47ANEKJC+OvxQ/ecdFX5yYpDoAwmi8RBtinIduabplN/ih0g7rbgEaUK6fjL5r58DyRudC40OI5+hy8wlkmdHttwILYiJ0JIvsxVKhQEFdJi4PtlCoLOoyFCRq3V51xl/4ztdv76D7y53yJu9SMzBfactrRlh5x9v39fWuoac7yFws5XoebMS6R8ZkwvEUCouQb1en8Ecn0yr8fXgv6PLsl5XqznlRJcq81NBLnW3L0KVhFXe6ShUQ37puwE3U5F07FWqSTGHAFTjeabrbuAQzff547DbZ8rik2NjMWdAJNnJHIArWakG1tMfSAAD+1PQZis8ROygbaWsqIKApLHYHYnlY/qjRBsDGn+5FH8pRKQRtXA1Or8pDm94xnFRhAzxO+rkN6yxA9+XDW1UCB7mdzoZ+OPIr4/8+WkKaPBXBMtjRPQuVLEx4pQfiGKSX6d6vuMw/s//CgqRdhQNkpgV9UfPHR4m+AQuQ5VkBtgrze9t5iHEaARn96BBnM5Olqe6UBC15z+DrRzOY+YTJ4izGgY6MSFWa7+Qz8kINSEImNuwlavdNzJJ2R/b2SFqRW+ApSybIWyRSwLeziy02e4XJuKg4WTqQHAQcedLBOK+ZksqYe8c5hB+5E66y4tHKKpyAluIV8xacWVwu4uNSL5gWUgjrEEIwRojYAff5VTQ+wWemezmsZJGksd2GLDZaURzTtDwGsUTRQt0F1avXZ0c4zwHhypXy8hAkBJoIEn4DorUJdicN36KEwxl/jbRJ5C40DxSVHCJgqFc2L5JCCCyhtkA4NOZrmJRHVFpOenazN9l9kx9PIAG9ctgCOjM7GBIPgBmfy6LrcPXjHb2PvpJB8bfHrqsl4OI8WaJ4GBHJvjUm8ZejpgY5U2yYv9UP7KSS9pvi/iAFZDsmnmHOIXQ+KgAOFkP8SHCjNPB2wK0MguICGvsT9uMoWu7ZQMICQ/oCy+V9UalZIc2GFhHISseVTX7WcS+gDzh239yMY4FF5JZyd9QHGNckqN3/JzSmaa5Fa/e7vrJ8mrfukwZC9jqZ/DWNilda5WMG22cyIvDNrL6APdmcCqkFGQp7fJOgVFI1BkUOdwRN6IYWec+nvLG9JbqezeBfda26jod8owuafj5nnlg6CE7oU//f/jqKfhcZv8TxcaZhnIYVm78PUjrcULolAInxcPjAR98UBynUV/BJ/FSx5PoNM9avCklMtZJZZaPoeioc1mQcb/d6JtUTmZJQgroAu2QOez0eCo246Gt3MLjGrWOttiC+9eg84949qDepaEwvk2oPsszu0Mb2knU6BRGTIxnI2Zs9zJt13q2wNYO7mb3Iojoma8bDOnSAOUfj6LcLKcOBm1DvsZJOpHIlaNTM081spIKrCPwTpq2VxaiGC0MFgER7g/ai/RbJw1KCZJApafOQtdlN9kkAEdzfs32rJDeI+LwldrBD+BnLQETVDBrEaM4YIbEGsjHkdOVoI71kD7KZps59J99gAj8zZ2hjNmymbTgLJKvifA3SlgL/nApUWgqjTvjC0JDHFT0l9J8CyJyqMMsDZgw7ScTtPUoU5ZoGnwqIdKrMn8uK9vovW22nOJVuO9jPO4JgaeIGPqRizXdGKB4Lpfk6aDEMKtJCAAKIst9j9ZPMSWJ56aA9TXkpdYo9pQGXx1su+I32m5eh1znRaM8oX5XY+3Xai7MPUi/Hp6uNGEPvVweJiLNIRxzehiQ4dNmxyut8KcETpwfcqi1pNxrdbh5qly+UnvHVzvXaGU9Kfp2J38fctip1oEEr0yCFcG5ikRoZS2rFo6McVdQ1wX27v6/Ds91THg6VsqW+T8wYz1g8VIwxNfMm77gOETlT0OlWjXZZyHnN2t5DOVRGtkdmcEWbVySViHK6nnSnG/0ETAr2ykmMsAiPuGJWyZUvPEKZX8rCgdUgA+1oTyxsQ1NY6aJAWcw9t8tsAFpAabTnTJ4Ks/sjnkuJnuWkZl8RtDKNUByKaAjynwPlraFr/ARk1/Y07LqBzkRjzSiyCax+Pbz6/833ZwfPxXsOI+4Qtrt5fKEd4ih38HDQNOrDDMLIQP+OH1zoj0WAxq34g2Mv6f/gYCXLXfYW+lKsL+aks93xRg2iqEc4tYzFjEQTH3rLo0/OIyrwETs3u9Ds3+DafosZpf32pED40qjCRzYoL+HOBb9OiLaGOdUKBXDBQrAl2Tg+/hdmdAqUxh5yodhA0rED/CfIIPRVDlnnHJTUyxp9bQoV4dyhxF9aG2m+WSWBntZVRzaiPE3J3OHO5N2nQKQas32d1jYTDCSNWNSqvXC+ACS1ZT53ubA7lL/CAaqMpzxbWm8FX8g4/nB+BPEoFfgHKqhGCP6tUYuhJs8L/9CrL/oOC9QuZNtzCJwqy+gpVR/Jwa4RbSML5kDexKnd8r5+wbyJBZepg9vCqVOFqIiny4OW6Q/nbSZ87b06oIpSBPzjNnEBsP1vjUIf+rc4xEGc4tOl1bDJnrerlUI75jKtAfLyURS34K+74gvHiEFqYaKJeurKhS6cbbYSGauOktb94ME0UCL/rGF490DfOm8+gDdjJUgsC8SaHaK2iDwzMzJbJpqUuRTXiV6f6u2hY8HQGTcfAupZZLJ2WD+gPgS/QT+FuGq1GjuXWKjMitswgd5tjkprDTFGdf7n2WBU6wO/bKcK6xiZeBGLdBbJB6T4nE4YWiLsRS+wn66gQPZbma5OdD9KQUV8EvbQxakDR2EBVOYKSHmHbShNl0MgS+5IfYn9NzO2FlAGEdZtIHFcmQk9mVAWRofvjS4UspmfgYtBivv7l5w9QXHrlDmu+Z82LUAvjFN05z95W2YwpBlwA0RGLbviG3ao29JCbkUIehMLYVdtOkINdEqwu9K85d3f8XTuP0RKKk94hVlRJbh5AtsX83W+8/GdsveWlm0DNwcytW/7CPzXghr0n8CvvzUXruUfpOAQKI0ieHAboaVn8mRoSBlI+FLzIUX6mrf28l/YRLvT7vdJ4133wiBK7LERrSt33Grw+XjJ9y73++lzXtTwx1cnW6j/WBFQLYJWABY9kV5JqtnkDotrkuLUcWGsdeKRMx1lPYpKf7n/JD0zTUw06O+To4MBvKZZgcKnB8STAPhMpyAP1Oz0TNT9SRrPdv1Oniv6KxK0aYUKcDFpQdWEpr2TV6+CksUXIDEYrem8XMOlyiTAqUFcluI8hOGnSxpN+dqW9Hb2mwKZWWvqJdtIB8JJmZPCb51lG+cOnXfIS7HtDbklzH3Rlq4ctDyYKl0U+yJPPSCCGw4KcvMnGoV1R5HABhuSGCrQUN5G5NQfaj+Rp7iGXN9bJdAzLdv5WNbf0B96dYajywY0aDCsVk6seuh1u0np4ekeH+qTZ4nQKAKyhhkCRXEGxvNBNMBZM2LPE/NJbbA32oFNMkj2AVOGYAZ65wMYEa6Jk6yX+m4BuRy90U4zKtN7YT8HlKH9utKGfuxpXJvFThLCROJMAxDUcrBpNnVCHofobR4YxJENsiTEboLTdb7fSgd2sZ7PZuji42/y521Waa5Xu6TVWn1d7/eQ12T36d3JKwL76IAZTCyTyDmIsFCWpgcGDaNVquhU6YXeKC+RamzHEfky4B2jx/rimQq/KPcJyt+7FwHCj5BljxG03pnCSP29s49d2ZcuoN5336iw4wyRiH63LWqGDztqDYsEtKWx2YYdCVgSCvSrhmccJmI+SG3wN79yU/9qTKpBj+tyoPlt5vduy1MSY63s+E6F9mG8g1Zf3f0Ovomu+k5xFPMAG6ghtgaePpOkMBVpGlHTgEv7XnrzJT9g78kNNwn89TWweuUDkJbvrXTzUWk54+iWRIvJOo+lN/yII7t8qT/zFNXzVYxPbYDwKmQJJ4DrguNUiAt8rFQ/9D/n+iFvKlJRcPPLxFstO1cj2DM1N8Mhl/7alKtV+oyNC5dG1MZU9tarqbLxPa3jN4X6wpym7vDs0t8lDmHyX/6PabsOFcVBMXYVRIoErtkNKHEO7doASL6cK/vYGRKoWHv3o4u3qua19V08ttRR1nWmYNhjjMT0uZqyJwlO9DOC2fphp4k2+STgrj/jwkn3f/Rk9v7+HNPrL3L+p5yY2f2gnIyoLX/6wYHz9fEzEP6oqNlo9mNYTFwXU1AqZANjf3F/gDSxjbBq9C4OargpkjObrVIx8bhKt1gTGTKCptNZWqbglybf7s59jFCfzHwyhR7faAJIlJpzJozxIeNZQ9BuJ73F5Jl/q+XcPbGWlQT8NTozXVnaUVbndMwQ5Xy+TIqeCzP0MZuIT4NItLADlXIwpZHaiGUGQ8iigAouYC8RKldeZO2zepj32mwn98cNbzXBpmUhzTa/32+pJib231OIWmSr0GvmkYLQkBhDR3SYAqT+xXGbC20y1iY8sJAYqEg3rOkNLi0e8bKO6gDZ8Rc7UqJsNk8sp6zYALdJbJBDGD91EdX28maM2VcZUsC/JasZlnhMC34QHmXzBLx8GU26YiEk+SvWDxtom9uXN7IbWXTEQAM9wnVR2I2OvyIz5iNIbG59mSCCnAG9oNhgJePmklE7TLOlj402CTqwn995DjB95ajmfZpAG+akndFtsKlzbvMlrDCuL61DI3q2lAL71WyCb1kfNhTCkXzaQgqmtDon+wWu5Go0S43OChBtETEeHSXkaPS/8ETHT1OvNVX1995ILQEmmuKLHdpwJeE1nSAosBj31BQsn+Wi1y8rx4CDCAkXecyc2R/Ps/hNjjstJrXv7s1ZFawYK9Yyb2JxGC13BXwwnxSX3srg9Tc17vbWFjnAtp/BXTUzqprf6BPlmrkr3vbjlGZoJDNEERz4mYO6F19PSR2mkWDxOcuLK6pYQEDrEMBNKA/hiwfGSTw+Zkgk6gsFdvb0rjYF4TxfrluUo4xpvPPYti8Bn88ssnI9gWl6WD4BDMVPcAb2R+fmMlS8BNsmTOI7ulfdYS/WUfO4oieAKiwqLYb7HXWe5oDbQ1qyFQhHLSSPcyVHHdaijSPTlOccDBXI4yHsjkXSrZ/NkoTDDS7vlaGIWUVMbI9LAim0MseXemwiDucNvJA516PCTvXyAuErBhxAWN5/14ogCUcyGeSE5wexooZpoSSD/suRTMVSGN42SWwqOstDjQUzyX+wBSzSMjwtWBvUqYDx2s/6F1tDcyy7grMIybb0Gk1yg70A8pBi0W64Gcii/iLFHPM294kt6xntoYGZEXbZ9WX3E9Ql2J5VMjPUJaoQjKMP2ylXzPYAiqDLw5WHmJk9ji31AymIwI18wMsK+6m5DA20Qv5HruVzTsqrjzPRn0dv7OZWynEM0PcYI0ATBmwCQUCHRwMYIxKAeLBu1WsAQZoSz7RlDuAiq/NjkK+azYcnffnTXZJVk/A4ND+t61pqdp08gXg+vGoSFeWuOzUgyEQjNWz4Uy4dMwDaKLlE+5byLGs4hCz9DbpAq4gJiR3geFk/UMOvggQsQHzIr5vrMdyKSbw8eS64TgYTeHPAPqt83kbasWKeWsgUQa88NG2uSODg6UHoheN47AP6FySmfIX+490Jf5kr/O/GuwNDYoYshwUoTGAKj9WCfwgle2XyLTaiX2L1N1XxqIvsIYTaO41x0CfGME2+fpiKsYP2o1mZd/FF+5OWFOwFm1bYz1HmeNTbzEMJu4rDHPnr18FZ9EwP47i7y6SrZ7Jx2JMHUvO2Ga3DkvWbvqFP/dnfZ17x+v5nMY4Rrqqv4SRrupl0CNhyVDCmRxFy91sd4o7P53mMQvtbu0BP8GTwcXCd1NxG9NWf3ttVi8/ltqF5xLB40dkpbsYhl/uaQ4oACb1S57e16qKHu4Jt4MAAf4JsRz0tXauGkqyOFlHcU9TPp4Qm/4IKpvjVnhS42pbHcjFIbn+Kv0p8A9zieUHhBFB0VUoRpfVVo/yUXkGTya+69T67bLHdizt3YFuiNJB0wl5ewZECSSQXvTMlepH2fkS9o/3Bofp/PJuLwYlnztXxdVa2SHW9oDlJ7FwZhh2DmfjV94KlN05FLkEbigfWgpVhXI3hVy8ELS+b4EySzOaVMOSkhXcKfM7KMTGUQcI2TvVNgQkjlZ3di45k8+DV+RztmET3cMjE6X/VvCrnWR5poaPwiaE9Plrv09oWkQFspUa9vRx/gLfeII0bctgLE9JKeeh+r/9fNPcUSPvFzvnL+38ZUwlAUHyBOWCuH5TDWFp9g9vloyW9vDcGycGP4Wukgob5vHZHDDKP8ltm26up5hva6X0/njZTya0ko/j4VnEOC8+UwE9asI31suoIErgEzKpFXF2wYhLRbaIad/FpUMpkoMGeaQrkUjR4JHHXVwIsyACtBvbvfzL4fVIKVryuGHRmMdPVfagUmGO299XgGjOHxwCWlCK93K7E8rj3jqhiD9izKy5qav81Yw4vDc6kWj0nVEdRoS2U0teCRjCc5jBAysvyVFe4jzZ69+cyzZLJuQwr6k5NLsOZvYk5m/eJBeBteu8Q2+87rT52QA9InO0z4osLU3AQc6+av30hye6wYEYdT+89oJoNlQ/h7fowJfqWV6HVdQgH54+OwMA+1hd1KK5uWycGTgZkhX8xbA26ZEMRBDsBmbun3PnvYeyYx5fzHp5eUccaWi3/XMAnLaLAYGkaCMUIJgvPpeRkxKzKLZadjPG7UmeyjsaiO3AwZ0aVhzVXfj2rE4YIzUD5jTFEbE/kP8FJHTrMeszVEtzF7BOHbqRbHi4VCkU/R5mixx8vSITiwNiH9MGfw/ffG2VOyNOnHWD5KjLcDOkAQFuJFH+wmbQGfActesZ+OBkd2CfRhPJSyIpX3ZohXDhMC7iR/PH3JXgmCfatk4ssGctUeGvnTGw+7dYrOZ4vvUoiOjkLTydPIE6QAotgEF8e7xIBRU9vZsbwBUWjA+b8QgNxkdeMzMGlVBDHzNTJW889L8yvv6twGOsZpeRdDX+m1sI3EYWnrGdx53TQEg9LvxV2Ub7amTH2JRyAifQbiBpNanPmvJ1YLBoG1DfBhMzptdidoIprjWtq/liAe2X/Y05nJ+VQn5cgJzNsSPNbPRku94yF3y/5CobVgXIUcAfUbNCxyXi99WvtiDAEy/u1kKzILLXxA5iF1K4LLR8gQ1sew/SBQYhCJiS/GhQpXlFlL4cvVtbx3XlEDpwGDsv5afXBaX16gZwmTW7oPR6Vaqid6AVFOfJvoLstW3nzZJOKxd9S48OuSaZ26wIGF5zxPWG/0fcdwaLGSQRgmAIRJacQn/J03bVJSb6dGi/pNsmRnrxhs3QdPoNX62UtapgksbMe955xFLkxi/UkfanUh16S/BmWJa2dUoQmyOi5xv2ETRPcgpOKmDARiqc49XO4m77lTlfqxEX/fJ0oWb0RvOIZxwHyXoDOBOr9uBFN+Z11P/2CWSTcSHGGmD1GBCPhbmhTy/pN56fLlkc8l97nZozvh8fI6SYV/q+ZcEFsFFSJeskhij3brAKwpazmN7F12R5ATPGRG58wNkNhc8fW7e9Rq1MKMIjbYd+AOd/Kr8QQpSLrUh8BIdA2ye6+tTqOi0sl9tadFVOrJFYPFnhgnhcPo645KbHU+cZZBD39G1llk+gSRyJ5Gu3V6CQODdHJI60O/tGN+VBOJSyeQf2ukc8YZI7gySDsSfQX6eSAHUt0r1wj5Ygc07R92HCFNZJMpJru4x1vRnY35dvYRaoDl6NTvsA4Rm01vXRTBOLKWeV+D4VyPl8AMgKkqgbeAMP5J5jF6PTlil1R3gyEIeIN/NfBns76vVydmmNcU66nBFNfRy8/Sv+uQbrl5045wJP17mW6eD1E2BmYzcNPDonWFB5bkGYGtL7TabbU4T9MIovwOlsEDlXTZkyxUQUx7qebIaAgc7EihOhgu6IMcopI0sn3AXEJLKdFiZe8D8+jyG7SHp6KLtbCExO1iYzCl9JhyzGL4JnA2M8TV6Lt7rpr5D2o7JhMss1ji6BHt8w2xLWPYJJDSJvYMw763UYivIwadztvmSthyVGYFL5yEVC+y0AlpC/rcFdLCMzjv94fga8JXPxml5mAIqEu5UHWCnTWLfpiDGLPrEkinVqwdkTgCaBODR/SJaP8q9gN0FHPtGME8OVOZkRT/DvGpdRkotL/G8+1Czd+j2M56ihu6YAEYcrEJUpZtd7p8u+GO7YBsUedll+A0Ol5dkBjzelNedc/5qitHaCfhPArFviuPQS542A2PPOeHyKQWDovyo95PGJ7PuAoPznxe9r/a3s+zgeajoOvtNpmieybINtzStuJOhrED6/CJbfJrOWUhkQKn14kYsaTe/RAEGe2nusKeImagZHm3BFEtQtLsY/B+K+8Pa7iYLzHRjM4XDF4LzgIhi9Az6+AYluAUhcmtLVKdelq/a+STESmdrFvltWwwW+A/AfF4BdAFgTJiojDLmY5Z5BxVE7jtmUwy1IQGGGk+Jv+PBxcWSxZZV7fzqXv9VOelnzZ7JS5I1EMrxLNm9KdJRPaXAAhb3KTuX3pwgEFPAxlxTZypyyAhmMW4EEMy7mfguJcZQVRdX44O3P0ulDgb5p/790NejumHLV5gwVzfkf0s2LwoeLTwLQtHmimU9UnPTtTgPVJTnoJyNnVZTYxXqJy6mhus5E5SUaAtvxxP+mVHojkoskIkwNPeOHlRUl5WAdiBob5ar+56G4yPayHO9Yacw0mHMI/Y7OAYjpz//L1Vxvq2opbF9tX9PVMuXv404jb5Se+b6lRkkaU/egecREzLhw3ULea8lNYjIb9j5pI+3Nr2ZM3uFhCsziVLGV6VwMi3ZYkMyMI3zFMkkEwx4ZqTc9qyKvrq2pUllsr0AWCqDYrKaO3H81QtMLoaysLgB8EsazTg5ZVsfWt5Yc0CvpD9wrAqogru487Q/8OgLRBqSFKYQSBwYQA0Cl7ww21FFLMBwCK3qhh4AizogzyWPGS6nfwIZb1P+WgZQUV1PtphUBEoZaM4/GeqCHBaHSkCZWlDhrDB+2XAmvqzqBLq/f6VXno0S3DPme3qOHcNLjPLErvuupgArET771tEQ4byiFGU7BqkJQGG2xClhz/eENPaiuPze8VP5d2XWZet8sosaQxsngZxST9Eq2ZTRPo7KaqP3U1fdtKb97dxrQbSXWDsrBkUk67FTYCf5MiTcgjWdPEslz/XNPMA3oG0WG5/K9KOX0XzEON5syp9GoDFcGGMJkm+L4P5aO+uYfY6HGLKynxOyca6BS+xFcZmwSMh7lmMUW01x6TCOpLY15Ynesda31Mrj53cGH8G47aG3AkDcGHl2G1uTmM2HKx7PsnHMJO6l9xhM0F8/B4CNQF9qGSRFMndMHudtep+cTj9ThsaTzV6WGJJIQeouGQqZdw51i9308oh+fTOyD1Ao4Hdja7VBWToIFhp6PQcOzKN4xCrkTE8eDaHFJvpRx6bZFmJjDg1CFQdMMLoCXP64MiO7do9NhlejfByBL/hMWnag3BU6+Z1IJdMJrvq0g0S+losmqZhcoQWt2e4WN8F+VWH+AOSVaEJI8D2refqqYmDroT8XSIDTqTEqvg6jzxqpIZp6R6qQsIiicw/bChhsJkIftSMS6dUsxjiXfxd3IK2tE1SHF3UjJOyFGw3sE6ohvybArzFO8TKdQbxq7R3zgt5vMRCdfTyxzUpCSoA3vgQPiOnbu0eKTMy7RNsh9q3Ju12yQWWQrjInHsOVKUwKGMlzae1DGdYBQPxZXZXvrUh7Gib4uIbZeRa5CrBC62Zxhrdjh+RqVpIwHv8PxDN/JS/kk+ZJKQx92B81LEw0p17k536601ylzpF1Tc2ms5hYTad49PDBSnFpdKMNYPnK8ydBFtPQupeVTtMO5V1H5EjLwXARW8fxbCj/qGth15Iz2uJaemj4rGwcbMNyZ/GW/pKRQjrKefQLC4REPPvk0r+ND3xoLmJcjzmSEXlis4kqlglA951OfbKH3cK8qYKH30lqMiN009MWf2bg52laWYJfUl2sFd9IWiHnRH+50cG8nufpl/iGbJ9ZaxhlTVJHMF8GuxeETHFGSp3b9KumoLVzgSPb1uiHawWPk7Gq4e3NeHqYnKdJ/Fbm87rdzGG88z+D2d4xHdl5C9+z0q4NCu9bGqN2lnZbnSzk73xtlyiQBrMYs5yK1xbpubGij5VQkX0Iogqpn2Q5/jDNi8+r464vNy8/8fOm/u/IqyOZq5XEABJNLkE2oBGKIRYJycWwLvvPMHAM6rBHwypBEEOpAjaYWJzJJp/esWw4eRBISzjejpi+PU/UIVr5rFkfKzG+Q6F7NtXrDPhv4cZeQvPTaBmYn1+jwvwTMY0NFSt+ugqDkpmJtZ0Rhg7fSRcigQ4gkxL224mVIoGqmLQNesnUIy06UN0DAUqCvImhOCFgJDQmX5KEj9cLwU3IDrhofUdxdGswvGUdCi+6+QB7i5zFa8UfjbNJyClgWwngfZPF4VQmAKGWYmWjsEJyQKr+ZPBxBhCs+SuBbasF7UU2DS/sgfXoYx+irMN2S++LZRC4TXRBzsH7RWEk+CEUhO59Z73asHRBus/hClCiOvVX74Qvq+ir/B0YF+MRnp9Ux6R9IGN4gcZiaLJ5lG/yicK5hgVXYeQ+uHHIl7Lzgr9/W+lVxKrw6zBjFXchJT5xNhWBueXTOyFiSdTwin4K+vXLx1Bb37yDH4Pef9ycHUV8XfPvthU1Pl8HORJhdP8tuEQWiNd/ee9Y/n9D/RbaKwYpTl6JGtMWvg17Des6nfJYIlNaUppmCnnpkiDtBbvXZNxgdT/SU7QGeeTs9OY0ox6Z/+6QrnYF8SAPEWKu0Gmy/8LV4ITRp4NMo9LJxpq6oYb2zd3df3Qhwv9p3/IW2D1J/iscOmUjcpziA/dEDhS7ItsVSruJUlFuR6RVgtv89fc+5Qu/7fqrtne7KCjEEmZg8il/eKmhX+Iu5Wmjyvo/ysH4vUHCfJa5jgep/wLPFxt48wQ3MyKU1SsgFtDKbxppb8frm4kaP2UUosPEWddOkdeWLUNFouQyJhnHRufatz/9+xo7UFtSTXJ9cI+HAHGEr2xf6w6D4LOjIrXr0LKHIPaBNkm2aW79veKwE9tpdl14wBu4sFxDjIhtkZElw+dWvupAmeMNWoZZv6lyl4eY+R1oeBS8iijYRQClLTOVNKOEnzyK9kPBFpqY0UXs/St7sEuln4DgyJMHdg2Zm6VN6PM73oDcUl7OqnzC1m2qZS3dftytPaDKJJV6sKc9q2IupThImYUmpQoUWvp3pt4n9QRK4QniCk/f01es4fx2ncBuLxxIJkSM7tgdWnnVlL4x0nTa2ErpL/lRZD/VkS1vF5UHUIyeDto8+v/VMzAdCvRigvIW7lNOUcflsT1XYDH6VCmBx9TRaLdc0F3A8Un8HXdg34Rb2j3A1sYLLLYYfFqfkorLk7RJS3YLvFCM3pBP0kutJKjS37Kos4r1OXlSfeZJtftDnv/Awlomz/Dsq/TgrpG4SBj4LQ6qdHz5DHWi9M4SoqWYum98FBpDd1uxckss7LHPtQx4kPYl5QQ3rHuJpINguvRXclHBSSSatnVxA4TQNuXSnWH11IkfgcAjk9jkyW/kzb//ze7bAqqgz2n+gHmmJ6faf6sNT/PkFv39AAAHonxSSkqic08C6YUrfTnFFYyTNwFUV8z7If2JR2Vzp+jJFQjcXxnHoDApvW247LunAawLinez6wvv365qLQ9x1Z4dB4saSgWYvYkS4igDpwD6CS4GuCebQxFPnn1IM+1JSO4c8J8KpuIQ3bhVqpFKLUFKIbhk2NYzhXzWJwlKy883sCbC9gCnYqYl8GJfhlT8FI2xuvRVAyICeXBWhfLHROHnrPjyU2MHTL8e6EebdS0HTb4nUrQ3oD8zFOqLbJohm3X9pbnkIj568q1w4vcHEp21aR/qazNqsdQqKDdZdZzUOuS/OFzp2jClvfgwYRfesBtnztUhwOiY2a5ZWySEnn98WGvDWzguqMzC9YvyfaGolFn1ERgYOsW4ggpPcYdcbb+eYKx2WvlGUvc6Sjvd9nZo1WqLy8RCKZymH8eOdkHJ/O/mwByKfQbM62UIBn/0yfd94juCR3vjTmvO0pfiUI9oZAK1wvRiERADosBZps9upHRW4YRTfNzmBhYY0KLFnRO66Lfs0DmNYmHFyfen5NZg5VgqaBh/u5tDyAT4/RR57nQMe03EIQROHjHU9GGm4RtbE9qv6yQVKftAubOp2qw5J07xStUqk7VXDJ1pRXr2v5IUgsvyHCFceUWHu0zL4vZRwtsRrgBoIrpv0M2Kbm3LYVlLlagB34dLItKu7Y49KWZ2BxWw8xQXhBuDjwr92pQRgqiZ5AIKMt+1jcPdZFraSFihWX9t4MKSzQZQQJzXTZXHVfJQFGh6RneWELwQAFmPNb33Ww4u8i9PLbkymnooILEGCLmCfsEN9ObYlfWNOeB7z+3i9XUR8XZ+gRyjVI0fyXsH4mQoyipo3HNAEXD74HmaJ8rbe3llVAIdI1ECQo83tRQPtOmVph+JgzcLYkifLdgILSVwnBQYggtHBUA6b9VA5LfKjsY/LrrLoBLPyZT6Jdpnq0UGAmaQdnnCq2wZ91WFZc4jKTQHgq1xB+srTj5LZ6xi6yIoqbswPulhxXBFQRodNSMNoEZgxZ3O/v7cRnv+RsOy+28gT1VQbzpoRpUttcUgUTtFfVu6f6P5WQGS/inkH6xSZCLUkMwwB+8OZN6WexwGjmGYtk7a/JPaF5Zboc/dW66YGdIcDHJYOQczcWMA4bQik54fzPLApBEeqXRCgNHmORfEZmPaznWWapDXdznbRGZV3wByAAsRyi8JRyEY8zNbnRb1tzB84aeWG6Hfnx8uTmq3+5C0IP52mm2/febODnSfgIk1SQeFOErA60ni9dh87Tk8CbYrhpv0sxGtNkFJ2Yy+S6gpwOSAjC31LM6MOObDCtvkL9hsPPVZOvF1hevft8jSFeqA6LRPb6Sfnkxl1vx74EDbus452mHCmTyIabCLwMCq6qY3IyO9raZbvpaAgc55hTymVmVqW33ThD9q9x3Tnf1P7ZuadKqJKiLEiW4gKHaAWfXywoXun/MwWlf2bJhIXTb7gBYTgcAsV1pTqGYTt4WAqEPmKqlTxFE7IH7FOTDThYIMJnO7XQwNtsRYijecOsRlIQGdatS+JvnVOlPR0ZWgMGgaDDne8ZX61pdHR3kXng8FXSLBrVl8bPZDYdizLDNCFcKBuj27IRlHa0v4BST7m04aZIY3Fr+vAWmzBmzcGu2hovV6wmESej1n2rx66IIkR7mJ4bIsGFfO6KDa7I0gCGtQUOJ7TWn3qe0XtXKH6PGiGPlnCWviMhBqtYHbt/uG5oo3WW1Qx2Bfws7veWOryl/kwVh2OJn8/DQL9r7kkl6WDInvdOn/RH7s6budYixngxXk5SfGXEfo8Q0ZEvSzic4eaexGpEnh2M+Kdf8/CdrPThp0dHFSo5xgjcPjSAcGcC1z/VsM78RmgiRY0sy9Z0EKzVrpygOS7cfm17oCILy+ASuc/DWf+eirEsDsKV7fGLiajaAoblRuk/yljPNK5s3zJoOKrlGzSV/b6LDqrFKu3PZ1uTwffgc+EyQQAy8R4HjUWL+QQKfT/CJGomXcv/05rXFlbjz57lLQiy94DUOCRrUQ4s75yPDqnfmsBdNn5CCs8XCmv5NMS+TaijiwJ8h79JKCONl/15qnnmFp3jvEwfWILx7uxTREQSfJ5rnAcQS2VR2p4Z4ieFhPn5/awt1At478EaKLFgEAu0v+CcWleWPjwWGbPJFNPNCN26Ni1bes+my7GQzAOpU6Npc+SMQJ3UKbw137GhK7+jSsP8hdtnLWaBO5Kk98iVhvbJX1Y+CrYK8QgzXcIM4W202yc3EgERI7K2LR9Px4o7A2O8IiSLpAzt6gL3/ZUTBL3AyX7ji5tOxlar1+jzTqpJnaTUWvIXrneTbLpgAcvccznFzdJvWrWIIW8mmwONXsRQLaDHezeTn3vgOKgQf/eb641l/wxLwj5tOLeE4O/UK9x6dvQ+O2iVnm3x3f7sOj2ANvnVK8ZkTW/yFNLNvQucIgoTmpUUY4T+fw5f6ARnzKABEjAAAmgQef/PAcsiLkVoUVyih2hU/moij3Qm1g6R6o7fDCEe0ul2gYWHStrnMN1iWk0nFoFwPlyttuE3w2XeYXZODiiTmKojGStcZy2lxMIEEwfQHfDC98Der0Vig2+YOhEQVx1ZReIvrU1JA79jxKsNurCeAtwhPiGRfm14tqT+J7NsF6owZt5WOxVMJRbViTkdJAEuYFdX5jTHDnqDcqRl/tkZ9vpX3yZ4Vfve87TGCOueALDKTJcNNPP9SOPQwdYozaKzYJW7Xaqg5oA8iKtDH3sp7KI2Syxin/TQ13s7uutvd20qIRhMDO9sVlZ3zarbnC9CLz1G52k9gV1ulCIYHKkL9nzx+cgPFma7cyuERVAcxubDCWAI5otbRTVwAw6lotsHko9vFwCioh9zzp0moFW/nua39/MWL9f6HSlK4pMYuskehEMBMVzefNWX87p9+dO4s15JatLwDx+psxcF3LIeM6UGTNXRGBGZ2x/BFLGdptJ/fESw8wEpeE2PvmXgrYBCmpcOSYx0L3VNPhTxJ4i2yAeqZvDd1C1z7Lb21YorxAedjHzouS39Pi/OcWuX/hty9KeKgXSAwdgOXWvoYH+MJwt9erkDy3PBkpA8XahAjVbI17TGI6Ktwj3LeCGFA36HCjoYOJiiumLICEzH2BXSmK5geTIexbT7p2YwB4IfCZdh+uoJQOv2Y4nD6HhXoLvI2hDRL2OPPEmFMFxQ6rAvGDwEzD95pqTT8NbxE0msYPoqi5I1rIH59xMhyQ9fSwcJkYK1s6SGU3CQmavrPqJYVlmZD9a59QcDrf94jz6MoAFxISoshdo62Gbctp6OZdgAXegVLcV9+H7JuMQazO+ZUth3g/M7duVEf5jcYRTBAa2QTPnJ5/GaCzVTM1up+cVUWSEP7UAeRa0nZP53f30iaYkbSUbooEmfcJNuoXgQyfYhLODqVVWdMXq5Uu84WH+3G5u5acXfuSrK1iSv6lDT3aOuuyj0IfAthvcsArcTH/9lv3gY+PgfOOyEXeLfOihiyz59kpbwSJoiXc7u03Ispm//8YgE26ZhO1FLM9C5FGOpRYRA/PMj0P8Y3ORv9WNB+j2BNtuiAVmR8QyaaTHMFNJwU0wLwcQIZqYviZuoHmNceCwzX20Vyl3Nm8GDeAQ/jTyEf5/BKuXeXtBQi0sB2vX3fYpZ+wY5MRfEcoVH9m7pf4w5uGuFvubIW8vRZdgwtmQ4o8j6LaHCuOOfmo5J6eEU+5i7esuyCZcP3k4qh1huzWzI1Bhtih52Lz4aKHLgfQgllRXWRExR79hVqjAfJbNmjGOPA9jZFz3yZkKNm2wPFy8pRE8S0HwLdnD8HSFlo406F+cU73s7rmx+WTOmy+NdbMYBvCIklLQQM8aUSrGEkwXTiMxnZC36BneF1zCPX8wB+SMqpQLrPl+2pttQFj0dlqzjeJ7+oZq8xEsgPqf91Yo01sUOrptEmhAk/nQUvL91ueys5UcOZXEKJTneobpRyusL4mTQw6lJN/b901wiD6G6xK45bjiAWkP3dt5reduGSQmkFJ3zJRH058Qf16kldEY5XWDSFDZBfjIxC6fifXujQr8J+XZzkL/MP5nSwHdiXvYtnOXeBaAItMCkSyki81BmqVh3ofTnFKV+BuKAyNJev9rLxMW3x94Re7psArFiNgbL+TL0p+tC9M1X69xwDyYdWGqGcvPvKD8A6k1jr+BXODwXllndNC0raK7IVL2qkZLOps8xi01Lgj+DsWgOlK2AeBeXUSPSLg4/DtHgE/Y/h9TXTMelDAuWMIA8AxL2CQ5fN3zEc6hKCW/bmf1xsYDbOA1dzjSPFSW59QiyXdz6Hr2yZSWbJ+nCL0qWeH34IjeCsxHlKAQs76TOZYAfQl6O3EXa7TVHbJydl325Ae9zJZ0WYiA+7uBFPJHh9RxVkCs1bQeOG2QSKtCNmlIxovZQH0IrXvvNsFWYosjEkIebhijdvla8LtpzIRzeigq4IrZ3N4SulPe/ajrERbxk2hDle6wiUJuJeQBJi0zcOGydtE+P0/NIz0ea41WDyOjlQupdEThqXJ8CI+tl4ASRMgOlFpG+OvOUdhKeGjjM6QAAA6hKwJEz9so7tgNqJrKoBdgT8yEaVQtRw5FwJuOpjdKGUrhebU2M36SAC+D29XoagHAm9CjOwX8iHjVgAABFWElGfgAAAEV4aWYAAElJKgAIAAAABQASAQMAAQAAAAEAAAAaAQUAAQAAAEoAAAAbAQUAAQAAAFIAAAAoAQMAAQAAAAIAAABphwQAAQAAAFoAAAAAAAAASAAAAAEAAABIAAAAAQAAAAIAAqAEAAEAAABABgAAA6AEAAEAAADuAgAAAAAAAA=="}},"time_used":49,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":45,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/another.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.810Z","timestamp":1785135591810,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/another.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 55316\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: f75901758cfb7789c33940115c5cdd25-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":55316,"size_decoded":55659,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"b20de0f01e2d80967da9eea7fb425c53","sha1":"e001e6d1897a7e619d0fc29d636a0ef07297f528","sha256":"ab05ff3a3762a441ed01d309adb31c2cc4a0ed8385df9c3187f8a5436fe0ff7a","sha512":"71f079b3be84490758885eaaaa4da8ec7ad3c51b6f9c7e63940b24ec6f07c37601fa1d45bfebcdfcb3735eded071bd3d78847b394ec823e35c1c6371d13dc5a8","ssdeep":"1536:rltqWJJZpgGvcs5t+I6pV24tw46qD7JidVZip:JhJDgGvcs/W44thD7JidVq","tlshash":"5443028b14dcdcceb205187d6ad1484eea85e3a8bf2c62748d0719e30466c9b9d94fdd","first_seen":"2026-07-27T05:44:01.789726Z","last_seen":"2026-07-27T11:04:25.214202Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":104,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"receive":48,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:59.636Z","timestamp":1785135599636,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/main-t6WxLABA.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://goldenprofitstock.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:59 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-3f99\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: kxrEVwScddljRZW1XE75e9YeWY7+MFBUrsUb/FIX236iJcHAvK/IBWD/7AVFXaqQQz08/FY\r\nx-77-nzt-ray: e2f75420e3e72d83ef01676a46b8f025\r\nx-77-cache: HIT\r\nx-77-age: 1722561\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":16281,"size_decoded":6837,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1DZ01DQWZvci5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLUNnTUNBZm9yLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+e3cobikmJnAoKS5ib2R5LmFwcGVuZENoaWxkKHcobikpfSksX2UoKCk9PntwKCkuZ2V0RWxlbWVudEJ5SWQocik/LnJlbW92ZSgpfSk7dmFyIGk9SmUoKTtSKGEoaSksKCk9PnQuY2hpbGRyZW4/P05lKSxGKGkpLEooaSxlPT5mKG4sZSksKCk9PncobikpLHYoKCk9PlcoaSxgaWRgLHIpKSxaKGUsaSksQigpfXZhciBYZT1kKGA8aWZyYW1lIGFsbG93ZnVsbHNjcmVlbj0iIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT5gKTtmdW5jdGlvbiBRKGUsdCl7Tih0LCEwKTtsZXQgbj0oKT0+TShjLGAkdGhlbWVDb2xvcmAsciksW3IsaV09TygpLGE9eCh2b2lkIDApLG89eChudWxsKSxsO0MoKCk9Pnt3KG8pJiZ1KHcobykpfSksQygoKT0+e3cobykmJmQobigpKX0pO2xldCB1PWFzeW5jIGU9PntsJiZhd2FpdCBzKGwpLGUmJnQuY29tcG9uZW50JiYobD1HZSh0LmNvbXBvbmVudCx7dGFyZ2V0OmUuYm9keX0pKX0sZD1lPT57dyhvKSYmbmUodyhvKSxlKX0scD1lPT57aWYoIXcobykpcmV0dXJuO2xldCB0PXcobykuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHcobykuaGVhZC5hcHBlbmRDaGlsZCh0KSx0fSxtPSgpPT57Zm9yKGxldCBlIG9mIHdpbmRvdy5kb2N1bWVudC5zdHlsZVNoZWV0cyl7bGV0IHQ9YGA7dHJ5e3Q9Wy4uLmUuY3NzUnVsZXNdLm1hcChlPT5lLmNzc1RleHQpLmpvaW4oYGApfWNhdGNoe2NvbnRpbnVlfWlmKCFwKHQpKXJldHVybn19LGg9KCk9PnshdyhhKXx8IXcoYSkuY29udGVudERvY3VtZW50fHwoZihvLHcoYSkuY29udGVudERvY3VtZW50LCEwKSxtKCkpfTtrKGFzeW5jKCk9Pnthd2FpdCBpZSgpLHcoYSk/LmNvbnRlbnREb2N1bWVudCYmdyhhKS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZT09PWBjb21wbGV0ZWAmJncoYSkuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3P2goKTp3KGEpPy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxoKX0pLF9lKGFzeW5jKCk9Pnt3KGEpJiZ3KGEpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYGxvYWRgLGgpLGwmJmF3YWl0IHMobCl9KTt2YXIgZz1YZSgpO0ooZyxlPT5mKGEsZSksKCk9PncoYSkpLHYoKCk9PntXKGcsYGlkYCx0LmlkKSxXKGcsYHRpdGxlYCx0LnRpdGxlKSxIKGcsdC5mcmFtZVN0eWxlKX0pLFooZSxnKSxCKCksaSgpfXZhciBaZT1sKGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0IDY0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxwYXRoIGQ9Ik02My4xMTMsMTguNTF2LS4xNkM2MC4zMjMsNy4wNSw0NC41ODIsMywzMS45NzIsM1MzLjU4Miw3LC43OTIsMTguNWE2Ni4yMiw2Ni4yMiwwLDAsMCwwLDIwLjQ2YzEuMTgsNC43NCw1LjA1LDguNjMsMTEuMzYsMTEuNDFsLTQsNUEzLjQ3LDMuNDcsMCwwLDAsMTAuODgyLDYxYTMuMzksMy4zOSwwLDAsMCwxLjQ0LS4zMUwyNi44NjIsNTRjMS43OS4xOCwzLjQ5LjI3LDUuMDcuMjcsMTEuMDQuMDQsMjguNDEtNC4wNCwzMS4xOC0xNS40M2E2MC4zMyw2MC4zMywwLDAsMCwwLTIwLjMzWiI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFFlKGUsdCl7bGV0IG49dmUodCxgaWNvblNpemVgLDMsMTYpO3ZhciByPVplKCk7digoKT0+e1cocixgd2lkdGhgLG4oKSksVyhyLGBoZWlnaHRgLG4oKSl9KSxaKGUscil9ZnVuY3Rpb24gJGUoZSx0KXtOKHQsITApO2xldCBuPXgoITEpO2soKCk9PntmKG4sITApfSk7dmFyIHI9VCgpLGk9RChyKSxhPWU9Pnt2YXIgbj1UKCk7UihEKG4pLCgpPT50LmNoaWxkcmVuPz9OZSksWihlLG4pfTtQKGksZT0+e3cobikmJmUoYSl9KSxaKGUsciksQigpfXZhciBldD1kKGA8ZGl2IGNsYXNzPSJ0cmFuc2Zvcm0gdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExNSI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gdHQoZSl7JGUoZSx7Y2hpbGRyZW46KGUsdCk9Pnt2YXIgbj1ldCgpO1FlKGEobikse2ljb25TaXplOjI0fSksRihuKSxLKDMsbiwoKT0+QmUsKCk9Pih7ZGVsYXk6MjAwLGR1cmF0aW9uOjMwMCxzdGFydDouNixvcGFjaXR5Oi44fSkpLFooZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX12YXIgbnQ9ZChgPGRpdiBjbGFzcz0icC0xIj48ZGl2IGNsYXNzPSJmbGV4LWNlbnRlciB3LTEyIGgtMTIgYmctd2hpdGUgYmctb3BhY2l0eS0xMCByb3VuZGVkLWZ1bGwiPjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIHJ0KGUpe3ZhciB0PW50KCksbj1hKHQpO3R0KGEobikse30pLEYobiksRih0KSxaKGUsdCl9dmFyIGl0PWQoYDxkaXYgY2xhc3M9ImZsZXgiPjxkaXYgY2xhc3M9ImZsZXgtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHBsLTQgcHItMSI+IDwvZGl2PiA8IT48L2Rpdj5gKTtmdW5jdGlvbiBhdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oaixgJHRgLHIpLFtyLGldPU8oKSxvPWZlKCk7aygoKT0+e2xldCBlPU1hdGguY2VpbCh3KG8pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtVZS5zZXQoZSl9KSxJKCk7dmFyIHM9aXQoKSxjPWEocyksbD1hKGMsITApO0YoYykscnQobShjLDIpLHt9KSxGKHMpLEoocyxlPT5mKG8sZSksKCk9PncobykpLHYoZT0+e1coYyxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0QnV0dG9uVGV4dCksbGUobCxlKX0sWygpPT5uKCkoYGJ1dHRvbi5ncmVldGluZ2ApXSksWihlLHMpLEIoKSxpKCl9dmFyIG90PWQoYDxkaXYgaWQ9IndpZGdldC1vbmxpbmUtYmFkZ2UiIGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgYm90dG9tLTAgdy0yIGgtMiBwLTEuNSBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZSI+PC9kaXY+YCk7ZnVuY3Rpb24gc3QoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGtlLGAkaXNXaWRnZXRPbmxpbmVgLHIpLFtyLGldPU8oKTtJKCk7dmFyIGE9VCgpLG89RChhKSxzPWU9Pnt2YXIgdD1vdCgpO3YoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0T25saW5lQmFkZ2UpKSxLKDMsdCwoKT0+QmUpLFooZSx0KX07UChvLGU9PntuKCkmJmUocyl9KSxaKGUsYSksQigpLGkoKX12YXIgY3Q9ZChgPGRpdiBpZD0id2lkZ2V0LXVucmVhZC1tZXNzYWdlcy1iYWRnZSIgY2xhc3M9ImFic29sdXRlIHJpZ2h0LTAgdG9wLTAgbWluLXctNSBoLTUgZmxleC1jZW50ZXIgcHgtMSB0ZXh0LXdoaXRlIGJnLXJlZC02MDAgdGV4dC14cyByb3VuZGVkLWZ1bGwgc2hhZG93Ij4gPC9kaXY+YCk7ZnVuY3Rpb24gbHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKGhlLGAkdW5yZWFkTWVzc2FnZXNDb3VudGAsciksW3IsaV09TygpLG89QSgoKT0+bigpPjApO3ZhciBzPVQoKSxjPUQocyksbD1lPT57dmFyIHQ9Y3QoKSxyPWEodCwhMCk7Rih0KSx2KCgpPT57Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRVbnJlYWRNZXNzYWdlc0JhZGdlKSxsZShyLG4oKT45OT9gOTkrYDpuKCkpfSksSygzLHQsKCk9PkJlKSxaKGUsdCl9O1AoYyxlPT57dyhvKSYmZShsKX0pLFooZSxzKSxCKCksaSgpfXZhciB1dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgdy1mdWxsIGZpeGVkIGZsZXgganVzdGlmeS1lbmQgYm9yZGVyLXJvdW5kZWQtZnVsbCI+PGRpdiByb2xlPSJidXR0b24iIGNsYXNzPSJncm91cCBmbGV4LWNlbnRlciB3LWZ1bGwgYmctcHJpbWFyeS1ncmFkaWVudCBiZy1wcmltYXJ5LWdyYWRpZW50LWhvdmVyIHRleHQtcHJpbWFyeS1jb250ZW50IHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW4gY3Vyc29yLXBvaW50ZXIgY29udGVudC1mb2N1cy1zZWNvbmRhcnkiPjwhPiA8IT48L2Rpdj4gPCE+PC9kaXY+YCk7ZnVuY3Rpb24gZHQoZSxuKXtOKG4sITEpO2xldCBpPSgpPT5NKGosYCR0YCxzKSxvPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLFtzLGNdPU8oKTtJKCk7dmFyIGw9dXQoKSx1PWEobCk7Vyh1LGB0YWJpbmRleGAsMCk7dmFyIGQ9YSh1KSxmPWU9Pnt0dChlLHt9KX0scD1lPT57YXQoZSx7fSl9O1AoZCxlPT57bygpP2UoZik6ZShwLC0xKX0pLHN0KG0oZCwyKSx7fSksRih1KSxsdChtKHUsMikse30pLEYobCksdihlPT57Vyh1LGBhcmlhLWxhYmVsYCxlKSxXKHUsYGRhdGEtdGVzdGlkYCxHLndpZGdldEJ1dHRvbil9LFsoKT0+aSgpKGBhcmlhTGFiZWwub3BlbkNoYXRgKV0pLHQoYGNsaWNrYCx1LCgpPT5zZSgpKSxWKGBrZXlwcmVzc2AsdSxlPT5lLmtleT09PXIuRW50ZXImJnNlKCkpLFooZSxsKSxCKCksYygpfUFlKFtgY2xpY2tgXSk7dmFyIGZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gcHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKFNlLGAkYnV0dG9uRnJhbWVXaWR0aGAscykscj0oKT0+TSh0ZSxgJHNob3VsZFJlbmRlckJ1dHRvbkZyYW1lYCxzKSxpPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLG89KCk9Pk0oaixgJHRgLHMpLFtzLGNdPU8oKSxsPXgodm9pZCAwKSxkPWU9Pnt3KGwpJiYodyhsKS5zdHlsZS53aWR0aD1gJHtlfXB4YCl9LHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6cH09RS5nZXRPcHRpb25zKCk7QygoKT0+e3cobCkmJmQobigpKX0pO3ZhciBtPVQoKSxoPUQobSksZz1lPT57dmFyIHQ9ZnQoKTtsZXQgbjtxZShhKHQpLCgpPT5pKCl8fG8oKSxlPT57e2xldCB0PUEoWCk7UShlLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIGR0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRCdXR0b25GcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgYnV0dG9uYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KHQpfX0pfX0pLEYodCksSih0LGU9PmYobCxlKSwoKT0+dyhsKSksTCh0LGU9PktlPy4oZSkpLHYoZT0+e249SCh0LGBib3JkZXItcmFkaXVzOiA5OTk5cHg7IGJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDYlKSAwcHggMXB4IDZweCwgcmdiKDAgMCAwIC8gJHtwPy5saW1pdFNoYWRvdz9gMjAlKSAwcHggMnB4IDEycHhgOmAxMiUpIDBweCAycHggMzJweGB9OyBjb2xvci1zY2hlbWU6IG5vcm1hbDtgLG4sZSksVyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRCdXR0b25GcmFtZSl9LFsoKT0+KHtoZWlnaHQ6dSg1Nil9KV0pLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZGVsYXk6MTUwLGR1cmF0aW9uOjMwMH0pKSxLKDIsdCwoKT0+YmUsKCk9Pih7ZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChoLGU9PntyKCkmJmUoZyl9KSxaKGUsbSksQigpLGMoKX12YXIgJD1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkluaXRpYWxpemVkPTBdPWBJbml0aWFsaXplZGAsZVtlLkxvYWRpbmc9MV09YExvYWRpbmdgLGVbZS5TdWNjZXNzPTJdPWBTdWNjZXNzYCxlW2UuRXJyb3I9M109YEVycm9yYCxlfSh7fSksbXQ9bmV3IE1hcCxodD1hc3luYyBlPT57bGV0IHQ9KGF3YWl0IGUoKSkuZGVmYXVsdDtyZXR1cm4gbXQuc2V0KGUsdCksdH07ZnVuY3Rpb24gZ3QoZSx0KXtOKHQsITApO2xldCBuPXZlKHQsYGRlbGF5YCwzLDIwMCkscj14KGRlKCQuSW5pdGlhbGl6ZWQpKSxpPXgodm9pZCAwKSxhPXgodm9pZCAwKSxvPXgodm9pZCAwKSxzPUEoKCk9PncoaSkpLGM9KCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHcobykpfSxsPWFzeW5jKCk9PntjKCksZihhLHZvaWQgMCksZihpLHZvaWQgMCksbigpPjA/KGYociwkLkluaXRpYWxpemVkLCEwKSxmKG8sd2luZG93LnNldFRpbWVvdXQoKCk9PntmKHIsJC5Mb2FkaW5nLCEwKX0sbigpKSwhMCkpOmYociwkLkxvYWRpbmcsITApO3RyeXtmKGksYXdhaXQgaHQodC5sb2FkZXIpLCEwKSxmKHIsJC5TdWNjZXNzLCEwKX1jYXRjaChlKXtpZihmKHIsJC5FcnJvciwhMCksZSBpbnN0YW5jZW9mIEVycm9yKWYoYSxlLCEwKTtlbHNlIHRocm93IGV9YygpfTttdC5oYXModC5sb2FkZXIpPyhmKHIsJC5TdWNjZXNzLCEwKSxmKGksbXQuZ2V0KHQubG9hZGVyKSwhMCkpOmsoKCk9PntsKCl9KTt2YXIgdT1UKCksZD1EKHUpLHA9ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQuZXJyb3IsKCk9Pih7ZXJyb3I6dyhhKX0pKSxaKGUsbil9LG09ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQubG9hZGluZyksWihlLG4pfSxoPWU9Pnt2YXIgdD1UKCk7RmUoRCh0KSwoKT0+dyhzKSwoZSx0KT0+e3QoZSx7fSl9KSxaKGUsdCl9O1AoZCxlPT57dyhyKT09PSQuRXJyb3ImJnQuZXJyb3I/ZShwKTp3KHIpPT09JC5Mb2FkaW5nP2UobSwxKTp3KHIpPT09JC5TdWNjZXNzJiZlKGgsMil9KSxaKGUsdSksQigpfXZhciBfdD0oKT0+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+e3ZhciB0PUR0KCksbj1hKHQpO3Eobix7c2l6ZTo0NH0pO3ZhciByPW0obiwyKSxpPWEocik7eihpLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSk7dmFyIG89bShpLDIpO3oobyx7aGVpZ2h0OjIwLHdpZHRoOjI3MH0pLHoobShvLDIpLHtoZWlnaHQ6MjAsd2lkdGg6MTIyfSksRihyKSxGKHQpLFooZSx0KX0sRHQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSI+PCE+IDxkaXYgY2xhc3M9Im10LTQgc3BhY2UteS0yIj48IT4gPCE+IDwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIE90KGUpe2d0KGUse2dldCBsb2FkZXIoKXtyZXR1cm4gVHR9LGRlbGF5OjAsZ2V0IGxvYWRpbmcoKXtyZXR1cm4gRXR9fSl9dmFyIGt0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gQXQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKHllLGAkcG9wdXBGcmFtZUhlaWdodGAsbykscj0oKT0+TShFZSxgJGhhc1BvcHVwRnJhbWVIb3ZlcmAsbyksaT0oKT0+TShPZSxgJHNob3VsZFJlbmRlclBvcHVwRnJhbWVgLG8pLFtvLHNdPU8oKSxjPXgodm9pZCAwKSxsPWU9Pnt3KGMpJiYodyhjKS5zdHlsZS5tYXhIZWlnaHQ9YCR7ZX1weGApfSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOmR9PUUuZ2V0T3B0aW9ucygpO0MoKCk9Pnt3KGMpJiZsKG4oKSl9KTtsZXQgcD1BKCgpPT5yKCk/LjI4Oi4xNik7dmFyIG09VCgpLGg9RChtKSxnPWU9Pnt2YXIgdD1rdCgpO2xldCBuO3ZhciByPWEodCk7e2xldCBlPUEoWCk7UShyLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIE90fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRQb3B1cEZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBwb3B1cGAsZ2V0IGZyYW1lU3R5bGUoKXtyZXR1cm4gdyhlKX19KX1GKHQpLEoodCxlPT5mKGMsZSksKCk9PncoYykpLEwodCxlPT5jZT8uKGUpKSx2KGU9PntuPUgodCxgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBtYXgtaGVpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0YCxuLGUpLFcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0UG9wdXBGcmFtZSl9LFsoKT0+KHt3aWR0aDp1KDMwMCksImJvcmRlci1yYWRpdXMiOnUoMjApLG92ZXJmbG93OmBoaWRkZW5gLCJib3gtc2hhZG93IjpgcmdiYSgwLCAwLCAwLCAke2Q/LmxpbWl0U2hhZG93P2AwLjIpIDBweCAzcHggMTJweGA6YCR7dyhwKX0pIDBweCAzcHggMTZweGB9YH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246NDAwfSkpLFooZSx0KX07UChoLGU9PntpKCkmJmUoZyl9KSxaKGUsbSksQigpLHMoKX12YXIganQ9ZChgPGRpdiBjbGFzcz0iZmxleCBwLTIiPjxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbj12ZSh0LGBzaXplYCwzLGBtZGApLHI9dmUodCxgY29sb3JgLDMsYGJsYWNrYCksaT1BKCgpPT50Lml0ZXJhdGlvbnM/P2BpbmZpbml0ZWApO3ZhciBvPWp0KCkscz1hKG8pO2xldCBjO3ZhciBsPW0ocywyKTtsZXQgdTt2YXIgZD1tKGwsMik7bGV0IGY7RihvKSx2KCgpPT57WShzLDEsYHR5cGluZy1pbmRpY2F0b3IgJHtuKCl9IGluZGljYXRvci1jb2xvci0ke3IoKX0gYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksYz1IKHMsYGAsYyx7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KSxZKGwsMSxgdHlwaW5nLWluZGljYXRvciAke24oKX0gaW5kaWNhdG9yLWNvbG9yLSR7cigpfSB0eXBpbmctaW5kaWNhdG9yLXNlY29uZCBhbmltYXRlLXR5cGluZ2AsYHN2ZWx0ZS1zNDB4Z2tgKSx1PUgobCxgYCx1LHsiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCI6dyhpKX0pLFkoZCwxLGB0eXBpbmctaW5kaWNhdG9yICR7bigpfSBpbmRpY2F0b3ItY29sb3ItJHtyKCl9IHR5cGluZy1pbmRpY2F0b3ItdGhpcmQgYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksZj1IKGQsYGAsZix7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KX0pLFooZSxvKX12YXIgTnQ9ZChgPGRpdiBjbGFzcz0iZmxleC1jZW50ZXIgaC1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGciPjwhPjwvZGl2PmApO2Z1bmN0aW9uIFB0KGUpe3ZhciB0PU50KCk7TXQoYSh0KSx7aXRlcmF0aW9uczoyfSksRih0KSxaKGUsdCl9dmFyIEZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gSXQoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGVlLGAkc2hvdWxkUmVuZGVyVHlwaW5nRnJhbWVgLHIpLFtyLGldPU8oKSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnN9PUUuZ2V0T3B0aW9ucygpO0koKTt2YXIgYz1UKCksbD1EKGMpLGQ9ZT0+e3ZhciB0PUZ0KCk7bGV0IG47dmFyIHI9YSh0KTt7bGV0IGU9YihYKTtRKHIse2dldCBjb21wb25lbnQoKXtyZXR1cm4gUHR9LGdldCBpZCgpe3JldHVybiBHLndpZGdldFR5cGluZ0ZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCB0eXBpbmdgLGdldCBmcmFtZVN0eWxlKCl7cmV0dXJuIHcoZSl9fSl9Rih0KSxMKHQsZT0+bz8uKGUpKSx2KGU9PntuPUgodCxgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpICR7cz8ubGltaXRTaGFkb3c/YDBweCAzcHggMTJweGA6YDBweCAzcHggMTZweGB9OyBib3JkZXItcmFkaXVzOiAyNHB4O2AsbixlKSxXKHQsYGRhdGEtdGVzdGlkYCxHLndpZGdldFR5cGluZ0ZyYW1lKX0sWygpPT4oe2hlaWdodDp1KDQwKSx3aWR0aDp1KDcwKSxvdmVyZmxvdzpgaGlkZGVuYH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChsLGU9PntuKCkmJmUoZCl9KSxaKGUsYyksQigpLGkoKX12YXIgTHQ9TGUobnVsbCksUnQ9VGUoW0x0XSwoW2VdKT0+ISFlKSx6dD1kKGA8aW1nIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIHNlbGVjdC1ub25lIGJnLWJsYWNrIiB3aWR0aD0iYXV0byIgaGVpZ2h0PSJhdXRvIi8+YCksQnQ9ZChgPHZpZGVvIGNvbnRyb2xzPSIiIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIGJnLWJsYWNrIG9iamVjdC1jb250YWluIj48dHJhY2sga2luZD0iY2FwdGlvbnMiLz4gPHNvdXJjZS8+PC92aWRlbz5gLDIpLFZ0PWQoYDxkaXYgY2xhc3M9InctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCI+PGRpdiBjbGFzcz0iZmxleC1zaHJpbmsgZmxleCBmbGV4LXJvdyB3LWZ1bGwgYmctYmxhY2sgdGV4dC13aGl0ZSI+PGRpdiBjbGFzcz0iZmxleC1ncm93IGZsZXggaXRlbXMtY2VudGVyIHRleHQtbWQgcHgtNCBvdmVyZmxvdy1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlbiI+IDwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleC1zaHJpbmsiPjwhPjwvZGl2PjwvZGl2PiA8ZGl2PjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIEh0KGUsbil7TihuLCEwKTtsZXQgcj0oKT0+TShyZSxgJGlzRGVza3RvcGAscyksaT0oKT0+TShMdCxgJHByZXZpZXdlZE1lZGlhYCxzKSxvPSgpPT5NKGosYCR0YCxzKSxbcyxjXT1PKCksbD1BKHIpLHU9ZT0+e2U9PT1gb3ZlcmxheWAmJiF3KGwpfHxMdC5zZXQobnVsbCl9O3ZhciBkPVZ0KCksZj1hKGQpLHA9YShmKSxoPWEocCksZz1hKGgsITApO0YoaCksRihwKTt2YXIgXz1tKHAsMikseT1hKF8pO3tsZXQgZT1BKCgpPT5vKCkoYHRvb2x0aXAuY2xvc2VgKSk7VmUoeSx7b25DbGljazooKT0+dShgYnV0dG9uYCksZ2V0IGljb24oKXtyZXR1cm4gSWV9LGdldCBpY29uRGVzY3JpcHRpb24oKXtyZXR1cm4gdyhlKX0saWNvblNjYWxlOiEwLHNpemU6YHhsYH0pfUYoXyksRihmKTt2YXIgYj1tKGYsMikseD1hKGIpLFM9ZT0+e3ZhciBuPXp0KCk7digoKT0+e1cobixgc3JjYCxpKCk/LmF0dGFjaG1lbnQudXJsKSxXKG4sYGFsdGAsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKX0pLHQoYGNsaWNrYCxuLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpLFYoYGtleXByZXNzYCxuLCgpPT57fSksWihlLG4pfSxDPWU9Pnt2YXIgbj1CdCgpO24uYXV0b3BsYXk9ITAsbi5sb29wPSEwO3ZhciByPW0oYShuKSwyKTtGKG4pLHYoKCk9Plcocixgc3JjYCxpKCkuYXR0YWNobWVudC51cmwpKSx0KGBjbGlja2AsbixlPT5lLnN0b3BQcm9wYWdhdGlvbigpKSxWKGBrZXlwcmVzc2AsbiwoKT0+e30pLFooZSxuKX07UCh4LGU9PntpKCk/LnR5cGU9PT13ZS5JbWFnZT9lKFMpOmkoKT8udHlwZT09PXdlLlZpZGVvJiZlKEMsMSl9KSxGKGIpLEYoZCksdigoKT0+e2xlKGcsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKSxZKGIsMSxDZShbYHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBmbGV4LWdyb3cgZmxleCBpdGVtcy1jZW50ZXIgYmctYmxhY2svODAgei0xMGAscigpP2BwLThgOmBwLTRgXSkpfSksdChgY2xpY2tgLGIsKCk9PnUoYG92ZXJsYXlgKSksVihga2V5cHJlc3NgLGIsKCk9Pnt9KSxLKDEsZCwoKT0+VSwoKT0+KHt5OjIwLGRlbGF5OjMwMCxkdXJhdGlvbjo0MDB9KSksSygyLGQsKCk9PlUsKCk9Pih7eToxMCxkdXJhdGlvbjoyNTB9KSksWihlLGQpLEIoKSxjKCl9QWUoW2BjbGlja2BdKTt2YXIgVXQ9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBXdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oUnQsYCRzaG91bGRSZW5kZXJNZWRpYVByZXZpZXdgLHIpLFtyLGldPU8oKTtJKCk7dmFyIG89VCgpLHM9RChvKSxjPWU9Pnt2YXIgdD1VdCgpO0godCxgYCx7fSx7dHJhbnNpdGlvbjpgbWF4LWhlaWdodCAyNTBtcyBlYXNlLWluLW91dCwgd2lkdGggMjUwbXMgZWFzZS1pbi1vdXRgfSk7dmFyIG49YSh0KTt7bGV0IGU9YigoKT0+WChlPT57ZS5zdHlsZS5wb3NpdGlvbj1gZml4ZWRgfSkpO1Eobix7Z2V0IGNvbXBvbmVudCgpe3JldHVybiBIdH0sZ2V0IGlkKCl7cmV0dXJuIEcud2lkZ2V0SW1hZ2VQcmV2aWV3fSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBpbWFnZSBwcmV2aWV3YCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LGU9PldlPy4oZSkpLHYoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0SW1hZ2VQcmV2aWV3KSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheToxMDAsZHVyYXRpb246MjUwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChzLGU9PntuKCkmJmUoYyl9KSxaKGUsbyksQigpLGkoKX12YXIgR3Q9ZChgPCE+IDwhPiA8IT4gPCE+IDwhPmAsMSk7ZnVuY3Rpb24gS3QodCxyKXtOKHIsITApO2xldCBpPSgpPT5NKG1lLGAkbGFzdFVucmVhZE1lc3NhZ2VgLG8pLGE9KCk9Pk0oXyxgJGlzTWVzc2VuZ2VyRnJhbWVPcGVuYCxvKSxbbyxzXT1PKCk7aygoKT0+eyhhc3luYygpPT57YXdhaXQgemUoKSxhd2FpdCBwZS5pbml0Q2xpZW50KCl9KSgpfSksQygoKT0+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tdDZXeExBQkEuanMubWFw"}},"time_used":9,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/css/oil%20and%20gas%20(1).jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.805Z","timestamp":1785135591805,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/css/oil%20and%20gas%20(1).jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 57080\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 16fbe5f399d72cbee98883a9c0ae5572-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.022\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":57080,"size_decoded":57423,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"66bb1bdc247bf2de0b6ab0dfadfbc636","sha1":"05aff624851f6a1ba822308581e63da24d719d4c","sha256":"38b8acb67f01e161042d5252271cfb4545b461292fe018cfc60cbacb080da7c8","sha512":"562593703629b2df6e54a354498450531a2fd32e70b11cf63533da97685cacab9144fee5cb127cc1e1fbe4d7ad9e3a12d25f0a93972353e24aec82501fa3af05","ssdeep":"1536:1PipSwjFNAimBgLsZn06VEwpg6YyoQSi9dlhnMe7:1Pi0W2BgLcnuwp5z9flhMs","tlshash":"1443f13dc63c7660791255f967bfd23b183b1b4891785268f01a2e07bcb938d0a84bbd","first_seen":"2026-07-27T05:44:01.802658Z","last_seen":"2026-07-27T11:04:25.192587Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":120,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":73,"receive":47,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/loan.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.806Z","timestamp":1785135591806,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/loan.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 93756\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 138bb22d7a2cfd32fcc6baeb07bcee1d-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":93756,"size_decoded":94099,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"f0c4fd347f9012b883e81438e4475d80","sha1":"26b6edbb15ac0b9da9ddc7263be65bed11686b14","sha256":"bee41bf9b36868af15cf8d004b8c21a5e91e46a91c9d32b2795e5314e07c33df","sha512":"9f6f62a6b9d8d749fb734a8cbe261e611703cb502c37c8738ad160f61d2ce9c2a29e07b9f9f6b3de6b78012afc80ae3949ba75b14e8658f6fa3b672d3b76d4b2","ssdeep":"1536:eFfPR+xpGbdrhZrFgHnE0oNPGN6KWiiOB6cePaXxISQxOn/nup0vLvrVP:emmhZ5gHE0mIBYOB6c3lF/lLhP","tlshash":"07930259771d15d90e844a301a947f86fbfea631e88e653e4312728351d0ce0eaf32f6","first_seen":"2026-07-27T05:44:01.761624Z","last_seen":"2026-07-27T11:04:25.227166Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":123,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":60,"receive":63,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/translate.google.com/translate_a/elementd5a3.js?cb=initializeGoogleTranslateElement","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.950Z","timestamp":1785135591950,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /translate.google.com/translate_a/elementd5a3.js?cb=initializeGoogleTranslateElement HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\ncontent-security-policy: upgrade-insecure-requests\r\nplatform: hostinger\r\npanel: hpanel\r\nage: 0\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: c3d9f1d8c030ff66b4e024ebc6c10435-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]}],"data":{"size":4511,"size_decoded":2059,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/goldenprofitstock.mp4","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"media","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.216Z","timestamp":1785135592216,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /goldenprofitstock.mp4 HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nRange: bytes=0-\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: video\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nAccept-Encoding: identity\r\nPriority: u=4\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\nvary: Accept-Encoding\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;gz\"\r\nplatform: hostinger\r\npanel: hpanel\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: ccaf8122f5ec8c61b52756ccbc81369d-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":4511,"size_decoded":4865,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":48,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":48,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/img/africa.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.525Z","timestamp":1785135592525,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/img/africa.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 692bde38893d38d1a34a8ac035426d38-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]}],"data":{"size":4511,"size_decoded":2173,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/a3982a6b04553bdb4c620cadd1be7b4720d7766c.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"3.69.194.231","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:59.412Z","timestamp":1785135599412,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsuppchat.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Tue, 02 Dec 2025 00:00:00 GMT","end":"Wed, 30 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DC:47:26:FC:2D:4B:14:19:23:BC:B7:70:14:DA:60:A6:21:B0:1E:81","sha256":"0D:5E:FD:70:25:9E:DE:DD:47:CF:0C:58:1C:08:A2:A1:05:AC:A6:7E:0C:43:6F:50:E7:49:E0:A1:60:D0:0E:0F"}}},"request":{"raw":"GET /widget/a3982a6b04553bdb4c620cadd1be7b4720d7766c.json HTTP/1.1\r\nHost: bootstrap.smartsuppchat.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://goldenprofitstock.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:59 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"4c7-B/6NfaaDpZne/g/uc5qfSnm44ZA\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1223,"size_decoded":879,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"1623b3b9e850c9c1491c70aef8d248c2","sha1":"07fe8d7da683a599defe0fee739a9f4a79b8e190","sha256":"b5b4d35c58c664f860fdab342e28e4f7337c31f56e8da3582e65972af84deb9e","sha512":"bcfb7323cde3f50f57c38880ba4f962f1f35f106a93074f2f3da73256fe2b54698c6065b11f1bc93d6f74811f6d2543fc6f5aa7afea2e5df1ff45b4f25fcc6d2","ssdeep":"","tlshash":"5321766d4a6822fd5245c7d6c5047a036bacdcb371003e7eea0d0a0e70db2e6223646b","first_seen":"2026-06-06T06:44:39.646667Z","last_seen":"2026-08-17T17:13:48.011243Z","times_seen":2462,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOmZhbHNlLCJnYSI6ZmFsc2UsImdyb3VwcyI6ZmFsc2UsInJhdGluZyI6ZmFsc2UsIndoaXRlTGFiZWwiOmZhbHNlfSwiZ29vZ2xlQW5hbHl0aWNzRW5hYmxlZCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01hbnVhbCI6ZmFsc2UsImdvb2dsZUFuYWx5dGljc01lYXN1cmVtZW50SWRzIjpbXSwiZ3JvdXBTZWxlY3RFbmFibGVkIjpmYWxzZSwiaGVhZGVyU3R5bGUiOiJzdGFuZGFyZCIsImhpZGVPZmZsaW5lQ2hhdCI6ZmFsc2UsImhpZGVXaWRnZXQiOmZhbHNlLCJob3N0Ijoid2Vic29ja2V0LXZpc2l0b3JzLnNtYXJ0c3VwcC5jb20iLCJpbnRlcm5hbEFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJpc0Jsb2NrZWQiOmZhbHNlLCJsYW5nIjoiZW4iLCJtb2JpbGVQb3B1cHNFbmFibGVkIjp0cnVlLCJuYW1lQ29udHJvbCI6dHJ1ZSwibnVtYmVyQ29udHJvbCI6ZmFsc2UsIm9wZW5PblRyaWdnZXIiOmZhbHNlLCJvcmllbnRhdGlvbiI6InJpZ2h0IiwicGFja2FnZU5hbWUiOiJmcmVlIiwicG9wdXBUZXh0YXJlYUVuYWJsZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZCI6ZmFsc2UsInByaXZhY3lOb3RpY2VFbmFibGVkIjp0cnVlLCJwcml2YWN5Tm90aWNlVXJsIjoiIiwicmF0aW5nRW5hYmxlZCI6ZmFsc2UsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnt9LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":100,"timings":{"blocked":0,"dns":27,"connect":21,"send":0,"wait":24,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:59.867Z","timestamp":1785135599867,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsupp.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Wed, 24 Jun 2026 00:00:00 GMT","end":"Thu, 07 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"4F:1A:3B:79:00:E3:DC:1F:92:62:7C:DC:85:3A:BE:8C:D1:68:F2:57","sha256":"7F:93:E6:29:5D:CA:78:BD:30:0D:25:11:3B:E2:01:C9:DC:80:3C:80:90:3F:84:D2:72:1B:0D:42:F1:20:13:D9"}}},"request":{"raw":"GET /socket/?EIO=3\u0026transport=websocket HTTP/1.1\r\nHost: websocket-visitors.smartsupp.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-WebSocket-Version: 13\r\nOrigin: https://goldenprofitstock.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: 8HEmJN6Sz+rSKCiL25Sc6g==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nDate: Mon, 27 Jul 2026 07:00:00 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: M5ylOKutMCgoQ3RMskid4iix5iY=\r\nSec-WebSocket-Version: 13\r\nWebSocket-Server: uWebSockets\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-18T05:37:27.332536Z","times_seen":17950175,"resource_available":true,"data":""}},"time_used":593,"timings":{"blocked":0,"dns":71,"connect":92,"send":0,"wait":403,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.781Z","timestamp":1785135591781,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/jquery.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 32584\r\ncache-control: public, max-age=604800\r\nexpires: Sat, 01 Aug 2026 03:40:14 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"17b90-68bf75d4-705be79953b66ceb;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 184777\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: ee42af4392759cfa5192ae482adcaba1-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":97168,"size_decoded":33194,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (32077), with CRLF line terminators","md5":"618538b4ab9639d444e962729a927f15","sha1":"dacc1f76630a9708add066819b1aabf8dce01056","sha256":"27d92130c0321dad5a03760fd5ac98a3d04ed4c94d88418fe6d50da1f7fc5cbe","sha512":"bcb6754ea246939a19a917cc0b810e1753c1b0f1a8b1b7e652128ef15dee4fc79111e4d88fe12f9188449a307e82240d0261af402d783428edfe5785c860372d","ssdeep":"1536:jYE1JVoiB9JqZdXXe2pD3PgoIiulrUdTJ5Fk/zkZ4HjL5o8srOaS9TwDhb7/Jp96:y4J+03jL5TCOauTwDhFdnCVQNLa98Hrc","tlshash":"9693d7d9b6d6706287b734a851bf410bb17aa8eab40c4c60f058c8e47e74e9d507bf2d","first_seen":"2023-03-07T01:12:12Z","last_seen":"2026-08-17T13:46:20.904396Z","times_seen":5792,"resource_available":true,"data":"LyohIGpRdWVyeSB2MS4xMi40IHwgKGMpIGpRdWVyeSBGb3VuZGF0aW9uIHwganF1ZXJ5Lm9yZy9saWNlbnNlICovDQohZnVuY3Rpb24oYSxiKXsib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1hLmRvY3VtZW50P2IoYSwhMCk6ZnVuY3Rpb24oYSl7aWYoIWEuZG9jdW1lbnQpdGhyb3cgbmV3IEVycm9yKCJqUXVlcnkgcmVxdWlyZXMgYSB3aW5kb3cgd2l0aCBhIGRvY3VtZW50Iik7cmV0dXJuIGIoYSl9OmIoYSl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKGEsYil7dmFyIGM9W10sZD1hLmRvY3VtZW50LGU9Yy5zbGljZSxmPWMuY29uY2F0LGc9Yy5wdXNoLGg9Yy5pbmRleE9mLGk9e30saj1pLnRvU3RyaW5nLGs9aS5oYXNPd25Qcm9wZXJ0eSxsPXt9LG09IjEuMTIuNCIsbj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbi5mbi5pbml0KGEsYil9LG89L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLHA9L14tbXMtLyxxPS8tKFtcZGEtel0pL2dpLHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtuLmZuPW4ucHJvdG90eXBlPXtqcXVlcnk6bSxjb25zdHJ1Y3RvcjpuLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTplLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1uLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiBuLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhuLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoMD5hP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmI+Yz9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6Zyxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LG4uZXh0ZW5kPW4uZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxuLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGU9YXJndW1lbnRzW2hdKSlmb3IoZCBpbiBlKWE9Z1tkXSxjPWVbZF0sZyE9PWMmJihqJiZjJiYobi5pc1BsYWluT2JqZWN0KGMpfHwoYj1uLmlzQXJyYXkoYykpKT8oYj8oYj0hMSxmPWEmJm4uaXNBcnJheShhKT9hOltdKTpmPWEmJm4uaXNQbGFpbk9iamVjdChhKT9hOnt9LGdbZF09bi5leHRlbmQoaixmLGMpKTp2b2lkIDAhPT1jJiYoZ1tkXT1jKSk7cmV0dXJuIGd9LG4uZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhtK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1uLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oYSl7cmV0dXJuImFycmF5Ij09PW4udHlwZShhKX0saXNXaW5kb3c6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWEmJmE9PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9YSYmYS50b1N0cmluZygpO3JldHVybiFuLmlzQXJyYXkoYSkmJmItcGFyc2VGbG9hdChiKSsxPj0wfSxpc0VtcHR5T2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2ZvcihiIGluIGEpcmV0dXJuITE7cmV0dXJuITB9LGlzUGxhaW5PYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7aWYoIWF8fCJvYmplY3QiIT09bi50eXBlKGEpfHxhLm5vZGVUeXBlfHxuLmlzV2luZG93KGEpKXJldHVybiExO3RyeXtpZihhLmNvbnN0cnVjdG9yJiYhay5jYWxsKGEsImNvbnN0cnVjdG9yIikmJiFrLmNhbGwoYS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMX1jYXRjaChjKXtyZXR1cm4hMX1pZighbC5vd25GaXJzdClmb3IoYiBpbiBhKXJldHVybiBrLmNhbGwoYSxiKTtmb3IoYiBpbiBhKTtyZXR1cm4gdm9pZCAwPT09Ynx8ay5jYWxsKGEsYil9LHR5cGU6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/YSsiIjoib2JqZWN0Ij09dHlwZW9mIGF8fCJmdW5jdGlvbiI9PXR5cGVvZiBhP2lbai5jYWxsKGEpXXx8Im9iamVjdCI6dHlwZW9mIGF9LGdsb2JhbEV2YWw6ZnVuY3Rpb24oYil7YiYmbi50cmltKGIpJiYoYS5leGVjU2NyaXB0fHxmdW5jdGlvbihiKXthLmV2YWwuY2FsbChhLGIpfSkoYil9LGNhbWVsQ2FzZTpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKHAsIm1zLSIpLnJlcGxhY2UocSxyKX0sbm9kZU5hbWU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yi50b0xvd2VyQ2FzZSgpfSxlYWNoOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0wO2lmKHMoYSkpe2ZvcihjPWEubGVuZ3RoO2M+ZDtkKyspaWYoYi5jYWxsKGFbZF0sZCxhW2RdKT09PSExKWJyZWFrfWVsc2UgZm9yKGQgaW4gYSlpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWs7cmV0dXJuIGF9LHRyaW06ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6KGErIiIpLnJlcGxhY2UobywiIil9LG1ha2VBcnJheTpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fFtdO3JldHVybiBudWxsIT1hJiYocyhPYmplY3QoYSkpP24ubWVyZ2UoYywic3RyaW5nIj09dHlwZW9mIGE/W2FdOmEpOmcuY2FsbChjLGEpKSxjfSxpbkFycmF5OmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtpZihiKXtpZihoKXJldHVybiBoLmNhbGwoYixhLGMpO2ZvcihkPWIubGVuZ3RoLGM9Yz8wPmM/TWF0aC5tYXgoMCxkK2MpOmM6MDtkPmM7YysrKWlmKGMgaW4gYiYmYltjXT09PWEpcmV0dXJuIGN9cmV0dXJuLTF9LG1lcmdlOmZ1bmN0aW9uKGEsYil7dmFyIGM9K2IubGVuZ3RoLGQ9MCxlPWEubGVuZ3RoO3doaWxlKGM+ZClhW2UrK109YltkKytdO2lmKGMhPT1jKXdoaWxlKHZvaWQgMCE9PWJbZF0pYVtlKytdPWJbZCsrXTtyZXR1cm4gYS5sZW5ndGg9ZSxhfSxncmVwOmZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQsZT1bXSxmPTAsZz1hLmxlbmd0aCxoPSFjO2c+ZjtmKyspZD0hYihhW2ZdLGYpLGQhPT1oJiZlLnB1c2goYVtmXSk7cmV0dXJuIGV9LG1hcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxnPTAsaD1bXTtpZihzKGEpKWZvcihkPWEubGVuZ3RoO2Q+ZztnKyspZT1iKGFbZ10sZyxjKSxudWxsIT1lJiZoLnB1c2goZSk7ZWxzZSBmb3IoZyBpbiBhKWU9YihhW2ddLGcsYyksbnVsbCE9ZSYmaC5wdXNoKGUpO3JldHVybiBmLmFwcGx5KFtdLGgpfSxndWlkOjEscHJveHk6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGY7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiJiYoZj1hW2JdLGI9YSxhPWYpLG4uaXNGdW5jdGlvbihhKT8oYz1lLmNhbGwoYXJndW1lbnRzLDIpLGQ9ZnVuY3Rpb24oKXtyZXR1cm4gYS5hcHBseShifHx0aGlzLGMuY29uY2F0KGUuY2FsbChhcmd1bWVudHMpKSl9LGQuZ3VpZD1hLmd1aWQ9YS5ndWlkfHxuLmd1aWQrKyxkKTp2b2lkIDB9LG5vdzpmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX0sc3VwcG9ydDpsfSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG4uZm5bU3ltYm9sLml0ZXJhdG9yXT1jW1N5bWJvbC5pdGVyYXRvcl0pLG4uZWFjaCgiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2wiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtpWyJbb2JqZWN0ICIrYisiXSJdPWIudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIHMoYSl7dmFyIGI9ISFhJiYibGVuZ3RoImluIGEmJmEubGVuZ3RoLGM9bi50eXBlKGEpO3JldHVybiJmdW5jdGlvbiI9PT1jfHxuLmlzV2luZG93KGEpPyExOiJhcnJheSI9PT1jfHwwPT09Ynx8Im51bWJlciI9PXR5cGVvZiBiJiZiPjAmJmItMSBpbiBhfXZhciB0PWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxuLG8scCxxLHIscyx0LHU9InNpenpsZSIrMSpuZXcgRGF0ZSx2PWEuZG9jdW1lbnQsdz0wLHg9MCx5PWdhKCksej1nYSgpLEE9Z2EoKSxCPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGE9PT1iJiYobD0hMCksMH0sQz0xPDwzMSxEPXt9Lmhhc093blByb3BlcnR5LEU9W10sRj1FLnBvcCxHPUUucHVzaCxIPUUucHVzaCxJPUUuc2xpY2UsSj1mdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wLGQ9YS5sZW5ndGg7ZD5jO2MrKylpZihhW2NdPT09YilyZXR1cm4gYztyZXR1cm4tMX0sSz0iY2hlY2tlZHxzZWxlY3RlZHxhc3luY3xhdXRvZm9jdXN8YXV0b3BsYXl8Y29udHJvbHN8ZGVmZXJ8ZGlzYWJsZWR8aGlkZGVufGlzbWFwfGxvb3B8bXVsdGlwbGV8b3BlbnxyZWFkb25seXxyZXF1aXJlZHxzY29wZWQiLEw9IltcXHgyMFxcdFxcclxcblxcZl0iLE09Iig/OlxcXFwufFtcXHctXXxbXlxceDAwLVxceGEwXSkrIixOPSJcXFsiK0wrIiooIitNKyIpKD86IitMKyIqKFsqXiR8IX5dPz0pIitMKyIqKD86JygoPzpcXFxcLnxbXlxcXFwnXSkqKSd8XCIoKD86XFxcXC58W15cXFxcXCJdKSopXCJ8KCIrTSsiKSl8KSIrTCsiKlxcXSIsTz0iOigiK00rIikoPzpcXCgoKCcoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwiKXwoKD86XFxcXC58W15cXFxcKClbXFxdXXwiK04rIikqKXwuKilcXCl8KSIsUD1uZXcgUmVnRXhwKEwrIisiLCJnIiksUT1uZXcgUmVnRXhwKCJeIitMKyIrfCgoPzpefFteXFxcXF0pKD86XFxcXC4pKikiK0wrIiskIiwiZyIpLFI9bmV3IFJlZ0V4cCgiXiIrTCsiKiwiK0wrIioiKSxTPW5ldyBSZWdFeHAoIl4iK0wrIiooWz4rfl18IitMKyIpIitMKyIqIiksVD1uZXcgUmVnRXhwKCI9IitMKyIqKFteXFxdJ1wiXSo/KSIrTCsiKlxcXSIsImciKSxVPW5ldyBSZWdFeHAoTyksVj1uZXcgUmVnRXhwKCJeIitNKyIkIiksVz17SUQ6bmV3IFJlZ0V4cCgiXiMoIitNKyIpIiksQ0xBU1M6bmV3IFJlZ0V4cCgiXlxcLigiK00rIikiKSxUQUc6bmV3IFJlZ0V4cCgiXigiK00rInxbKl0pIiksQVRUUjpuZXcgUmVnRXhwKCJeIitOKSxQU0VVRE86bmV3IFJlZ0V4cCgiXiIrTyksQ0hJTEQ6bmV3IFJlZ0V4cCgiXjoob25seXxmaXJzdHxsYXN0fG50aHxudGgtbGFzdCktKGNoaWxkfG9mLXR5cGUpKD86XFwoIitMKyIqKGV2ZW58b2RkfCgoWystXXwpKFxcZCopbnwpIitMKyIqKD86KFsrLV18KSIrTCsiKihcXGQrKXwpKSIrTCsiKlxcKXwpIiwiaSIpLGJvb2w6bmV3IFJlZ0V4cCgiXig/OiIrSysiKSQiLCJpIiksbmVlZHNDb250ZXh0Om5ldyBSZWdFeHAoIl4iK0wrIipbPit+XXw6KGV2ZW58b2RkfGVxfGd0fGx0fG50aHxmaXJzdHxsYXN0KSg/OlxcKCIrTCsiKigoPzotXFxkKT9cXGQqKSIrTCsiKlxcKXwpKD89W14tXXwkKSIsImkiKX0sWD0vXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLFk9L15oXGQkL2ksWj0vXltee10rXHtccypcW25hdGl2ZSBcdy8sJD0vXig/OiMoW1x3LV0rKXwoXHcrKXxcLihbXHctXSspKSQvLF89L1srfl0vLGFhPS8nfFxcL2csYmE9bmV3IFJlZ0V4cCgiXFxcXChbXFxkYS1mXXsxLDZ9IitMKyI/fCgiK0wrIil8LikiLCJpZyIpLGNhPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0iMHgiK2ItNjU1MzY7cmV0dXJuIGQhPT1kfHxjP2I6MD5kP1N0cmluZy5mcm9tQ2hhckNvZGUoZCs2NTUzNik6U3RyaW5nLmZyb21DaGFyQ29kZShkPj4xMHw1NTI5NiwxMDIzJmR8NTYzMjApfSxkYT1mdW5jdGlvbigpe20oKX07dHJ5e0guYXBwbHkoRT1JLmNhbGwodi5jaGlsZE5vZGVzKSx2LmNoaWxkTm9kZXMpLEVbdi5jaGlsZE5vZGVzLmxlbmd0aF0ubm9kZVR5cGV9Y2F0Y2goZWEpe0g9e2FwcGx5OkUubGVuZ3RoP2Z1bmN0aW9uKGEsYil7Ry5hcHBseShhLEkuY2FsbChiKSl9OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5sZW5ndGgsZD0wO3doaWxlKGFbYysrXT1iW2QrK10pO2EubGVuZ3RoPWMtMX19fWZ1bmN0aW9uIGZhKGEsYixkLGUpe3ZhciBmLGgsaixrLGwsbyxyLHMsdz1iJiZiLm93bmVyRG9jdW1lbnQseD1iP2Iubm9kZVR5cGU6OTtpZihkPWR8fFtdLCJzdHJpbmciIT10eXBlb2YgYXx8IWF8fDEhPT14JiY5IT09eCYmMTEhPT14KXJldHVybiBkO2lmKCFlJiYoKGI/Yi5vd25lckRvY3VtZW50fHxiOnYpIT09biYmbShiKSxiPWJ8fG4scCkpe2lmKDExIT09eCYmKG89JC5leGVjKGEpKSlpZihmPW9bMV0pe2lmKDk9PT14KXtpZighKGo9Yi5nZXRFbGVtZW50QnlJZChmKSkpcmV0dXJuIGQ7aWYoai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2UgaWYodyYmKGo9dy5nZXRFbGVtZW50QnlJZChmKSkmJnQoYixqKSYmai5pZD09PWYpcmV0dXJuIGQucHVzaChqKSxkfWVsc2V7aWYob1syXSlyZXR1cm4gSC5hcHBseShkLGIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSkpLGQ7aWYoKGY9b1szXSkmJmMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKXJldHVybiBILmFwcGx5KGQsYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGYpKSxkfWlmKGMucXNhJiYhQVthKyIgIl0mJighcXx8IXEudGVzdChhKSkpe2lmKDEhPT14KXc9YixzPWE7ZWxzZSBpZigib2JqZWN0IiE9PWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7KGs9Yi5nZXRBdHRyaWJ1dGUoImlkIikpP2s9ay5yZXBsYWNlKGFhLCJcXCQmIik6Yi5zZXRBdHRyaWJ1dGUoImlkIixrPXUpLHI9ZyhhKSxoPXIubGVuZ3RoLGw9Vi50ZXN0KGspPyIjIitrOiJbaWQ9JyIraysiJ10iO3doaWxlKGgtLSlyW2hdPWwrIiAiK3FhKHJbaF0pO3M9ci5qb2luKCIsIiksdz1fLnRlc3QoYSkmJm9hKGIucGFyZW50Tm9kZSl8fGJ9aWYocyl0cnl7cmV0dXJuIEguYXBwbHkoZCx3LnF1ZXJ5U2VsZWN0b3JBbGwocykpLGR9Y2F0Y2goeSl7fWZpbmFsbHl7az09PXUmJmIucmVtb3ZlQXR0cmlidXRlKCJpZCIpfX19cmV0dXJuIGkoYS5yZXBsYWNlKFEsIiQxIiksYixkLGUpfWZ1bmN0aW9uIGdhKCl7dmFyIGE9W107ZnVuY3Rpb24gYihjLGUpe3JldHVybiBhLnB1c2goYysiICIpPmQuY2FjaGVMZW5ndGgmJmRlbGV0ZSBiW2Euc2hpZnQoKV0sYltjKyIgIl09ZX1yZXR1cm4gYn1mdW5jdGlvbiBoYShhKXtyZXR1cm4gYVt1XT0hMCxhfWZ1bmN0aW9uIGlhKGEpe3ZhciBiPW4uY3JlYXRlRWxlbWVudCgiZGl2Iik7dHJ5e3JldHVybiEhYShiKX1jYXRjaChjKXtyZXR1cm4hMX1maW5hbGx5e2IucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbH19ZnVuY3Rpb24gamEoYSxiKXt2YXIgYz1hLnNwbGl0KCJ8IiksZT1jLmxlbmd0aDt3aGlsZShlLS0pZC5hdHRySGFuZGxlW2NbZV1dPWJ9ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYz1iJiZhLGQ9YyYmMT09PWEubm9kZVR5cGUmJjE9PT1iLm5vZGVUeXBlJiYofmIuc291cmNlSW5kZXh8fEMpLSh+YS5zb3VyY2VJbmRleHx8Qyk7aWYoZClyZXR1cm4gZDtpZihjKXdoaWxlKGM9Yy5uZXh0U2libGluZylpZihjPT09YilyZXR1cm4tMTtyZXR1cm4gYT8xOi0xfWZ1bmN0aW9uIGxhKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWMmJmIudHlwZT09PWF9fWZ1bmN0aW9uIG1hKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgYz1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuKCJpbnB1dCI9PT1jfHwiYnV0dG9uIj09PWMpJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBuYShhKXtyZXR1cm4gaGEoZnVuY3Rpb24oYil7cmV0dXJuIGI9K2IsaGEoZnVuY3Rpb24oYyxkKXt2YXIgZSxmPWEoW10sYy5sZW5ndGgsYiksZz1mLmxlbmd0aDt3aGlsZShnLS0pY1tlPWZbZ11dJiYoY1tlXT0hKGRbZV09Y1tlXSkpfSl9KX1mdW5jdGlvbiBvYShhKXtyZXR1cm4gYSYmInVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lJiZhfWM9ZmEuc3VwcG9ydD17fSxmPWZhLmlzWE1MPWZ1bmN0aW9uKGEpe3ZhciBiPWEmJihhLm93bmVyRG9jdW1lbnR8fGEpLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gYj8iSFRNTCIhPT1iLm5vZGVOYW1lOiExfSxtPWZhLnNldERvY3VtZW50PWZ1bmN0aW9uKGEpe3ZhciBiLGUsZz1hP2Eub3duZXJEb2N1bWVudHx8YTp2O3JldHVybiBnIT09biYmOT09PWcubm9kZVR5cGUmJmcuZG9jdW1lbnRFbGVtZW50PyhuPWcsbz1uLmRvY3VtZW50RWxlbWVudCxwPSFmKG4pLChlPW4uZGVmYXVsdFZpZXcpJiZlLnRvcCE9PWUmJihlLmFkZEV2ZW50TGlzdGVuZXI/ZS5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGRhLCExKTplLmF0dGFjaEV2ZW50JiZlLmF0dGFjaEV2ZW50KCJvbnVubG9hZCIsZGEpKSxjLmF0dHJpYnV0ZXM9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY2xhc3NOYW1lPSJpIiwhYS5nZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIpfSksYy5nZXRFbGVtZW50c0J5VGFnTmFtZT1pYShmdW5jdGlvbihhKXtyZXR1cm4gYS5hcHBlbmRDaGlsZChuLmNyZWF0ZUNvbW1lbnQoIiIpKSwhYS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpLmxlbmd0aH0pLGMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZT1aLnRlc3Qobi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSxjLmdldEJ5SWQ9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIG8uYXBwZW5kQ2hpbGQoYSkuaWQ9dSwhbi5nZXRFbGVtZW50c0J5TmFtZXx8IW4uZ2V0RWxlbWVudHNCeU5hbWUodSkubGVuZ3RofSksYy5nZXRCeUlkPyhkLmZpbmQuSUQ9ZnVuY3Rpb24oYSxiKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudEJ5SWQmJnApe3ZhciBjPWIuZ2V0RWxlbWVudEJ5SWQoYSk7cmV0dXJuIGM/W2NdOltdfX0sZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJpZCIpPT09Yn19KTooZGVsZXRlIGQuZmluZC5JRCxkLmZpbHRlci5JRD1mdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpO3JldHVybiBmdW5jdGlvbihhKXt2YXIgYz0idW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlTm9kZSYmYS5nZXRBdHRyaWJ1dGVOb2RlKCJpZCIpO3JldHVybiBjJiZjLnZhbHVlPT09Yn19KSxkLmZpbmQuVEFHPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWU/ZnVuY3Rpb24oYSxiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeVRhZ05hbWU/Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTpjLnFzYT9iLnF1ZXJ5U2VsZWN0b3JBbGwoYSk6dm9pZCAwfTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT0wLGY9Yi5nZXRFbGVtZW50c0J5VGFnTmFtZShhKTtpZigiKiI9PT1hKXt3aGlsZShjPWZbZSsrXSkxPT09Yy5ub2RlVHlwZSYmZC5wdXNoKGMpO3JldHVybiBkfXJldHVybiBmfSxkLmZpbmQuQ0xBU1M9Yy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZmdW5jdGlvbihhLGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgYi5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lJiZwP2IuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShhKTp2b2lkIDB9LHI9W10scT1bXSwoYy5xc2E9Wi50ZXN0KG4ucXVlcnlTZWxlY3RvckFsbCkpJiYoaWEoZnVuY3Rpb24oYSl7by5hcHBlbmRDaGlsZChhKS5pbm5lckhUTUw9IjxhIGlkPSciK3UrIic+PC9hPjxzZWxlY3QgaWQ9JyIrdSsiLVxyXFwnIG1zYWxsb3djYXB0dXJlPScnPjxvcHRpb24gc2VsZWN0ZWQ9Jyc+PC9vcHRpb24+PC9zZWxlY3Q+IixhLnF1ZXJ5U2VsZWN0b3JBbGwoIlttc2FsbG93Y2FwdHVyZV49JyddIikubGVuZ3RoJiZxLnB1c2goIlsqXiRdPSIrTCsiKig/OicnfFwiXCIpIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbc2VsZWN0ZWRdIikubGVuZ3RofHxxLnB1c2goIlxcWyIrTCsiKig/OnZhbHVlfCIrSysiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW2lkfj0iK3UrIi1dIikubGVuZ3RofHxxLnB1c2goIn49IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6Y2hlY2tlZCIpLmxlbmd0aHx8cS5wdXNoKCI6Y2hlY2tlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiYSMiK3UrIisqIikubGVuZ3RofHxxLnB1c2goIi4jLitbK35dIil9KSxpYShmdW5jdGlvbihhKXt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7Yi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJoaWRkZW4iKSxhLmFwcGVuZENoaWxkKGIpLnNldEF0dHJpYnV0ZSgibmFtZSIsIkQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltuYW1lPWRdIikubGVuZ3RoJiZxLnB1c2goIm5hbWUiK0wrIipbKl4kfCF+XT89IiksYS5xdWVyeVNlbGVjdG9yQWxsKCI6ZW5hYmxlZCIpLmxlbmd0aHx8cS5wdXNoKCI6ZW5hYmxlZCIsIjpkaXNhYmxlZCIpLGEucXVlcnlTZWxlY3RvckFsbCgiKiw6eCIpLHEucHVzaCgiLC4qOiIpfSkpLChjLm1hdGNoZXNTZWxlY3Rvcj1aLnRlc3Qocz1vLm1hdGNoZXN8fG8ud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxvLm1vek1hdGNoZXNTZWxlY3Rvcnx8by5vTWF0Y2hlc1NlbGVjdG9yfHxvLm1zTWF0Y2hlc1NlbGVjdG9yKSkmJmlhKGZ1bmN0aW9uKGEpe2MuZGlzY29ubmVjdGVkTWF0Y2g9cy5jYWxsKGEsImRpdiIpLHMuY2FsbChhLCJbcyE9JyddOngiKSxyLnB1c2goIiE9IixPKX0pLHE9cS5sZW5ndGgmJm5ldyBSZWdFeHAocS5qb2luKCJ8IikpLHI9ci5sZW5ndGgmJm5ldyBSZWdFeHAoci5qb2luKCJ8IikpLGI9Wi50ZXN0KG8uY29tcGFyZURvY3VtZW50UG9zaXRpb24pLHQ9Ynx8Wi50ZXN0KG8uY29udGFpbnMpP2Z1bmN0aW9uKGEsYil7dmFyIGM9OT09PWEubm9kZVR5cGU/YS5kb2N1bWVudEVsZW1lbnQ6YSxkPWImJmIucGFyZW50Tm9kZTtyZXR1cm4gYT09PWR8fCEoIWR8fDEhPT1kLm5vZGVUeXBlfHwhKGMuY29udGFpbnM/Yy5jb250YWlucyhkKTphLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYxNiZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGQpKSl9OmZ1bmN0aW9uKGEsYil7aWYoYil3aGlsZShiPWIucGFyZW50Tm9kZSlpZihiPT09YSlyZXR1cm4hMDtyZXR1cm4hMX0sQj1iP2Z1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgZD0hYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbi0hYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtyZXR1cm4gZD9kOihkPShhLm93bmVyRG9jdW1lbnR8fGEpPT09KGIub3duZXJEb2N1bWVudHx8Yik/YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKToxLDEmZHx8IWMuc29ydERldGFjaGVkJiZiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGEpPT09ZD9hPT09bnx8YS5vd25lckRvY3VtZW50PT09diYmdCh2LGEpPy0xOmI9PT1ufHxiLm93bmVyRG9jdW1lbnQ9PT12JiZ0KHYsYik/MTprP0ooayxhKS1KKGssYik6MDo0JmQ/LTE6MSl9OmZ1bmN0aW9uKGEsYil7aWYoYT09PWIpcmV0dXJuIGw9ITAsMDt2YXIgYyxkPTAsZT1hLnBhcmVudE5vZGUsZj1iLnBhcmVudE5vZGUsZz1bYV0saD1bYl07aWYoIWV8fCFmKXJldHVybiBhPT09bj8tMTpiPT09bj8xOmU/LTE6Zj8xOms/SihrLGEpLUooayxiKTowO2lmKGU9PT1mKXJldHVybiBrYShhLGIpO2M9YTt3aGlsZShjPWMucGFyZW50Tm9kZSlnLnVuc2hpZnQoYyk7Yz1iO3doaWxlKGM9Yy5wYXJlbnROb2RlKWgudW5zaGlmdChjKTt3aGlsZShnW2RdPT09aFtkXSlkKys7cmV0dXJuIGQ/a2EoZ1tkXSxoW2RdKTpnW2RdPT09dj8tMTpoW2RdPT09dj8xOjB9LG4pOm59LGZhLm1hdGNoZXM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gZmEoYSxudWxsLG51bGwsYil9LGZhLm1hdGNoZXNTZWxlY3Rvcj1mdW5jdGlvbihhLGIpe2lmKChhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSxiPWIucmVwbGFjZShULCI9JyQxJ10iKSxjLm1hdGNoZXNTZWxlY3RvciYmcCYmIUFbYisiICJdJiYoIXJ8fCFyLnRlc3QoYikpJiYoIXF8fCFxLnRlc3QoYikpKXRyeXt2YXIgZD1zLmNhbGwoYSxiKTtpZihkfHxjLmRpc2Nvbm5lY3RlZE1hdGNofHxhLmRvY3VtZW50JiYxMSE9PWEuZG9jdW1lbnQubm9kZVR5cGUpcmV0dXJuIGR9Y2F0Y2goZSl7fXJldHVybiBmYShiLG4sbnVsbCxbYV0pLmxlbmd0aD4wfSxmYS5jb250YWlucz1mdW5jdGlvbihhLGIpe3JldHVybihhLm93bmVyRG9jdW1lbnR8fGEpIT09biYmbShhKSx0KGEsYil9LGZhLmF0dHI9ZnVuY3Rpb24oYSxiKXsoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSk7dmFyIGU9ZC5hdHRySGFuZGxlW2IudG9Mb3dlckNhc2UoKV0sZj1lJiZELmNhbGwoZC5hdHRySGFuZGxlLGIudG9Mb3dlckNhc2UoKSk/ZShhLGIsIXApOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09Zj9mOmMuYXR0cmlidXRlc3x8IXA/YS5nZXRBdHRyaWJ1dGUoYik6KGY9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZi5zcGVjaWZpZWQ/Zi52YWx1ZTpudWxsfSxmYS5lcnJvcj1mdW5jdGlvbihhKXt0aHJvdyBuZXcgRXJyb3IoIlN5bnRheCBlcnJvciwgdW5yZWNvZ25pemVkIGV4cHJlc3Npb246ICIrYSl9LGZhLnVuaXF1ZVNvcnQ9ZnVuY3Rpb24oYSl7dmFyIGIsZD1bXSxlPTAsZj0wO2lmKGw9IWMuZGV0ZWN0RHVwbGljYXRlcyxrPSFjLnNvcnRTdGFibGUmJmEuc2xpY2UoMCksYS5zb3J0KEIpLGwpe3doaWxlKGI9YVtmKytdKWI9PT1hW2ZdJiYoZT1kLnB1c2goZikpO3doaWxlKGUtLSlhLnNwbGljZShkW2VdLDEpfXJldHVybiBrPW51bGwsYX0sZT1mYS5nZXRUZXh0PWZ1bmN0aW9uKGEpe3ZhciBiLGM9IiIsZD0wLGY9YS5ub2RlVHlwZTtpZihmKXtpZigxPT09Znx8OT09PWZ8fDExPT09Zil7aWYoInN0cmluZyI9PXR5cGVvZiBhLnRleHRDb250ZW50KXJldHVybiBhLnRleHRDb250ZW50O2ZvcihhPWEuZmlyc3RDaGlsZDthO2E9YS5uZXh0U2libGluZyljKz1lKGEpfWVsc2UgaWYoMz09PWZ8fDQ9PT1mKXJldHVybiBhLm5vZGVWYWx1ZX1lbHNlIHdoaWxlKGI9YVtkKytdKWMrPWUoYik7cmV0dXJuIGN9LGQ9ZmEuc2VsZWN0b3JzPXtjYWNoZUxlbmd0aDo1MCxjcmVhdGVQc2V1ZG86aGEsbWF0Y2g6VyxhdHRySGFuZGxlOnt9LGZpbmQ6e30scmVsYXRpdmU6eyI+Ijp7ZGlyOiJwYXJlbnROb2RlIixmaXJzdDohMH0sIiAiOntkaXI6InBhcmVudE5vZGUifSwiKyI6e2RpcjoicHJldmlvdXNTaWJsaW5nIixmaXJzdDohMH0sIn4iOntkaXI6InByZXZpb3VzU2libGluZyJ9fSxwcmVGaWx0ZXI6e0FUVFI6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS5yZXBsYWNlKGJhLGNhKSxhWzNdPShhWzNdfHxhWzRdfHxhWzVdfHwiIikucmVwbGFjZShiYSxjYSksIn49Ij09PWFbMl0mJihhWzNdPSIgIithWzNdKyIgIiksYS5zbGljZSgwLDQpfSxDSElMRDpmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT1hWzFdLnRvTG93ZXJDYXNlKCksIm50aCI9PT1hWzFdLnNsaWNlKDAsMyk/KGFbM118fGZhLmVycm9yKGFbMF0pLGFbNF09KyhhWzRdP2FbNV0rKGFbNl18fDEpOjIqKCJldmVuIj09PWFbM118fCJvZGQiPT09YVszXSkpLGFbNV09KyhhWzddK2FbOF18fCJvZGQiPT09YVszXSkpOmFbM10mJmZhLmVycm9yKGFbMF0pLGF9LFBTRVVETzpmdW5jdGlvbihhKXt2YXIgYixjPSFhWzZdJiZhWzJdO3JldHVybiBXLkNISUxELnRlc3QoYVswXSk/bnVsbDooYVszXT9hWzJdPWFbNF18fGFbNV18fCIiOmMmJlUudGVzdChjKSYmKGI9ZyhjLCEwKSkmJihiPWMuaW5kZXhPZigiKSIsYy5sZW5ndGgtYiktYy5sZW5ndGgpJiYoYVswXT1hWzBdLnNsaWNlKDAsYiksYVsyXT1jLnNsaWNlKDAsYikpLGEuc2xpY2UoMCwzKSl9fSxmaWx0ZXI6e1RBRzpmdW5jdGlvbihhKXt2YXIgYj1hLnJlcGxhY2UoYmEsY2EpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIioiPT09YT9mdW5jdGlvbigpe3JldHVybiEwfTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZSYmYS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09Yn19LENMQVNTOmZ1bmN0aW9uKGEpe3ZhciBiPXlbYSsiICJdO3JldHVybiBifHwoYj1uZXcgUmVnRXhwKCIoXnwiK0wrIikiK2ErIigiK0wrInwkKSIpKSYmeShhLGZ1bmN0aW9uKGEpe3JldHVybiBiLnRlc3QoInN0cmluZyI9PXR5cGVvZiBhLmNsYXNzTmFtZSYmYS5jbGFzc05hbWV8fCJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIil9KX0sQVRUUjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGZ1bmN0aW9uKGQpe3ZhciBlPWZhLmF0dHIoZCxhKTtyZXR1cm4gbnVsbD09ZT8iIT0iPT09YjpiPyhlKz0iIiwiPSI9PT1iP2U9PT1jOiIhPSI9PT1iP2UhPT1jOiJePSI9PT1iP2MmJjA9PT1lLmluZGV4T2YoYyk6Iio9Ij09PWI/YyYmZS5pbmRleE9mKGMpPi0xOiIkPSI9PT1iP2MmJmUuc2xpY2UoLWMubGVuZ3RoKT09PWM6In49Ij09PWI/KCIgIitlLnJlcGxhY2UoUCwiICIpKyIgIikuaW5kZXhPZihjKT4tMToifD0iPT09Yj9lPT09Y3x8ZS5zbGljZSgwLGMubGVuZ3RoKzEpPT09YysiLSI6ITEpOiEwfX0sQ0hJTEQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0ibnRoIiE9PWEuc2xpY2UoMCwzKSxnPSJsYXN0IiE9PWEuc2xpY2UoLTQpLGg9Im9mLXR5cGUiPT09YjtyZXR1cm4gMT09PWQmJjA9PT1lP2Z1bmN0aW9uKGEpe3JldHVybiEhYS5wYXJlbnROb2RlfTpmdW5jdGlvbihiLGMsaSl7dmFyIGosayxsLG0sbixvLHA9ZiE9PWc/Im5leHRTaWJsaW5nIjoicHJldmlvdXNTaWJsaW5nIixxPWIucGFyZW50Tm9kZSxyPWgmJmIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxzPSFpJiYhaCx0PSExO2lmKHEpe2lmKGYpe3doaWxlKHApe209Yjt3aGlsZShtPW1bcF0paWYoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKXJldHVybiExO289cD0ib25seSI9PT1hJiYhbyYmIm5leHRTaWJsaW5nIn1yZXR1cm4hMH1pZihvPVtnP3EuZmlyc3RDaGlsZDpxLmxhc3RDaGlsZF0sZyYmcyl7bT1xLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4mJmpbMl0sbT1uJiZxLmNoaWxkTm9kZXNbbl07d2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoMT09PW0ubm9kZVR5cGUmJisrdCYmbT09PWIpe2tbYV09W3csbix0XTticmVha319ZWxzZSBpZihzJiYobT1iLGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGo9a1thXXx8W10sbj1qWzBdPT09dyYmalsxXSx0PW4pLHQ9PT0hMSl3aGlsZShtPSsrbiYmbSYmbVtwXXx8KHQ9bj0wKXx8by5wb3AoKSlpZigoaD9tLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1yOjE9PT1tLm5vZGVUeXBlKSYmKyt0JiYocyYmKGw9bVt1XXx8KG1bdV09e30pLGs9bFttLnVuaXF1ZUlEXXx8KGxbbS51bmlxdWVJRF09e30pLGtbYV09W3csdF0pLG09PT1iKSlicmVhaztyZXR1cm4gdC09ZSx0PT09ZHx8dCVkPT09MCYmdC9kPj0wfX19LFBTRVVETzpmdW5jdGlvbihhLGIpe3ZhciBjLGU9ZC5wc2V1ZG9zW2FdfHxkLnNldEZpbHRlcnNbYS50b0xvd2VyQ2FzZSgpXXx8ZmEuZXJyb3IoInVuc3VwcG9ydGVkIHBzZXVkbzogIithKTtyZXR1cm4gZVt1XT9lKGIpOmUubGVuZ3RoPjE/KGM9W2EsYSwiIixiXSxkLnNldEZpbHRlcnMuaGFzT3duUHJvcGVydHkoYS50b0xvd2VyQ2FzZSgpKT9oYShmdW5jdGlvbihhLGMpe3ZhciBkLGY9ZShhLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWQ9SihhLGZbZ10pLGFbZF09IShjW2RdPWZbZ10pfSk6ZnVuY3Rpb24oYSl7cmV0dXJuIGUoYSwwLGMpfSk6ZX19LHBzZXVkb3M6e25vdDpoYShmdW5jdGlvbihhKXt2YXIgYj1bXSxjPVtdLGQ9aChhLnJlcGxhY2UoUSwiJDEiKSk7cmV0dXJuIGRbdV0/aGEoZnVuY3Rpb24oYSxiLGMsZSl7dmFyIGYsZz1kKGEsbnVsbCxlLFtdKSxoPWEubGVuZ3RoO3doaWxlKGgtLSkoZj1nW2hdKSYmKGFbaF09IShiW2hdPWYpKX0pOmZ1bmN0aW9uKGEsZSxmKXtyZXR1cm4gYlswXT1hLGQoYixudWxsLGYsYyksYlswXT1udWxsLCFjLnBvcCgpfX0pLGhhczpoYShmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIGZhKGEsYikubGVuZ3RoPjB9fSksY29udGFpbnM6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5yZXBsYWNlKGJhLGNhKSxmdW5jdGlvbihiKXtyZXR1cm4oYi50ZXh0Q29udGVudHx8Yi5pbm5lclRleHR8fGUoYikpLmluZGV4T2YoYSk+LTF9fSksbGFuZzpoYShmdW5jdGlvbihhKXtyZXR1cm4gVi50ZXN0KGF8fCIiKXx8ZmEuZXJyb3IoInVuc3VwcG9ydGVkIGxhbmc6ICIrYSksYT1hLnJlcGxhY2UoYmEsY2EpLnRvTG93ZXJDYXNlKCksZnVuY3Rpb24oYil7dmFyIGM7ZG8gaWYoYz1wP2IubGFuZzpiLmdldEF0dHJpYnV0ZSgieG1sOmxhbmciKXx8Yi5nZXRBdHRyaWJ1dGUoImxhbmciKSlyZXR1cm4gYz1jLnRvTG93ZXJDYXNlKCksYz09PWF8fDA9PT1jLmluZGV4T2YoYSsiLSIpO3doaWxlKChiPWIucGFyZW50Tm9kZSkmJjE9PT1iLm5vZGVUeXBlKTtyZXR1cm4hMX19KSx0YXJnZXQ6ZnVuY3Rpb24oYil7dmFyIGM9YS5sb2NhdGlvbiYmYS5sb2NhdGlvbi5oYXNoO3JldHVybiBjJiZjLnNsaWNlKDEpPT09Yi5pZH0scm9vdDpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW99LGZvY3VzOmZ1bmN0aW9uKGEpe3JldHVybiBhPT09bi5hY3RpdmVFbGVtZW50JiYoIW4uaGFzRm9jdXN8fG4uaGFzRm9jdXMoKSkmJiEhKGEudHlwZXx8YS5ocmVmfHx+YS50YWJJbmRleCl9LGVuYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMX0sZGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGlzYWJsZWQ9PT0hMH0sY2hlY2tlZDpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiEhYS5jaGVja2VkfHwib3B0aW9uIj09PWImJiEhYS5zZWxlY3RlZH0sc2VsZWN0ZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsYS5zZWxlY3RlZD09PSEwfSxlbXB0eTpmdW5jdGlvbihhKXtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpaWYoYS5ub2RlVHlwZTw2KXJldHVybiExO3JldHVybiEwfSxwYXJlbnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIWQucHNldWRvcy5lbXB0eShhKX0saGVhZGVyOmZ1bmN0aW9uKGEpe3JldHVybiBZLnRlc3QoYS5ub2RlTmFtZSl9LGlucHV0OmZ1bmN0aW9uKGEpe3JldHVybiBYLnRlc3QoYS5ub2RlTmFtZSl9LGJ1dHRvbjpmdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuImlucHV0Ij09PWImJiJidXR0b24iPT09YS50eXBlfHwiYnV0dG9uIj09PWJ9LHRleHQ6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuImlucHV0Ij09PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmInRleHQiPT09YS50eXBlJiYobnVsbD09KGI9YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSl8fCJ0ZXh0Ij09PWIudG9Mb3dlckNhc2UoKSl9LGZpcnN0Om5hKGZ1bmN0aW9uKCl7cmV0dXJuWzBdfSksbGFzdDpuYShmdW5jdGlvbihhLGIpe3JldHVybltiLTFdfSksZXE6bmEoZnVuY3Rpb24oYSxiLGMpe3JldHVyblswPmM/YytiOmNdfSksZXZlbjpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0wO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLG9kZDpuYShmdW5jdGlvbihhLGIpe2Zvcih2YXIgYz0xO2I+YztjKz0yKWEucHVzaChjKTtyZXR1cm4gYX0pLGx0Om5hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOy0tZD49MDspYS5wdXNoKGQpO3JldHVybiBhfSksZ3Q6bmEoZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD0wPmM/YytiOmM7KytkPGI7KWEucHVzaChkKTtyZXR1cm4gYX0pfX0sZC5wc2V1ZG9zLm50aD1kLnBzZXVkb3MuZXE7Zm9yKGIgaW57cmFkaW86ITAsY2hlY2tib3g6ITAsZmlsZTohMCxwYXNzd29yZDohMCxpbWFnZTohMH0pZC5wc2V1ZG9zW2JdPWxhKGIpO2ZvcihiIGlue3N1Ym1pdDohMCxyZXNldDohMH0pZC5wc2V1ZG9zW2JdPW1hKGIpO2Z1bmN0aW9uIHBhKCl7fXBhLnByb3RvdHlwZT1kLmZpbHRlcnM9ZC5wc2V1ZG9zLGQuc2V0RmlsdGVycz1uZXcgcGEsZz1mYS50b2tlbml6ZT1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaSxqLGs9elthKyIgIl07aWYoaylyZXR1cm4gYj8wOmsuc2xpY2UoMCk7aD1hLGk9W10saj1kLnByZUZpbHRlcjt3aGlsZShoKXtjJiYhKGU9Ui5leGVjKGgpKXx8KGUmJihoPWguc2xpY2UoZVswXS5sZW5ndGgpfHxoKSxpLnB1c2goZj1bXSkpLGM9ITEsKGU9Uy5leGVjKGgpKSYmKGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmVbMF0ucmVwbGFjZShRLCIgIil9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtmb3IoZyBpbiBkLmZpbHRlcikhKGU9V1tnXS5leGVjKGgpKXx8altnXSYmIShlPWpbZ10oZSkpfHwoYz1lLnNoaWZ0KCksZi5wdXNoKHt2YWx1ZTpjLHR5cGU6ZyxtYXRjaGVzOmV9KSxoPWguc2xpY2UoYy5sZW5ndGgpKTtpZighYylicmVha31yZXR1cm4gYj9oLmxlbmd0aDpoP2ZhLmVycm9yKGEpOnooYSxpKS5zbGljZSgwKX07ZnVuY3Rpb24gcWEoYSl7Zm9yKHZhciBiPTAsYz1hLmxlbmd0aCxkPSIiO2M+YjtiKyspZCs9YVtiXS52YWx1ZTtyZXR1cm4gZH1mdW5jdGlvbiByYShhLGIsYyl7dmFyIGQ9Yi5kaXIsZT1jJiYicGFyZW50Tm9kZSI9PT1kLGY9eCsrO3JldHVybiBiLmZpcnN0P2Z1bmN0aW9uKGIsYyxmKXt3aGlsZShiPWJbZF0paWYoMT09PWIubm9kZVR5cGV8fGUpcmV0dXJuIGEoYixjLGYpfTpmdW5jdGlvbihiLGMsZyl7dmFyIGgsaSxqLGs9W3csZl07aWYoZyl7d2hpbGUoYj1iW2RdKWlmKCgxPT09Yi5ub2RlVHlwZXx8ZSkmJmEoYixjLGcpKXJldHVybiEwfWVsc2Ugd2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXtpZihqPWJbdV18fChiW3VdPXt9KSxpPWpbYi51bmlxdWVJRF18fChqW2IudW5pcXVlSURdPXt9KSwoaD1pW2RdKSYmaFswXT09PXcmJmhbMV09PT1mKXJldHVybiBrWzJdPWhbMl07aWYoaVtkXT1rLGtbMl09YShiLGMsZykpcmV0dXJuITB9fX1mdW5jdGlvbiBzYShhKXtyZXR1cm4gYS5sZW5ndGg+MT9mdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5sZW5ndGg7d2hpbGUoZS0tKWlmKCFhW2VdKGIsYyxkKSlyZXR1cm4hMTtyZXR1cm4hMH06YVswXX1mdW5jdGlvbiB0YShhLGIsYyl7Zm9yKHZhciBkPTAsZT1iLmxlbmd0aDtlPmQ7ZCsrKWZhKGEsYltkXSxjKTtyZXR1cm4gY31mdW5jdGlvbiB1YShhLGIsYyxkLGUpe2Zvcih2YXIgZixnPVtdLGg9MCxpPWEubGVuZ3RoLGo9bnVsbCE9YjtpPmg7aCsrKShmPWFbaF0pJiYoYyYmIWMoZixkLGUpfHwoZy5wdXNoKGYpLGomJmIucHVzaChoKSkpO3JldHVybiBnfWZ1bmN0aW9uIHZhKGEsYixjLGQsZSxmKXtyZXR1cm4gZCYmIWRbdV0mJihkPXZhKGQpKSxlJiYhZVt1XSYmKGU9dmEoZSxmKSksaGEoZnVuY3Rpb24oZixnLGgsaSl7dmFyIGosayxsLG09W10sbj1bXSxvPWcubGVuZ3RoLHA9Znx8dGEoYnx8IioiLGgubm9kZVR5cGU/W2hdOmgsW10pLHE9IWF8fCFmJiZiP3A6dWEocCxtLGEsaCxpKSxyPWM/ZXx8KGY/YTpvfHxkKT9bXTpnOnE7aWYoYyYmYyhxLHIsaCxpKSxkKXtqPXVhKHIsbiksZChqLFtdLGgsaSksaz1qLmxlbmd0aDt3aGlsZShrLS0pKGw9altrXSkmJihyW25ba11dPSEocVtuW2tdXT1sKSl9aWYoZil7aWYoZXx8YSl7aWYoZSl7aj1bXSxrPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmai5wdXNoKHFba109bCk7ZShudWxsLHI9W10saixpKX1rPXIubGVuZ3RoO3doaWxlKGstLSkobD1yW2tdKSYmKGo9ZT9KKGYsbCk6bVtrXSk+LTEmJihmW2pdPSEoZ1tqXT1sKSl9fWVsc2Ugcj11YShyPT09Zz9yLnNwbGljZShvLHIubGVuZ3RoKTpyKSxlP2UobnVsbCxnLHIsaSk6SC5hcHBseShnLHIpfSl9ZnVuY3Rpb24gd2EoYSl7Zm9yKHZhciBiLGMsZSxmPWEubGVuZ3RoLGc9ZC5yZWxhdGl2ZVthWzBdLnR5cGVdLGg9Z3x8ZC5yZWxhdGl2ZVsiICJdLGk9Zz8xOjAsaz1yYShmdW5jdGlvbihhKXtyZXR1cm4gYT09PWJ9LGgsITApLGw9cmEoZnVuY3Rpb24oYSl7cmV0dXJuIEooYixhKT4tMX0saCwhMCksbT1bZnVuY3Rpb24oYSxjLGQpe3ZhciBlPSFnJiYoZHx8YyE9PWopfHwoKGI9Yykubm9kZVR5cGU/ayhhLGMsZCk6bChhLGMsZCkpO3JldHVybiBiPW51bGwsZX1dO2Y+aTtpKyspaWYoYz1kLnJlbGF0aXZlW2FbaV0udHlwZV0pbT1bcmEoc2EobSksYyldO2Vsc2V7aWYoYz1kLmZpbHRlclthW2ldLnR5cGVdLmFwcGx5KG51bGwsYVtpXS5tYXRjaGVzKSxjW3VdKXtmb3IoZT0rK2k7Zj5lO2UrKylpZihkLnJlbGF0aXZlW2FbZV0udHlwZV0pYnJlYWs7cmV0dXJuIHZhKGk+MSYmc2EobSksaT4xJiZxYShhLnNsaWNlKDAsaS0xKS5jb25jYXQoe3ZhbHVlOiIgIj09PWFbaS0yXS50eXBlPyIqIjoiIn0pKS5yZXBsYWNlKFEsIiQxIiksYyxlPmkmJndhKGEuc2xpY2UoaSxlKSksZj5lJiZ3YShhPWEuc2xpY2UoZSkpLGY+ZSYmcWEoYSkpfW0ucHVzaChjKX1yZXR1cm4gc2EobSl9ZnVuY3Rpb24geGEoYSxiKXt2YXIgYz1iLmxlbmd0aD4wLGU9YS5sZW5ndGg+MCxmPWZ1bmN0aW9uKGYsZyxoLGksayl7dmFyIGwsbyxxLHI9MCxzPSIwIix0PWYmJltdLHU9W10sdj1qLHg9Znx8ZSYmZC5maW5kLlRBRygiKiIsaykseT13Kz1udWxsPT12PzE6TWF0aC5yYW5kb20oKXx8LjEsej14Lmxlbmd0aDtmb3IoayYmKGo9Zz09PW58fGd8fGspO3MhPT16JiZudWxsIT0obD14W3NdKTtzKyspe2lmKGUmJmwpe289MCxnfHxsLm93bmVyRG9jdW1lbnQ9PT1ufHwobShsKSxoPSFwKTt3aGlsZShxPWFbbysrXSlpZihxKGwsZ3x8bixoKSl7aS5wdXNoKGwpO2JyZWFrfWsmJih3PXkpfWMmJigobD0hcSYmbCkmJnItLSxmJiZ0LnB1c2gobCkpfWlmKHIrPXMsYyYmcyE9PXIpe289MDt3aGlsZShxPWJbbysrXSlxKHQsdSxnLGgpO2lmKGYpe2lmKHI+MCl3aGlsZShzLS0pdFtzXXx8dVtzXXx8KHVbc109Ri5jYWxsKGkpKTt1PXVhKHUpfUguYXBwbHkoaSx1KSxrJiYhZiYmdS5sZW5ndGg+MCYmcitiLmxlbmd0aD4xJiZmYS51bmlxdWVTb3J0KGkpfXJldHVybiBrJiYodz15LGo9diksdH07cmV0dXJuIGM/aGEoZik6Zn1yZXR1cm4gaD1mYS5jb21waWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZD1bXSxlPVtdLGY9QVthKyIgIl07aWYoIWYpe2J8fChiPWcoYSkpLGM9Yi5sZW5ndGg7d2hpbGUoYy0tKWY9d2EoYltjXSksZlt1XT9kLnB1c2goZik6ZS5wdXNoKGYpO2Y9QShhLHhhKGUsZCkpLGYuc2VsZWN0b3I9YX1yZXR1cm4gZn0saT1mYS5zZWxlY3Q9ZnVuY3Rpb24oYSxiLGUsZil7dmFyIGksaixrLGwsbSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhLG89IWYmJmcoYT1uLnNlbGVjdG9yfHxhKTtpZihlPWV8fFtdLDE9PT1vLmxlbmd0aCl7aWYoaj1vWzBdPW9bMF0uc2xpY2UoMCksai5sZW5ndGg+MiYmIklEIj09PShrPWpbMF0pLnR5cGUmJmMuZ2V0QnlJZCYmOT09PWIubm9kZVR5cGUmJnAmJmQucmVsYXRpdmVbalsxXS50eXBlXSl7aWYoYj0oZC5maW5kLklEKGsubWF0Y2hlc1swXS5yZXBsYWNlKGJhLGNhKSxiKXx8W10pWzBdLCFiKXJldHVybiBlO24mJihiPWIucGFyZW50Tm9kZSksYT1hLnNsaWNlKGouc2hpZnQoKS52YWx1ZS5sZW5ndGgpfWk9Vy5uZWVkc0NvbnRleHQudGVzdChhKT8wOmoubGVuZ3RoO3doaWxlKGktLSl7aWYoaz1qW2ldLGQucmVsYXRpdmVbbD1rLnR5cGVdKWJyZWFrO2lmKChtPWQuZmluZFtsXSkmJihmPW0oay5tYXRjaGVzWzBdLnJlcGxhY2UoYmEsY2EpLF8udGVzdChqWzBdLnR5cGUpJiZvYShiLnBhcmVudE5vZGUpfHxiKSkpe2lmKGouc3BsaWNlKGksMSksYT1mLmxlbmd0aCYmcWEoaiksIWEpcmV0dXJuIEguYXBwbHkoZSxmKSxlO2JyZWFrfX19cmV0dXJuKG58fGgoYSxvKSkoZixiLCFwLGUsIWJ8fF8udGVzdChhKSYmb2EoYi5wYXJlbnROb2RlKXx8YiksZX0sYy5zb3J0U3RhYmxlPXUuc3BsaXQoIiIpLnNvcnQoQikuam9pbigiIik9PT11LGMuZGV0ZWN0RHVwbGljYXRlcz0hIWwsbSgpLGMuc29ydERldGFjaGVkPWlhKGZ1bmN0aW9uKGEpe3JldHVybiAxJmEuY29tcGFyZURvY3VtZW50UG9zaXRpb24obi5jcmVhdGVFbGVtZW50KCJkaXYiKSl9KSxpYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxhIGhyZWY9JyMnPjwvYT4iLCIjIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImhyZWYiKX0pfHxqYSgidHlwZXxocmVmfGhlaWdodHx3aWR0aCIsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjP3ZvaWQgMDphLmdldEF0dHJpYnV0ZShiLCJ0eXBlIj09PWIudG9Mb3dlckNhc2UoKT8xOjIpfSksYy5hdHRyaWJ1dGVzJiZpYShmdW5jdGlvbihhKXtyZXR1cm4gYS5pbm5lckhUTUw9IjxpbnB1dC8+IixhLmZpcnN0Q2hpbGQuc2V0QXR0cmlidXRlKCJ2YWx1ZSIsIiIpLCIiPT09YS5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSgidmFsdWUiKX0pfHxqYSgidmFsdWUiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gY3x8ImlucHV0IiE9PWEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT92b2lkIDA6YS5kZWZhdWx0VmFsdWV9KSxpYShmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YS5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIil9KXx8amEoSyxmdW5jdGlvbihhLGIsYyl7dmFyIGQ7cmV0dXJuIGM/dm9pZCAwOmFbYl09PT0hMD9iLnRvTG93ZXJDYXNlKCk6KGQ9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpKSYmZC5zcGVjaWZpZWQ/ZC52YWx1ZTpudWxsfSksZmF9KGEpO24uZmluZD10LG4uZXhwcj10LnNlbGVjdG9ycyxuLmV4cHJbIjoiXT1uLmV4cHIucHNldWRvcyxuLnVuaXF1ZVNvcnQ9bi51bmlxdWU9dC51bmlxdWVTb3J0LG4udGV4dD10LmdldFRleHQsbi5pc1hNTERvYz10LmlzWE1MLG4uY29udGFpbnM9dC5jb250YWluczt2YXIgdT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9W10sZT12b2lkIDAhPT1jO3doaWxlKChhPWFbYl0pJiY5IT09YS5ub2RlVHlwZSlpZigxPT09YS5ub2RlVHlwZSl7aWYoZSYmbihhKS5pcyhjKSlicmVhaztkLnB1c2goYSl9cmV0dXJuIGR9LHY9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9W107YTthPWEubmV4dFNpYmxpbmcpMT09PWEubm9kZVR5cGUmJmEhPT1iJiZjLnB1c2goYSk7cmV0dXJuIGN9LHc9bi5leHByLm1hdGNoLm5lZWRzQ29udGV4dCx4PS9ePChbXHctXSspXHMqXC8/Pig/OjxcL1wxPnwpJC8seT0vXi5bXjojXFtcLixdKiQvO2Z1bmN0aW9uIHooYSxiLGMpe2lmKG4uaXNGdW5jdGlvbihiKSlyZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSxkKXtyZXR1cm4hIWIuY2FsbChhLGQsYSkhPT1jfSk7aWYoYi5ub2RlVHlwZSlyZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1iIT09Y30pO2lmKCJzdHJpbmciPT10eXBlb2YgYil7aWYoeS50ZXN0KGIpKXJldHVybiBuLmZpbHRlcihiLGEsYyk7Yj1uLmZpbHRlcihiLGEpfXJldHVybiBuLmdyZXAoYSxmdW5jdGlvbihhKXtyZXR1cm4gbi5pbkFycmF5KGEsYik+LTEhPT1jfSl9bi5maWx0ZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWJbMF07cmV0dXJuIGMmJihhPSI6bm90KCIrYSsiKSIpLDE9PT1iLmxlbmd0aCYmMT09PWQubm9kZVR5cGU/bi5maW5kLm1hdGNoZXNTZWxlY3RvcihkLGEpP1tkXTpbXTpuLmZpbmQubWF0Y2hlcyhhLG4uZ3JlcChiLGZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZX0pKX0sbi5mbi5leHRlbmQoe2ZpbmQ6ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPXRoaXMsZT1kLmxlbmd0aDtpZigic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIHRoaXMucHVzaFN0YWNrKG4oYSkuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKGI9MDtlPmI7YisrKWlmKG4uY29udGFpbnMoZFtiXSx0aGlzKSlyZXR1cm4hMH0pKTtmb3IoYj0wO2U+YjtiKyspbi5maW5kKGEsZFtiXSxjKTtyZXR1cm4gYz10aGlzLnB1c2hTdGFjayhlPjE/bi51bmlxdWUoYyk6YyksYy5zZWxlY3Rvcj10aGlzLnNlbGVjdG9yP3RoaXMuc2VsZWN0b3IrIiAiK2E6YSxjfSxmaWx0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHoodGhpcyxhfHxbXSwhMSkpfSxub3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKHoodGhpcyxhfHxbXSwhMCkpfSxpczpmdW5jdGlvbihhKXtyZXR1cm4hIXoodGhpcywic3RyaW5nIj09dHlwZW9mIGEmJncudGVzdChhKT9uKGEpOmF8fFtdLCExKS5sZW5ndGh9fSk7dmFyIEEsQj0vXig/OlxzKig8W1x3XFddKz4pW14+XSp8IyhbXHctXSopKSQvLEM9bi5mbi5pbml0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZSxmO2lmKCFhKXJldHVybiB0aGlzO2lmKGM9Y3x8QSwic3RyaW5nIj09dHlwZW9mIGEpe2lmKGU9IjwiPT09YS5jaGFyQXQoMCkmJiI+Ij09PWEuY2hhckF0KGEubGVuZ3RoLTEpJiZhLmxlbmd0aD49Mz9bbnVsbCxhLG51bGxdOkIuZXhlYyhhKSwhZXx8IWVbMV0mJmIpcmV0dXJuIWJ8fGIuanF1ZXJ5PyhifHxjKS5maW5kKGEpOnRoaXMuY29uc3RydWN0b3IoYikuZmluZChhKTtpZihlWzFdKXtpZihiPWIgaW5zdGFuY2VvZiBuP2JbMF06YixuLm1lcmdlKHRoaXMsbi5wYXJzZUhUTUwoZVsxXSxiJiZiLm5vZGVUeXBlP2Iub3duZXJEb2N1bWVudHx8YjpkLCEwKSkseC50ZXN0KGVbMV0pJiZuLmlzUGxhaW5PYmplY3QoYikpZm9yKGUgaW4gYiluLmlzRnVuY3Rpb24odGhpc1tlXSk/dGhpc1tlXShiW2VdKTp0aGlzLmF0dHIoZSxiW2VdKTtyZXR1cm4gdGhpc31pZihmPWQuZ2V0RWxlbWVudEJ5SWQoZVsyXSksZiYmZi5wYXJlbnROb2RlKXtpZihmLmlkIT09ZVsyXSlyZXR1cm4gQS5maW5kKGEpO3RoaXMubGVuZ3RoPTEsdGhpc1swXT1mfXJldHVybiB0aGlzLmNvbnRleHQ9ZCx0aGlzLnNlbGVjdG9yPWEsdGhpc31yZXR1cm4gYS5ub2RlVHlwZT8odGhpcy5jb250ZXh0PXRoaXNbMF09YSx0aGlzLmxlbmd0aD0xLHRoaXMpOm4uaXNGdW5jdGlvbihhKT8idW5kZWZpbmVkIiE9dHlwZW9mIGMucmVhZHk/Yy5yZWFkeShhKTphKG4pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG4ubWFrZUFycmF5KGEsdGhpcykpfTtDLnByb3RvdHlwZT1uLmZuLEE9bihkKTt2YXIgRD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxFPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O24uZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oYSl7dmFyIGIsYz1uKGEsdGhpcyksZD1jLmxlbmd0aDtyZXR1cm4gdGhpcy5maWx0ZXIoZnVuY3Rpb24oKXtmb3IoYj0wO2Q+YjtiKyspaWYobi5jb250YWlucyh0aGlzLGNbYl0pKXJldHVybiEwfSl9LGNsb3Nlc3Q6ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGMsZD0wLGU9dGhpcy5sZW5ndGgsZj1bXSxnPXcudGVzdChhKXx8InN0cmluZyIhPXR5cGVvZiBhP24oYSxifHx0aGlzLmNvbnRleHQpOjA7ZT5kO2QrKylmb3IoYz10aGlzW2RdO2MmJmMhPT1iO2M9Yy5wYXJlbnROb2RlKWlmKGMubm9kZVR5cGU8MTEmJihnP2cuaW5kZXgoYyk+LTE6MT09PWMubm9kZVR5cGUmJm4uZmluZC5tYXRjaGVzU2VsZWN0b3IoYyxhKSkpe2YucHVzaChjKTticmVha31yZXR1cm4gdGhpcy5wdXNoU3RhY2soZi5sZW5ndGg+MT9uLnVuaXF1ZVNvcnQoZik6Zil9LGluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiBhPyJzdHJpbmciPT10eXBlb2YgYT9uLmluQXJyYXkodGhpc1swXSxuKGEpKTpuLmluQXJyYXkoYS5qcXVlcnk/YVswXTphLHRoaXMpOnRoaXNbMF0mJnRoaXNbMF0ucGFyZW50Tm9kZT90aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aDotMX0sYWRkOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMucHVzaFN0YWNrKG4udW5pcXVlU29ydChuLm1lcmdlKHRoaXMuZ2V0KCksbihhLGIpKSkpfSxhZGRCYWNrOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFkZChudWxsPT1hP3RoaXMucHJldk9iamVjdDp0aGlzLnByZXZPYmplY3QuZmlsdGVyKGEpKX19KTtmdW5jdGlvbiBGKGEsYil7ZG8gYT1hW2JdO3doaWxlKGEmJjEhPT1hLm5vZGVUeXBlKTtyZXR1cm4gYX1uLmVhY2goe3BhcmVudDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJjExIT09Yi5ub2RlVHlwZT9iOm51bGx9LHBhcmVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIpfSxwYXJlbnRzVW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsInBhcmVudE5vZGUiLGMpfSxuZXh0OmZ1bmN0aW9uKGEpe3JldHVybiBGKGEsIm5leHRTaWJsaW5nIil9LHByZXY6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwicHJldmlvdXNTaWJsaW5nIil9LG5leHRBbGw6ZnVuY3Rpb24oYSl7cmV0dXJuIHUoYSwibmV4dFNpYmxpbmciKX0scHJldkFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dFVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIsYyl9LHByZXZVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicHJldmlvdXNTaWJsaW5nIixjKX0sc2libGluZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHYoKGEucGFyZW50Tm9kZXx8e30pLmZpcnN0Q2hpbGQsYSl9LGNoaWxkcmVuOmZ1bmN0aW9uKGEpe3JldHVybiB2KGEuZmlyc3RDaGlsZCl9LGNvbnRlbnRzOmZ1bmN0aW9uKGEpe3JldHVybiBuLm5vZGVOYW1lKGEsImlmcmFtZSIpP2EuY29udGVudERvY3VtZW50fHxhLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ6bi5tZXJnZShbXSxhLmNoaWxkTm9kZXMpfX0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGMsZCl7dmFyIGU9bi5tYXAodGhpcyxiLGMpO3JldHVybiJVbnRpbCIhPT1hLnNsaWNlKC01KSYmKGQ9YyksZCYmInN0cmluZyI9PXR5cGVvZiBkJiYoZT1uLmZpbHRlcihkLGUpKSx0aGlzLmxlbmd0aD4xJiYoRVthXXx8KGU9bi51bmlxdWVTb3J0KGUpKSxELnRlc3QoYSkmJihlPWUucmV2ZXJzZSgpKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEc9L1xTKy9nO2Z1bmN0aW9uIEgoYSl7dmFyIGI9e307cmV0dXJuIG4uZWFjaChhLm1hdGNoKEcpfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifW4uQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9InN0cmluZyI9PXR5cGVvZiBhP0goYSk6bi5leHRlbmQoe30sYSk7dmFyIGIsYyxkLGUsZj1bXSxnPVtdLGg9LTEsaT1mdW5jdGlvbigpe2ZvcihlPWEub25jZSxkPWI9ITA7Zy5sZW5ndGg7aD0tMSl7Yz1nLnNoaWZ0KCk7d2hpbGUoKytoPGYubGVuZ3RoKWZbaF0uYXBwbHkoY1swXSxjWzFdKT09PSExJiZhLnN0b3BPbkZhbHNlJiYoaD1mLmxlbmd0aCxjPSExKX1hLm1lbW9yeXx8KGM9ITEpLGI9ITEsZSYmKGY9Yz9bXToiIil9LGo9e2FkZDpmdW5jdGlvbigpe3JldHVybiBmJiYoYyYmIWImJihoPWYubGVuZ3RoLTEsZy5wdXNoKGMpKSxmdW5jdGlvbiBkKGIpe24uZWFjaChiLGZ1bmN0aW9uKGIsYyl7bi5pc0Z1bmN0aW9uKGMpP2EudW5pcXVlJiZqLmhhcyhjKXx8Zi5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PW4udHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBuLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9bi5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxoPj1jJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bi5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFmfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGU9ITAsY3x8ai5kaXNhYmxlKCksdGhpc30sbG9ja2VkOmZ1bmN0aW9uKCl7cmV0dXJuISFlfSxmaXJlV2l0aDpmdW5jdGlvbihhLGMpe3JldHVybiBlfHwoYz1jfHxbXSxjPVthLGMuc2xpY2U/Yy5zbGljZSgpOmNdLGcucHVzaChjKSxifHxpKCkpLHRoaXN9LGZpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gai5maXJlV2l0aCh0aGlzLGFyZ3VtZW50cyksdGhpc30sZmlyZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWR9fTtyZXR1cm4gan0sbi5leHRlbmQoe0RlZmVycmVkOmZ1bmN0aW9uKGEpe3ZhciBiPVtbInJlc29sdmUiLCJkb25lIixuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSwicmVzb2x2ZWQiXSxbInJlamVjdCIsImZhaWwiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZWplY3RlZCJdLFsibm90aWZ5IiwicHJvZ3Jlc3MiLG4uQ2FsbGJhY2tzKCJtZW1vcnkiKV1dLGM9InBlbmRpbmciLGQ9e3N0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIGN9LGFsd2F5czpmdW5jdGlvbigpe3JldHVybiBlLmRvbmUoYXJndW1lbnRzKS5mYWlsKGFyZ3VtZW50cyksdGhpc30sdGhlbjpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cztyZXR1cm4gbi5EZWZlcnJlZChmdW5jdGlvbihjKXtuLmVhY2goYixmdW5jdGlvbihiLGYpe3ZhciBnPW4uaXNGdW5jdGlvbihhW2JdKSYmYVtiXTtlW2ZbMV1dKGZ1bmN0aW9uKCl7dmFyIGE9ZyYmZy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7YSYmbi5pc0Z1bmN0aW9uKGEucHJvbWlzZSk/YS5wcm9taXNlKCkucHJvZ3Jlc3MoYy5ub3RpZnkpLmRvbmUoYy5yZXNvbHZlKS5mYWlsKGMucmVqZWN0KTpjW2ZbMF0rIldpdGgiXSh0aGlzPT09ZD9jLnByb21pc2UoKTp0aGlzLGc/W2FdOmFyZ3VtZW50cyl9KX0pLGE9bnVsbH0pLnByb21pc2UoKX0scHJvbWlzZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YT9uLmV4dGVuZChhLGQpOmR9fSxlPXt9O3JldHVybiBkLnBpcGU9ZC50aGVuLG4uZWFjaChiLGZ1bmN0aW9uKGEsZil7dmFyIGc9ZlsyXSxoPWZbM107ZFtmWzFdXT1nLmFkZCxoJiZnLmFkZChmdW5jdGlvbigpe2M9aH0sYlsxXmFdWzJdLmRpc2FibGUsYlsyXVsyXS5sb2NrKSxlW2ZbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIGVbZlswXSsiV2l0aCJdKHRoaXM9PT1lP2Q6dGhpcyxhcmd1bWVudHMpLHRoaXN9LGVbZlswXSsiV2l0aCJdPWcuZmlyZVdpdGh9KSxkLnByb21pc2UoZSksYSYmYS5jYWxsKGUsZSksZX0sd2hlbjpmdW5jdGlvbihhKXt2YXIgYj0wLGM9ZS5jYWxsKGFyZ3VtZW50cyksZD1jLmxlbmd0aCxmPTEhPT1kfHxhJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9kOjAsZz0xPT09Zj9hOm4uRGVmZXJyZWQoKSxoPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gZnVuY3Rpb24oZCl7YlthXT10aGlzLGNbYV09YXJndW1lbnRzLmxlbmd0aD4xP2UuY2FsbChhcmd1bWVudHMpOmQsYz09PWk/Zy5ub3RpZnlXaXRoKGIsYyk6LS1mfHxnLnJlc29sdmVXaXRoKGIsYyl9fSxpLGosaztpZihkPjEpZm9yKGk9bmV3IEFycmF5KGQpLGo9bmV3IEFycmF5KGQpLGs9bmV3IEFycmF5KGQpO2Q+YjtiKyspY1tiXSYmbi5pc0Z1bmN0aW9uKGNbYl0ucHJvbWlzZSk/Y1tiXS5wcm9taXNlKCkucHJvZ3Jlc3MoaChiLGosaSkpLmRvbmUoaChiLGssYykpLmZhaWwoZy5yZWplY3QpOi0tZjtyZXR1cm4gZnx8Zy5yZXNvbHZlV2l0aChrLGMpLGcucHJvbWlzZSgpfX0pO3ZhciBJO24uZm4ucmVhZHk9ZnVuY3Rpb24oYSl7cmV0dXJuIG4ucmVhZHkucHJvbWlzZSgpLmRvbmUoYSksdGhpc30sbi5leHRlbmQoe2lzUmVhZHk6ITEscmVhZHlXYWl0OjEsaG9sZFJlYWR5OmZ1bmN0aW9uKGEpe2E/bi5yZWFkeVdhaXQrKzpuLnJlYWR5KCEwKX0scmVhZHk6ZnVuY3Rpb24oYSl7KGE9PT0hMD8tLW4ucmVhZHlXYWl0Om4uaXNSZWFkeSl8fChuLmlzUmVhZHk9ITAsYSE9PSEwJiYtLW4ucmVhZHlXYWl0PjB8fChJLnJlc29sdmVXaXRoKGQsW25dKSxuLmZuLnRyaWdnZXJIYW5kbGVyJiYobihkKS50cmlnZ2VySGFuZGxlcigicmVhZHkiKSxuKGQpLm9mZigicmVhZHkiKSkpKX19KTtmdW5jdGlvbiBKKCl7ZC5hZGRFdmVudExpc3RlbmVyPyhkLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEspLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsSykpOihkLmRldGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEspLGEuZGV0YWNoRXZlbnQoIm9ubG9hZCIsSykpfWZ1bmN0aW9uIEsoKXsoZC5hZGRFdmVudExpc3RlbmVyfHwibG9hZCI9PT1hLmV2ZW50LnR5cGV8fCJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGUpJiYoSigpLG4ucmVhZHkoKSl9bi5yZWFkeS5wcm9taXNlPWZ1bmN0aW9uKGIpe2lmKCFJKWlmKEk9bi5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWQucmVhZHlTdGF0ZSYmIWQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKWEuc2V0VGltZW91dChuLnJlYWR5KTtlbHNlIGlmKGQuYWRkRXZlbnRMaXN0ZW5lcilkLmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEspLGEuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsSyk7ZWxzZXtkLmF0dGFjaEV2ZW50KCJvbnJlYWR5c3RhdGVjaGFuZ2UiLEspLGEuYXR0YWNoRXZlbnQoIm9ubG9hZCIsSyk7dmFyIGM9ITE7dHJ5e2M9bnVsbD09YS5mcmFtZUVsZW1lbnQmJmQuZG9jdW1lbnRFbGVtZW50fWNhdGNoKGUpe31jJiZjLmRvU2Nyb2xsJiYhZnVuY3Rpb24gZigpe2lmKCFuLmlzUmVhZHkpe3RyeXtjLmRvU2Nyb2xsKCJsZWZ0Iil9Y2F0Y2goYil7cmV0dXJuIGEuc2V0VGltZW91dChmLDUwKX1KKCksbi5yZWFkeSgpfX0oKX1yZXR1cm4gSS5wcm9taXNlKGIpfSxuLnJlYWR5LnByb21pc2UoKTt2YXIgTDtmb3IoTCBpbiBuKGwpKWJyZWFrO2wub3duRmlyc3Q9IjAiPT09TCxsLmlubGluZUJsb2NrTmVlZHNMYXlvdXQ9ITEsbihmdW5jdGlvbigpe3ZhciBhLGIsYyxlO2M9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLGMmJmMuc3R5bGUmJihiPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjA7d2lkdGg6MDtoZWlnaHQ6MDt0b3A6MDtsZWZ0Oi05OTk5cHgiLGMuYXBwZW5kQ2hpbGQoZSkuYXBwZW5kQ2hpbGQoYiksInVuZGVmaW5lZCIhPXR5cGVvZiBiLnN0eWxlLnpvb20mJihiLnN0eWxlLmNzc1RleHQ9ImRpc3BsYXk6aW5saW5lO21hcmdpbjowO2JvcmRlcjowO3BhZGRpbmc6MXB4O3dpZHRoOjFweDt6b29tOjEiLGwuaW5saW5lQmxvY2tOZWVkc0xheW91dD1hPTM9PT1iLm9mZnNldFdpZHRoLGEmJihjLnN0eWxlLnpvb209MSkpLGMucmVtb3ZlQ2hpbGQoZSkpfSksZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpO2wuZGVsZXRlRXhwYW5kbz0hMDt0cnl7ZGVsZXRlIGEudGVzdH1jYXRjaChiKXtsLmRlbGV0ZUV4cGFuZG89ITF9YT1udWxsfSgpO3ZhciBNPWZ1bmN0aW9uKGEpe3ZhciBiPW4ubm9EYXRhWyhhLm5vZGVOYW1lKyIgIikudG9Mb3dlckNhc2UoKV0sYz0rYS5ub2RlVHlwZXx8MTtyZXR1cm4gMSE9PWMmJjkhPT1jPyExOiFifHxiIT09ITAmJmEuZ2V0QXR0cmlidXRlKCJjbGFzc2lkIik9PT1ifSxOPS9eKD86XHtbXHdcV10qXH18XFtbXHdcV10qXF0pJC8sTz0vKFtBLVpdKS9nO2Z1bmN0aW9uIFAoYSxiLGMpe2lmKHZvaWQgMD09PWMmJjE9PT1hLm5vZGVUeXBlKXt2YXIgZD0iZGF0YS0iK2IucmVwbGFjZShPLCItJDEiKS50b0xvd2VyQ2FzZSgpO2lmKGM9YS5nZXRBdHRyaWJ1dGUoZCksInN0cmluZyI9PXR5cGVvZiBjKXt0cnl7Yz0idHJ1ZSI9PT1jPyEwOiJmYWxzZSI9PT1jPyExOiJudWxsIj09PWM/bnVsbDorYysiIj09PWM/K2M6Ti50ZXN0KGMpP24ucGFyc2VKU09OKGMpOmN9Y2F0Y2goZSl7fW4uZGF0YShhLGIsYyl9ZWxzZSBjPXZvaWQgMDsNCn1yZXR1cm4gY31mdW5jdGlvbiBRKGEpe3ZhciBiO2ZvcihiIGluIGEpaWYoKCJkYXRhIiE9PWJ8fCFuLmlzRW1wdHlPYmplY3QoYVtiXSkpJiYidG9KU09OIiE9PWIpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gUihhLGIsZCxlKXtpZihNKGEpKXt2YXIgZixnLGg9bi5leHBhbmRvLGk9YS5ub2RlVHlwZSxqPWk/bi5jYWNoZTphLGs9aT9hW2hdOmFbaF0mJmg7aWYoayYmaltrXSYmKGV8fGpba10uZGF0YSl8fHZvaWQgMCE9PWR8fCJzdHJpbmciIT10eXBlb2YgYilyZXR1cm4ga3x8KGs9aT9hW2hdPWMucG9wKCl8fG4uZ3VpZCsrOmgpLGpba118fChqW2tdPWk/e306e3RvSlNPTjpuLm5vb3B9KSwib2JqZWN0IiE9dHlwZW9mIGImJiJmdW5jdGlvbiIhPXR5cGVvZiBifHwoZT9qW2tdPW4uZXh0ZW5kKGpba10sYik6altrXS5kYXRhPW4uZXh0ZW5kKGpba10uZGF0YSxiKSksZz1qW2tdLGV8fChnLmRhdGF8fChnLmRhdGE9e30pLGc9Zy5kYXRhKSx2b2lkIDAhPT1kJiYoZ1tuLmNhbWVsQ2FzZShiKV09ZCksInN0cmluZyI9PXR5cGVvZiBiPyhmPWdbYl0sbnVsbD09ZiYmKGY9Z1tuLmNhbWVsQ2FzZShiKV0pKTpmPWcsZn19ZnVuY3Rpb24gUyhhLGIsYyl7aWYoTShhKSl7dmFyIGQsZSxmPWEubm9kZVR5cGUsZz1mP24uY2FjaGU6YSxoPWY/YVtuLmV4cGFuZG9dOm4uZXhwYW5kbztpZihnW2hdKXtpZihiJiYoZD1jP2dbaF06Z1toXS5kYXRhKSl7bi5pc0FycmF5KGIpP2I9Yi5jb25jYXQobi5tYXAoYixuLmNhbWVsQ2FzZSkpOmIgaW4gZD9iPVtiXTooYj1uLmNhbWVsQ2FzZShiKSxiPWIgaW4gZD9bYl06Yi5zcGxpdCgiICIpKSxlPWIubGVuZ3RoO3doaWxlKGUtLSlkZWxldGUgZFtiW2VdXTtpZihjPyFRKGQpOiFuLmlzRW1wdHlPYmplY3QoZCkpcmV0dXJufShjfHwoZGVsZXRlIGdbaF0uZGF0YSxRKGdbaF0pKSkmJihmP24uY2xlYW5EYXRhKFthXSwhMCk6bC5kZWxldGVFeHBhbmRvfHxnIT1nLndpbmRvdz9kZWxldGUgZ1toXTpnW2hdPXZvaWQgMCl9fX1uLmV4dGVuZCh7Y2FjaGU6e30sbm9EYXRhOnsiYXBwbGV0ICI6ITAsImVtYmVkICI6ITAsIm9iamVjdCAiOiJjbHNpZDpEMjdDREI2RS1BRTZELTExY2YtOTZCOC00NDQ1NTM1NDAwMDAifSxoYXNEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiBhPWEubm9kZVR5cGU/bi5jYWNoZVthW24uZXhwYW5kb11dOmFbbi5leHBhbmRvXSwhIWEmJiFRKGEpfSxkYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gUihhLGIsYyl9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gUyhhLGIpfSxfZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIFIoYSxiLGMsITApfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe3JldHVybiBTKGEsYiwhMCl9fSksbi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzWzBdLGc9ZiYmZi5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWEpe2lmKHRoaXMubGVuZ3RoJiYoZT1uLmRhdGEoZiksMT09PWYubm9kZVR5cGUmJiFuLl9kYXRhKGYsInBhcnNlZEF0dHJzIikpKXtjPWcubGVuZ3RoO3doaWxlKGMtLSlnW2NdJiYoZD1nW2NdLm5hbWUsMD09PWQuaW5kZXhPZigiZGF0YS0iKSYmKGQ9bi5jYW1lbENhc2UoZC5zbGljZSg1KSksUChmLGQsZVtkXSkpKTtuLl9kYXRhKGYsInBhcnNlZEF0dHJzIiwhMCl9cmV0dXJuIGV9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBhP3RoaXMuZWFjaChmdW5jdGlvbigpe24uZGF0YSh0aGlzLGEpfSk6YXJndW1lbnRzLmxlbmd0aD4xP3RoaXMuZWFjaChmdW5jdGlvbigpe24uZGF0YSh0aGlzLGEsYil9KTpmP1AoZixhLG4uZGF0YShmLGEpKTp2b2lkIDB9LHJlbW92ZURhdGE6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24ucmVtb3ZlRGF0YSh0aGlzLGEpfSl9fSksbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYT8oYj0oYnx8ImZ4IikrInF1ZXVlIixkPW4uX2RhdGEoYSxiKSxjJiYoIWR8fG4uaXNBcnJheShjKT9kPW4uX2RhdGEoYSxiLG4ubWFrZUFycmF5KGMpKTpkLnB1c2goYykpLGR8fFtdKTp2b2lkIDB9LGRlcXVldWU6ZnVuY3Rpb24oYSxiKXtiPWJ8fCJmeCI7dmFyIGM9bi5xdWV1ZShhLGIpLGQ9Yy5sZW5ndGgsZT1jLnNoaWZ0KCksZj1uLl9xdWV1ZUhvb2tzKGEsYiksZz1mdW5jdGlvbigpe24uZGVxdWV1ZShhLGIpfTsiaW5wcm9ncmVzcyI9PT1lJiYoZT1jLnNoaWZ0KCksZC0tKSxlJiYoImZ4Ij09PWImJmMudW5zaGlmdCgiaW5wcm9ncmVzcyIpLGRlbGV0ZSBmLnN0b3AsZS5jYWxsKGEsZyxmKSksIWQmJmYmJmYuZW1wdHkuZmlyZSgpfSxfcXVldWVIb29rczpmdW5jdGlvbihhLGIpe3ZhciBjPWIrInF1ZXVlSG9va3MiO3JldHVybiBuLl9kYXRhKGEsYyl8fG4uX2RhdGEoYSxjLHtlbXB0eTpuLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKS5hZGQoZnVuY3Rpb24oKXtuLl9yZW1vdmVEYXRhKGEsYisicXVldWUiKSxuLl9yZW1vdmVEYXRhKGEsYyl9KX0pfX0pLG4uZm4uZXh0ZW5kKHtxdWV1ZTpmdW5jdGlvbihhLGIpe3ZhciBjPTI7cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYj1hLGE9ImZ4IixjLS0pLGFyZ3VtZW50cy5sZW5ndGg8Yz9uLnF1ZXVlKHRoaXNbMF0sYSk6dm9pZCAwPT09Yj90aGlzOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPW4ucXVldWUodGhpcyxhLGIpO24uX3F1ZXVlSG9va3ModGhpcyxhKSwiZngiPT09YSYmImlucHJvZ3Jlc3MiIT09Y1swXSYmbi5kZXF1ZXVlKHRoaXMsYSl9KX0sZGVxdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5kZXF1ZXVlKHRoaXMsYSl9KX0sY2xlYXJRdWV1ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5xdWV1ZShhfHwiZngiLFtdKX0scHJvbWlzZTpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9MSxlPW4uRGVmZXJyZWQoKSxmPXRoaXMsZz10aGlzLmxlbmd0aCxoPWZ1bmN0aW9uKCl7LS1kfHxlLnJlc29sdmVXaXRoKGYsW2ZdKX07InN0cmluZyIhPXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxhPWF8fCJmeCI7d2hpbGUoZy0tKWM9bi5fZGF0YShmW2ddLGErInF1ZXVlSG9va3MiKSxjJiZjLmVtcHR5JiYoZCsrLGMuZW1wdHkuYWRkKGgpKTtyZXR1cm4gaCgpLGUucHJvbWlzZShiKX19KSxmdW5jdGlvbigpe3ZhciBhO2wuc2hyaW5rV3JhcEJsb2Nrcz1mdW5jdGlvbigpe2lmKG51bGwhPWEpcmV0dXJuIGE7YT0hMTt2YXIgYixjLGU7cmV0dXJuIGM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdLGMmJmMuc3R5bGU/KGI9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxlPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweCIsYy5hcHBlbmRDaGlsZChlKS5hcHBlbmRDaGlsZChiKSwidW5kZWZpbmVkIiE9dHlwZW9mIGIuc3R5bGUuem9vbSYmKGIuc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzoxcHg7d2lkdGg6MXB4O3pvb206MSIsYi5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5zdHlsZS53aWR0aD0iNXB4IixhPTMhPT1iLm9mZnNldFdpZHRoKSxjLnJlbW92ZUNoaWxkKGUpLGEpOnZvaWQgMH19KCk7dmFyIFQ9L1srLV0/KD86XGQqXC58KVxkKyg/OltlRV1bKy1dP1xkK3wpLy5zb3VyY2UsVT1uZXcgUmVnRXhwKCJeKD86KFsrLV0pPXwpKCIrVCsiKShbYS16JV0qKSQiLCJpIiksVj1bIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLFc9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1ifHxhLCJub25lIj09PW4uY3NzKGEsImRpc3BsYXkiKXx8IW4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfTtmdW5jdGlvbiBYKGEsYixjLGQpe3ZhciBlLGY9MSxnPTIwLGg9ZD9mdW5jdGlvbigpe3JldHVybiBkLmN1cigpfTpmdW5jdGlvbigpe3JldHVybiBuLmNzcyhhLGIsIiIpfSxpPWgoKSxqPWMmJmNbM118fChuLmNzc051bWJlcltiXT8iIjoicHgiKSxrPShuLmNzc051bWJlcltiXXx8InB4IiE9PWomJitpKSYmVS5leGVjKG4uY3NzKGEsYikpO2lmKGsmJmtbM10hPT1qKXtqPWp8fGtbM10sYz1jfHxbXSxrPStpfHwxO2RvIGY9Znx8Ii41IixrLz1mLG4uc3R5bGUoYSxiLGsraik7d2hpbGUoZiE9PShmPWgoKS9pKSYmMSE9PWYmJi0tZyl9cmV0dXJuIGMmJihrPStrfHwraXx8MCxlPWNbMV0/aysoY1sxXSsxKSpjWzJdOitjWzJdLGQmJihkLnVuaXQ9aixkLnN0YXJ0PWssZC5lbmQ9ZSkpLGV9dmFyIFk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7dmFyIGg9MCxpPWEubGVuZ3RoLGo9bnVsbD09YztpZigib2JqZWN0Ij09PW4udHlwZShjKSl7ZT0hMDtmb3IoaCBpbiBjKVkoYSxiLGgsY1toXSwhMCxmLGcpfWVsc2UgaWYodm9pZCAwIT09ZCYmKGU9ITAsbi5pc0Z1bmN0aW9uKGQpfHwoZz0hMCksaiYmKGc/KGIuY2FsbChhLGQpLGI9bnVsbCk6KGo9YixiPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gai5jYWxsKG4oYSksYyl9KSksYikpZm9yKDtpPmg7aCsrKWIoYVtoXSxjLGc/ZDpkLmNhbGwoYVtoXSxoLGIoYVtoXSxjKSkpO3JldHVybiBlP2E6aj9iLmNhbGwoYSk6aT9iKGFbMF0sYyk6Zn0sWj0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSwkPS88KFtcdzotXSspLyxfPS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSxhYT0vXlxzKy8sYmE9ImFiYnJ8YXJ0aWNsZXxhc2lkZXxhdWRpb3xiZGl8Y2FudmFzfGRhdGF8ZGF0YWxpc3R8ZGV0YWlsc3xkaWFsb2d8ZmlnY2FwdGlvbnxmaWd1cmV8Zm9vdGVyfGhlYWRlcnxoZ3JvdXB8bWFpbnxtYXJrfG1ldGVyfG5hdnxvdXRwdXR8cGljdHVyZXxwcm9ncmVzc3xzZWN0aW9ufHN1bW1hcnl8dGVtcGxhdGV8dGltZXx2aWRlbyI7ZnVuY3Rpb24gY2EoYSl7dmFyIGI9YmEuc3BsaXQoInwiKSxjPWEuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO2lmKGMuY3JlYXRlRWxlbWVudCl3aGlsZShiLmxlbmd0aCljLmNyZWF0ZUVsZW1lbnQoYi5wb3AoKSk7cmV0dXJuIGN9IWZ1bmN0aW9uKCl7dmFyIGE9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKSxiPWQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2EuaW5uZXJIVE1MPSIgIDxsaW5rLz48dGFibGU+PC90YWJsZT48YSBocmVmPScvYSc+YTwvYT48aW5wdXQgdHlwZT0nY2hlY2tib3gnLz4iLGwubGVhZGluZ1doaXRlc3BhY2U9Mz09PWEuZmlyc3RDaGlsZC5ub2RlVHlwZSxsLnRib2R5PSFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpLmxlbmd0aCxsLmh0bWxTZXJpYWxpemU9ISFhLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIikubGVuZ3RoLGwuaHRtbDVDbG9uZT0iPDpuYXY+PC86bmF2PiIhPT1kLmNyZWF0ZUVsZW1lbnQoIm5hdiIpLmNsb25lTm9kZSghMCkub3V0ZXJIVE1MLGMudHlwZT0iY2hlY2tib3giLGMuY2hlY2tlZD0hMCxiLmFwcGVuZENoaWxkKGMpLGwuYXBwZW5kQ2hlY2tlZD1jLmNoZWNrZWQsYS5pbm5lckhUTUw9Ijx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iLGwubm9DbG9uZUNoZWNrZWQ9ISFhLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZSxiLmFwcGVuZENoaWxkKGEpLGM9ZC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLGMuc2V0QXR0cmlidXRlKCJ0eXBlIiwicmFkaW8iKSxjLnNldEF0dHJpYnV0ZSgiY2hlY2tlZCIsImNoZWNrZWQiKSxjLnNldEF0dHJpYnV0ZSgibmFtZSIsInQiKSxhLmFwcGVuZENoaWxkKGMpLGwuY2hlY2tDbG9uZT1hLmNsb25lTm9kZSghMCkuY2xvbmVOb2RlKCEwKS5sYXN0Q2hpbGQuY2hlY2tlZCxsLm5vQ2xvbmVFdmVudD0hIWEuYWRkRXZlbnRMaXN0ZW5lcixhW24uZXhwYW5kb109MSxsLmF0dHJpYnV0ZXM9IWEuZ2V0QXR0cmlidXRlKG4uZXhwYW5kbyl9KCk7dmFyIGRhPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSxsZWdlbmQ6WzEsIjxmaWVsZHNldD4iLCI8L2ZpZWxkc2V0PiJdLGFyZWE6WzEsIjxtYXA+IiwiPC9tYXA+Il0scGFyYW06WzEsIjxvYmplY3Q+IiwiPC9vYmplY3Q+Il0sdGhlYWQ6WzEsIjx0YWJsZT4iLCI8L3RhYmxlPiJdLHRyOlsyLCI8dGFibGU+PHRib2R5PiIsIjwvdGJvZHk+PC90YWJsZT4iXSxjb2w6WzIsIjx0YWJsZT48dGJvZHk+PC90Ym9keT48Y29sZ3JvdXA+IiwiPC9jb2xncm91cD48L3RhYmxlPiJdLHRkOlszLCI8dGFibGU+PHRib2R5Pjx0cj4iLCI8L3RyPjwvdGJvZHk+PC90YWJsZT4iXSxfZGVmYXVsdDpsLmh0bWxTZXJpYWxpemU/WzAsIiIsIiJdOlsxLCJYPGRpdj4iLCI8L2Rpdj4iXX07ZGEub3B0Z3JvdXA9ZGEub3B0aW9uLGRhLnRib2R5PWRhLnRmb290PWRhLmNvbGdyb3VwPWRhLmNhcHRpb249ZGEudGhlYWQsZGEudGg9ZGEudGQ7ZnVuY3Rpb24gZWEoYSxiKXt2YXIgYyxkLGU9MCxmPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGw/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6dm9pZCAwO2lmKCFmKWZvcihmPVtdLGM9YS5jaGlsZE5vZGVzfHxhO251bGwhPShkPWNbZV0pO2UrKykhYnx8bi5ub2RlTmFtZShkLGIpP2YucHVzaChkKTpuLm1lcmdlKGYsZWEoZCxiKSk7cmV0dXJuIHZvaWQgMD09PWJ8fGImJm4ubm9kZU5hbWUoYSxiKT9uLm1lcmdlKFthXSxmKTpmfWZ1bmN0aW9uIGZhKGEsYil7Zm9yKHZhciBjLGQ9MDtudWxsIT0oYz1hW2RdKTtkKyspbi5fZGF0YShjLCJnbG9iYWxFdmFsIiwhYnx8bi5fZGF0YShiW2RdLCJnbG9iYWxFdmFsIikpfXZhciBnYT0vPHwmIz9cdys7LyxoYT0vPHRib2R5L2k7ZnVuY3Rpb24gaWEoYSl7Wi50ZXN0KGEudHlwZSkmJihhLmRlZmF1bHRDaGVja2VkPWEuY2hlY2tlZCl9ZnVuY3Rpb24gamEoYSxiLGMsZCxlKXtmb3IodmFyIGYsZyxoLGksaixrLG0sbz1hLmxlbmd0aCxwPWNhKGIpLHE9W10scj0wO28+cjtyKyspaWYoZz1hW3JdLGd8fDA9PT1nKWlmKCJvYmplY3QiPT09bi50eXBlKGcpKW4ubWVyZ2UocSxnLm5vZGVUeXBlP1tnXTpnKTtlbHNlIGlmKGdhLnRlc3QoZykpe2k9aXx8cC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxqPSgkLmV4ZWMoZyl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksbT1kYVtqXXx8ZGEuX2RlZmF1bHQsaS5pbm5lckhUTUw9bVsxXStuLmh0bWxQcmVmaWx0ZXIoZykrbVsyXSxmPW1bMF07d2hpbGUoZi0tKWk9aS5sYXN0Q2hpbGQ7aWYoIWwubGVhZGluZ1doaXRlc3BhY2UmJmFhLnRlc3QoZykmJnEucHVzaChiLmNyZWF0ZVRleHROb2RlKGFhLmV4ZWMoZylbMF0pKSwhbC50Ym9keSl7Zz0idGFibGUiIT09anx8aGEudGVzdChnKT8iPHRhYmxlPiIhPT1tWzFdfHxoYS50ZXN0KGcpPzA6aTppLmZpcnN0Q2hpbGQsZj1nJiZnLmNoaWxkTm9kZXMubGVuZ3RoO3doaWxlKGYtLSluLm5vZGVOYW1lKGs9Zy5jaGlsZE5vZGVzW2ZdLCJ0Ym9keSIpJiYhay5jaGlsZE5vZGVzLmxlbmd0aCYmZy5yZW1vdmVDaGlsZChrKX1uLm1lcmdlKHEsaS5jaGlsZE5vZGVzKSxpLnRleHRDb250ZW50PSIiO3doaWxlKGkuZmlyc3RDaGlsZClpLnJlbW92ZUNoaWxkKGkuZmlyc3RDaGlsZCk7aT1wLmxhc3RDaGlsZH1lbHNlIHEucHVzaChiLmNyZWF0ZVRleHROb2RlKGcpKTtpJiZwLnJlbW92ZUNoaWxkKGkpLGwuYXBwZW5kQ2hlY2tlZHx8bi5ncmVwKGVhKHEsImlucHV0IiksaWEpLHI9MDt3aGlsZShnPXFbcisrXSlpZihkJiZuLmluQXJyYXkoZyxkKT4tMSllJiZlLnB1c2goZyk7ZWxzZSBpZihoPW4uY29udGFpbnMoZy5vd25lckRvY3VtZW50LGcpLGk9ZWEocC5hcHBlbmRDaGlsZChnKSwic2NyaXB0IiksaCYmZmEoaSksYyl7Zj0wO3doaWxlKGc9aVtmKytdKV8udGVzdChnLnR5cGV8fCIiKSYmYy5wdXNoKGcpfXJldHVybiBpPW51bGwscH0hZnVuY3Rpb24oKXt2YXIgYixjLGU9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtmb3IoYiBpbntzdWJtaXQ6ITAsY2hhbmdlOiEwLGZvY3VzaW46ITB9KWM9Im9uIitiLChsW2JdPWMgaW4gYSl8fChlLnNldEF0dHJpYnV0ZShjLCJ0IiksbFtiXT1lLmF0dHJpYnV0ZXNbY10uZXhwYW5kbz09PSExKTtlPW51bGx9KCk7dmFyIGthPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhKSQvaSxsYT0vXmtleS8sbWE9L14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLG5hPS9eKD86Zm9jdXNpbmZvY3VzfGZvY3Vzb3V0Ymx1cikkLyxvYT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gcGEoKXtyZXR1cm4hMH1mdW5jdGlvbiBxYSgpe3JldHVybiExfWZ1bmN0aW9uIHJhKCl7dHJ5e3JldHVybiBkLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1mdW5jdGlvbiBzYShhLGIsYyxkLGUsZil7dmFyIGcsaDtpZigib2JqZWN0Ij09dHlwZW9mIGIpeyJzdHJpbmciIT10eXBlb2YgYyYmKGQ9ZHx8YyxjPXZvaWQgMCk7Zm9yKGggaW4gYilzYShhLGgsYyxkLGJbaF0sZik7cmV0dXJuIGF9aWYobnVsbD09ZCYmbnVsbD09ZT8oZT1jLGQ9Yz12b2lkIDApOm51bGw9PWUmJigic3RyaW5nIj09dHlwZW9mIGM/KGU9ZCxkPXZvaWQgMCk6KGU9ZCxkPWMsYz12b2lkIDApKSxlPT09ITEpZT1xYTtlbHNlIGlmKCFlKXJldHVybiBhO3JldHVybiAxPT09ZiYmKGc9ZSxlPWZ1bmN0aW9uKGEpe3JldHVybiBuKCkub2ZmKGEpLGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLmd1aWQ9Zy5ndWlkfHwoZy5ndWlkPW4uZ3VpZCsrKSksYS5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5hZGQodGhpcyxiLGUsZCxjKX0pfW4uZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG8scCxxLHI9bi5fZGF0YShhKTtpZihyKXtjLmhhbmRsZXImJihpPWMsYz1pLmhhbmRsZXIsZT1pLnNlbGVjdG9yKSxjLmd1aWR8fChjLmd1aWQ9bi5ndWlkKyspLChnPXIuZXZlbnRzKXx8KGc9ci5ldmVudHM9e30pLChrPXIuaGFuZGxlKXx8KGs9ci5oYW5kbGU9ZnVuY3Rpb24oYSl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBufHxhJiZuLmV2ZW50LnRyaWdnZXJlZD09PWEudHlwZT92b2lkIDA6bi5ldmVudC5kaXNwYXRjaC5hcHBseShrLmVsZW0sYXJndW1lbnRzKX0say5lbGVtPWEpLGI9KGJ8fCIiKS5tYXRjaChHKXx8WyIiXSxoPWIubGVuZ3RoO3doaWxlKGgtLSlmPW9hLmV4ZWMoYltoXSl8fFtdLG89cT1mWzFdLHA9KGZbMl18fCIiKS5zcGxpdCgiLiIpLnNvcnQoKSxvJiYoaj1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGU/ai5kZWxlZ2F0ZVR5cGU6ai5iaW5kVHlwZSl8fG8saj1uLmV2ZW50LnNwZWNpYWxbb118fHt9LGw9bi5leHRlbmQoe3R5cGU6byxvcmlnVHlwZTpxLGRhdGE6ZCxoYW5kbGVyOmMsZ3VpZDpjLmd1aWQsc2VsZWN0b3I6ZSxuZWVkc0NvbnRleHQ6ZSYmbi5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KGUpLG5hbWVzcGFjZTpwLmpvaW4oIi4iKX0saSksKG09Z1tvXSl8fChtPWdbb109W10sbS5kZWxlZ2F0ZUNvdW50PTAsai5zZXR1cCYmai5zZXR1cC5jYWxsKGEsZCxwLGspIT09ITF8fChhLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKG8saywhMSk6YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib24iK28saykpKSxqLmFkZCYmKGouYWRkLmNhbGwoYSxsKSxsLmhhbmRsZXIuZ3VpZHx8KGwuaGFuZGxlci5ndWlkPWMuZ3VpZCkpLGU/bS5zcGxpY2UobS5kZWxlZ2F0ZUNvdW50KyssMCxsKTptLnB1c2gobCksbi5ldmVudC5nbG9iYWxbb109ITApO2E9bnVsbH19LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1uLmhhc0RhdGEoYSkmJm4uX2RhdGEoYSk7aWYociYmKGs9ci5ldmVudHMpKXtiPShifHwiIikubWF0Y2goRyl8fFsiIl0saj1iLmxlbmd0aDt3aGlsZShqLS0paWYoaD1vYS5leGVjKGJbal0pfHxbXSxvPXE9aFsxXSxwPShoWzJdfHwiIikuc3BsaXQoIi4iKS5zb3J0KCksbyl7bD1uLmV2ZW50LnNwZWNpYWxbb118fHt9LG89KGQ/bC5kZWxlZ2F0ZVR5cGU6bC5iaW5kVHlwZSl8fG8sbT1rW29dfHxbXSxoPWhbMl0mJm5ldyBSZWdFeHAoIihefFxcLikiK3Auam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIiksaT1mPW0ubGVuZ3RoO3doaWxlKGYtLSlnPW1bZl0sIWUmJnEhPT1nLm9yaWdUeXBlfHxjJiZjLmd1aWQhPT1nLmd1aWR8fGgmJiFoLnRlc3QoZy5uYW1lc3BhY2UpfHxkJiZkIT09Zy5zZWxlY3RvciYmKCIqKiIhPT1kfHwhZy5zZWxlY3Rvcil8fChtLnNwbGljZShmLDEpLGcuc2VsZWN0b3ImJm0uZGVsZWdhdGVDb3VudC0tLGwucmVtb3ZlJiZsLnJlbW92ZS5jYWxsKGEsZykpO2kmJiFtLmxlbmd0aCYmKGwudGVhcmRvd24mJmwudGVhcmRvd24uY2FsbChhLHAsci5oYW5kbGUpIT09ITF8fG4ucmVtb3ZlRXZlbnQoYSxvLHIuaGFuZGxlKSxkZWxldGUga1tvXSl9ZWxzZSBmb3IobyBpbiBrKW4uZXZlbnQucmVtb3ZlKGEsbytiW2pdLGMsZCwhMCk7bi5pc0VtcHR5T2JqZWN0KGspJiYoZGVsZXRlIHIuaGFuZGxlLG4uX3JlbW92ZURhdGEoYSwiZXZlbnRzIikpfX0sdHJpZ2dlcjpmdW5jdGlvbihiLGMsZSxmKXt2YXIgZyxoLGksaixsLG0sbyxwPVtlfHxkXSxxPWsuY2FsbChiLCJ0eXBlIik/Yi50eXBlOmIscj1rLmNhbGwoYiwibmFtZXNwYWNlIik/Yi5uYW1lc3BhY2Uuc3BsaXQoIi4iKTpbXTtpZihpPW09ZT1lfHxkLDMhPT1lLm5vZGVUeXBlJiY4IT09ZS5ub2RlVHlwZSYmIW5hLnRlc3QocStuLmV2ZW50LnRyaWdnZXJlZCkmJihxLmluZGV4T2YoIi4iKT4tMSYmKHI9cS5zcGxpdCgiLiIpLHE9ci5zaGlmdCgpLHIuc29ydCgpKSxoPXEuaW5kZXhPZigiOiIpPDAmJiJvbiIrcSxiPWJbbi5leHBhbmRvXT9iOm5ldyBuLkV2ZW50KHEsIm9iamVjdCI9PXR5cGVvZiBiJiZiKSxiLmlzVHJpZ2dlcj1mPzI6MyxiLm5hbWVzcGFjZT1yLmpvaW4oIi4iKSxiLnJuYW1lc3BhY2U9Yi5uYW1lc3BhY2U/bmV3IFJlZ0V4cCgiKF58XFwuKSIrci5qb2luKCJcXC4oPzouKlxcLnwpIikrIihcXC58JCkiKTpudWxsLGIucmVzdWx0PXZvaWQgMCxiLnRhcmdldHx8KGIudGFyZ2V0PWUpLGM9bnVsbD09Yz9bYl06bi5tYWtlQXJyYXkoYyxbYl0pLGw9bi5ldmVudC5zcGVjaWFsW3FdfHx7fSxmfHwhbC50cmlnZ2VyfHxsLnRyaWdnZXIuYXBwbHkoZSxjKSE9PSExKSl7aWYoIWYmJiFsLm5vQnViYmxlJiYhbi5pc1dpbmRvdyhlKSl7Zm9yKGo9bC5kZWxlZ2F0ZVR5cGV8fHEsbmEudGVzdChqK3EpfHwoaT1pLnBhcmVudE5vZGUpO2k7aT1pLnBhcmVudE5vZGUpcC5wdXNoKGkpLG09aTttPT09KGUub3duZXJEb2N1bWVudHx8ZCkmJnAucHVzaChtLmRlZmF1bHRWaWV3fHxtLnBhcmVudFdpbmRvd3x8YSl9bz0wO3doaWxlKChpPXBbbysrXSkmJiFiLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpYi50eXBlPW8+MT9qOmwuYmluZFR5cGV8fHEsZz0obi5fZGF0YShpLCJldmVudHMiKXx8e30pW2IudHlwZV0mJm4uX2RhdGEoaSwiaGFuZGxlIiksZyYmZy5hcHBseShpLGMpLGc9aCYmaVtoXSxnJiZnLmFwcGx5JiZNKGkpJiYoYi5yZXN1bHQ9Zy5hcHBseShpLGMpLGIucmVzdWx0PT09ITEmJmIucHJldmVudERlZmF1bHQoKSk7aWYoYi50eXBlPXEsIWYmJiFiLmlzRGVmYXVsdFByZXZlbnRlZCgpJiYoIWwuX2RlZmF1bHR8fGwuX2RlZmF1bHQuYXBwbHkocC5wb3AoKSxjKT09PSExKSYmTShlKSYmaCYmZVtxXSYmIW4uaXNXaW5kb3coZSkpe209ZVtoXSxtJiYoZVtoXT1udWxsKSxuLmV2ZW50LnRyaWdnZXJlZD1xO3RyeXtlW3FdKCl9Y2F0Y2gocyl7fW4uZXZlbnQudHJpZ2dlcmVkPXZvaWQgMCxtJiYoZVtoXT1tKX1yZXR1cm4gYi5yZXN1bHR9fSxkaXNwYXRjaDpmdW5jdGlvbihhKXthPW4uZXZlbnQuZml4KGEpO3ZhciBiLGMsZCxmLGcsaD1bXSxpPWUuY2FsbChhcmd1bWVudHMpLGo9KG4uX2RhdGEodGhpcywiZXZlbnRzIil8fHt9KVthLnR5cGVdfHxbXSxrPW4uZXZlbnQuc3BlY2lhbFthLnR5cGVdfHx7fTtpZihpWzBdPWEsYS5kZWxlZ2F0ZVRhcmdldD10aGlzLCFrLnByZURpc3BhdGNofHxrLnByZURpc3BhdGNoLmNhbGwodGhpcyxhKSE9PSExKXtoPW4uZXZlbnQuaGFuZGxlcnMuY2FsbCh0aGlzLGEsaiksYj0wO3doaWxlKChmPWhbYisrXSkmJiFhLmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpe2EuY3VycmVudFRhcmdldD1mLmVsZW0sYz0wO3doaWxlKChnPWYuaGFuZGxlcnNbYysrXSkmJiFhLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkpYS5ybmFtZXNwYWNlJiYhYS5ybmFtZXNwYWNlLnRlc3QoZy5uYW1lc3BhY2UpfHwoYS5oYW5kbGVPYmo9ZyxhLmRhdGE9Zy5kYXRhLGQ9KChuLmV2ZW50LnNwZWNpYWxbZy5vcmlnVHlwZV18fHt9KS5oYW5kbGV8fGcuaGFuZGxlcikuYXBwbHkoZi5lbGVtLGkpLHZvaWQgMCE9PWQmJihhLnJlc3VsdD1kKT09PSExJiYoYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCkpKX1yZXR1cm4gay5wb3N0RGlzcGF0Y2gmJmsucG9zdERpc3BhdGNoLmNhbGwodGhpcyxhKSxhLnJlc3VsdH19LGhhbmRsZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGYsZz1bXSxoPWIuZGVsZWdhdGVDb3VudCxpPWEudGFyZ2V0O2lmKGgmJmkubm9kZVR5cGUmJigiY2xpY2siIT09YS50eXBlfHxpc05hTihhLmJ1dHRvbil8fGEuYnV0dG9uPDEpKWZvcig7aSE9dGhpcztpPWkucGFyZW50Tm9kZXx8dGhpcylpZigxPT09aS5ub2RlVHlwZSYmKGkuZGlzYWJsZWQhPT0hMHx8ImNsaWNrIiE9PWEudHlwZSkpe2ZvcihkPVtdLGM9MDtoPmM7YysrKWY9YltjXSxlPWYuc2VsZWN0b3IrIiAiLHZvaWQgMD09PWRbZV0mJihkW2VdPWYubmVlZHNDb250ZXh0P24oZSx0aGlzKS5pbmRleChpKT4tMTpuLmZpbmQoZSx0aGlzLG51bGwsW2ldKS5sZW5ndGgpLGRbZV0mJmQucHVzaChmKTtkLmxlbmd0aCYmZy5wdXNoKHtlbGVtOmksaGFuZGxlcnM6ZH0pfXJldHVybiBoPGIubGVuZ3RoJiZnLnB1c2goe2VsZW06dGhpcyxoYW5kbGVyczpiLnNsaWNlKGgpfSksZ30sZml4OmZ1bmN0aW9uKGEpe2lmKGFbbi5leHBhbmRvXSlyZXR1cm4gYTt2YXIgYixjLGUsZj1hLnR5cGUsZz1hLGg9dGhpcy5maXhIb29rc1tmXTtofHwodGhpcy5maXhIb29rc1tmXT1oPW1hLnRlc3QoZik/dGhpcy5tb3VzZUhvb2tzOmxhLnRlc3QoZik/dGhpcy5rZXlIb29rczp7fSksZT1oLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGgucHJvcHMpOnRoaXMucHJvcHMsYT1uZXcgbi5FdmVudChnKSxiPWUubGVuZ3RoO3doaWxlKGItLSljPWVbYl0sYVtjXT1nW2NdO3JldHVybiBhLnRhcmdldHx8KGEudGFyZ2V0PWcuc3JjRWxlbWVudHx8ZCksMz09PWEudGFyZ2V0Lm5vZGVUeXBlJiYoYS50YXJnZXQ9YS50YXJnZXQucGFyZW50Tm9kZSksYS5tZXRhS2V5PSEhYS5tZXRhS2V5LGguZmlsdGVyP2guZmlsdGVyKGEsZyk6YX0scHJvcHM6ImFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRldGFpbCBldmVudFBoYXNlIG1ldGFLZXkgcmVsYXRlZFRhcmdldCBzaGlmdEtleSB0YXJnZXQgdGltZVN0YW1wIHZpZXcgd2hpY2giLnNwbGl0KCIgIiksZml4SG9va3M6e30sa2V5SG9va3M6e3Byb3BzOiJjaGFyIGNoYXJDb2RlIGtleSBrZXlDb2RlIi5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiBudWxsPT1hLndoaWNoJiYoYS53aGljaD1udWxsIT1iLmNoYXJDb2RlP2IuY2hhckNvZGU6Yi5rZXlDb2RlKSxhfX0sbW91c2VIb29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFggY2xpZW50WSBmcm9tRWxlbWVudCBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBzY3JlZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZz1iLmJ1dHRvbixoPWIuZnJvbUVsZW1lbnQ7cmV0dXJuIG51bGw9PWEucGFnZVgmJm51bGwhPWIuY2xpZW50WCYmKGU9YS50YXJnZXQub3duZXJEb2N1bWVudHx8ZCxmPWUuZG9jdW1lbnRFbGVtZW50LGM9ZS5ib2R5LGEucGFnZVg9Yi5jbGllbnRYKyhmJiZmLnNjcm9sbExlZnR8fGMmJmMuc2Nyb2xsTGVmdHx8MCktKGYmJmYuY2xpZW50TGVmdHx8YyYmYy5jbGllbnRMZWZ0fHwwKSxhLnBhZ2VZPWIuY2xpZW50WSsoZiYmZi5zY3JvbGxUb3B8fGMmJmMuc2Nyb2xsVG9wfHwwKS0oZiYmZi5jbGllbnRUb3B8fGMmJmMuY2xpZW50VG9wfHwwKSksIWEucmVsYXRlZFRhcmdldCYmaCYmKGEucmVsYXRlZFRhcmdldD1oPT09YS50YXJnZXQ/Yi50b0VsZW1lbnQ6aCksYS53aGljaHx8dm9pZCAwPT09Z3x8KGEud2hpY2g9MSZnPzE6MiZnPzM6NCZnPzI6MCksYX19LHNwZWNpYWw6e2xvYWQ6e25vQnViYmxlOiEwfSxmb2N1czp7dHJpZ2dlcjpmdW5jdGlvbigpe2lmKHRoaXMhPT1yYSgpJiZ0aGlzLmZvY3VzKXRyeXtyZXR1cm4gdGhpcy5mb2N1cygpLCExfWNhdGNoKGEpe319LGRlbGVnYXRlVHlwZToiZm9jdXNpbiJ9LGJsdXI6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcz09PXJhKCkmJnRoaXMuYmx1cj8odGhpcy5ibHVyKCksITEpOnZvaWQgMH0sZGVsZWdhdGVUeXBlOiJmb2N1c291dCJ9LGNsaWNrOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIG4ubm9kZU5hbWUodGhpcywiaW5wdXQiKSYmImNoZWNrYm94Ij09PXRoaXMudHlwZSYmdGhpcy5jbGljaz8odGhpcy5jbGljaygpLCExKTp2b2lkIDB9LF9kZWZhdWx0OmZ1bmN0aW9uKGEpe3JldHVybiBuLm5vZGVOYW1lKGEudGFyZ2V0LCJhIil9fSxiZWZvcmV1bmxvYWQ6e3Bvc3REaXNwYXRjaDpmdW5jdGlvbihhKXt2b2lkIDAhPT1hLnJlc3VsdCYmYS5vcmlnaW5hbEV2ZW50JiYoYS5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlPWEucmVzdWx0KX19fSxzaW11bGF0ZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9bi5leHRlbmQobmV3IG4uRXZlbnQsYyx7dHlwZTphLGlzU2ltdWxhdGVkOiEwfSk7bi5ldmVudC50cmlnZ2VyKGQsbnVsbCxiKSxkLmlzRGVmYXVsdFByZXZlbnRlZCgpJiZjLnByZXZlbnREZWZhdWx0KCl9fSxuLnJlbW92ZUV2ZW50PWQucmVtb3ZlRXZlbnRMaXN0ZW5lcj9mdW5jdGlvbihhLGIsYyl7YS5yZW1vdmVFdmVudExpc3RlbmVyJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjKX06ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPSJvbiIrYjthLmRldGFjaEV2ZW50JiYoInVuZGVmaW5lZCI9PXR5cGVvZiBhW2RdJiYoYVtkXT1udWxsKSxhLmRldGFjaEV2ZW50KGQsYykpfSxuLkV2ZW50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBuLkV2ZW50PyhhJiZhLnR5cGU/KHRoaXMub3JpZ2luYWxFdmVudD1hLHRoaXMudHlwZT1hLnR5cGUsdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9YS5kZWZhdWx0UHJldmVudGVkfHx2b2lkIDA9PT1hLmRlZmF1bHRQcmV2ZW50ZWQmJmEucmV0dXJuVmFsdWU9PT0hMT9wYTpxYSk6dGhpcy50eXBlPWEsYiYmbi5leHRlbmQodGhpcyxiKSx0aGlzLnRpbWVTdGFtcD1hJiZhLnRpbWVTdGFtcHx8bi5ub3coKSx2b2lkKHRoaXNbbi5leHBhbmRvXT0hMCkpOm5ldyBuLkV2ZW50KGEsYil9LG4uRXZlbnQucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpuLkV2ZW50LGlzRGVmYXVsdFByZXZlbnRlZDpxYSxpc1Byb3BhZ2F0aW9uU3RvcHBlZDpxYSxpc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZDpxYSxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1wYSxhJiYoYS5wcmV2ZW50RGVmYXVsdD9hLnByZXZlbnREZWZhdWx0KCk6YS5yZXR1cm5WYWx1ZT0hMSl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPXBhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiYoYS5zdG9wUHJvcGFnYXRpb24mJmEuc3RvcFByb3BhZ2F0aW9uKCksYS5jYW5jZWxCdWJibGU9ITApfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1wYSxhJiZhLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sbi5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbihhLGIpe24uZXZlbnQuc3BlY2lhbFthXT17ZGVsZWdhdGVUeXBlOmIsYmluZFR5cGU6YixoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGMsZD10aGlzLGU9YS5yZWxhdGVkVGFyZ2V0LGY9YS5oYW5kbGVPYmo7cmV0dXJuIGUmJihlPT09ZHx8bi5jb250YWlucyhkLGUpKXx8KGEudHlwZT1mLm9yaWdUeXBlLGM9Zi5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxhLnR5cGU9YiksY319fSksbC5zdWJtaXR8fChuLmV2ZW50LnNwZWNpYWwuc3VibWl0PXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBuLm5vZGVOYW1lKHRoaXMsImZvcm0iKT8hMTp2b2lkIG4uZXZlbnQuYWRkKHRoaXMsImNsaWNrLl9zdWJtaXQga2V5cHJlc3MuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQsYz1uLm5vZGVOYW1lKGIsImlucHV0Iil8fG4ubm9kZU5hbWUoYiwiYnV0dG9uIik/bi5wcm9wKGIsImZvcm0iKTp2b2lkIDA7YyYmIW4uX2RhdGEoYywic3VibWl0IikmJihuLmV2ZW50LmFkZChjLCJzdWJtaXQuX3N1Ym1pdCIsZnVuY3Rpb24oYSl7YS5fc3VibWl0QnViYmxlPSEwfSksbi5fZGF0YShjLCJzdWJtaXQiLCEwKSl9KX0scG9zdERpc3BhdGNoOmZ1bmN0aW9uKGEpe2EuX3N1Ym1pdEJ1YmJsZSYmKGRlbGV0ZSBhLl9zdWJtaXRCdWJibGUsdGhpcy5wYXJlbnROb2RlJiYhYS5pc1RyaWdnZXImJm4uZXZlbnQuc2ltdWxhdGUoInN1Ym1pdCIsdGhpcy5wYXJlbnROb2RlLGEpKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4gbi5ub2RlTmFtZSh0aGlzLCJmb3JtIik/ITE6dm9pZCBuLmV2ZW50LnJlbW92ZSh0aGlzLCIuX3N1Ym1pdCIpfX0pLGwuY2hhbmdlfHwobi5ldmVudC5zcGVjaWFsLmNoYW5nZT17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4ga2EudGVzdCh0aGlzLm5vZGVOYW1lKT8oImNoZWNrYm94IiE9PXRoaXMudHlwZSYmInJhZGlvIiE9PXRoaXMudHlwZXx8KG4uZXZlbnQuYWRkKHRoaXMsInByb3BlcnR5Y2hhbmdlLl9jaGFuZ2UiLGZ1bmN0aW9uKGEpeyJjaGVja2VkIj09PWEub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUmJih0aGlzLl9qdXN0Q2hhbmdlZD0hMCl9KSxuLmV2ZW50LmFkZCh0aGlzLCJjbGljay5fY2hhbmdlIixmdW5jdGlvbihhKXt0aGlzLl9qdXN0Q2hhbmdlZCYmIWEuaXNUcmlnZ2VyJiYodGhpcy5fanVzdENoYW5nZWQ9ITEpLG4uZXZlbnQuc2ltdWxhdGUoImNoYW5nZSIsdGhpcyxhKX0pKSwhMSk6dm9pZCBuLmV2ZW50LmFkZCh0aGlzLCJiZWZvcmVhY3RpdmF0ZS5fY2hhbmdlIixmdW5jdGlvbihhKXt2YXIgYj1hLnRhcmdldDtrYS50ZXN0KGIubm9kZU5hbWUpJiYhbi5fZGF0YShiLCJjaGFuZ2UiKSYmKG4uZXZlbnQuYWRkKGIsImNoYW5nZS5fY2hhbmdlIixmdW5jdGlvbihhKXshdGhpcy5wYXJlbnROb2RlfHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8bi5ldmVudC5zaW11bGF0ZSgiY2hhbmdlIix0aGlzLnBhcmVudE5vZGUsYSl9KSxuLl9kYXRhKGIsImNoYW5nZSIsITApKX0pfSxoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS50YXJnZXQ7cmV0dXJuIHRoaXMhPT1ifHxhLmlzU2ltdWxhdGVkfHxhLmlzVHJpZ2dlcnx8InJhZGlvIiE9PWIudHlwZSYmImNoZWNrYm94IiE9PWIudHlwZT9hLmhhbmRsZU9iai5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp2b2lkIDB9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG4uZXZlbnQucmVtb3ZlKHRoaXMsIi5fY2hhbmdlIiksIWthLnRlc3QodGhpcy5ub2RlTmFtZSl9fSksbC5mb2N1c2lufHxuLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSl7bi5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LG4uZXZlbnQuZml4KGEpKX07bi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPW4uX2RhdGEoZCxiKTtlfHxkLmFkZEV2ZW50TGlzdGVuZXIoYSxjLCEwKSxuLl9kYXRhKGQsYiwoZXx8MCkrMSl9LHRlYXJkb3duOmZ1bmN0aW9uKCl7dmFyIGQ9dGhpcy5vd25lckRvY3VtZW50fHx0aGlzLGU9bi5fZGF0YShkLGIpLTE7ZT9uLl9kYXRhKGQsYixlKTooZC5yZW1vdmVFdmVudExpc3RlbmVyKGEsYywhMCksbi5fcmVtb3ZlRGF0YShkLGIpKX19fSksbi5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBzYSh0aGlzLGEsYixjLGQpfSxvbmU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHNhKHRoaXMsYSxiLGMsZCwxKX0sb2ZmOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGEmJmEucHJldmVudERlZmF1bHQmJmEuaGFuZGxlT2JqKXJldHVybiBkPWEuaGFuZGxlT2JqLG4oYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGQubmFtZXNwYWNlP2Qub3JpZ1R5cGUrIi4iK2QubmFtZXNwYWNlOmQub3JpZ1R5cGUsZC5zZWxlY3RvcixkLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXtmb3IoZSBpbiBhKXRoaXMub2ZmKGUsYixhW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4gYiE9PSExJiYiZnVuY3Rpb24iIT10eXBlb2YgYnx8KGM9YixiPXZvaWQgMCksYz09PSExJiYoYz1xYSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5yZW1vdmUodGhpcyxhLGMsYil9KX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmV2ZW50LnRyaWdnZXIoYSxiLHRoaXMpfSl9LHRyaWdnZXJIYW5kbGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpc1swXTtyZXR1cm4gYz9uLmV2ZW50LnRyaWdnZXIoYSxiLGMsITApOnZvaWQgMH19KTt2YXIgdGE9LyBqUXVlcnlcZCs9Iig/Om51bGx8XGQrKSIvZyx1YT1uZXcgUmVnRXhwKCI8KD86IitiYSsiKVtcXHMvPl0iLCJpIiksdmE9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Oi1dKylbXj5dKilcLz4vZ2ksd2E9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2kseGE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2kseWE9L150cnVlXC8oLiopLyx6YT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2csQWE9Y2EoZCksQmE9QWEuYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7ZnVuY3Rpb24gQ2EoYSxiKXtyZXR1cm4gbi5ub2RlTmFtZShhLCJ0YWJsZSIpJiZuLm5vZGVOYW1lKDExIT09Yi5ub2RlVHlwZT9iOmIuZmlyc3RDaGlsZCwidHIiKT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxhLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTphfWZ1bmN0aW9uIERhKGEpe3JldHVybiBhLnR5cGU9KG51bGwhPT1uLmZpbmQuYXR0cihhLCJ0eXBlIikpKyIvIithLnR5cGUsYX1mdW5jdGlvbiBFYShhKXt2YXIgYj15YS5leGVjKGEudHlwZSk7cmV0dXJuIGI/YS50eXBlPWJbMV06YS5yZW1vdmVBdHRyaWJ1dGUoInR5cGUiKSxhfWZ1bmN0aW9uIEZhKGEsYil7aWYoMT09PWIubm9kZVR5cGUmJm4uaGFzRGF0YShhKSl7dmFyIGMsZCxlLGY9bi5fZGF0YShhKSxnPW4uX2RhdGEoYixmKSxoPWYuZXZlbnRzO2lmKGgpe2RlbGV0ZSBnLmhhbmRsZSxnLmV2ZW50cz17fTtmb3IoYyBpbiBoKWZvcihkPTAsZT1oW2NdLmxlbmd0aDtlPmQ7ZCsrKW4uZXZlbnQuYWRkKGIsYyxoW2NdW2RdKX1nLmRhdGEmJihnLmRhdGE9bi5leHRlbmQoe30sZy5kYXRhKSl9fWZ1bmN0aW9uIEdhKGEsYil7dmFyIGMsZCxlO2lmKDE9PT1iLm5vZGVUeXBlKXtpZihjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwhbC5ub0Nsb25lRXZlbnQmJmJbbi5leHBhbmRvXSl7ZT1uLl9kYXRhKGIpO2ZvcihkIGluIGUuZXZlbnRzKW4ucmVtb3ZlRXZlbnQoYixkLGUuaGFuZGxlKTtiLnJlbW92ZUF0dHJpYnV0ZShuLmV4cGFuZG8pfSJzY3JpcHQiPT09YyYmYi50ZXh0IT09YS50ZXh0PyhEYShiKS50ZXh0PWEudGV4dCxFYShiKSk6Im9iamVjdCI9PT1jPyhiLnBhcmVudE5vZGUmJihiLm91dGVySFRNTD1hLm91dGVySFRNTCksbC5odG1sNUNsb25lJiZhLmlubmVySFRNTCYmIW4udHJpbShiLmlubmVySFRNTCkmJihiLmlubmVySFRNTD1hLmlubmVySFRNTCkpOiJpbnB1dCI9PT1jJiZaLnRlc3QoYS50eXBlKT8oYi5kZWZhdWx0Q2hlY2tlZD1iLmNoZWNrZWQ9YS5jaGVja2VkLGIudmFsdWUhPT1hLnZhbHVlJiYoYi52YWx1ZT1hLnZhbHVlKSk6Im9wdGlvbiI9PT1jP2IuZGVmYXVsdFNlbGVjdGVkPWIuc2VsZWN0ZWQ9YS5kZWZhdWx0U2VsZWN0ZWQ6ImlucHV0IiE9PWMmJiJ0ZXh0YXJlYSIhPT1jfHwoYi5kZWZhdWx0VmFsdWU9YS5kZWZhdWx0VmFsdWUpfX1mdW5jdGlvbiBIYShhLGIsYyxkKXtiPWYuYXBwbHkoW10sYik7dmFyIGUsZyxoLGksaixrLG09MCxvPWEubGVuZ3RoLHA9by0xLHE9YlswXSxyPW4uaXNGdW5jdGlvbihxKTtpZihyfHxvPjEmJiJzdHJpbmciPT10eXBlb2YgcSYmIWwuY2hlY2tDbG9uZSYmeGEudGVzdChxKSlyZXR1cm4gYS5lYWNoKGZ1bmN0aW9uKGUpe3ZhciBmPWEuZXEoZSk7ciYmKGJbMF09cS5jYWxsKHRoaXMsZSxmLmh0bWwoKSkpLEhhKGYsYixjLGQpfSk7aWYobyYmKGs9amEoYixhWzBdLm93bmVyRG9jdW1lbnQsITEsYSxkKSxlPWsuZmlyc3RDaGlsZCwxPT09ay5jaGlsZE5vZGVzLmxlbmd0aCYmKGs9ZSksZXx8ZCkpe2ZvcihpPW4ubWFwKGVhKGssInNjcmlwdCIpLERhKSxoPWkubGVuZ3RoO28+bTttKyspZz1rLG0hPT1wJiYoZz1uLmNsb25lKGcsITAsITApLGgmJm4ubWVyZ2UoaSxlYShnLCJzY3JpcHQiKSkpLGMuY2FsbChhW21dLGcsbSk7aWYoaClmb3Ioaj1pW2kubGVuZ3RoLTFdLm93bmVyRG9jdW1lbnQsbi5tYXAoaSxFYSksbT0wO2g+bTttKyspZz1pW21dLF8udGVzdChnLnR5cGV8fCIiKSYmIW4uX2RhdGEoZywiZ2xvYmFsRXZhbCIpJiZuLmNvbnRhaW5zKGosZykmJihnLnNyYz9uLl9ldmFsVXJsJiZuLl9ldmFsVXJsKGcuc3JjKTpuLmdsb2JhbEV2YWwoKGcudGV4dHx8Zy50ZXh0Q29udGVudHx8Zy5pbm5lckhUTUx8fCIiKS5yZXBsYWNlKHphLCIiKSkpO2s9ZT1udWxsfXJldHVybiBhfWZ1bmN0aW9uIElhKGEsYixjKXtmb3IodmFyIGQsZT1iP24uZmlsdGVyKGIsYSk6YSxmPTA7bnVsbCE9KGQ9ZVtmXSk7ZisrKWN8fDEhPT1kLm5vZGVUeXBlfHxuLmNsZWFuRGF0YShlYShkKSksZC5wYXJlbnROb2RlJiYoYyYmbi5jb250YWlucyhkLm93bmVyRG9jdW1lbnQsZCkmJmZhKGVhKGQsInNjcmlwdCIpKSxkLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZCkpO3JldHVybiBhfW4uZXh0ZW5kKHtodG1sUHJlZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UodmEsIjwkMT48LyQyPiIpfSxjbG9uZTpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpPW4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpO2lmKGwuaHRtbDVDbG9uZXx8bi5pc1hNTERvYyhhKXx8IXVhLnRlc3QoIjwiK2Eubm9kZU5hbWUrIj4iKT9mPWEuY2xvbmVOb2RlKCEwKTooQmEuaW5uZXJIVE1MPWEub3V0ZXJIVE1MLEJhLnJlbW92ZUNoaWxkKGY9QmEuZmlyc3RDaGlsZCkpLCEobC5ub0Nsb25lRXZlbnQmJmwubm9DbG9uZUNoZWNrZWR8fDEhPT1hLm5vZGVUeXBlJiYxMSE9PWEubm9kZVR5cGV8fG4uaXNYTUxEb2MoYSkpKWZvcihkPWVhKGYpLGg9ZWEoYSksZz0wO251bGwhPShlPWhbZ10pOysrZylkW2ddJiZHYShlLGRbZ10pO2lmKGIpaWYoYylmb3IoaD1ofHxlYShhKSxkPWR8fGVhKGYpLGc9MDtudWxsIT0oZT1oW2ddKTtnKyspRmEoZSxkW2ddKTtlbHNlIEZhKGEsZik7cmV0dXJuIGQ9ZWEoZiwic2NyaXB0IiksZC5sZW5ndGg+MCYmZmEoZCwhaSYmZWEoYSwic2NyaXB0IikpLGQ9aD1lPW51bGwsZn0sY2xlYW5EYXRhOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBkLGUsZixnLGg9MCxpPW4uZXhwYW5kbyxqPW4uY2FjaGUsaz1sLmF0dHJpYnV0ZXMsbT1uLmV2ZW50LnNwZWNpYWw7bnVsbCE9KGQ9YVtoXSk7aCsrKWlmKChifHxNKGQpKSYmKGY9ZFtpXSxnPWYmJmpbZl0pKXtpZihnLmV2ZW50cylmb3IoZSBpbiBnLmV2ZW50cyltW2VdP24uZXZlbnQucmVtb3ZlKGQsZSk6bi5yZW1vdmVFdmVudChkLGUsZy5oYW5kbGUpO2pbZl0mJihkZWxldGUgaltmXSxrfHwidW5kZWZpbmVkIj09dHlwZW9mIGQucmVtb3ZlQXR0cmlidXRlP2RbaV09dm9pZCAwOmQucmVtb3ZlQXR0cmlidXRlKGkpLGMucHVzaChmKSl9fX0pLG4uZm4uZXh0ZW5kKHtkb21NYW5pcDpIYSxkZXRhY2g6ZnVuY3Rpb24oYSl7cmV0dXJuIElhKHRoaXMsYSwhMCl9LHJlbW92ZTpmdW5jdGlvbihhKXtyZXR1cm4gSWEodGhpcyxhKX0sdGV4dDpmdW5jdGlvbihhKXtyZXR1cm4gWSh0aGlzLGZ1bmN0aW9uKGEpe3JldHVybiB2b2lkIDA9PT1hP24udGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuYXBwZW5kKCh0aGlzWzBdJiZ0aGlzWzBdLm93bmVyRG9jdW1lbnR8fGQpLmNyZWF0ZVRleHROb2RlKGEpKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxhcHBlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gSGEodGhpcyxhcmd1bWVudHMsZnVuY3Rpb24oYSl7aWYoMT09PXRoaXMubm9kZVR5cGV8fDExPT09dGhpcy5ub2RlVHlwZXx8OT09PXRoaXMubm9kZVR5cGUpe3ZhciBiPUNhKHRoaXMsYSk7Yi5hcHBlbmRDaGlsZChhKX19KX0scHJlcGVuZDpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9Q2EodGhpcyxhKTtiLmluc2VydEJlZm9yZShhLGIuZmlyc3RDaGlsZCl9fSl9LGJlZm9yZTpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzKX0pfSxhZnRlcjpmdW5jdGlvbigpe3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXt0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSx0aGlzLm5leHRTaWJsaW5nKX0pfSxlbXB0eTpmdW5jdGlvbigpe2Zvcih2YXIgYSxiPTA7bnVsbCE9KGE9dGhpc1tiXSk7YisrKXsxPT09YS5ub2RlVHlwZSYmbi5jbGVhbkRhdGEoZWEoYSwhMSkpO3doaWxlKGEuZmlyc3RDaGlsZClhLnJlbW92ZUNoaWxkKGEuZmlyc3RDaGlsZCk7YS5vcHRpb25zJiZuLm5vZGVOYW1lKGEsInNlbGVjdCIpJiYoYS5vcHRpb25zLmxlbmd0aD0wKX1yZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1udWxsPT1hPyExOmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBuLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBZKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSlyZXR1cm4gMT09PWIubm9kZVR5cGU/Yi5pbm5lckhUTUwucmVwbGFjZSh0YSwiIik6dm9pZCAwO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIXdhLnRlc3QoYSkmJihsLmh0bWxTZXJpYWxpemV8fCF1YS50ZXN0KGEpKSYmKGwubGVhZGluZ1doaXRlc3BhY2V8fCFhYS50ZXN0KGEpKSYmIWRhWygkLmV4ZWMoYSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPW4uaHRtbFByZWZpbHRlcihhKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihuLmNsZWFuRGF0YShlYShiLCExKSksYi5pbm5lckhUTUw9YSk7Yj0wfWNhdGNoKGUpe319YiYmdGhpcy5lbXB0eSgpLmFwcGVuZChhKX0sbnVsbCxhLGFyZ3VtZW50cy5sZW5ndGgpfSxyZXBsYWNlV2l0aDpmdW5jdGlvbigpe3ZhciBhPVtdO3JldHVybiBIYSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihiKXt2YXIgYz10aGlzLnBhcmVudE5vZGU7bi5pbkFycmF5KHRoaXMsYSk8MCYmKG4uY2xlYW5EYXRhKGVhKHRoaXMpKSxjJiZjLnJlcGxhY2VDaGlsZChiLHRoaXMpKX0sYSl9fSksbi5lYWNoKHthcHBlbmRUbzoiYXBwZW5kIixwcmVwZW5kVG86InByZXBlbmQiLGluc2VydEJlZm9yZToiYmVmb3JlIixpbnNlcnRBZnRlcjoiYWZ0ZXIiLHJlcGxhY2VBbGw6InJlcGxhY2VXaXRoIn0sZnVuY3Rpb24oYSxiKXtuLmZuW2FdPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkPTAsZT1bXSxmPW4oYSksaD1mLmxlbmd0aC0xO2g+PWQ7ZCsrKWM9ZD09PWg/dGhpczp0aGlzLmNsb25lKCEwKSxuKGZbZF0pW2JdKGMpLGcuYXBwbHkoZSxjLmdldCgpKTtyZXR1cm4gdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEphLEthPXtIVE1MOiJibG9jayIsQk9EWToiYmxvY2sifTtmdW5jdGlvbiBMYShhLGIpe3ZhciBjPW4oYi5jcmVhdGVFbGVtZW50KGEpKS5hcHBlbmRUbyhiLmJvZHkpLGQ9bi5jc3MoY1swXSwiZGlzcGxheSIpO3JldHVybiBjLmRldGFjaCgpLGR9ZnVuY3Rpb24gTWEoYSl7dmFyIGI9ZCxjPUthW2FdO3JldHVybiBjfHwoYz1MYShhLGIpLCJub25lIiE9PWMmJmN8fChKYT0oSmF8fG4oIjxpZnJhbWUgZnJhbWVib3JkZXI9JzAnIHdpZHRoPScwJyBoZWlnaHQ9JzAnLz4iKSkuYXBwZW5kVG8oYi5kb2N1bWVudEVsZW1lbnQpLGI9KEphWzBdLmNvbnRlbnRXaW5kb3d8fEphWzBdLmNvbnRlbnREb2N1bWVudCkuZG9jdW1lbnQsYi53cml0ZSgpLGIuY2xvc2UoKSxjPUxhKGEsYiksSmEuZGV0YWNoKCkpLEthW2FdPWMpLGN9dmFyIE5hPS9ebWFyZ2luLyxPYT1uZXcgUmVnRXhwKCJeKCIrVCsiKSg/IXB4KVthLXolXSskIiwiaSIpLFBhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz17fTtmb3IoZiBpbiBiKWdbZl09YS5zdHlsZVtmXSxhLnN0eWxlW2ZdPWJbZl07ZT1jLmFwcGx5KGEsZHx8W10pO2ZvcihmIGluIGIpYS5zdHlsZVtmXT1nW2ZdO3JldHVybiBlfSxRYT1kLmRvY3VtZW50RWxlbWVudDshZnVuY3Rpb24oKXt2YXIgYixjLGUsZixnLGgsaT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGo9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihqLnN0eWxlKXtqLnN0eWxlLmNzc1RleHQ9ImZsb2F0OmxlZnQ7b3BhY2l0eTouNSIsbC5vcGFjaXR5PSIwLjUiPT09ai5zdHlsZS5vcGFjaXR5LGwuY3NzRmxvYXQ9ISFqLnN0eWxlLmNzc0Zsb2F0LGouc3R5bGUuYmFja2dyb3VuZENsaXA9ImNvbnRlbnQtYm94IixqLmNsb25lTm9kZSghMCkuc3R5bGUuYmFja2dyb3VuZENsaXA9IiIsbC5jbGVhckNsb25lU3R5bGU9ImNvbnRlbnQtYm94Ij09PWouc3R5bGUuYmFja2dyb3VuZENsaXAsaT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGkuc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGUiLGouaW5uZXJIVE1MPSIiLGkuYXBwZW5kQ2hpbGQoaiksbC5ib3hTaXppbmc9IiI9PT1qLnN0eWxlLmJveFNpemluZ3x8IiI9PT1qLnN0eWxlLk1vekJveFNpemluZ3x8IiI9PT1qLnN0eWxlLldlYmtpdEJveFNpemluZyxuLmV4dGVuZChsLHtyZWxpYWJsZUhpZGRlbk9mZnNldHM6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YiYmaygpLGZ9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxlfSxwaXhlbE1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxjfSxwaXhlbFBvc2l0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxifSxyZWxpYWJsZU1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWImJmsoKSxnfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YiYmaygpLGh9fSk7ZnVuY3Rpb24gaygpe3ZhciBrLGwsbT1kLmRvY3VtZW50RWxlbWVudDttLmFwcGVuZENoaWxkKGkpLGouc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt0b3A6MSU7d2lkdGg6NTAlIixiPWU9aD0hMSxjPWc9ITAsYS5nZXRDb21wdXRlZFN0eWxlJiYobD1hLmdldENvbXB1dGVkU3R5bGUoaiksYj0iMSUiIT09KGx8fHt9KS50b3AsaD0iMnB4Ij09PShsfHx7fSkubWFyZ2luTGVmdCxlPSI0cHgiPT09KGx8fHt3aWR0aDoiNHB4In0pLndpZHRoLGouc3R5bGUubWFyZ2luUmlnaHQ9IjUwJSIsYz0iNHB4Ij09PShsfHx7bWFyZ2luUmlnaHQ6IjRweCJ9KS5tYXJnaW5SaWdodCxrPWouYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSksay5zdHlsZS5jc3NUZXh0PWouc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixrLnN0eWxlLm1hcmdpblJpZ2h0PWsuc3R5bGUud2lkdGg9IjAiLGouc3R5bGUud2lkdGg9IjFweCIsZz0hcGFyc2VGbG9hdCgoYS5nZXRDb21wdXRlZFN0eWxlKGspfHx7fSkubWFyZ2luUmlnaHQpLGoucmVtb3ZlQ2hpbGQoaykpLGouc3R5bGUuZGlzcGxheT0ibm9uZSIsZj0wPT09ai5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCxmJiYoai5zdHlsZS5kaXNwbGF5PSIiLGouaW5uZXJIVE1MPSI8dGFibGU+PHRyPjx0ZD48L3RkPjx0ZD50PC90ZD48L3RyPjwvdGFibGU+IixqLmNoaWxkTm9kZXNbMF0uc3R5bGUuYm9yZGVyQ29sbGFwc2U9InNlcGFyYXRlIixrPWouZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIiksa1swXS5zdHlsZS5jc3NUZXh0PSJtYXJnaW46MDtib3JkZXI6MDtwYWRkaW5nOjA7ZGlzcGxheTpub25lIixmPTA9PT1rWzBdLm9mZnNldEhlaWdodCxmJiYoa1swXS5zdHlsZS5kaXNwbGF5PSIiLGtbMV0uc3R5bGUuZGlzcGxheT0ibm9uZSIsZj0wPT09a1swXS5vZmZzZXRIZWlnaHQpKSxtLnJlbW92ZUNoaWxkKGkpfX19KCk7dmFyIFJhLFNhLFRhPS9eKHRvcHxyaWdodHxib3R0b218bGVmdCkkLzthLmdldENvbXB1dGVkU3R5bGU/KFJhPWZ1bmN0aW9uKGIpe3ZhciBjPWIub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztyZXR1cm4gYyYmYy5vcGVuZXJ8fChjPWEpLGMuZ2V0Q29tcHV0ZWRTdHlsZShiKX0sU2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxSYShhKSxnPWM/Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdOnZvaWQgMCwiIiE9PWcmJnZvaWQgMCE9PWd8fG4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1uLnN0eWxlKGEsYikpLGMmJiFsLnBpeGVsTWFyZ2luUmlnaHQoKSYmT2EudGVzdChnKSYmTmEudGVzdChiKSYmKGQ9aC53aWR0aCxlPWgubWluV2lkdGgsZj1oLm1heFdpZHRoLGgubWluV2lkdGg9aC5tYXhXaWR0aD1oLndpZHRoPWcsZz1jLndpZHRoLGgud2lkdGg9ZCxoLm1pbldpZHRoPWUsaC5tYXhXaWR0aD1mKSx2b2lkIDA9PT1nP2c6ZysiIn0pOlFhLmN1cnJlbnRTdHlsZSYmKFJhPWZ1bmN0aW9uKGEpe3JldHVybiBhLmN1cnJlbnRTdHlsZX0sU2E9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxSYShhKSxnPWM/Y1tiXTp2b2lkIDAsbnVsbD09ZyYmaCYmaFtiXSYmKGc9aFtiXSksT2EudGVzdChnKSYmIVRhLnRlc3QoYikmJihkPWgubGVmdCxlPWEucnVudGltZVN0eWxlLGY9ZSYmZS5sZWZ0LGYmJihlLmxlZnQ9YS5jdXJyZW50U3R5bGUubGVmdCksaC5sZWZ0PSJmb250U2l6ZSI9PT1iPyIxZW0iOmcsZz1oLnBpeGVsTGVmdCsicHgiLGgubGVmdD1kLGYmJihlLmxlZnQ9ZikpLHZvaWQgMD09PWc/ZzpnKyIifHwiYXV0byJ9KTtmdW5jdGlvbiBVYShhLGIpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYSgpP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX12YXIgVmE9L2FscGhhXChbXildKlwpL2ksV2E9L29wYWNpdHlccyo9XHMqKFteKV0qKS9pLFhhPS9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxZYT1uZXcgUmVnRXhwKCJeKCIrVCsiKSguKikkIiwiaSIpLFphPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSwkYT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn0sX2E9WyJXZWJraXQiLCJPIiwiTW96IiwibXMiXSxhYj1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlO2Z1bmN0aW9uIGJiKGEpe2lmKGEgaW4gYWIpcmV0dXJuIGE7dmFyIGI9YS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSthLnNsaWNlKDEpLGM9X2EubGVuZ3RoO3doaWxlKGMtLSlpZihhPV9hW2NdK2IsYSBpbiBhYilyZXR1cm4gYX1mdW5jdGlvbiBjYihhLGIpe2Zvcih2YXIgYyxkLGUsZj1bXSxnPTAsaD1hLmxlbmd0aDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoZltnXT1uLl9kYXRhKGQsIm9sZGRpc3BsYXkiKSxjPWQuc3R5bGUuZGlzcGxheSxiPyhmW2ddfHwibm9uZSIhPT1jfHwoZC5zdHlsZS5kaXNwbGF5PSIiKSwiIj09PWQuc3R5bGUuZGlzcGxheSYmVyhkKSYmKGZbZ109bi5fZGF0YShkLCJvbGRkaXNwbGF5IixNYShkLm5vZGVOYW1lKSkpKTooZT1XKGQpLChjJiYibm9uZSIhPT1jfHwhZSkmJm4uX2RhdGEoZCwib2xkZGlzcGxheSIsZT9jOm4uY3NzKGQsImRpc3BsYXkiKSkpKTtmb3IoZz0wO2g+ZztnKyspZD1hW2ddLGQuc3R5bGUmJihiJiYibm9uZSIhPT1kLnN0eWxlLmRpc3BsYXkmJiIiIT09ZC5zdHlsZS5kaXNwbGF5fHwoZC5zdHlsZS5kaXNwbGF5PWI/ZltnXXx8IiI6Im5vbmUiKSk7cmV0dXJuIGF9ZnVuY3Rpb24gZGIoYSxiLGMpe3ZhciBkPVlhLmV4ZWMoYik7cmV0dXJuIGQ/TWF0aC5tYXgoMCxkWzFdLShjfHwwKSkrKGRbMl18fCJweCIpOmJ9ZnVuY3Rpb24gZWIoYSxiLGMsZCxlKXtmb3IodmFyIGY9Yz09PShkPyJib3JkZXIiOiJjb250ZW50Iik/NDoid2lkdGgiPT09Yj8xOjAsZz0wOzQ+ZjtmKz0yKSJtYXJnaW4iPT09YyYmKGcrPW4uY3NzKGEsYytWW2ZdLCEwLGUpKSxkPygiY29udGVudCI9PT1jJiYoZy09bi5jc3MoYSwicGFkZGluZyIrVltmXSwhMCxlKSksIm1hcmdpbiIhPT1jJiYoZy09bi5jc3MoYSwiYm9yZGVyIitWW2ZdKyJXaWR0aCIsITAsZSkpKTooZys9bi5jc3MoYSwicGFkZGluZyIrVltmXSwhMCxlKSwicGFkZGluZyIhPT1jJiYoZys9bi5jc3MoYSwiYm9yZGVyIitWW2ZdKyJXaWR0aCIsITAsZSkpKTtyZXR1cm4gZ31mdW5jdGlvbiBmYihhLGIsYyl7dmFyIGQ9ITAsZT0id2lkdGgiPT09Yj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGY9UmEoYSksZz1sLmJveFNpemluZyYmImJvcmRlci1ib3giPT09bi5jc3MoYSwiYm94U2l6aW5nIiwhMSxmKTtpZigwPj1lfHxudWxsPT1lKXtpZihlPVNhKGEsYixmKSwoMD5lfHxudWxsPT1lKSYmKGU9YS5zdHlsZVtiXSksT2EudGVzdChlKSlyZXR1cm4gZTtkPWcmJihsLmJveFNpemluZ1JlbGlhYmxlKCl8fGU9PT1hLnN0eWxlW2JdKSxlPXBhcnNlRmxvYXQoZSl8fDB9cmV0dXJuIGUrZWIoYSxiLGN8fChnPyJib3JkZXIiOiJjb250ZW50IiksZCxmKSsicHgifW4uZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9U2EoYSwib3BhY2l0eSIpO3JldHVybiIiPT09Yz8iMSI6Y319fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjpsLmNzc0Zsb2F0PyJjc3NGbG9hdCI6InN0eWxlRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsYyxkKXtpZihhJiYzIT09YS5ub2RlVHlwZSYmOCE9PWEubm9kZVR5cGUmJmEuc3R5bGUpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpLGk9YS5zdHlsZTtpZihiPW4uY3NzUHJvcHNbaF18fChuLmNzc1Byb3BzW2hdPWJiKGgpfHxoKSxnPW4uY3NzSG9va3NbYl18fG4uY3NzSG9va3NbaF0sdm9pZCAwPT09YylyZXR1cm4gZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl07aWYoZj10eXBlb2YgYywic3RyaW5nIj09PWYmJihlPVUuZXhlYyhjKSkmJmVbMV0mJihjPVgoYSxiLGUpLGY9Im51bWJlciIpLG51bGwhPWMmJmM9PT1jJiYoIm51bWJlciI9PT1mJiYoYys9ZSYmZVszXXx8KG4uY3NzTnVtYmVyW2hdPyIiOiJweCIpKSxsLmNsZWFyQ2xvbmVTdHlsZXx8IiIhPT1jfHwwIT09Yi5pbmRleE9mKCJiYWNrZ3JvdW5kIil8fChpW2JdPSJpbmhlcml0IiksIShnJiYic2V0ImluIGcmJnZvaWQgMD09PShjPWcuc2V0KGEsYyxkKSkpKSl0cnl7aVtiXT1jfWNhdGNoKGope319fSxjc3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGg9bi5jYW1lbENhc2UoYik7cmV0dXJuIGI9bi5jc3NQcm9wc1toXXx8KG4uY3NzUHJvcHNbaF09YmIoaCl8fGgpLGc9bi5jc3NIb29rc1tiXXx8bi5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihmPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWYmJihmPVNhKGEsYixkKSksIm5vcm1hbCI9PT1mJiZiIGluICRhJiYoZj0kYVtiXSksIiI9PT1jfHxjPyhlPXBhcnNlRmxvYXQoZiksYz09PSEwfHxpc0Zpbml0ZShlKT9lfHwwOmYpOmZ9fSksbi5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/WGEudGVzdChuLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9QYShhLFphLGZ1bmN0aW9uKCl7cmV0dXJuIGZiKGEsYixkKX0pOmZiKGEsYixkKTp2b2lkIDB9LHNldDpmdW5jdGlvbihhLGMsZCl7dmFyIGU9ZCYmUmEoYSk7cmV0dXJuIGRiKGEsYyxkP2ViKGEsYixkLGwuYm94U2l6aW5nJiYiYm9yZGVyLWJveCI9PT1uLmNzcyhhLCJib3hTaXppbmciLCExLGUpLGUpOjApfX19KSxsLm9wYWNpdHl8fChuLmNzc0hvb2tzLm9wYWNpdHk9e2dldDpmdW5jdGlvbihhLGIpe3JldHVybiBXYS50ZXN0KChiJiZhLmN1cnJlbnRTdHlsZT9hLmN1cnJlbnRTdHlsZS5maWx0ZXI6YS5zdHlsZS5maWx0ZXIpfHwiIik/LjAxKnBhcnNlRmxvYXQoUmVnRXhwLiQxKSsiIjpiPyIxIjoiIn0sc2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5zdHlsZSxkPWEuY3VycmVudFN0eWxlLGU9bi5pc051bWVyaWMoYik/ImFscGhhKG9wYWNpdHk9IisxMDAqYisiKSI6IiIsZj1kJiZkLmZpbHRlcnx8Yy5maWx0ZXJ8fCIiO2Muem9vbT0xLChiPj0xfHwiIj09PWIpJiYiIj09PW4udHJpbShmLnJlcGxhY2UoVmEsIiIpKSYmYy5yZW1vdmVBdHRyaWJ1dGUmJihjLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIiksIiI9PT1ifHxkJiYhZC5maWx0ZXIpfHwoYy5maWx0ZXI9VmEudGVzdChmKT9mLnJlcGxhY2UoVmEsZSk6ZisiICIrZSl9fSksbi5jc3NIb29rcy5tYXJnaW5SaWdodD1VYShsLnJlbGlhYmxlTWFyZ2luUmlnaHQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9QYShhLHtkaXNwbGF5OiJpbmxpbmUtYmxvY2sifSxTYSxbYSwibWFyZ2luUmlnaHQiXSk6dm9pZCAwfSksbi5jc3NIb29rcy5tYXJnaW5MZWZ0PVVhKGwucmVsaWFibGVNYXJnaW5MZWZ0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/KHBhcnNlRmxvYXQoU2EoYSwibWFyZ2luTGVmdCIpKXx8KG4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpP2EuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1QYShhLHsNCm1hcmdpbkxlZnQ6MH0sZnVuY3Rpb24oKXtyZXR1cm4gYS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0fSk6MCkpKyJweCI6dm9pZCAwfSksbi5lYWNoKHttYXJnaW46IiIscGFkZGluZzoiIixib3JkZXI6IldpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmNzc0hvb2tzW2ErYl09e2V4cGFuZDpmdW5jdGlvbihjKXtmb3IodmFyIGQ9MCxlPXt9LGY9InN0cmluZyI9PXR5cGVvZiBjP2Muc3BsaXQoIiAiKTpbY107ND5kO2QrKyllW2ErVltkXStiXT1mW2RdfHxmW2QtMl18fGZbMF07cmV0dXJuIGV9fSxOYS50ZXN0KGEpfHwobi5jc3NIb29rc1thK2JdLnNldD1kYil9KSxuLmZuLmV4dGVuZCh7Y3NzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPXt9LGc9MDtpZihuLmlzQXJyYXkoYikpe2ZvcihkPVJhKGEpLGU9Yi5sZW5ndGg7ZT5nO2crKylmW2JbZ11dPW4uY3NzKGEsYltnXSwhMSxkKTtyZXR1cm4gZn1yZXR1cm4gdm9pZCAwIT09Yz9uLnN0eWxlKGEsYixjKTpuLmNzcyhhLGIpfSxhLGIsYXJndW1lbnRzLmxlbmd0aD4xKX0sc2hvdzpmdW5jdGlvbigpe3JldHVybiBjYih0aGlzLCEwKX0saGlkZTpmdW5jdGlvbigpe3JldHVybiBjYih0aGlzKX0sdG9nZ2xlOmZ1bmN0aW9uKGEpe3JldHVybiJib29sZWFuIj09dHlwZW9mIGE/YT90aGlzLnNob3coKTp0aGlzLmhpZGUoKTp0aGlzLmVhY2goZnVuY3Rpb24oKXtXKHRoaXMpP24odGhpcykuc2hvdygpOm4odGhpcykuaGlkZSgpfSl9fSk7ZnVuY3Rpb24gZ2IoYSxiLGMsZCxlKXtyZXR1cm4gbmV3IGdiLnByb3RvdHlwZS5pbml0KGEsYixjLGQsZSl9bi5Ud2Vlbj1nYixnYi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmdiLGluaXQ6ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3RoaXMuZWxlbT1hLHRoaXMucHJvcD1jLHRoaXMuZWFzaW5nPWV8fG4uZWFzaW5nLl9kZWZhdWx0LHRoaXMub3B0aW9ucz1iLHRoaXMuc3RhcnQ9dGhpcy5ub3c9dGhpcy5jdXIoKSx0aGlzLmVuZD1kLHRoaXMudW5pdD1mfHwobi5jc3NOdW1iZXJbY10/IiI6InB4Iil9LGN1cjpmdW5jdGlvbigpe3ZhciBhPWdiLnByb3BIb29rc1t0aGlzLnByb3BdO3JldHVybiBhJiZhLmdldD9hLmdldCh0aGlzKTpnYi5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KHRoaXMpfSxydW46ZnVuY3Rpb24oYSl7dmFyIGIsYz1nYi5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gdGhpcy5vcHRpb25zLmR1cmF0aW9uP3RoaXMucG9zPWI9bi5lYXNpbmdbdGhpcy5lYXNpbmddKGEsdGhpcy5vcHRpb25zLmR1cmF0aW9uKmEsMCwxLHRoaXMub3B0aW9ucy5kdXJhdGlvbik6dGhpcy5wb3M9Yj1hLHRoaXMubm93PSh0aGlzLmVuZC10aGlzLnN0YXJ0KSpiK3RoaXMuc3RhcnQsdGhpcy5vcHRpb25zLnN0ZXAmJnRoaXMub3B0aW9ucy5zdGVwLmNhbGwodGhpcy5lbGVtLHRoaXMubm93LHRoaXMpLGMmJmMuc2V0P2Muc2V0KHRoaXMpOmdiLnByb3BIb29rcy5fZGVmYXVsdC5zZXQodGhpcyksdGhpc319LGdiLnByb3RvdHlwZS5pbml0LnByb3RvdHlwZT1nYi5wcm90b3R5cGUsZ2IucHJvcEhvb2tzPXtfZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiAxIT09YS5lbGVtLm5vZGVUeXBlfHxudWxsIT1hLmVsZW1bYS5wcm9wXSYmbnVsbD09YS5lbGVtLnN0eWxlW2EucHJvcF0/YS5lbGVtW2EucHJvcF06KGI9bi5jc3MoYS5lbGVtLGEucHJvcCwiIiksYiYmImF1dG8iIT09Yj9iOjApfSxzZXQ6ZnVuY3Rpb24oYSl7bi5meC5zdGVwW2EucHJvcF0/bi5meC5zdGVwW2EucHJvcF0oYSk6MSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbD09YS5lbGVtLnN0eWxlW24uY3NzUHJvcHNbYS5wcm9wXV0mJiFuLmNzc0hvb2tzW2EucHJvcF0/YS5lbGVtW2EucHJvcF09YS5ub3c6bi5zdHlsZShhLmVsZW0sYS5wcm9wLGEubm93K2EudW5pdCl9fX0sZ2IucHJvcEhvb2tzLnNjcm9sbFRvcD1nYi5wcm9wSG9va3Muc2Nyb2xsTGVmdD17c2V0OmZ1bmN0aW9uKGEpe2EuZWxlbS5ub2RlVHlwZSYmYS5lbGVtLnBhcmVudE5vZGUmJihhLmVsZW1bYS5wcm9wXT1hLm5vdyl9fSxuLmVhc2luZz17bGluZWFyOmZ1bmN0aW9uKGEpe3JldHVybiBhfSxzd2luZzpmdW5jdGlvbihhKXtyZXR1cm4uNS1NYXRoLmNvcyhhKk1hdGguUEkpLzJ9LF9kZWZhdWx0OiJzd2luZyJ9LG4uZng9Z2IucHJvdG90eXBlLmluaXQsbi5meC5zdGVwPXt9O3ZhciBoYixpYixqYj0vXig/OnRvZ2dsZXxzaG93fGhpZGUpJC8sa2I9L3F1ZXVlSG9va3MkLztmdW5jdGlvbiBsYigpe3JldHVybiBhLnNldFRpbWVvdXQoZnVuY3Rpb24oKXtoYj12b2lkIDB9KSxoYj1uLm5vdygpfWZ1bmN0aW9uIG1iKGEsYil7dmFyIGMsZD17aGVpZ2h0OmF9LGU9MDtmb3IoYj1iPzE6MDs0PmU7ZSs9Mi1iKWM9VltlXSxkWyJtYXJnaW4iK2NdPWRbInBhZGRpbmciK2NdPWE7cmV0dXJuIGImJihkLm9wYWNpdHk9ZC53aWR0aD1hKSxkfWZ1bmN0aW9uIG5iKGEsYixjKXtmb3IodmFyIGQsZT0ocWIudHdlZW5lcnNbYl18fFtdKS5jb25jYXQocWIudHdlZW5lcnNbIioiXSksZj0wLGc9ZS5sZW5ndGg7Zz5mO2YrKylpZihkPWVbZl0uY2FsbChjLGIsYSkpcmV0dXJuIGR9ZnVuY3Rpb24gb2IoYSxiLGMpe3ZhciBkLGUsZixnLGgsaSxqLGssbT10aGlzLG89e30scD1hLnN0eWxlLHE9YS5ub2RlVHlwZSYmVyhhKSxyPW4uX2RhdGEoYSwiZnhzaG93Iik7Yy5xdWV1ZXx8KGg9bi5fcXVldWVIb29rcyhhLCJmeCIpLG51bGw9PWgudW5xdWV1ZWQmJihoLnVucXVldWVkPTAsaT1oLmVtcHR5LmZpcmUsaC5lbXB0eS5maXJlPWZ1bmN0aW9uKCl7aC51bnF1ZXVlZHx8aSgpfSksaC51bnF1ZXVlZCsrLG0uYWx3YXlzKGZ1bmN0aW9uKCl7bS5hbHdheXMoZnVuY3Rpb24oKXtoLnVucXVldWVkLS0sbi5xdWV1ZShhLCJmeCIpLmxlbmd0aHx8aC5lbXB0eS5maXJlKCl9KX0pKSwxPT09YS5ub2RlVHlwZSYmKCJoZWlnaHQiaW4gYnx8IndpZHRoImluIGIpJiYoYy5vdmVyZmxvdz1bcC5vdmVyZmxvdyxwLm92ZXJmbG93WCxwLm92ZXJmbG93WV0saj1uLmNzcyhhLCJkaXNwbGF5Iiksaz0ibm9uZSI9PT1qP24uX2RhdGEoYSwib2xkZGlzcGxheSIpfHxNYShhLm5vZGVOYW1lKTpqLCJpbmxpbmUiPT09ayYmIm5vbmUiPT09bi5jc3MoYSwiZmxvYXQiKSYmKGwuaW5saW5lQmxvY2tOZWVkc0xheW91dCYmImlubGluZSIhPT1NYShhLm5vZGVOYW1lKT9wLnpvb209MTpwLmRpc3BsYXk9ImlubGluZS1ibG9jayIpKSxjLm92ZXJmbG93JiYocC5vdmVyZmxvdz0iaGlkZGVuIixsLnNocmlua1dyYXBCbG9ja3MoKXx8bS5hbHdheXMoZnVuY3Rpb24oKXtwLm92ZXJmbG93PWMub3ZlcmZsb3dbMF0scC5vdmVyZmxvd1g9Yy5vdmVyZmxvd1sxXSxwLm92ZXJmbG93WT1jLm92ZXJmbG93WzJdfSkpO2ZvcihkIGluIGIpaWYoZT1iW2RdLGpiLmV4ZWMoZSkpe2lmKGRlbGV0ZSBiW2RdLGY9Znx8InRvZ2dsZSI9PT1lLGU9PT0ocT8iaGlkZSI6InNob3ciKSl7aWYoInNob3ciIT09ZXx8IXJ8fHZvaWQgMD09PXJbZF0pY29udGludWU7cT0hMH1vW2RdPXImJnJbZF18fG4uc3R5bGUoYSxkKX1lbHNlIGo9dm9pZCAwO2lmKG4uaXNFbXB0eU9iamVjdChvKSkiaW5saW5lIj09PSgibm9uZSI9PT1qP01hKGEubm9kZU5hbWUpOmopJiYocC5kaXNwbGF5PWopO2Vsc2V7cj8iaGlkZGVuImluIHImJihxPXIuaGlkZGVuKTpyPW4uX2RhdGEoYSwiZnhzaG93Iix7fSksZiYmKHIuaGlkZGVuPSFxKSxxP24oYSkuc2hvdygpOm0uZG9uZShmdW5jdGlvbigpe24oYSkuaGlkZSgpfSksbS5kb25lKGZ1bmN0aW9uKCl7dmFyIGI7bi5fcmVtb3ZlRGF0YShhLCJmeHNob3ciKTtmb3IoYiBpbiBvKW4uc3R5bGUoYSxiLG9bYl0pfSk7Zm9yKGQgaW4gbylnPW5iKHE/cltkXTowLGQsbSksZCBpbiByfHwocltkXT1nLnN0YXJ0LHEmJihnLmVuZD1nLnN0YXJ0LGcuc3RhcnQ9IndpZHRoIj09PWR8fCJoZWlnaHQiPT09ZD8xOjApKX19ZnVuY3Rpb24gcGIoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1uLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG4uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9bi5jc3NIb29rc1tkXSxnJiYiZXhwYW5kImluIGcpe2Y9Zy5leHBhbmQoZiksZGVsZXRlIGFbZF07Zm9yKGMgaW4gZiljIGluIGF8fChhW2NdPWZbY10sYltjXT1lKX1lbHNlIGJbZF09ZX1mdW5jdGlvbiBxYihhLGIsYyl7dmFyIGQsZSxmPTAsZz1xYi5wcmVmaWx0ZXJzLmxlbmd0aCxoPW4uRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgaS5lbGVtfSksaT1mdW5jdGlvbigpe2lmKGUpcmV0dXJuITE7Zm9yKHZhciBiPWhifHxsYigpLGM9TWF0aC5tYXgoMCxqLnN0YXJ0VGltZStqLmR1cmF0aW9uLWIpLGQ9Yy9qLmR1cmF0aW9ufHwwLGY9MS1kLGc9MCxpPWoudHdlZW5zLmxlbmd0aDtpPmc7ZysrKWoudHdlZW5zW2ddLnJ1bihmKTtyZXR1cm4gaC5ub3RpZnlXaXRoKGEsW2osZixjXSksMT5mJiZpP2M6KGgucmVzb2x2ZVdpdGgoYSxbal0pLCExKX0saj1oLnByb21pc2Uoe2VsZW06YSxwcm9wczpuLmV4dGVuZCh7fSxiKSxvcHRzOm4uZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpuLmVhc2luZy5fZGVmYXVsdH0sYyksb3JpZ2luYWxQcm9wZXJ0aWVzOmIsb3JpZ2luYWxPcHRpb25zOmMsc3RhcnRUaW1lOmhifHxsYigpLGR1cmF0aW9uOmMuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9bi5Ud2VlbihhLGoub3B0cyxiLGMsai5vcHRzLnNwZWNpYWxFYXNpbmdbYl18fGoub3B0cy5lYXNpbmcpO3JldHVybiBqLnR3ZWVucy5wdXNoKGQpLGR9LHN0b3A6ZnVuY3Rpb24oYil7dmFyIGM9MCxkPWI/ai50d2VlbnMubGVuZ3RoOjA7aWYoZSlyZXR1cm4gdGhpcztmb3IoZT0hMDtkPmM7YysrKWoudHdlZW5zW2NdLnJ1bigxKTtyZXR1cm4gYj8oaC5ub3RpZnlXaXRoKGEsW2osMSwwXSksaC5yZXNvbHZlV2l0aChhLFtqLGJdKSk6aC5yZWplY3RXaXRoKGEsW2osYl0pLHRoaXN9fSksaz1qLnByb3BzO2ZvcihwYihrLGoub3B0cy5zcGVjaWFsRWFzaW5nKTtnPmY7ZisrKWlmKGQ9cWIucHJlZmlsdGVyc1tmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIG4uaXNGdW5jdGlvbihkLnN0b3ApJiYobi5fcXVldWVIb29rcyhqLmVsZW0sai5vcHRzLnF1ZXVlKS5zdG9wPW4ucHJveHkoZC5zdG9wLGQpKSxkO3JldHVybiBuLm1hcChrLG5iLGopLG4uaXNGdW5jdGlvbihqLm9wdHMuc3RhcnQpJiZqLm9wdHMuc3RhcnQuY2FsbChhLGopLG4uZngudGltZXIobi5leHRlbmQoaSx7ZWxlbTphLGFuaW06aixxdWV1ZTpqLm9wdHMucXVldWV9KSksai5wcm9ncmVzcyhqLm9wdHMucHJvZ3Jlc3MpLmRvbmUoai5vcHRzLmRvbmUsai5vcHRzLmNvbXBsZXRlKS5mYWlsKGoub3B0cy5mYWlsKS5hbHdheXMoai5vcHRzLmFsd2F5cyl9bi5BbmltYXRpb249bi5leHRlbmQocWIse3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpO3JldHVybiBYKGMuZWxlbSxhLFUuZXhlYyhiKSxjKSxjfV19LHR3ZWVuZXI6ZnVuY3Rpb24oYSxiKXtuLmlzRnVuY3Rpb24oYSk/KGI9YSxhPVsiKiJdKTphPWEubWF0Y2goRyk7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLHFiLnR3ZWVuZXJzW2NdPXFiLnR3ZWVuZXJzW2NdfHxbXSxxYi50d2VlbmVyc1tjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXJzOltvYl0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9xYi5wcmVmaWx0ZXJzLnVuc2hpZnQoYSk6cWIucHJlZmlsdGVycy5wdXNoKGEpfX0pLG4uc3BlZWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJiJvYmplY3QiPT10eXBlb2YgYT9uLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fG4uaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhbi5pc0Z1bmN0aW9uKGIpJiZifTtyZXR1cm4gZC5kdXJhdGlvbj1uLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2YgZC5kdXJhdGlvbj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gbi5meC5zcGVlZHM/bi5meC5zcGVlZHNbZC5kdXJhdGlvbl06bi5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ZC5xdWV1ZSYmZC5xdWV1ZSE9PSEwfHwoZC5xdWV1ZT0iZngiKSxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oKXtuLmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWUmJm4uZGVxdWV1ZSh0aGlzLGQucXVldWUpfSxkfSxuLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcihXKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uLmlzRW1wdHlPYmplY3QoYSksZj1uLnNwZWVkKGIsYyxkKSxnPWZ1bmN0aW9uKCl7dmFyIGI9cWIodGhpcyxuLmV4dGVuZCh7fSxhKSxmKTsoZXx8bi5fZGF0YSh0aGlzLCJmaW5pc2giKSkmJmIuc3RvcCghMCl9O3JldHVybiBnLmZpbmlzaD1nLGV8fGYucXVldWU9PT0hMT90aGlzLmVhY2goZyk6dGhpcy5xdWV1ZShmLnF1ZXVlLGcpfSxzdG9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1mdW5jdGlvbihhKXt2YXIgYj1hLnN0b3A7ZGVsZXRlIGEuc3RvcCxiKGMpfTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihjPWIsYj1hLGE9dm9pZCAwKSxiJiZhIT09ITEmJnRoaXMucXVldWUoYXx8ImZ4IixbXSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9ITAsZT1udWxsIT1hJiZhKyJxdWV1ZUhvb2tzIixmPW4udGltZXJzLGc9bi5fZGF0YSh0aGlzKTtpZihlKWdbZV0mJmdbZV0uc3RvcCYmZChnW2VdKTtlbHNlIGZvcihlIGluIGcpZ1tlXSYmZ1tlXS5zdG9wJiZrYi50ZXN0KGUpJiZkKGdbZV0pO2ZvcihlPWYubGVuZ3RoO2UtLTspZltlXS5lbGVtIT09dGhpc3x8bnVsbCE9YSYmZltlXS5xdWV1ZSE9PWF8fChmW2VdLmFuaW0uc3RvcChjKSxiPSExLGYuc3BsaWNlKGUsMSkpOyFiJiZjfHxuLmRlcXVldWUodGhpcyxhKX0pfSxmaW5pc2g6ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT0hMSYmKGE9YXx8ImZ4IiksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsYz1uLl9kYXRhKHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1uLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbi5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxuLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bi5mbltiXTtuLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUobWIoYiwhMCksYSxkLGUpfX0pLG4uZWFjaCh7c2xpZGVEb3duOm1iKCJzaG93Iiksc2xpZGVVcDptYigiaGlkZSIpLHNsaWRlVG9nZ2xlOm1iKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxuLnRpbWVycz1bXSxuLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPW4udGltZXJzLGM9MDtmb3IoaGI9bi5ub3coKTtjPGIubGVuZ3RoO2MrKylhPWJbY10sYSgpfHxiW2NdIT09YXx8Yi5zcGxpY2UoYy0tLDEpO2IubGVuZ3RofHxuLmZ4LnN0b3AoKSxoYj12b2lkIDB9LG4uZngudGltZXI9ZnVuY3Rpb24oYSl7bi50aW1lcnMucHVzaChhKSxhKCk/bi5meC5zdGFydCgpOm4udGltZXJzLnBvcCgpfSxuLmZ4LmludGVydmFsPTEzLG4uZnguc3RhcnQ9ZnVuY3Rpb24oKXtpYnx8KGliPWEuc2V0SW50ZXJ2YWwobi5meC50aWNrLG4uZnguaW50ZXJ2YWwpKX0sbi5meC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhckludGVydmFsKGliKSxpYj1udWxsfSxuLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxuLmZuLmRlbGF5PWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9bi5meD9uLmZ4LnNwZWVkc1tiXXx8YjpiLGM9Y3x8ImZ4Iix0aGlzLnF1ZXVlKGMsZnVuY3Rpb24oYyxkKXt2YXIgZT1hLnNldFRpbWVvdXQoYyxiKTtkLnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFyVGltZW91dChlKX19KX0sZnVuY3Rpb24oKXt2YXIgYSxiPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxjPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksZT1kLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGY9ZS5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTtjPWQuY3JlYXRlRWxlbWVudCgiZGl2IiksYy5zZXRBdHRyaWJ1dGUoImNsYXNzTmFtZSIsInQiKSxjLmlubmVySFRNTD0iICA8bGluay8+PHRhYmxlPjwvdGFibGU+PGEgaHJlZj0nL2EnPmE8L2E+PGlucHV0IHR5cGU9J2NoZWNrYm94Jy8+IixhPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxiLnNldEF0dHJpYnV0ZSgidHlwZSIsImNoZWNrYm94IiksYy5hcHBlbmRDaGlsZChiKSxhPWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImEiKVswXSxhLnN0eWxlLmNzc1RleHQ9InRvcDoxcHgiLGwuZ2V0U2V0QXR0cmlidXRlPSJ0IiE9PWMuY2xhc3NOYW1lLGwuc3R5bGU9L3RvcC8udGVzdChhLmdldEF0dHJpYnV0ZSgic3R5bGUiKSksbC5ocmVmTm9ybWFsaXplZD0iL2EiPT09YS5nZXRBdHRyaWJ1dGUoImhyZWYiKSxsLmNoZWNrT249ISFiLnZhbHVlLGwub3B0U2VsZWN0ZWQ9Zi5zZWxlY3RlZCxsLmVuY3R5cGU9ISFkLmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5lbmN0eXBlLGUuZGlzYWJsZWQ9ITAsbC5vcHREaXNhYmxlZD0hZi5kaXNhYmxlZCxiPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSxiLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSxsLmlucHV0PSIiPT09Yi5nZXRBdHRyaWJ1dGUoInZhbHVlIiksYi52YWx1ZT0idCIsYi5zZXRBdHRyaWJ1dGUoInR5cGUiLCJyYWRpbyIpLGwucmFkaW9WYWx1ZT0idCI9PT1iLnZhbHVlfSgpO3ZhciByYj0vXHIvZyxzYj0vW1x4MjBcdFxyXG5cZl0rL2c7bi5mbi5leHRlbmQoe3ZhbDpmdW5jdGlvbihhKXt2YXIgYixjLGQsZT10aGlzWzBdO3tpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiBkPW4uaXNGdW5jdGlvbihhKSx0aGlzLmVhY2goZnVuY3Rpb24oYyl7dmFyIGU7MT09PXRoaXMubm9kZVR5cGUmJihlPWQ/YS5jYWxsKHRoaXMsYyxuKHRoaXMpLnZhbCgpKTphLG51bGw9PWU/ZT0iIjoibnVtYmVyIj09dHlwZW9mIGU/ZSs9IiI6bi5pc0FycmF5KGUpJiYoZT1uLm1hcChlLGZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT1hPyIiOmErIiJ9KSksYj1uLnZhbEhvb2tzW3RoaXMudHlwZV18fG4udmFsSG9va3NbdGhpcy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYic2V0ImluIGImJnZvaWQgMCE9PWIuc2V0KHRoaXMsZSwidmFsdWUiKXx8KHRoaXMudmFsdWU9ZSkpfSk7aWYoZSlyZXR1cm4gYj1uLnZhbEhvb2tzW2UudHlwZV18fG4udmFsSG9va3NbZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSxiJiYiZ2V0ImluIGImJnZvaWQgMCE9PShjPWIuZ2V0KGUsInZhbHVlIikpP2M6KGM9ZS52YWx1ZSwic3RyaW5nIj09dHlwZW9mIGM/Yy5yZXBsYWNlKHJiLCIiKTpudWxsPT1jPyIiOmMpfX19KSxuLmV4dGVuZCh7dmFsSG9va3M6e29wdGlvbjp7Z2V0OmZ1bmN0aW9uKGEpe3ZhciBiPW4uZmluZC5hdHRyKGEsInZhbHVlIik7cmV0dXJuIG51bGwhPWI/YjpuLnRyaW0obi50ZXh0KGEpKS5yZXBsYWNlKHNiLCIgIil9fSxzZWxlY3Q6e2dldDpmdW5jdGlvbihhKXtmb3IodmFyIGIsYyxkPWEub3B0aW9ucyxlPWEuc2VsZWN0ZWRJbmRleCxmPSJzZWxlY3Qtb25lIj09PWEudHlwZXx8MD5lLGc9Zj9udWxsOltdLGg9Zj9lKzE6ZC5sZW5ndGgsaT0wPmU/aDpmP2U6MDtoPmk7aSsrKWlmKGM9ZFtpXSwoYy5zZWxlY3RlZHx8aT09PWUpJiYobC5vcHREaXNhYmxlZD8hYy5kaXNhYmxlZDpudWxsPT09Yy5nZXRBdHRyaWJ1dGUoImRpc2FibGVkIikpJiYoIWMucGFyZW50Tm9kZS5kaXNhYmxlZHx8IW4ubm9kZU5hbWUoYy5wYXJlbnROb2RlLCJvcHRncm91cCIpKSl7aWYoYj1uKGMpLnZhbCgpLGYpcmV0dXJuIGI7Zy5wdXNoKGIpfXJldHVybiBnfSxzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9YS5vcHRpb25zLGY9bi5tYWtlQXJyYXkoYiksZz1lLmxlbmd0aDt3aGlsZShnLS0paWYoZD1lW2ddLG4uaW5BcnJheShuLnZhbEhvb2tzLm9wdGlvbi5nZXQoZCksZik+LTEpdHJ5e2Quc2VsZWN0ZWQ9Yz0hMH1jYXRjaChoKXtkLnNjcm9sbEhlaWdodH1lbHNlIGQuc2VsZWN0ZWQ9ITE7cmV0dXJuIGN8fChhLnNlbGVjdGVkSW5kZXg9LTEpLGV9fX19KSxuLmVhY2goWyJyYWRpbyIsImNoZWNrYm94Il0sZnVuY3Rpb24oKXtuLnZhbEhvb2tzW3RoaXNdPXtzZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5pc0FycmF5KGIpP2EuY2hlY2tlZD1uLmluQXJyYXkobihhKS52YWwoKSxiKT4tMTp2b2lkIDB9fSxsLmNoZWNrT258fChuLnZhbEhvb2tzW3RoaXNdLmdldD1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09PWEuZ2V0QXR0cmlidXRlKCJ2YWx1ZSIpPyJvbiI6YS52YWx1ZX0pfSk7dmFyIHRiLHViLHZiPW4uZXhwci5hdHRySGFuZGxlLHdiPS9eKD86Y2hlY2tlZHxzZWxlY3RlZCkkL2kseGI9bC5nZXRTZXRBdHRyaWJ1dGUseWI9bC5pbnB1dDtuLmZuLmV4dGVuZCh7YXR0cjpmdW5jdGlvbihhLGIpe3JldHVybiBZKHRoaXMsbi5hdHRyLGEsYixhcmd1bWVudHMubGVuZ3RoPjEpfSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLnJlbW92ZUF0dHIodGhpcyxhKX0pfX0pLG4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5ub2RlVHlwZTtpZigzIT09ZiYmOCE9PWYmJjIhPT1mKXJldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgYS5nZXRBdHRyaWJ1dGU/bi5wcm9wKGEsYixjKTooMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPWIudG9Mb3dlckNhc2UoKSxlPW4uYXR0ckhvb2tzW2JdfHwobi5leHByLm1hdGNoLmJvb2wudGVzdChiKT91Yjp0YikpLHZvaWQgMCE9PWM/bnVsbD09PWM/dm9pZCBuLnJlbW92ZUF0dHIoYSxiKTplJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDooYS5zZXRBdHRyaWJ1dGUoYixjKyIiKSxjKTplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOihkPW4uZmluZC5hdHRyKGEsYiksbnVsbD09ZD92b2lkIDA6ZCkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihhLGIpe2lmKCFsLnJhZGlvVmFsdWUmJiJyYWRpbyI9PT1iJiZuLm5vZGVOYW1lKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7cmV0dXJuIGEuc2V0QXR0cmlidXRlKCJ0eXBlIixiKSxjJiYoYS52YWx1ZT1jKSxifX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPTAsZj1iJiZiLm1hdGNoKEcpO2lmKGYmJjE9PT1hLm5vZGVUeXBlKXdoaWxlKGM9ZltlKytdKWQ9bi5wcm9wRml4W2NdfHxjLG4uZXhwci5tYXRjaC5ib29sLnRlc3QoYyk/eWImJnhifHwhd2IudGVzdChjKT9hW2RdPSExOmFbbi5jYW1lbENhc2UoImRlZmF1bHQtIitjKV09YVtkXT0hMTpuLmF0dHIoYSxjLCIiKSxhLnJlbW92ZUF0dHJpYnV0ZSh4Yj9jOmQpfX0pLHViPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiPT09ITE/bi5yZW1vdmVBdHRyKGEsYyk6eWImJnhifHwhd2IudGVzdChjKT9hLnNldEF0dHJpYnV0ZSgheGImJm4ucHJvcEZpeFtjXXx8YyxjKTphW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIrYyldPWFbY109ITAsY319LG4uZWFjaChuLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPXZiW2JdfHxuLmZpbmQuYXR0cjt5YiYmeGJ8fCF3Yi50ZXN0KGIpP3ZiW2JdPWZ1bmN0aW9uKGEsYixkKXt2YXIgZSxmO3JldHVybiBkfHwoZj12YltiXSx2YltiXT1lLGU9bnVsbCE9YyhhLGIsZCk/Yi50b0xvd2VyQ2FzZSgpOm51bGwsdmJbYl09ZiksZX06dmJbYl09ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBjP3ZvaWQgMDphW24uY2FtZWxDYXNlKCJkZWZhdWx0LSIrYildP2IudG9Mb3dlckNhc2UoKTpudWxsfX0pLHliJiZ4Ynx8KG4uYXR0ckhvb2tzLnZhbHVlPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuLm5vZGVOYW1lKGEsImlucHV0Iik/dm9pZChhLmRlZmF1bHRWYWx1ZT1iKTp0YiYmdGIuc2V0KGEsYixjKX19KSx4Ynx8KHRiPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZ2V0QXR0cmlidXRlTm9kZShjKTtyZXR1cm4gZHx8YS5zZXRBdHRyaWJ1dGVOb2RlKGQ9YS5vd25lckRvY3VtZW50LmNyZWF0ZUF0dHJpYnV0ZShjKSksZC52YWx1ZT1iKz0iIiwidmFsdWUiPT09Y3x8Yj09PWEuZ2V0QXR0cmlidXRlKGMpP2I6dm9pZCAwfX0sdmIuaWQ9dmIubmFtZT12Yi5jb29yZHM9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDooZD1hLmdldEF0dHJpYnV0ZU5vZGUoYikpJiYiIiE9PWQudmFsdWU/ZC52YWx1ZTpudWxsfSxuLnZhbEhvb2tzLmJ1dHRvbj17Z2V0OmZ1bmN0aW9uKGEsYil7dmFyIGM9YS5nZXRBdHRyaWJ1dGVOb2RlKGIpO3JldHVybiBjJiZjLnNwZWNpZmllZD9jLnZhbHVlOnZvaWQgMH0sc2V0OnRiLnNldH0sbi5hdHRySG9va3MuY29udGVudGVkaXRhYmxlPXtzZXQ6ZnVuY3Rpb24oYSxiLGMpe3RiLnNldChhLCIiPT09Yj8hMTpiLGMpfX0sbi5lYWNoKFsid2lkdGgiLCJoZWlnaHQiXSxmdW5jdGlvbihhLGIpe24uYXR0ckhvb2tzW2JdPXtzZXQ6ZnVuY3Rpb24oYSxjKXtyZXR1cm4iIj09PWM/KGEuc2V0QXR0cmlidXRlKGIsImF1dG8iKSxjKTp2b2lkIDB9fX0pKSxsLnN0eWxlfHwobi5hdHRySG9va3Muc3R5bGU9e2dldDpmdW5jdGlvbihhKXtyZXR1cm4gYS5zdHlsZS5jc3NUZXh0fHx2b2lkIDB9LHNldDpmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0eWxlLmNzc1RleHQ9YisiIn19KTt2YXIgemI9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9ufG9iamVjdCkkL2ksQWI9L14oPzphfGFyZWEpJC9pO24uZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYil7cmV0dXJuIFkodGhpcyxuLnByb3AsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9bi5wcm9wRml4W2FdfHxhLHRoaXMuZWFjaChmdW5jdGlvbigpe3RyeXt0aGlzW2FdPXZvaWQgMCxkZWxldGUgdGhpc1thXX1jYXRjaChiKXt9fSl9fSksbi5leHRlbmQoe3Byb3A6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuIDE9PT1mJiZuLmlzWE1MRG9jKGEpfHwoYj1uLnByb3BGaXhbYl18fGIsZT1uLnByb3BIb29rc1tiXSksdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTp6Yi50ZXN0KGEubm9kZU5hbWUpfHxBYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxsLmhyZWZOb3JtYWxpemVkfHxuLmVhY2goWyJocmVmIiwic3JjIl0sZnVuY3Rpb24oYSxiKXtuLnByb3BIb29rc1tiXT17Z2V0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZShiLDQpfX19KSxsLm9wdFNlbGVjdGVkfHwobi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJihiLnNlbGVjdGVkSW5kZXgsYi5wYXJlbnROb2RlJiZiLnBhcmVudE5vZGUuc2VsZWN0ZWRJbmRleCksbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLG4uZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7bi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pLGwuZW5jdHlwZXx8KG4ucHJvcEZpeC5lbmN0eXBlPSJlbmNvZGluZyIpO3ZhciBCYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIENiKGEpe3JldHVybiBuLmF0dHIoYSwiY2xhc3MiKXx8IiJ9bi5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk9MDtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLmFkZENsYXNzKGEuY2FsbCh0aGlzLGIsQ2IodGhpcykpKX0pO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEcpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPUNiKGMpLGQ9MT09PWMubm9kZVR5cGUmJigiICIrZSsiICIpLnJlcGxhY2UoQmIsIiAiKSl7Zz0wO3doaWxlKGY9YltnKytdKWQuaW5kZXhPZigiICIrZisiICIpPDAmJihkKz1mKyIgIik7aD1uLnRyaW0oZCksZSE9PWgmJm4uYXR0cihjLCJjbGFzcyIsaCl9fXJldHVybiB0aGlzfSxyZW1vdmVDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5yZW1vdmVDbGFzcyhhLmNhbGwodGhpcyxiLENiKHRoaXMpKSl9KTtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5hdHRyKCJjbGFzcyIsIiIpO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmYSl7Yj1hLm1hdGNoKEcpfHxbXTt3aGlsZShjPXRoaXNbaSsrXSlpZihlPUNiKGMpLGQ9MT09PWMubm9kZVR5cGUmJigiICIrZSsiICIpLnJlcGxhY2UoQmIsIiAiKSl7Zz0wO3doaWxlKGY9YltnKytdKXdoaWxlKGQuaW5kZXhPZigiICIrZisiICIpPi0xKWQ9ZC5yZXBsYWNlKCIgIitmKyIgIiwiICIpO2g9bi50cmltKGQpLGUhPT1oJiZuLmF0dHIoYywiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30sdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24oYSxiKXt2YXIgYz10eXBlb2YgYTtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBiJiYic3RyaW5nIj09PWM/Yj90aGlzLmFkZENsYXNzKGEpOnRoaXMucmVtb3ZlQ2xhc3MoYSk6bi5pc0Z1bmN0aW9uKGEpP3RoaXMuZWFjaChmdW5jdGlvbihjKXtuKHRoaXMpLnRvZ2dsZUNsYXNzKGEuY2FsbCh0aGlzLGMsQ2IodGhpcyksYiksYil9KTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixkLGUsZjtpZigic3RyaW5nIj09PWMpe2Q9MCxlPW4odGhpcyksZj1hLm1hdGNoKEcpfHxbXTt3aGlsZShiPWZbZCsrXSllLmhhc0NsYXNzKGIpP2UucmVtb3ZlQ2xhc3MoYik6ZS5hZGRDbGFzcyhiKX1lbHNlIHZvaWQgMCE9PWEmJiJib29sZWFuIiE9PWN8fChiPUNiKHRoaXMpLGImJm4uX2RhdGEodGhpcywiX19jbGFzc05hbWVfXyIsYiksbi5hdHRyKHRoaXMsImNsYXNzIixifHxhPT09ITE/IiI6bi5fZGF0YSh0aGlzLCJfX2NsYXNzTmFtZV9fIil8fCIiKSl9KX0saGFzQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPTA7Yj0iICIrYSsiICI7d2hpbGUoYz10aGlzW2QrK10paWYoMT09PWMubm9kZVR5cGUmJigiICIrQ2IoYykrIiAiKS5yZXBsYWNlKEJiLCIgIikuaW5kZXhPZihiKT4tMSlyZXR1cm4hMDtyZXR1cm4hMX19KSxuLmVhY2goImJsdXIgZm9jdXMgZm9jdXNpbiBmb2N1c291dCBsb2FkIHJlc2l6ZSBzY3JvbGwgdW5sb2FkIGNsaWNrIGRibGNsaWNrIG1vdXNlZG93biBtb3VzZXVwIG1vdXNlbW92ZSBtb3VzZW92ZXIgbW91c2VvdXQgbW91c2VlbnRlciBtb3VzZWxlYXZlIGNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgZXJyb3IgY29udGV4dG1lbnUiLnNwbGl0KCIgIiksZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEsYyl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+MD90aGlzLm9uKGIsbnVsbCxhLGMpOnRoaXMudHJpZ2dlcihiKX19KSxuLmZuLmV4dGVuZCh7aG92ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5tb3VzZWVudGVyKGEpLm1vdXNlbGVhdmUoYnx8YSl9fSk7dmFyIERiPWEubG9jYXRpb24sRWI9bi5ub3coKSxGYj0vXD8vLEdiPS8oLCl8KFxbfHspfCh9fF0pfCIoPzpbXiJcXFxyXG5dfFxcWyJcXFwvYmZucnRdfFxcdVtcZGEtZkEtRl17NH0pKiJccyo6P3x0cnVlfGZhbHNlfG51bGx8LT8oPyEwXGQpXGQrKD86XC5cZCt8KSg/OltlRV1bKy1dP1xkK3wpL2c7bi5wYXJzZUpTT049ZnVuY3Rpb24oYil7aWYoYS5KU09OJiZhLkpTT04ucGFyc2UpcmV0dXJuIGEuSlNPTi5wYXJzZShiKyIiKTt2YXIgYyxkPW51bGwsZT1uLnRyaW0oYisiIik7cmV0dXJuIGUmJiFuLnRyaW0oZS5yZXBsYWNlKEdiLGZ1bmN0aW9uKGEsYixlLGYpe3JldHVybiBjJiZiJiYoZD0wKSwwPT09ZD9hOihjPWV8fGIsZCs9IWYtIWUsIiIpfSkpP0Z1bmN0aW9uKCJyZXR1cm4gIitlKSgpOm4uZXJyb3IoIkludmFsaWQgSlNPTjogIitiKX0sbi5wYXJzZVhNTD1mdW5jdGlvbihiKXt2YXIgYyxkO2lmKCFifHwic3RyaW5nIiE9dHlwZW9mIGIpcmV0dXJuIG51bGw7dHJ5e2EuRE9NUGFyc2VyPyhkPW5ldyBhLkRPTVBhcnNlcixjPWQucGFyc2VGcm9tU3RyaW5nKGIsInRleHQveG1sIikpOihjPW5ldyBhLkFjdGl2ZVhPYmplY3QoIk1pY3Jvc29mdC5YTUxET00iKSxjLmFzeW5jPSJmYWxzZSIsYy5sb2FkWE1MKGIpKX1jYXRjaChlKXtjPXZvaWQgMH1yZXR1cm4gYyYmYy5kb2N1bWVudEVsZW1lbnQmJiFjLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJwYXJzZXJlcnJvciIpLmxlbmd0aHx8bi5lcnJvcigiSW52YWxpZCBYTUw6ICIrYiksY307dmFyIEhiPS8jLiokLyxJYj0vKFs/Jl0pXz1bXiZdKi8sSmI9L14oLio/KTpbIFx0XSooW15cclxuXSopXHI/JC9nbSxLYj0vXig/OmFib3V0fGFwcHxhcHAtc3RvcmFnZXwuKy1leHRlbnNpb258ZmlsZXxyZXN8d2lkZ2V0KTokLyxMYj0vXig/OkdFVHxIRUFEKSQvLE1iPS9eXC9cLy8sTmI9L14oW1x3ListXSs6KSg/OlwvXC8oPzpbXlwvPyNdKkB8KShbXlwvPyM6XSopKD86OihcZCspfCl8KS8sT2I9e30sUGI9e30sUWI9IiovIi5jb25jYXQoIioiKSxSYj1EYi5ocmVmLFNiPU5iLmV4ZWMoUmIudG9Mb3dlckNhc2UoKSl8fFtdO2Z1bmN0aW9uIFRiKGEpe3JldHVybiBmdW5jdGlvbihiLGMpeyJzdHJpbmciIT10eXBlb2YgYiYmKGM9YixiPSIqIik7dmFyIGQsZT0wLGY9Yi50b0xvd2VyQ2FzZSgpLm1hdGNoKEcpfHxbXTtpZihuLmlzRnVuY3Rpb24oYykpd2hpbGUoZD1mW2UrK10pIisiPT09ZC5jaGFyQXQoMCk/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24gVWIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09UGI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxuLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiBWYihhLGIpe3ZhciBjLGQsZT1uLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGQgaW4gYil2b2lkIDAhPT1iW2RdJiYoKGVbZF0/YTpjfHwoYz17fSkpW2RdPWJbZF0pO3JldHVybiBjJiZuLmV4dGVuZCghMCxhLGMpLGF9ZnVuY3Rpb24gV2IoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWUmJihlPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihlKWZvcihnIGluIGgpaWYoaFtnXSYmaFtnXS50ZXN0KGUpKXtpLnVuc2hpZnQoZyk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGcgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tnKyIgIitpWzBdXSl7Zj1nO2JyZWFrfWR8fChkPWcpfWY9Znx8ZH1yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gWGIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1uLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6UmIsdHlwZToiR0VUIixpc0xvY2FsOktiLnRlc3QoU2JbMV0pLGdsb2JhbDohMCxwcm9jZXNzRGF0YTohMCxhc3luYzohMCxjb250ZW50VHlwZToiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04IixhY2NlcHRzOnsiKiI6UWIsdGV4dDoidGV4dC9wbGFpbiIsaHRtbDoidGV4dC9odG1sIix4bWw6ImFwcGxpY2F0aW9uL3htbCwgdGV4dC94bWwiLGpzb246ImFwcGxpY2F0aW9uL2pzb24sIHRleHQvamF2YXNjcmlwdCJ9LGNvbnRlbnRzOnt4bWw6L1xieG1sXGIvLGh0bWw6L1xiaHRtbC8sanNvbjovXGJqc29uXGIvfSxyZXNwb25zZUZpZWxkczp7eG1sOiJyZXNwb25zZVhNTCIsdGV4dDoicmVzcG9uc2VUZXh0Iixqc29uOiJyZXNwb25zZUpTT04ifSxjb252ZXJ0ZXJzOnsiKiB0ZXh0IjpTdHJpbmcsInRleHQgaHRtbCI6ITAsInRleHQganNvbiI6bi5wYXJzZUpTT04sInRleHQgeG1sIjpuLnBhcnNlWE1MfSxmbGF0T3B0aW9uczp7dXJsOiEwLGNvbnRleHQ6ITB9fSxhamF4U2V0dXA6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYj9WYihWYihhLG4uYWpheFNldHRpbmdzKSxiKTpWYihuLmFqYXhTZXR0aW5ncyxhKX0sYWpheFByZWZpbHRlcjpUYihPYiksYWpheFRyYW5zcG9ydDpUYihQYiksYWpheDpmdW5jdGlvbihiLGMpeyJvYmplY3QiPT10eXBlb2YgYiYmKGM9YixiPXZvaWQgMCksYz1jfHx7fTt2YXIgZCxlLGYsZyxoLGksaixrLGw9bi5hamF4U2V0dXAoe30sYyksbT1sLmNvbnRleHR8fGwsbz1sLmNvbnRleHQmJihtLm5vZGVUeXBlfHxtLmpxdWVyeSk/bihtKTpuLmV2ZW50LHA9bi5EZWZlcnJlZCgpLHE9bi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5Iikscj1sLnN0YXR1c0NvZGV8fHt9LHM9e30sdD17fSx1PTAsdj0iY2FuY2VsZWQiLHc9e3JlYWR5U3RhdGU6MCxnZXRSZXNwb25zZUhlYWRlcjpmdW5jdGlvbihhKXt2YXIgYjtpZigyPT09dSl7aWYoIWspe2s9e307d2hpbGUoYj1KYi5leGVjKGcpKWtbYlsxXS50b0xvd2VyQ2FzZSgpXT1iWzJdfWI9a1thLnRvTG93ZXJDYXNlKCldfXJldHVybiBudWxsPT1iP251bGw6Yn0sZ2V0QWxsUmVzcG9uc2VIZWFkZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIDI9PT11P2c6bnVsbH0sc2V0UmVxdWVzdEhlYWRlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWEudG9Mb3dlckNhc2UoKTtyZXR1cm4gdXx8KGE9dFtjXT10W2NdfHxhLHNbYV09YiksdGhpc30sb3ZlcnJpZGVNaW1lVHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gdXx8KGwubWltZVR5cGU9YSksdGhpc30sc3RhdHVzQ29kZTpmdW5jdGlvbihhKXt2YXIgYjtpZihhKWlmKDI+dSlmb3IoYiBpbiBhKXJbYl09W3JbYl0sYVtiXV07ZWxzZSB3LmFsd2F5cyhhW3cuc3RhdHVzXSk7cmV0dXJuIHRoaXN9LGFib3J0OmZ1bmN0aW9uKGEpe3ZhciBiPWF8fHY7cmV0dXJuIGomJmouYWJvcnQoYikseSgwLGIpLHRoaXN9fTtpZihwLnByb21pc2UodykuY29tcGxldGU9cS5hZGQsdy5zdWNjZXNzPXcuZG9uZSx3LmVycm9yPXcuZmFpbCxsLnVybD0oKGJ8fGwudXJsfHxSYikrIiIpLnJlcGxhY2UoSGIsIiIpLnJlcGxhY2UoTWIsU2JbMV0rIi8vIiksbC50eXBlPWMubWV0aG9kfHxjLnR5cGV8fGwubWV0aG9kfHxsLnR5cGUsbC5kYXRhVHlwZXM9bi50cmltKGwuZGF0YVR5cGV8fCIqIikudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8WyIiXSxudWxsPT1sLmNyb3NzRG9tYWluJiYoZD1OYi5leGVjKGwudXJsLnRvTG93ZXJDYXNlKCkpLGwuY3Jvc3NEb21haW49ISghZHx8ZFsxXT09PVNiWzFdJiZkWzJdPT09U2JbMl0mJihkWzNdfHwoImh0dHA6Ij09PWRbMV0/IjgwIjoiNDQzIikpPT09KFNiWzNdfHwoImh0dHA6Ij09PVNiWzFdPyI4MCI6IjQ0MyIpKSkpLGwuZGF0YSYmbC5wcm9jZXNzRGF0YSYmInN0cmluZyIhPXR5cGVvZiBsLmRhdGEmJihsLmRhdGE9bi5wYXJhbShsLmRhdGEsbC50cmFkaXRpb25hbCkpLFViKE9iLGwsYyx3KSwyPT09dSlyZXR1cm4gdztpPW4uZXZlbnQmJmwuZ2xvYmFsLGkmJjA9PT1uLmFjdGl2ZSsrJiZuLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLGwudHlwZT1sLnR5cGUudG9VcHBlckNhc2UoKSxsLmhhc0NvbnRlbnQ9IUxiLnRlc3QobC50eXBlKSxmPWwudXJsLGwuaGFzQ29udGVudHx8KGwuZGF0YSYmKGY9bC51cmwrPShGYi50ZXN0KGYpPyImIjoiPyIpK2wuZGF0YSxkZWxldGUgbC5kYXRhKSxsLmNhY2hlPT09ITEmJihsLnVybD1JYi50ZXN0KGYpP2YucmVwbGFjZShJYiwiJDFfPSIrRWIrKyk6ZisoRmIudGVzdChmKT8iJiI6Ij8iKSsiXz0iK0ViKyspKSxsLmlmTW9kaWZpZWQmJihuLmxhc3RNb2RpZmllZFtmXSYmdy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Nb2RpZmllZC1TaW5jZSIsbi5sYXN0TW9kaWZpZWRbZl0pLG4uZXRhZ1tmXSYmdy5zZXRSZXF1ZXN0SGVhZGVyKCJJZi1Ob25lLU1hdGNoIixuLmV0YWdbZl0pKSwobC5kYXRhJiZsLmhhc0NvbnRlbnQmJmwuY29udGVudFR5cGUhPT0hMXx8Yy5jb250ZW50VHlwZSkmJncuc2V0UmVxdWVzdEhlYWRlcigiQ29udGVudC1UeXBlIixsLmNvbnRlbnRUeXBlKSx3LnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsbC5kYXRhVHlwZXNbMF0mJmwuYWNjZXB0c1tsLmRhdGFUeXBlc1swXV0/bC5hY2NlcHRzW2wuZGF0YVR5cGVzWzBdXSsoIioiIT09bC5kYXRhVHlwZXNbMF0/IiwgIitRYisiOyBxPTAuMDEiOiIiKTpsLmFjY2VwdHNbIioiXSk7Zm9yKGUgaW4gbC5oZWFkZXJzKXcuc2V0UmVxdWVzdEhlYWRlcihlLGwuaGVhZGVyc1tlXSk7aWYobC5iZWZvcmVTZW5kJiYobC5iZWZvcmVTZW5kLmNhbGwobSx3LGwpPT09ITF8fDI9PT11KSlyZXR1cm4gdy5hYm9ydCgpO3Y9ImFib3J0Ijtmb3IoZSBpbntzdWNjZXNzOjEsZXJyb3I6MSxjb21wbGV0ZToxfSl3W2VdKGxbZV0pO2lmKGo9VWIoUGIsbCxjLHcpKXtpZih3LnJlYWR5U3RhdGU9MSxpJiZvLnRyaWdnZXIoImFqYXhTZW5kIixbdyxsXSksMj09PXUpcmV0dXJuIHc7bC5hc3luYyYmbC50aW1lb3V0PjAmJihoPWEuc2V0VGltZW91dChmdW5jdGlvbigpe3cuYWJvcnQoInRpbWVvdXQiKX0sbC50aW1lb3V0KSk7dHJ5e3U9MSxqLnNlbmQocyx5KX1jYXRjaCh4KXtpZighKDI+dSkpdGhyb3cgeDt5KC0xLHgpfX1lbHNlIHkoLTEsIk5vIFRyYW5zcG9ydCIpO2Z1bmN0aW9uIHkoYixjLGQsZSl7dmFyIGsscyx0LHYseCx5PWM7MiE9PXUmJih1PTIsaCYmYS5jbGVhclRpbWVvdXQoaCksaj12b2lkIDAsZz1lfHwiIix3LnJlYWR5U3RhdGU9Yj4wPzQ6MCxrPWI+PTIwMCYmMzAwPmJ8fDMwND09PWIsZCYmKHY9V2IobCx3LGQpKSx2PVhiKGwsdix3LGspLGs/KGwuaWZNb2RpZmllZCYmKHg9dy5nZXRSZXNwb25zZUhlYWRlcigiTGFzdC1Nb2RpZmllZCIpLHgmJihuLmxhc3RNb2RpZmllZFtmXT14KSx4PXcuZ2V0UmVzcG9uc2VIZWFkZXIoImV0YWciKSx4JiYobi5ldGFnW2ZdPXgpKSwyMDQ9PT1ifHwiSEVBRCI9PT1sLnR5cGU/eT0ibm9jb250ZW50IjozMDQ9PT1iP3k9Im5vdG1vZGlmaWVkIjooeT12LnN0YXRlLHM9di5kYXRhLHQ9di5lcnJvcixrPSF0KSk6KHQ9eSwhYiYmeXx8KHk9ImVycm9yIiwwPmImJihiPTApKSksdy5zdGF0dXM9Yix3LnN0YXR1c1RleHQ9KGN8fHkpKyIiLGs/cC5yZXNvbHZlV2l0aChtLFtzLHksd10pOnAucmVqZWN0V2l0aChtLFt3LHksdF0pLHcuc3RhdHVzQ29kZShyKSxyPXZvaWQgMCxpJiZvLnRyaWdnZXIoaz8iYWpheFN1Y2Nlc3MiOiJhamF4RXJyb3IiLFt3LGwsaz9zOnRdKSxxLmZpcmVXaXRoKG0sW3cseV0pLGkmJihvLnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3csbF0pLC0tbi5hY3RpdmV8fG4uZXZlbnQudHJpZ2dlcigiYWpheFN0b3AiKSkpfXJldHVybiB3fSxnZXRKU09OOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbi5nZXQoYSxiLGMsImpzb24iKX0sZ2V0U2NyaXB0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIG4uZ2V0KGEsdm9pZCAwLGIsInNjcmlwdCIpfX0pLG4uZWFjaChbImdldCIsInBvc3QiXSxmdW5jdGlvbihhLGIpe25bYl09ZnVuY3Rpb24oYSxjLGQsZSl7cmV0dXJuIG4uaXNGdW5jdGlvbihjKSYmKGU9ZXx8ZCxkPWMsYz12b2lkIDApLG4uYWpheChuLmV4dGVuZCh7dXJsOmEsdHlwZTpiLGRhdGFUeXBlOmUsZGF0YTpjLHN1Y2Nlc3M6ZH0sbi5pc1BsYWluT2JqZWN0KGEpJiZhKSl9fSksbi5fZXZhbFVybD1mdW5jdGlvbihhKXtyZXR1cm4gbi5hamF4KHt1cmw6YSx0eXBlOiJHRVQiLGRhdGFUeXBlOiJzY3JpcHQiLGNhY2hlOiEwLGFzeW5jOiExLGdsb2JhbDohMSwidGhyb3dzIjohMH0pfSxuLmZuLmV4dGVuZCh7d3JhcEFsbDpmdW5jdGlvbihhKXtpZihuLmlzRnVuY3Rpb24oYSkpcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbihiKXtuKHRoaXMpLndyYXBBbGwoYS5jYWxsKHRoaXMsYikpfSk7aWYodGhpc1swXSl7dmFyIGI9bihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApO3RoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RDaGlsZCYmMT09PWEuZmlyc3RDaGlsZC5ub2RlVHlwZSlhPWEuZmlyc3RDaGlsZDtyZXR1cm4gYX0pLmFwcGVuZCh0aGlzKX1yZXR1cm4gdGhpc30sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPW4odGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9bi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe24ubm9kZU5hbWUodGhpcywiYm9keSIpfHxuKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KTtmdW5jdGlvbiBZYihhKXtyZXR1cm4gYS5zdHlsZSYmYS5zdHlsZS5kaXNwbGF5fHxuLmNzcyhhLCJkaXNwbGF5Iil9ZnVuY3Rpb24gWmIoYSl7aWYoIW4uY29udGFpbnMoYS5vd25lckRvY3VtZW50fHxkLGEpKXJldHVybiEwO3doaWxlKGEmJjE9PT1hLm5vZGVUeXBlKXtpZigibm9uZSI9PT1ZYihhKXx8ImhpZGRlbiI9PT1hLnR5cGUpcmV0dXJuITA7YT1hLnBhcmVudE5vZGV9cmV0dXJuITF9bi5leHByLmZpbHRlcnMuaGlkZGVuPWZ1bmN0aW9uKGEpe3JldHVybiBsLnJlbGlhYmxlSGlkZGVuT2Zmc2V0cygpP2Eub2Zmc2V0V2lkdGg8PTAmJmEub2Zmc2V0SGVpZ2h0PD0wJiYhYS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aDpaYihhKX0sbi5leHByLmZpbHRlcnMudmlzaWJsZT1mdW5jdGlvbihhKXtyZXR1cm4hbi5leHByLmZpbHRlcnMuaGlkZGVuKGEpfTt2YXIgJGI9LyUyMC9nLF9iPS9cW1xdJC8sYWM9L1xyP1xuL2csYmM9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLGNjPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBkYyhhLGIsYyxkKXt2YXIgZTtpZihuLmlzQXJyYXkoYikpbi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxfYi50ZXN0KGEpP2QoYSxlKTpkYyhhKyJbIisoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT1lP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKGN8fCJvYmplY3QiIT09bi50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpZGMoYSsiWyIrZSsiXSIsYltlXSxjLGQpfW4ucGFyYW09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPW4uaXNGdW5jdGlvbihiKT9iKCk6bnVsbD09Yj8iIjpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1uLmFqYXhTZXR0aW5ncyYmbi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG4uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFuLmlzUGxhaW5PYmplY3QoYSkpbi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlkYyhjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZSgkYiwiKyIpfSxuLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1uLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gYT9uLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFuKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmY2MudGVzdCh0aGlzLm5vZGVOYW1lKSYmIWJjLnRlc3QoYSkmJih0aGlzLmNoZWNrZWR8fCFaLnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9bih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOm4uaXNBcnJheShjKT9uLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoYWMsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKGFjLCJcclxuIil9fSkuZ2V0KCl9fSksbi5hamF4U2V0dGluZ3MueGhyPXZvaWQgMCE9PWEuQWN0aXZlWE9iamVjdD9mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzTG9jYWw/aWMoKTpkLmRvY3VtZW50TW9kZT44P2hjKCk6L14oZ2V0fHBvc3R8aGVhZHxwdXR8ZGVsZXRlfG9wdGlvbnMpJC9pLnRlc3QodGhpcy50eXBlKSYmaGMoKXx8aWMoKX06aGM7dmFyIGVjPTAsZmM9e30sZ2M9bi5hamF4U2V0dGluZ3MueGhyKCk7YS5hdHRhY2hFdmVudCYmYS5hdHRhY2hFdmVudCgib251bmxvYWQiLGZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIGZjKWZjW2FdKHZvaWQgMCwhMCl9KSxsLmNvcnM9ISFnYyYmIndpdGhDcmVkZW50aWFscyJpbiBnYyxnYz1sLmFqYXg9ISFnYyxnYyYmbi5hamF4VHJhbnNwb3J0KGZ1bmN0aW9uKGIpe2lmKCFiLmNyb3NzRG9tYWlufHxsLmNvcnMpe3ZhciBjO3JldHVybntzZW5kOmZ1bmN0aW9uKGQsZSl7dmFyIGYsZz1iLnhocigpLGg9KytlYztpZihnLm9wZW4oYi50eXBlLGIudXJsLGIuYXN5bmMsYi51c2VybmFtZSxiLnBhc3N3b3JkKSxiLnhockZpZWxkcylmb3IoZiBpbiBiLnhockZpZWxkcylnW2ZdPWIueGhyRmllbGRzW2ZdO2IubWltZVR5cGUmJmcub3ZlcnJpZGVNaW1lVHlwZSYmZy5vdmVycmlkZU1pbWVUeXBlKGIubWltZVR5cGUpLGIuY3Jvc3NEb21haW58fGRbIlgtUmVxdWVzdGVkLVdpdGgiXXx8KGRbIlgtUmVxdWVzdGVkLVdpdGgiXT0iWE1MSHR0cFJlcXVlc3QiKTtmb3IoZiBpbiBkKXZvaWQgMCE9PWRbZl0mJmcuc2V0UmVxdWVzdEhlYWRlcihmLGRbZl0rIiIpO2cuc2VuZChiLmhhc0NvbnRlbnQmJmIuZGF0YXx8bnVsbCksYz1mdW5jdGlvbihhLGQpe3ZhciBmLGksajtpZihjJiYoZHx8ND09PWcucmVhZHlTdGF0ZSkpaWYoZGVsZXRlIGZjW2hdLGM9dm9pZCAwLGcub25yZWFkeXN0YXRlY2hhbmdlPW4ubm9vcCxkKTQhPT1nLnJlYWR5U3RhdGUmJmcuYWJvcnQoKTtlbHNle2o9e30sZj1nLnN0YXR1cywic3RyaW5nIj09dHlwZW9mIGcucmVzcG9uc2VUZXh0JiYoai50ZXh0PWcucmVzcG9uc2VUZXh0KTt0cnl7aT1nLnN0YXR1c1RleHR9Y2F0Y2goayl7aT0iIn1mfHwhYi5pc0xvY2FsfHxiLmNyb3NzRG9tYWluPzEyMjM9PT1mJiYoZj0yMDQpOmY9ai50ZXh0PzIwMDo0MDR9aiYmZShmLGksaixnLmdldEFsbFJlc3BvbnNlSGVhZGVycygpKX0sYi5hc3luYz80PT09Zy5yZWFkeVN0YXRlP2Euc2V0VGltZW91dChjKTpnLm9ucmVhZHlzdGF0ZWNoYW5nZT1mY1toXT1jOmMoKX0sYWJvcnQ6ZnVuY3Rpb24oKXtjJiZjKHZvaWQgMCwhMCl9fX19KTtmdW5jdGlvbiBoYygpe3RyeXtyZXR1cm4gbmV3IGEuWE1MSHR0cFJlcXVlc3R9Y2F0Y2goYil7fX1mdW5jdGlvbiBpYygpe3RyeXtyZXR1cm4gbmV3IGEuQWN0aXZlWE9iamVjdCgiTWljcm9zb2Z0LlhNTEhUVFAiKX1jYXRjaChiKXt9fW4uYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBuLmdsb2JhbEV2YWwoYSksYX19fSksbi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiLGEuZ2xvYmFsPSExKX0pLG4uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjPWQuaGVhZHx8bigiaGVhZCIpWzBdfHxkLmRvY3VtZW50RWxlbWVudDtyZXR1cm57c2VuZDpmdW5jdGlvbihlLGYpe2I9ZC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxiLmFzeW5jPSEwLGEuc2NyaXB0Q2hhcnNldCYmKGIuY2hhcnNldD1hLnNjcmlwdENoYXJzZXQpLGIuc3JjPWEudXJsLGIub25sb2FkPWIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKGEsYyl7KGN8fCFiLnJlYWR5U3RhdGV8fC9sb2FkZWR8Y29tcGxldGUvLnRlc3QoYi5yZWFkeVN0YXRlKSkmJihiLm9ubG9hZD1iLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpLGI9bnVsbCxjfHxmKDIwMCwic3VjY2VzcyIpKX0sYy5pbnNlcnRCZWZvcmUoYixjLmZpcnN0Q2hpbGQpfSxhYm9ydDpmdW5jdGlvbigpe2ImJmIub25sb2FkKHZvaWQgMCwhMCl9fX19KTt2YXIgamM9W10sa2M9Lyg9KVw/KD89JnwkKXxcP1w/LztuLmFqYXhTZXR1cCh7anNvbnA6ImNhbGxiYWNrIixqc29ucENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIGE9amMucG9wKCl8fG4uZXhwYW5kbysiXyIrRWIrKztyZXR1cm4gdGhpc1thXT0hMCxhfX0pLG4uYWpheFByZWZpbHRlcigianNvbiBqc29ucCIsZnVuY3Rpb24oYixjLGQpe3ZhciBlLGYsZyxoPWIuanNvbnAhPT0hMSYmKGtjLnRlc3QoYi51cmwpPyJ1cmwiOiJzdHJpbmciPT10eXBlb2YgYi5kYXRhJiYwPT09KGIuY29udGVudFR5cGV8fCIiKS5pbmRleE9mKCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiKSYma2MudGVzdChiLmRhdGEpJiYiZGF0YSIpO3JldHVybiBofHwianNvbnAiPT09Yi5kYXRhVHlwZXNbMF0/KGU9Yi5qc29ucENhbGxiYWNrPW4uaXNGdW5jdGlvbihiLmpzb25wQ2FsbGJhY2spP2IuanNvbnBDYWxsYmFjaygpOmIuanNvbnBDYWxsYmFjayxoP2JbaF09YltoXS5yZXBsYWNlKGtjLCIkMSIrZSk6Yi5qc29ucCE9PSExJiYoYi51cmwrPShGYi50ZXN0KGIudXJsKT8iJiI6Ij8iKStiLmpzb25wKyI9IitlKSxiLmNvbnZlcnRlcnNbInNjcmlwdCBqc29uIl09ZnVuY3Rpb24oKXtyZXR1cm4gZ3x8bi5lcnJvcihlKyIgd2FzIG5vdCBjYWxsZWQiKSxnWzBdfSxiLmRhdGFUeXBlc1swXT0ianNvbiIsZj1hW2VdLGFbZV09ZnVuY3Rpb24oKXtnPWFyZ3VtZW50c30sZC5hbHdheXMoZnVuY3Rpb24oKXt2b2lkIDA9PT1mP24oYSkucmVtb3ZlUHJvcChlKTphW2VdPWYsYltlXSYmKGIuanNvbnBDYWxsYmFjaz1jLmpzb25wQ2FsbGJhY2ssamMucHVzaChlKSksZyYmbi5pc0Z1bmN0aW9uKGYpJiZmKGdbMF0pLGc9Zj12b2lkIDB9KSwic2NyaXB0Iik6dm9pZCAwfSksbi5wYXJzZUhUTUw9ZnVuY3Rpb24oYSxiLGMpe2lmKCFhfHwic3RyaW5nIiE9dHlwZW9mIGEpcmV0dXJuIG51bGw7ImJvb2xlYW4iPT10eXBlb2YgYiYmKGM9YixiPSExKSxiPWJ8fGQ7dmFyIGU9eC5leGVjKGEpLGY9IWMmJltdO3JldHVybiBlP1tiLmNyZWF0ZUVsZW1lbnQoZVsxXSldOihlPWphKFthXSxiLGYpLGYmJmYubGVuZ3RoJiZuKGYpLnJlbW92ZSgpLG4ubWVyZ2UoW10sZS5jaGlsZE5vZGVzKSl9O3ZhciBsYz1uLmZuLmxvYWQ7bi5mbi5sb2FkPWZ1bmN0aW9uKGEsYixjKXtpZigic3RyaW5nIiE9dHlwZW9mIGEmJmxjKXJldHVybiBsYy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGQsZSxmLGc9dGhpcyxoPWEuaW5kZXhPZigiICIpO3JldHVybiBoPi0xJiYoZD1uLnRyaW0oYS5zbGljZShoLGEubGVuZ3RoKSksYT1hLnNsaWNlKDAsaCkpLG4uaXNGdW5jdGlvbihiKT8oYz1iLGI9dm9pZCAwKTpiJiYib2JqZWN0Ij09dHlwZW9mIGImJihlPSJQT1NUIiksZy5sZW5ndGg+MCYmbi5hamF4KHt1cmw6YSx0eXBlOmV8fCJHRVQiLGRhdGFUeXBlOiJodG1sIixkYXRhOmJ9KS5kb25lKGZ1bmN0aW9uKGEpe2Y9YXJndW1lbnRzLGcuaHRtbChkP24oIjxkaXY+IikuYXBwZW5kKG4ucGFyc2VIVE1MKGEpKS5maW5kKGQpOmEpfSkuYWx3YXlzKGMmJmZ1bmN0aW9uKGEsYil7Zy5lYWNoKGZ1bmN0aW9uKCl7Yy5hcHBseSh0aGlzLGZ8fFthLnJlc3BvbnNlVGV4dCxiLGFdKX0pfSksdGhpc30sbi5lYWNoKFsiYWpheFN0YXJ0IiwiYWpheFN0b3AiLCJhamF4Q29tcGxldGUiLCJhamF4RXJyb3IiLCJhamF4U3VjY2VzcyIsImFqYXhTZW5kIl0sZnVuY3Rpb24oYSxiKXtuLmZuW2JdPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLm9uKGIsYSl9fSksbi5leHByLmZpbHRlcnMuYW5pbWF0ZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIG4uZ3JlcChuLnRpbWVycyxmdW5jdGlvbihiKXtyZXR1cm4gYT09PWIuZWxlbX0pLmxlbmd0aH07ZnVuY3Rpb24gbWMoYSl7cmV0dXJuIG4uaXNXaW5kb3coYSk/YTo5PT09YS5ub2RlVHlwZT9hLmRlZmF1bHRWaWV3fHxhLnBhcmVudFdpbmRvdzohMX1uLm9mZnNldD17c2V0T2Zmc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrPW4uY3NzKGEsInBvc2l0aW9uIiksbD1uKGEpLG09e307InN0YXRpYyI9PT1rJiYoYS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSxoPWwub2Zmc2V0KCksZj1uLmNzcyhhLCJ0b3AiKSxpPW4uY3NzKGEsImxlZnQiKSxqPSgiYWJzb2x1dGUiPT09a3x8ImZpeGVkIj09PWspJiZuLmluQXJyYXkoImF1dG8iLFtmLGldKT4tMSxqPyhkPWwucG9zaXRpb24oKSxnPWQudG9wLGU9ZC5sZWZ0KTooZz1wYXJzZUZsb2F0KGYpfHwwLGU9cGFyc2VGbG9hdChpKXx8MCksbi5pc0Z1bmN0aW9uKGIpJiYoYj1iLmNhbGwoYSxjLG4uZXh0ZW5kKHt9LGgpKSksbnVsbCE9Yi50b3AmJihtLnRvcD1iLnRvcC1oLnRvcCtnKSxudWxsIT1iLmxlZnQmJihtLmxlZnQ9Yi5sZWZ0LWgubGVmdCtlKSwidXNpbmciaW4gYj9iLnVzaW5nLmNhbGwoYSxtKTpsLmNzcyhtKX19LG4uZm4uZXh0ZW5kKHtvZmZzZXQ6ZnVuY3Rpb24oYSl7aWYoYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09YT90aGlzOnRoaXMuZWFjaChmdW5jdGlvbihiKXtuLm9mZnNldC5zZXRPZmZzZXQodGhpcyxhLGIpfSk7dmFyIGIsYyxkPXt0b3A6MCxsZWZ0OjB9LGU9dGhpc1swXSxmPWUmJmUub3duZXJEb2N1bWVudDtpZihmKXJldHVybiBiPWYuZG9jdW1lbnRFbGVtZW50LG4uY29udGFpbnMoYixlKT8oInVuZGVmaW5lZCIhPXR5cGVvZiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCYmKGQ9ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksYz1tYyhmKSx7dG9wOmQudG9wKyhjLnBhZ2VZT2Zmc2V0fHxiLnNjcm9sbFRvcCktKGIuY2xpZW50VG9wfHwwKSxsZWZ0OmQubGVmdCsoYy5wYWdlWE9mZnNldHx8Yi5zY3JvbGxMZWZ0KS0oYi5jbGllbnRMZWZ0fHwwKX0pOmR9LHBvc2l0aW9uOmZ1bmN0aW9uKCl7aWYodGhpc1swXSl7dmFyIGEsYixjPXt0b3A6MCxsZWZ0OjB9LGQ9dGhpc1swXTtyZXR1cm4iZml4ZWQiPT09bi5jc3MoZCwicG9zaXRpb24iKT9iPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6KGE9dGhpcy5vZmZzZXRQYXJlbnQoKSxiPXRoaXMub2Zmc2V0KCksbi5ub2RlTmFtZShhWzBdLCJodG1sIil8fChjPWEub2Zmc2V0KCkpLGMudG9wKz1uLmNzcyhhWzBdLCJib3JkZXJUb3BXaWR0aCIsITApLGMubGVmdCs9bi5jc3MoYVswXSwiYm9yZGVyTGVmdFdpZHRoIiwhMCkpLHt0b3A6Yi50b3AtYy50b3Atbi5jc3MoZCwibWFyZ2luVG9wIiwhMCksbGVmdDpiLmxlZnQtYy5sZWZ0LW4uY3NzKGQsIm1hcmdpbkxlZnQiLCEwKX19fSxvZmZzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9mZnNldFBhcmVudDt3aGlsZShhJiYhbi5ub2RlTmFtZShhLCJodG1sIikmJiJzdGF0aWMiPT09bi5jc3MoYSwicG9zaXRpb24iKSlhPWEub2Zmc2V0UGFyZW50O3JldHVybiBhfHxRYX0pfX0pLG4uZWFjaCh7c2Nyb2xsTGVmdDoicGFnZVhPZmZzZXQiLHNjcm9sbFRvcDoicGFnZVlPZmZzZXQifSxmdW5jdGlvbihhLGIpe3ZhciBjPS9ZLy50ZXN0KGIpO24uZm5bYV09ZnVuY3Rpb24oZCl7cmV0dXJuIFkodGhpcyxmdW5jdGlvbihhLGQsZSl7dmFyIGY9bWMoYSk7cmV0dXJuIHZvaWQgMD09PWU/Zj9iIGluIGY/ZltiXTpmLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudFtkXTphW2RdOnZvaWQoZj9mLnNjcm9sbFRvKGM/bihmKS5zY3JvbGxMZWZ0KCk6ZSxjP2U6bihmKS5zY3JvbGxUb3AoKSk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgsbnVsbCl9fSksbi5lYWNoKFsidG9wIiwibGVmdCJdLGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1tiXT1VYShsLnBpeGVsUG9zaXRpb24sZnVuY3Rpb24oYSxjKXtyZXR1cm4gYz8oYz1TYShhLGIpLE9hLnRlc3QoYyk/bihhKS5wb3NpdGlvbigpW2JdKyJweCI6Yyk6dm9pZCAwfSl9KSxuLmVhY2goe0hlaWdodDoiaGVpZ2h0IixXaWR0aDoid2lkdGgifSxmdW5jdGlvbihhLGIpe24uZWFjaCh7DQpwYWRkaW5nOiJpbm5lciIrYSxjb250ZW50OmIsIiI6Im91dGVyIithfSxmdW5jdGlvbihjLGQpe24uZm5bZF09ZnVuY3Rpb24oZCxlKXt2YXIgZj1hcmd1bWVudHMubGVuZ3RoJiYoY3x8ImJvb2xlYW4iIT10eXBlb2YgZCksZz1jfHwoZD09PSEwfHxlPT09ITA/Im1hcmdpbiI6ImJvcmRlciIpO3JldHVybiBZKHRoaXMsZnVuY3Rpb24oYixjLGQpe3ZhciBlO3JldHVybiBuLmlzV2luZG93KGIpP2IuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50WyJjbGllbnQiK2FdOjk9PT1iLm5vZGVUeXBlPyhlPWIuZG9jdW1lbnRFbGVtZW50LE1hdGgubWF4KGIuYm9keVsic2Nyb2xsIithXSxlWyJzY3JvbGwiK2FdLGIuYm9keVsib2Zmc2V0IithXSxlWyJvZmZzZXQiK2FdLGVbImNsaWVudCIrYV0pKTp2b2lkIDA9PT1kP24uY3NzKGIsYyxnKTpuLnN0eWxlKGIsYyxkLGcpfSxiLGY/ZDp2b2lkIDAsZixudWxsKX19KX0pLG4uZm4uZXh0ZW5kKHtiaW5kOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5vbihhLG51bGwsYixjKX0sdW5iaW5kOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub2ZmKGEsbnVsbCxiKX0sZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIHRoaXMub24oYixhLGMsZCl9LHVuZGVsZWdhdGU6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiAxPT09YXJndW1lbnRzLmxlbmd0aD90aGlzLm9mZihhLCIqKiIpOnRoaXMub2ZmKGIsYXx8IioqIixjKX19KSxuLmZuLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sZW5ndGh9LG4uZm4uYW5kU2VsZj1uLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG59KTt2YXIgbmM9YS5qUXVlcnksb2M9YS4kO3JldHVybiBuLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW4mJihhLiQ9b2MpLGImJmEualF1ZXJ5PT09biYmKGEualF1ZXJ5PW5jKSxufSxifHwoYS5qUXVlcnk9YS4kPW4pLG59KTsNCg=="}},"time_used":55,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":49,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/popper.min.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.782Z","timestamp":1785135591782,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/popper.min.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 6929\r\ncache-control: public, max-age=604800\r\nexpires: Sat, 01 Aug 2026 00:40:50 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"5012-68bf75d4-1a1c879c5b0d67e9;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 195541\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: caf2294390d9761824bcc1ae89f1490f-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":20498,"size_decoded":7537,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (20322), with CRLF line terminators","md5":"9b1dcd93871ac6da23becaef039b4b16","sha1":"3cf72db9816ea8cf313e6891fac2b9ad810a6fdb","sha256":"5f2a323cdac82cec5be5ee5416fec1b1f2d622c98166677215859af195ed29ad","sha512":"4f8a18119b63c6db95389d643c7951c401e0f933bb8bf8768c017e4a2ab715a494a69f2117b913eca37c1e60dcec02b3b5d5804e52e5083cb1d8e20e063e6e05","ssdeep":"384:25LFrVVVnCQvIR/CFU4hHPV4kdxXvYqo2D75zCx+vI2am3MxGpGTgd/9jt9+Db9H:INVVVnyiU41xXvlD7wx+v0xyGTgnZO9H","tlshash":"f392a2cc3294b06647e791a7a07f960eb2339875650e9410f299f2e97c30ef9913bc79","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:26:47.052354Z","times_seen":2270,"resource_available":true,"data":"LyoNCiBDb3B5cmlnaHQgKEMpIEZlZGVyaWNvIFppdm9sbyAyMDE4DQogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlIChsaWNlbnNlIHRlcm1zIGFyZSBhdCBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUKS4NCiAqLyhmdW5jdGlvbihlLHQpeydvYmplY3QnPT10eXBlb2YgZXhwb3J0cyYmJ3VuZGVmaW5lZCchPXR5cGVvZiBtb2R1bGU/bW9kdWxlLmV4cG9ydHM9dCgpOidmdW5jdGlvbic9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKHQpOmUuUG9wcGVyPXQoKX0pKHRoaXMsZnVuY3Rpb24oKXsndXNlIHN0cmljdCc7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZSYmJ1tvYmplY3QgRnVuY3Rpb25dJz09PXt9LnRvU3RyaW5nLmNhbGwoZSl9ZnVuY3Rpb24gdChlLHQpe2lmKDEhPT1lLm5vZGVUeXBlKXJldHVybltdO3ZhciBvPWdldENvbXB1dGVkU3R5bGUoZSxudWxsKTtyZXR1cm4gdD9vW3RdOm99ZnVuY3Rpb24gbyhlKXtyZXR1cm4nSFRNTCc9PT1lLm5vZGVOYW1lP2U6ZS5wYXJlbnROb2RlfHxlLmhvc3R9ZnVuY3Rpb24gbihlKXtpZighZSlyZXR1cm4gZG9jdW1lbnQuYm9keTtzd2l0Y2goZS5ub2RlTmFtZSl7Y2FzZSdIVE1MJzpjYXNlJ0JPRFknOnJldHVybiBlLm93bmVyRG9jdW1lbnQuYm9keTtjYXNlJyNkb2N1bWVudCc6cmV0dXJuIGUuYm9keTt9dmFyIGk9dChlKSxyPWkub3ZlcmZsb3cscD1pLm92ZXJmbG93WCxzPWkub3ZlcmZsb3dZO3JldHVybiAvKGF1dG98c2Nyb2xsfG92ZXJsYXkpLy50ZXN0KHIrcytwKT9lOm4obyhlKSl9ZnVuY3Rpb24gcihlKXtpZighZSlyZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O2Zvcih2YXIgbz1pZSgxMCk/ZG9jdW1lbnQuYm9keTpudWxsLG49ZS5vZmZzZXRQYXJlbnQ7bj09PW8mJmUubmV4dEVsZW1lbnRTaWJsaW5nOyluPShlPWUubmV4dEVsZW1lbnRTaWJsaW5nKS5vZmZzZXRQYXJlbnQ7dmFyIGk9biYmbi5ub2RlTmFtZTtyZXR1cm4gaSYmJ0JPRFknIT09aSYmJ0hUTUwnIT09aT8tMSE9PVsnVEQnLCdUQUJMRSddLmluZGV4T2Yobi5ub2RlTmFtZSkmJidzdGF0aWMnPT09dChuLCdwb3NpdGlvbicpP3Iobik6bjplP2Uub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fWZ1bmN0aW9uIHAoZSl7dmFyIHQ9ZS5ub2RlTmFtZTtyZXR1cm4nQk9EWSchPT10JiYoJ0hUTUwnPT09dHx8cihlLmZpcnN0RWxlbWVudENoaWxkKT09PWUpfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIG51bGw9PT1lLnBhcmVudE5vZGU/ZTpzKGUucGFyZW50Tm9kZSl9ZnVuY3Rpb24gZChlLHQpe2lmKCFlfHwhZS5ub2RlVHlwZXx8IXR8fCF0Lm5vZGVUeXBlKXJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7dmFyIG89ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0KSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX0ZPTExPV0lORyxuPW8/ZTp0LGk9bz90OmUsYT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2Euc2V0U3RhcnQobiwwKSxhLnNldEVuZChpLDApO3ZhciBsPWEuY29tbW9uQW5jZXN0b3JDb250YWluZXI7aWYoZSE9PWwmJnQhPT1sfHxuLmNvbnRhaW5zKGkpKXJldHVybiBwKGwpP2w6cihsKTt2YXIgZj1zKGUpO3JldHVybiBmLmhvc3Q/ZChmLmhvc3QsdCk6ZChlLHModCkuaG9zdCl9ZnVuY3Rpb24gYShlKXt2YXIgdD0xPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06J3RvcCcsbz0ndG9wJz09PXQ/J3Njcm9sbFRvcCc6J3Njcm9sbExlZnQnLG49ZS5ub2RlTmFtZTtpZignQk9EWSc9PT1ufHwnSFRNTCc9PT1uKXt2YXIgaT1lLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHI9ZS5vd25lckRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnR8fGk7cmV0dXJuIHJbb119cmV0dXJuIGVbb119ZnVuY3Rpb24gbChlLHQpe3ZhciBvPTI8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzJdJiZhcmd1bWVudHNbMl0sbj1hKHQsJ3RvcCcpLGk9YSh0LCdsZWZ0Jykscj1vPy0xOjE7cmV0dXJuIGUudG9wKz1uKnIsZS5ib3R0b20rPW4qcixlLmxlZnQrPWkqcixlLnJpZ2h0Kz1pKnIsZX1mdW5jdGlvbiBmKGUsdCl7dmFyIG89J3gnPT09dD8nTGVmdCc6J1RvcCcsbj0nTGVmdCc9PW8/J1JpZ2h0JzonQm90dG9tJztyZXR1cm4gcGFyc2VGbG9hdChlWydib3JkZXInK28rJ1dpZHRoJ10sMTApK3BhcnNlRmxvYXQoZVsnYm9yZGVyJytuKydXaWR0aCddLDEwKX1mdW5jdGlvbiBtKGUsdCxvLG4pe3JldHVybiBRKHRbJ29mZnNldCcrZV0sdFsnc2Nyb2xsJytlXSxvWydjbGllbnQnK2VdLG9bJ29mZnNldCcrZV0sb1snc2Nyb2xsJytlXSxpZSgxMCk/b1snb2Zmc2V0JytlXStuWydtYXJnaW4nKygnSGVpZ2h0Jz09PWU/J1RvcCc6J0xlZnQnKV0rblsnbWFyZ2luJysoJ0hlaWdodCc9PT1lPydCb3R0b20nOidSaWdodCcpXTowKX1mdW5jdGlvbiBoKCl7dmFyIGU9ZG9jdW1lbnQuYm9keSx0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxvPWllKDEwKSYmZ2V0Q29tcHV0ZWRTdHlsZSh0KTtyZXR1cm57aGVpZ2h0Om0oJ0hlaWdodCcsZSx0LG8pLHdpZHRoOm0oJ1dpZHRoJyxlLHQsbyl9fWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGRlKHt9LGUse3JpZ2h0OmUubGVmdCtlLndpZHRoLGJvdHRvbTplLnRvcCtlLmhlaWdodH0pfWZ1bmN0aW9uIGcoZSl7dmFyIG89e307dHJ5e2lmKGllKDEwKSl7bz1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3ZhciBuPWEoZSwndG9wJyksaT1hKGUsJ2xlZnQnKTtvLnRvcCs9bixvLmxlZnQrPWksby5ib3R0b20rPW4sby5yaWdodCs9aX1lbHNlIG89ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaCh0KXt9dmFyIHI9e2xlZnQ6by5sZWZ0LHRvcDpvLnRvcCx3aWR0aDpvLnJpZ2h0LW8ubGVmdCxoZWlnaHQ6by5ib3R0b20tby50b3B9LHA9J0hUTUwnPT09ZS5ub2RlTmFtZT9oKCk6e30scz1wLndpZHRofHxlLmNsaWVudFdpZHRofHxyLnJpZ2h0LXIubGVmdCxkPXAuaGVpZ2h0fHxlLmNsaWVudEhlaWdodHx8ci5ib3R0b20tci50b3AsbD1lLm9mZnNldFdpZHRoLXMsbT1lLm9mZnNldEhlaWdodC1kO2lmKGx8fG0pe3ZhciBnPXQoZSk7bC09ZihnLCd4JyksbS09ZihnLCd5Jyksci53aWR0aC09bCxyLmhlaWdodC09bX1yZXR1cm4gYyhyKX1mdW5jdGlvbiB1KGUsbyl7dmFyIGk9Mjxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxyPWllKDEwKSxwPSdIVE1MJz09PW8ubm9kZU5hbWUscz1nKGUpLGQ9ZyhvKSxhPW4oZSksZj10KG8pLG09cGFyc2VGbG9hdChmLmJvcmRlclRvcFdpZHRoLDEwKSxoPXBhcnNlRmxvYXQoZi5ib3JkZXJMZWZ0V2lkdGgsMTApO2kmJidIVE1MJz09PW8ubm9kZU5hbWUmJihkLnRvcD1RKGQudG9wLDApLGQubGVmdD1RKGQubGVmdCwwKSk7dmFyIHU9Yyh7dG9wOnMudG9wLWQudG9wLW0sbGVmdDpzLmxlZnQtZC5sZWZ0LWgsd2lkdGg6cy53aWR0aCxoZWlnaHQ6cy5oZWlnaHR9KTtpZih1Lm1hcmdpblRvcD0wLHUubWFyZ2luTGVmdD0wLCFyJiZwKXt2YXIgYj1wYXJzZUZsb2F0KGYubWFyZ2luVG9wLDEwKSx5PXBhcnNlRmxvYXQoZi5tYXJnaW5MZWZ0LDEwKTt1LnRvcC09bS1iLHUuYm90dG9tLT1tLWIsdS5sZWZ0LT1oLXksdS5yaWdodC09aC15LHUubWFyZ2luVG9wPWIsdS5tYXJnaW5MZWZ0PXl9cmV0dXJuKHImJiFpP28uY29udGFpbnMoYSk6bz09PWEmJidCT0RZJyE9PWEubm9kZU5hbWUpJiYodT1sKHUsbykpLHV9ZnVuY3Rpb24gYihlKXt2YXIgdD0xPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmYXJndW1lbnRzWzFdLG89ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxuPXUoZSxvKSxpPVEoby5jbGllbnRXaWR0aCx3aW5kb3cuaW5uZXJXaWR0aHx8MCkscj1RKG8uY2xpZW50SGVpZ2h0LHdpbmRvdy5pbm5lckhlaWdodHx8MCkscD10PzA6YShvKSxzPXQ/MDphKG8sJ2xlZnQnKSxkPXt0b3A6cC1uLnRvcCtuLm1hcmdpblRvcCxsZWZ0OnMtbi5sZWZ0K24ubWFyZ2luTGVmdCx3aWR0aDppLGhlaWdodDpyfTtyZXR1cm4gYyhkKX1mdW5jdGlvbiB5KGUpe3ZhciBuPWUubm9kZU5hbWU7cmV0dXJuJ0JPRFknPT09bnx8J0hUTUwnPT09bj8hMTonZml4ZWQnPT09dChlLCdwb3NpdGlvbicpfHx5KG8oZSkpfWZ1bmN0aW9uIHcoZSl7aWYoIWV8fCFlLnBhcmVudEVsZW1lbnR8fGllKCkpcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtmb3IodmFyIG89ZS5wYXJlbnRFbGVtZW50O28mJidub25lJz09PXQobywndHJhbnNmb3JtJyk7KW89by5wYXJlbnRFbGVtZW50O3JldHVybiBvfHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnR9ZnVuY3Rpb24gRShlLHQsaSxyKXt2YXIgcD00PGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XSYmYXJndW1lbnRzWzRdLHM9e3RvcDowLGxlZnQ6MH0sYT1wP3coZSk6ZChlLHQpO2lmKCd2aWV3cG9ydCc9PT1yKXM9YihhLHApO2Vsc2V7dmFyIGw7J3Njcm9sbFBhcmVudCc9PT1yPyhsPW4obyh0KSksJ0JPRFknPT09bC5ub2RlTmFtZSYmKGw9ZS5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpOid3aW5kb3cnPT09cj9sPWUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6bD1yO3ZhciBmPXUobCxhLHApO2lmKCdIVE1MJz09PWwubm9kZU5hbWUmJiF5KGEpKXt2YXIgbT1oKCksYz1tLmhlaWdodCxnPW0ud2lkdGg7cy50b3ArPWYudG9wLWYubWFyZ2luVG9wLHMuYm90dG9tPWMrZi50b3Ascy5sZWZ0Kz1mLmxlZnQtZi5tYXJnaW5MZWZ0LHMucmlnaHQ9ZytmLmxlZnR9ZWxzZSBzPWZ9cmV0dXJuIHMubGVmdCs9aSxzLnRvcCs9aSxzLnJpZ2h0LT1pLHMuYm90dG9tLT1pLHN9ZnVuY3Rpb24gdihlKXt2YXIgdD1lLndpZHRoLG89ZS5oZWlnaHQ7cmV0dXJuIHQqb31mdW5jdGlvbiB4KGUsdCxvLG4saSl7dmFyIHI9NTxhcmd1bWVudHMubGVuZ3RoJiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0/YXJndW1lbnRzWzVdOjA7aWYoLTE9PT1lLmluZGV4T2YoJ2F1dG8nKSlyZXR1cm4gZTt2YXIgcD1FKG8sbixyLGkpLHM9e3RvcDp7d2lkdGg6cC53aWR0aCxoZWlnaHQ6dC50b3AtcC50b3B9LHJpZ2h0Ont3aWR0aDpwLnJpZ2h0LXQucmlnaHQsaGVpZ2h0OnAuaGVpZ2h0fSxib3R0b206e3dpZHRoOnAud2lkdGgsaGVpZ2h0OnAuYm90dG9tLXQuYm90dG9tfSxsZWZ0Ont3aWR0aDp0LmxlZnQtcC5sZWZ0LGhlaWdodDpwLmhlaWdodH19LGQ9T2JqZWN0LmtleXMocykubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBkZSh7a2V5OmV9LHNbZV0se2FyZWE6dihzW2VdKX0pfSkuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiB0LmFyZWEtZS5hcmVhfSksYT1kLmZpbHRlcihmdW5jdGlvbihlKXt2YXIgdD1lLndpZHRoLG49ZS5oZWlnaHQ7cmV0dXJuIHQ+PW8uY2xpZW50V2lkdGgmJm4+PW8uY2xpZW50SGVpZ2h0fSksbD0wPGEubGVuZ3RoP2FbMF0ua2V5OmRbMF0ua2V5LGY9ZS5zcGxpdCgnLScpWzFdO3JldHVybiBsKyhmPyctJytmOicnKX1mdW5jdGlvbiBPKGUsdCxvKXt2YXIgbj0zPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106bnVsbCxpPW4/dyh0KTpkKHQsbyk7cmV0dXJuIHUobyxpLG4pfWZ1bmN0aW9uIEwoZSl7dmFyIHQ9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPXBhcnNlRmxvYXQodC5tYXJnaW5Ub3ApK3BhcnNlRmxvYXQodC5tYXJnaW5Cb3R0b20pLG49cGFyc2VGbG9hdCh0Lm1hcmdpbkxlZnQpK3BhcnNlRmxvYXQodC5tYXJnaW5SaWdodCksaT17d2lkdGg6ZS5vZmZzZXRXaWR0aCtuLGhlaWdodDplLm9mZnNldEhlaWdodCtvfTtyZXR1cm4gaX1mdW5jdGlvbiBTKGUpe3ZhciB0PXtsZWZ0OidyaWdodCcscmlnaHQ6J2xlZnQnLGJvdHRvbTondG9wJyx0b3A6J2JvdHRvbSd9O3JldHVybiBlLnJlcGxhY2UoL2xlZnR8cmlnaHR8Ym90dG9tfHRvcC9nLGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfSl9ZnVuY3Rpb24gVChlLHQsbyl7bz1vLnNwbGl0KCctJylbMF07dmFyIG49TChlKSxpPXt3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH0scj0tMSE9PVsncmlnaHQnLCdsZWZ0J10uaW5kZXhPZihvKSxwPXI/J3RvcCc6J2xlZnQnLHM9cj8nbGVmdCc6J3RvcCcsZD1yPydoZWlnaHQnOid3aWR0aCcsYT1yPyd3aWR0aCc6J2hlaWdodCc7cmV0dXJuIGlbcF09dFtwXSt0W2RdLzItbltkXS8yLGlbc109bz09PXM/dFtzXS1uW2FdOnRbUyhzKV0saX1mdW5jdGlvbiBEKGUsdCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5maW5kP2UuZmluZCh0KTplLmZpbHRlcih0KVswXX1mdW5jdGlvbiBDKGUsdCxvKXtpZihBcnJheS5wcm90b3R5cGUuZmluZEluZGV4KXJldHVybiBlLmZpbmRJbmRleChmdW5jdGlvbihlKXtyZXR1cm4gZVt0XT09PW99KTt2YXIgbj1EKGUsZnVuY3Rpb24oZSl7cmV0dXJuIGVbdF09PT1vfSk7cmV0dXJuIGUuaW5kZXhPZihuKX1mdW5jdGlvbiBOKHQsbyxuKXt2YXIgaT12b2lkIDA9PT1uP3Q6dC5zbGljZSgwLEModCwnbmFtZScsbikpO3JldHVybiBpLmZvckVhY2goZnVuY3Rpb24odCl7dFsnZnVuY3Rpb24nXSYmY29uc29sZS53YXJuKCdgbW9kaWZpZXIuZnVuY3Rpb25gIGlzIGRlcHJlY2F0ZWQsIHVzZSBgbW9kaWZpZXIuZm5gIScpO3ZhciBuPXRbJ2Z1bmN0aW9uJ118fHQuZm47dC5lbmFibGVkJiZlKG4pJiYoby5vZmZzZXRzLnBvcHBlcj1jKG8ub2Zmc2V0cy5wb3BwZXIpLG8ub2Zmc2V0cy5yZWZlcmVuY2U9YyhvLm9mZnNldHMucmVmZXJlbmNlKSxvPW4obyx0KSl9KSxvfWZ1bmN0aW9uIGsoKXtpZighdGhpcy5zdGF0ZS5pc0Rlc3Ryb3llZCl7dmFyIGU9e2luc3RhbmNlOnRoaXMsc3R5bGVzOnt9LGFycm93U3R5bGVzOnt9LGF0dHJpYnV0ZXM6e30sZmxpcHBlZDohMSxvZmZzZXRzOnt9fTtlLm9mZnNldHMucmVmZXJlbmNlPU8odGhpcy5zdGF0ZSx0aGlzLnBvcHBlcix0aGlzLnJlZmVyZW5jZSx0aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCksZS5wbGFjZW1lbnQ9eCh0aGlzLm9wdGlvbnMucGxhY2VtZW50LGUub2Zmc2V0cy5yZWZlcmVuY2UsdGhpcy5wb3BwZXIsdGhpcy5yZWZlcmVuY2UsdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5wYWRkaW5nKSxlLm9yaWdpbmFsUGxhY2VtZW50PWUucGxhY2VtZW50LGUucG9zaXRpb25GaXhlZD10aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZCxlLm9mZnNldHMucG9wcGVyPVQodGhpcy5wb3BwZXIsZS5vZmZzZXRzLnJlZmVyZW5jZSxlLnBsYWNlbWVudCksZS5vZmZzZXRzLnBvcHBlci5wb3NpdGlvbj10aGlzLm9wdGlvbnMucG9zaXRpb25GaXhlZD8nZml4ZWQnOidhYnNvbHV0ZScsZT1OKHRoaXMubW9kaWZpZXJzLGUpLHRoaXMuc3RhdGUuaXNDcmVhdGVkP3RoaXMub3B0aW9ucy5vblVwZGF0ZShlKToodGhpcy5zdGF0ZS5pc0NyZWF0ZWQ9ITAsdGhpcy5vcHRpb25zLm9uQ3JlYXRlKGUpKX19ZnVuY3Rpb24gUChlLHQpe3JldHVybiBlLnNvbWUoZnVuY3Rpb24oZSl7dmFyIG89ZS5uYW1lLG49ZS5lbmFibGVkO3JldHVybiBuJiZvPT09dH0pfWZ1bmN0aW9uIFcoZSl7Zm9yKHZhciB0PVshMSwnbXMnLCdXZWJraXQnLCdNb3onLCdPJ10sbz1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSksbj0wO248dC5sZW5ndGg7bisrKXt2YXIgaT10W25dLHI9aT8nJytpK286ZTtpZigndW5kZWZpbmVkJyE9dHlwZW9mIGRvY3VtZW50LmJvZHkuc3R5bGVbcl0pcmV0dXJuIHJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gQigpe3JldHVybiB0aGlzLnN0YXRlLmlzRGVzdHJveWVkPSEwLFAodGhpcy5tb2RpZmllcnMsJ2FwcGx5U3R5bGUnKSYmKHRoaXMucG9wcGVyLnJlbW92ZUF0dHJpYnV0ZSgneC1wbGFjZW1lbnQnKSx0aGlzLnBvcHBlci5zdHlsZS5wb3NpdGlvbj0nJyx0aGlzLnBvcHBlci5zdHlsZS50b3A9JycsdGhpcy5wb3BwZXIuc3R5bGUubGVmdD0nJyx0aGlzLnBvcHBlci5zdHlsZS5yaWdodD0nJyx0aGlzLnBvcHBlci5zdHlsZS5ib3R0b209JycsdGhpcy5wb3BwZXIuc3R5bGUud2lsbENoYW5nZT0nJyx0aGlzLnBvcHBlci5zdHlsZVtXKCd0cmFuc2Zvcm0nKV09JycpLHRoaXMuZGlzYWJsZUV2ZW50TGlzdGVuZXJzKCksdGhpcy5vcHRpb25zLnJlbW92ZU9uRGVzdHJveSYmdGhpcy5wb3BwZXIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBvcHBlciksdGhpc31mdW5jdGlvbiBIKGUpe3ZhciB0PWUub3duZXJEb2N1bWVudDtyZXR1cm4gdD90LmRlZmF1bHRWaWV3OndpbmRvd31mdW5jdGlvbiBBKGUsdCxvLGkpe3ZhciByPSdCT0RZJz09PWUubm9kZU5hbWUscD1yP2Uub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldzplO3AuYWRkRXZlbnRMaXN0ZW5lcih0LG8se3Bhc3NpdmU6ITB9KSxyfHxBKG4ocC5wYXJlbnROb2RlKSx0LG8saSksaS5wdXNoKHApfWZ1bmN0aW9uIEkoZSx0LG8saSl7by51cGRhdGVCb3VuZD1pLEgoZSkuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJyxvLnVwZGF0ZUJvdW5kLHtwYXNzaXZlOiEwfSk7dmFyIHI9bihlKTtyZXR1cm4gQShyLCdzY3JvbGwnLG8udXBkYXRlQm91bmQsby5zY3JvbGxQYXJlbnRzKSxvLnNjcm9sbEVsZW1lbnQ9cixvLmV2ZW50c0VuYWJsZWQ9ITAsb31mdW5jdGlvbiBNKCl7dGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkfHwodGhpcy5zdGF0ZT1JKHRoaXMucmVmZXJlbmNlLHRoaXMub3B0aW9ucyx0aGlzLnN0YXRlLHRoaXMuc2NoZWR1bGVVcGRhdGUpKX1mdW5jdGlvbiBGKGUsdCl7cmV0dXJuIEgoZSkucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJyx0LnVwZGF0ZUJvdW5kKSx0LnNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbihlKXtlLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsdC51cGRhdGVCb3VuZCl9KSx0LnVwZGF0ZUJvdW5kPW51bGwsdC5zY3JvbGxQYXJlbnRzPVtdLHQuc2Nyb2xsRWxlbWVudD1udWxsLHQuZXZlbnRzRW5hYmxlZD0hMSx0fWZ1bmN0aW9uIFIoKXt0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQmJihjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLnNjaGVkdWxlVXBkYXRlKSx0aGlzLnN0YXRlPUYodGhpcy5yZWZlcmVuY2UsdGhpcy5zdGF0ZSkpfWZ1bmN0aW9uIFUoZSl7cmV0dXJuJychPT1lJiYhaXNOYU4ocGFyc2VGbG9hdChlKSkmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIFkoZSx0KXtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGZ1bmN0aW9uKG8pe3ZhciBuPScnOy0xIT09Wyd3aWR0aCcsJ2hlaWdodCcsJ3RvcCcsJ3JpZ2h0JywnYm90dG9tJywnbGVmdCddLmluZGV4T2YobykmJlUodFtvXSkmJihuPSdweCcpLGUuc3R5bGVbb109dFtvXStufSl9ZnVuY3Rpb24gaihlLHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24obyl7dmFyIG49dFtvXTshMT09PW4/ZS5yZW1vdmVBdHRyaWJ1dGUobyk6ZS5zZXRBdHRyaWJ1dGUobyx0W29dKX0pfWZ1bmN0aW9uIHEoZSx0LG8pe3ZhciBuPUQoZSxmdW5jdGlvbihlKXt2YXIgbz1lLm5hbWU7cmV0dXJuIG89PT10fSksaT0hIW4mJmUuc29tZShmdW5jdGlvbihlKXtyZXR1cm4gZS5uYW1lPT09byYmZS5lbmFibGVkJiZlLm9yZGVyPG4ub3JkZXJ9KTtpZighaSl7dmFyIHI9J2AnK3QrJ2AnO2NvbnNvbGUud2FybignYCcrbysnYCcrJyBtb2RpZmllciBpcyByZXF1aXJlZCBieSAnK3IrJyBtb2RpZmllciBpbiBvcmRlciB0byB3b3JrLCBiZSBzdXJlIHRvIGluY2x1ZGUgaXQgYmVmb3JlICcrcisnIScpfXJldHVybiBpfWZ1bmN0aW9uIEsoZSl7cmV0dXJuJ2VuZCc9PT1lPydzdGFydCc6J3N0YXJ0Jz09PWU/J2VuZCc6ZX1mdW5jdGlvbiBWKGUpe3ZhciB0PTE8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0sbz1sZS5pbmRleE9mKGUpLG49bGUuc2xpY2UobysxKS5jb25jYXQobGUuc2xpY2UoMCxvKSk7cmV0dXJuIHQ/bi5yZXZlcnNlKCk6bn1mdW5jdGlvbiB6KGUsdCxvLG4pe3ZhciBpPWUubWF0Y2goLygoPzpcLXxcKyk/XGQqXC4/XGQqKSguKikvKSxyPStpWzFdLHA9aVsyXTtpZighcilyZXR1cm4gZTtpZigwPT09cC5pbmRleE9mKCclJykpe3ZhciBzO3N3aXRjaChwKXtjYXNlJyVwJzpzPW87YnJlYWs7Y2FzZSclJzpjYXNlJyVyJzpkZWZhdWx0OnM9bjt9dmFyIGQ9YyhzKTtyZXR1cm4gZFt0XS8xMDAqcn1pZigndmgnPT09cHx8J3Z3Jz09PXApe3ZhciBhO3JldHVybiBhPSd2aCc9PT1wP1EoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCx3aW5kb3cuaW5uZXJIZWlnaHR8fDApOlEoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLHdpbmRvdy5pbm5lcldpZHRofHwwKSxhLzEwMCpyfXJldHVybiByfWZ1bmN0aW9uIEcoZSx0LG8sbil7dmFyIGk9WzAsMF0scj0tMSE9PVsncmlnaHQnLCdsZWZ0J10uaW5kZXhPZihuKSxwPWUuc3BsaXQoLyhcK3xcLSkvKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbSgpfSkscz1wLmluZGV4T2YoRChwLGZ1bmN0aW9uKGUpe3JldHVybi0xIT09ZS5zZWFyY2goLyx8XHMvKX0pKTtwW3NdJiYtMT09PXBbc10uaW5kZXhPZignLCcpJiZjb25zb2xlLndhcm4oJ09mZnNldHMgc2VwYXJhdGVkIGJ5IHdoaXRlIHNwYWNlKHMpIGFyZSBkZXByZWNhdGVkLCB1c2UgYSBjb21tYSAoLCkgaW5zdGVhZC4nKTt2YXIgZD0vXHMqLFxzKnxccysvLGE9LTE9PT1zP1twXTpbcC5zbGljZSgwLHMpLmNvbmNhdChbcFtzXS5zcGxpdChkKVswXV0pLFtwW3NdLnNwbGl0KGQpWzFdXS5jb25jYXQocC5zbGljZShzKzEpKV07cmV0dXJuIGE9YS5tYXAoZnVuY3Rpb24oZSxuKXt2YXIgaT0oMT09PW4/IXI6cik/J2hlaWdodCc6J3dpZHRoJyxwPSExO3JldHVybiBlLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybicnPT09ZVtlLmxlbmd0aC0xXSYmLTEhPT1bJysnLCctJ10uaW5kZXhPZih0KT8oZVtlLmxlbmd0aC0xXT10LHA9ITAsZSk6cD8oZVtlLmxlbmd0aC0xXSs9dCxwPSExLGUpOmUuY29uY2F0KHQpfSxbXSkubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB6KGUsaSx0LG8pfSl9KSxhLmZvckVhY2goZnVuY3Rpb24oZSx0KXtlLmZvckVhY2goZnVuY3Rpb24obyxuKXtVKG8pJiYoaVt0XSs9byooJy0nPT09ZVtuLTFdPy0xOjEpKX0pfSksaX1mdW5jdGlvbiBfKGUsdCl7dmFyIG8sbj10Lm9mZnNldCxpPWUucGxhY2VtZW50LHI9ZS5vZmZzZXRzLHA9ci5wb3BwZXIscz1yLnJlZmVyZW5jZSxkPWkuc3BsaXQoJy0nKVswXTtyZXR1cm4gbz1VKCtuKT9bK24sMF06RyhuLHAscyxkKSwnbGVmdCc9PT1kPyhwLnRvcCs9b1swXSxwLmxlZnQtPW9bMV0pOidyaWdodCc9PT1kPyhwLnRvcCs9b1swXSxwLmxlZnQrPW9bMV0pOid0b3AnPT09ZD8ocC5sZWZ0Kz1vWzBdLHAudG9wLT1vWzFdKTonYm90dG9tJz09PWQmJihwLmxlZnQrPW9bMF0scC50b3ArPW9bMV0pLGUucG9wcGVyPXAsZX1mb3IodmFyIFg9TWF0aC5taW4sSj1NYXRoLmZsb29yLFE9TWF0aC5tYXgsWj0ndW5kZWZpbmVkJyE9dHlwZW9mIHdpbmRvdyYmJ3VuZGVmaW5lZCchPXR5cGVvZiBkb2N1bWVudCwkPVsnRWRnZScsJ1RyaWRlbnQnLCdGaXJlZm94J10sZWU9MCx0ZT0wO3RlPCQubGVuZ3RoO3RlKz0xKWlmKFomJjA8PW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigkW3RlXSkpe2VlPTE7YnJlYWt9dmFyIGk9WiYmd2luZG93LlByb21pc2Usb2U9aT9mdW5jdGlvbihlKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCx3aW5kb3cuUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3Q9ITEsZSgpfSkpfX06ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dHx8KHQ9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe3Q9ITEsZSgpfSxlZSkpfX0sbmU9e30saWU9ZnVuY3Rpb24oKXt2YXIgZT0wPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06J2FsbCc7cmV0dXJuKGU9ZS50b1N0cmluZygpLG5lLmhhc093blByb3BlcnR5KGUpKT9uZVtlXTooJzExJz09PWU/bmVbZV09LTEhPT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQnKTonMTAnPT09ZT9uZVtlXT0tMSE9PW5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoJ01TSUUgMTAnKTonYWxsJz09PWU/bmVbZV09LTEhPT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1RyaWRlbnQnKXx8LTEhPT1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ01TSUUnKTp2b2lkIDAsbmUuYWxsPW5lLmFsbHx8T2JqZWN0LmtleXMobmUpLnNvbWUoZnVuY3Rpb24oZSl7cmV0dXJuIG5lW2VdfSksbmVbZV0pfSxyZT1mdW5jdGlvbihlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbicpfSxwZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXtmb3IodmFyIG8sbj0wO248dC5sZW5ndGg7bisrKW89dFtuXSxvLmVudW1lcmFibGU9by5lbnVtZXJhYmxlfHwhMSxvLmNvbmZpZ3VyYWJsZT0hMCwndmFsdWUnaW4gbyYmKG8ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8ua2V5LG8pfXJldHVybiBmdW5jdGlvbih0LG8sbil7cmV0dXJuIG8mJmUodC5wcm90b3R5cGUsbyksbiYmZSh0LG4pLHR9fSgpLHNlPWZ1bmN0aW9uKGUsdCxvKXtyZXR1cm4gdCBpbiBlP09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3ZhbHVlOm8sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTplW3RdPW8sZX0sZGU9T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG89MTtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKWZvcih2YXIgbiBpbiB0PWFyZ3VtZW50c1tvXSx0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKTtyZXR1cm4gZX0sYWU9WydhdXRvLXN0YXJ0JywnYXV0bycsJ2F1dG8tZW5kJywndG9wLXN0YXJ0JywndG9wJywndG9wLWVuZCcsJ3JpZ2h0LXN0YXJ0JywncmlnaHQnLCdyaWdodC1lbmQnLCdib3R0b20tZW5kJywnYm90dG9tJywnYm90dG9tLXN0YXJ0JywnbGVmdC1lbmQnLCdsZWZ0JywnbGVmdC1zdGFydCddLGxlPWFlLnNsaWNlKDMpLGZlPXtGTElQOidmbGlwJyxDTE9DS1dJU0U6J2Nsb2Nrd2lzZScsQ09VTlRFUkNMT0NLV0lTRTonY291bnRlcmNsb2Nrd2lzZSd9LG1lPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChvLG4pe3ZhciBpPXRoaXMscj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307cmUodGhpcyx0KSx0aGlzLnNjaGVkdWxlVXBkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShpLnVwZGF0ZSl9LHRoaXMudXBkYXRlPW9lKHRoaXMudXBkYXRlLmJpbmQodGhpcykpLHRoaXMub3B0aW9ucz1kZSh7fSx0LkRlZmF1bHRzLHIpLHRoaXMuc3RhdGU9e2lzRGVzdHJveWVkOiExLGlzQ3JlYXRlZDohMSxzY3JvbGxQYXJlbnRzOltdfSx0aGlzLnJlZmVyZW5jZT1vJiZvLmpxdWVyeT9vWzBdOm8sdGhpcy5wb3BwZXI9biYmbi5qcXVlcnk/blswXTpuLHRoaXMub3B0aW9ucy5tb2RpZmllcnM9e30sT2JqZWN0LmtleXMoZGUoe30sdC5EZWZhdWx0cy5tb2RpZmllcnMsci5tb2RpZmllcnMpKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2kub3B0aW9ucy5tb2RpZmllcnNbZV09ZGUoe30sdC5EZWZhdWx0cy5tb2RpZmllcnNbZV18fHt9LHIubW9kaWZpZXJzP3IubW9kaWZpZXJzW2VdOnt9KX0pLHRoaXMubW9kaWZpZXJzPU9iamVjdC5rZXlzKHRoaXMub3B0aW9ucy5tb2RpZmllcnMpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZGUoe25hbWU6ZX0saS5vcHRpb25zLm1vZGlmaWVyc1tlXSl9KS5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUub3JkZXItdC5vcmRlcn0pLHRoaXMubW9kaWZpZXJzLmZvckVhY2goZnVuY3Rpb24odCl7dC5lbmFibGVkJiZlKHQub25Mb2FkKSYmdC5vbkxvYWQoaS5yZWZlcmVuY2UsaS5wb3BwZXIsaS5vcHRpb25zLHQsaS5zdGF0ZSl9KSx0aGlzLnVwZGF0ZSgpO3ZhciBwPXRoaXMub3B0aW9ucy5ldmVudHNFbmFibGVkO3AmJnRoaXMuZW5hYmxlRXZlbnRMaXN0ZW5lcnMoKSx0aGlzLnN0YXRlLmV2ZW50c0VuYWJsZWQ9cH1yZXR1cm4gcGUodCxbe2tleTondXBkYXRlJyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBrLmNhbGwodGhpcyl9fSx7a2V5OidkZXN0cm95Jyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBCLmNhbGwodGhpcyl9fSx7a2V5OidlbmFibGVFdmVudExpc3RlbmVycycsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gTS5jYWxsKHRoaXMpfX0se2tleTonZGlzYWJsZUV2ZW50TGlzdGVuZXJzJyx2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBSLmNhbGwodGhpcyl9fV0pLHR9KCk7cmV0dXJuIG1lLlV0aWxzPSgndW5kZWZpbmVkJz09dHlwZW9mIHdpbmRvdz9nbG9iYWw6d2luZG93KS5Qb3BwZXJVdGlscyxtZS5wbGFjZW1lbnRzPWFlLG1lLkRlZmF1bHRzPXtwbGFjZW1lbnQ6J2JvdHRvbScscG9zaXRpb25GaXhlZDohMSxldmVudHNFbmFibGVkOiEwLHJlbW92ZU9uRGVzdHJveTohMSxvbkNyZWF0ZTpmdW5jdGlvbigpe30sb25VcGRhdGU6ZnVuY3Rpb24oKXt9LG1vZGlmaWVyczp7c2hpZnQ6e29yZGVyOjEwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUpe3ZhciB0PWUucGxhY2VtZW50LG89dC5zcGxpdCgnLScpWzBdLG49dC5zcGxpdCgnLScpWzFdO2lmKG4pe3ZhciBpPWUub2Zmc2V0cyxyPWkucmVmZXJlbmNlLHA9aS5wb3BwZXIscz0tMSE9PVsnYm90dG9tJywndG9wJ10uaW5kZXhPZihvKSxkPXM/J2xlZnQnOid0b3AnLGE9cz8nd2lkdGgnOidoZWlnaHQnLGw9e3N0YXJ0OnNlKHt9LGQscltkXSksZW5kOnNlKHt9LGQscltkXStyW2FdLXBbYV0pfTtlLm9mZnNldHMucG9wcGVyPWRlKHt9LHAsbFtuXSl9cmV0dXJuIGV9fSxvZmZzZXQ6e29yZGVyOjIwMCxlbmFibGVkOiEwLGZuOl8sb2Zmc2V0OjB9LHByZXZlbnRPdmVyZmxvdzp7b3JkZXI6MzAwLGVuYWJsZWQ6ITAsZm46ZnVuY3Rpb24oZSx0KXt2YXIgbz10LmJvdW5kYXJpZXNFbGVtZW50fHxyKGUuaW5zdGFuY2UucG9wcGVyKTtlLmluc3RhbmNlLnJlZmVyZW5jZT09PW8mJihvPXIobykpO3ZhciBuPUUoZS5pbnN0YW5jZS5wb3BwZXIsZS5pbnN0YW5jZS5yZWZlcmVuY2UsdC5wYWRkaW5nLG8sZS5wb3NpdGlvbkZpeGVkKTt0LmJvdW5kYXJpZXM9bjt2YXIgaT10LnByaW9yaXR5LHA9ZS5vZmZzZXRzLnBvcHBlcixzPXtwcmltYXJ5OmZ1bmN0aW9uKGUpe3ZhciBvPXBbZV07cmV0dXJuIHBbZV08bltlXSYmIXQuZXNjYXBlV2l0aFJlZmVyZW5jZSYmKG89UShwW2VdLG5bZV0pKSxzZSh7fSxlLG8pfSxzZWNvbmRhcnk6ZnVuY3Rpb24oZSl7dmFyIG89J3JpZ2h0Jz09PWU/J2xlZnQnOid0b3AnLGk9cFtvXTtyZXR1cm4gcFtlXT5uW2VdJiYhdC5lc2NhcGVXaXRoUmVmZXJlbmNlJiYoaT1YKHBbb10sbltlXS0oJ3JpZ2h0Jz09PWU/cC53aWR0aDpwLmhlaWdodCkpKSxzZSh7fSxvLGkpfX07cmV0dXJuIGkuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD0tMT09PVsnbGVmdCcsJ3RvcCddLmluZGV4T2YoZSk/J3NlY29uZGFyeSc6J3ByaW1hcnknO3A9ZGUoe30scCxzW3RdKGUpKX0pLGUub2Zmc2V0cy5wb3BwZXI9cCxlfSxwcmlvcml0eTpbJ2xlZnQnLCdyaWdodCcsJ3RvcCcsJ2JvdHRvbSddLHBhZGRpbmc6NSxib3VuZGFyaWVzRWxlbWVudDonc2Nyb2xsUGFyZW50J30sa2VlcFRvZ2V0aGVyOntvcmRlcjo0MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXt2YXIgdD1lLm9mZnNldHMsbz10LnBvcHBlcixuPXQucmVmZXJlbmNlLGk9ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSxyPUoscD0tMSE9PVsndG9wJywnYm90dG9tJ10uaW5kZXhPZihpKSxzPXA/J3JpZ2h0JzonYm90dG9tJyxkPXA/J2xlZnQnOid0b3AnLGE9cD8nd2lkdGgnOidoZWlnaHQnO3JldHVybiBvW3NdPHIobltkXSkmJihlLm9mZnNldHMucG9wcGVyW2RdPXIobltkXSktb1thXSksb1tkXT5yKG5bc10pJiYoZS5vZmZzZXRzLnBvcHBlcltkXT1yKG5bc10pKSxlfX0sYXJyb3c6e29yZGVyOjUwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsbyl7dmFyIG47aWYoIXEoZS5pbnN0YW5jZS5tb2RpZmllcnMsJ2Fycm93Jywna2VlcFRvZ2V0aGVyJykpcmV0dXJuIGU7dmFyIGk9by5lbGVtZW50O2lmKCdzdHJpbmcnPT10eXBlb2YgaSl7aWYoaT1lLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKGkpLCFpKXJldHVybiBlO31lbHNlIGlmKCFlLmluc3RhbmNlLnBvcHBlci5jb250YWlucyhpKSlyZXR1cm4gY29uc29sZS53YXJuKCdXQVJOSU5HOiBgYXJyb3cuZWxlbWVudGAgbXVzdCBiZSBjaGlsZCBvZiBpdHMgcG9wcGVyIGVsZW1lbnQhJyksZTt2YXIgcj1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLHA9ZS5vZmZzZXRzLHM9cC5wb3BwZXIsZD1wLnJlZmVyZW5jZSxhPS0xIT09WydsZWZ0JywncmlnaHQnXS5pbmRleE9mKHIpLGw9YT8naGVpZ2h0Jzond2lkdGgnLGY9YT8nVG9wJzonTGVmdCcsbT1mLnRvTG93ZXJDYXNlKCksaD1hPydsZWZ0JzondG9wJyxnPWE/J2JvdHRvbSc6J3JpZ2h0Jyx1PUwoaSlbbF07ZFtnXS11PHNbbV0mJihlLm9mZnNldHMucG9wcGVyW21dLT1zW21dLShkW2ddLXUpKSxkW21dK3U+c1tnXSYmKGUub2Zmc2V0cy5wb3BwZXJbbV0rPWRbbV0rdS1zW2ddKSxlLm9mZnNldHMucG9wcGVyPWMoZS5vZmZzZXRzLnBvcHBlcik7dmFyIGI9ZFttXStkW2xdLzItdS8yLHk9dChlLmluc3RhbmNlLnBvcHBlciksdz1wYXJzZUZsb2F0KHlbJ21hcmdpbicrZl0sMTApLEU9cGFyc2VGbG9hdCh5Wydib3JkZXInK2YrJ1dpZHRoJ10sMTApLHY9Yi1lLm9mZnNldHMucG9wcGVyW21dLXctRTtyZXR1cm4gdj1RKFgoc1tsXS11LHYpLDApLGUuYXJyb3dFbGVtZW50PWksZS5vZmZzZXRzLmFycm93PShuPXt9LHNlKG4sbSxNYXRoLnJvdW5kKHYpKSxzZShuLGgsJycpLG4pLGV9LGVsZW1lbnQ6J1t4LWFycm93XSd9LGZsaXA6e29yZGVyOjYwMCxlbmFibGVkOiEwLGZuOmZ1bmN0aW9uKGUsdCl7aWYoUChlLmluc3RhbmNlLm1vZGlmaWVycywnaW5uZXInKSlyZXR1cm4gZTtpZihlLmZsaXBwZWQmJmUucGxhY2VtZW50PT09ZS5vcmlnaW5hbFBsYWNlbWVudClyZXR1cm4gZTt2YXIgbz1FKGUuaW5zdGFuY2UucG9wcGVyLGUuaW5zdGFuY2UucmVmZXJlbmNlLHQucGFkZGluZyx0LmJvdW5kYXJpZXNFbGVtZW50LGUucG9zaXRpb25GaXhlZCksbj1lLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdLGk9UyhuKSxyPWUucGxhY2VtZW50LnNwbGl0KCctJylbMV18fCcnLHA9W107c3dpdGNoKHQuYmVoYXZpb3Ipe2Nhc2UgZmUuRkxJUDpwPVtuLGldO2JyZWFrO2Nhc2UgZmUuQ0xPQ0tXSVNFOnA9VihuKTticmVhaztjYXNlIGZlLkNPVU5URVJDTE9DS1dJU0U6cD1WKG4sITApO2JyZWFrO2RlZmF1bHQ6cD10LmJlaGF2aW9yO31yZXR1cm4gcC5mb3JFYWNoKGZ1bmN0aW9uKHMsZCl7aWYobiE9PXN8fHAubGVuZ3RoPT09ZCsxKXJldHVybiBlO249ZS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXSxpPVMobik7dmFyIGE9ZS5vZmZzZXRzLnBvcHBlcixsPWUub2Zmc2V0cy5yZWZlcmVuY2UsZj1KLG09J2xlZnQnPT09biYmZihhLnJpZ2h0KT5mKGwubGVmdCl8fCdyaWdodCc9PT1uJiZmKGEubGVmdCk8ZihsLnJpZ2h0KXx8J3RvcCc9PT1uJiZmKGEuYm90dG9tKT5mKGwudG9wKXx8J2JvdHRvbSc9PT1uJiZmKGEudG9wKTxmKGwuYm90dG9tKSxoPWYoYS5sZWZ0KTxmKG8ubGVmdCksYz1mKGEucmlnaHQpPmYoby5yaWdodCksZz1mKGEudG9wKTxmKG8udG9wKSx1PWYoYS5ib3R0b20pPmYoby5ib3R0b20pLGI9J2xlZnQnPT09biYmaHx8J3JpZ2h0Jz09PW4mJmN8fCd0b3AnPT09biYmZ3x8J2JvdHRvbSc9PT1uJiZ1LHk9LTEhPT1bJ3RvcCcsJ2JvdHRvbSddLmluZGV4T2Yobiksdz0hIXQuZmxpcFZhcmlhdGlvbnMmJih5JiYnc3RhcnQnPT09ciYmaHx8eSYmJ2VuZCc9PT1yJiZjfHwheSYmJ3N0YXJ0Jz09PXImJmd8fCF5JiYnZW5kJz09PXImJnUpOyhtfHxifHx3KSYmKGUuZmxpcHBlZD0hMCwobXx8YikmJihuPXBbZCsxXSksdyYmKHI9SyhyKSksZS5wbGFjZW1lbnQ9bisocj8nLScrcjonJyksZS5vZmZzZXRzLnBvcHBlcj1kZSh7fSxlLm9mZnNldHMucG9wcGVyLFQoZS5pbnN0YW5jZS5wb3BwZXIsZS5vZmZzZXRzLnJlZmVyZW5jZSxlLnBsYWNlbWVudCkpLGU9TihlLmluc3RhbmNlLm1vZGlmaWVycyxlLCdmbGlwJykpfSksZX0sYmVoYXZpb3I6J2ZsaXAnLHBhZGRpbmc6NSxib3VuZGFyaWVzRWxlbWVudDondmlld3BvcnQnfSxpbm5lcjp7b3JkZXI6NzAwLGVuYWJsZWQ6ITEsZm46ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wbGFjZW1lbnQsbz10LnNwbGl0KCctJylbMF0sbj1lLm9mZnNldHMsaT1uLnBvcHBlcixyPW4ucmVmZXJlbmNlLHA9LTEhPT1bJ2xlZnQnLCdyaWdodCddLmluZGV4T2Yobykscz0tMT09PVsndG9wJywnbGVmdCddLmluZGV4T2Yobyk7cmV0dXJuIGlbcD8nbGVmdCc6J3RvcCddPXJbb10tKHM/aVtwPyd3aWR0aCc6J2hlaWdodCddOjApLGUucGxhY2VtZW50PVModCksZS5vZmZzZXRzLnBvcHBlcj1jKGkpLGV9fSxoaWRlOntvcmRlcjo4MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXtpZighcShlLmluc3RhbmNlLm1vZGlmaWVycywnaGlkZScsJ3ByZXZlbnRPdmVyZmxvdycpKXJldHVybiBlO3ZhciB0PWUub2Zmc2V0cy5yZWZlcmVuY2Usbz1EKGUuaW5zdGFuY2UubW9kaWZpZXJzLGZ1bmN0aW9uKGUpe3JldHVybidwcmV2ZW50T3ZlcmZsb3cnPT09ZS5uYW1lfSkuYm91bmRhcmllcztpZih0LmJvdHRvbTxvLnRvcHx8dC5sZWZ0Pm8ucmlnaHR8fHQudG9wPm8uYm90dG9tfHx0LnJpZ2h0PG8ubGVmdCl7aWYoITA9PT1lLmhpZGUpcmV0dXJuIGU7ZS5oaWRlPSEwLGUuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddPScnfWVsc2V7aWYoITE9PT1lLmhpZGUpcmV0dXJuIGU7ZS5oaWRlPSExLGUuYXR0cmlidXRlc1sneC1vdXQtb2YtYm91bmRhcmllcyddPSExfXJldHVybiBlfX0sY29tcHV0ZVN0eWxlOntvcmRlcjo4NTAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlLHQpe3ZhciBvPXQueCxuPXQueSxpPWUub2Zmc2V0cy5wb3BwZXIscD1EKGUuaW5zdGFuY2UubW9kaWZpZXJzLGZ1bmN0aW9uKGUpe3JldHVybidhcHBseVN0eWxlJz09PWUubmFtZX0pLmdwdUFjY2VsZXJhdGlvbjt2b2lkIDAhPT1wJiZjb25zb2xlLndhcm4oJ1dBUk5JTkc6IGBncHVBY2NlbGVyYXRpb25gIG9wdGlvbiBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllciBhbmQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQb3BwZXIuanMhJyk7dmFyIHMsZCxhPXZvaWQgMD09PXA/dC5ncHVBY2NlbGVyYXRpb246cCxsPXIoZS5pbnN0YW5jZS5wb3BwZXIpLGY9ZyhsKSxtPXtwb3NpdGlvbjppLnBvc2l0aW9ufSxoPXtsZWZ0OkooaS5sZWZ0KSx0b3A6SihpLnRvcCksYm90dG9tOkooaS5ib3R0b20pLHJpZ2h0OkooaS5yaWdodCl9LGM9J2JvdHRvbSc9PT1vPyd0b3AnOidib3R0b20nLHU9J3JpZ2h0Jz09PW4/J2xlZnQnOidyaWdodCcsYj1XKCd0cmFuc2Zvcm0nKTtpZihkPSdib3R0b20nPT1jPy1mLmhlaWdodCtoLmJvdHRvbTpoLnRvcCxzPSdyaWdodCc9PXU/LWYud2lkdGgraC5yaWdodDpoLmxlZnQsYSYmYiltW2JdPSd0cmFuc2xhdGUzZCgnK3MrJ3B4LCAnK2QrJ3B4LCAwKScsbVtjXT0wLG1bdV09MCxtLndpbGxDaGFuZ2U9J3RyYW5zZm9ybSc7ZWxzZXt2YXIgeT0nYm90dG9tJz09Yz8tMToxLHc9J3JpZ2h0Jz09dT8tMToxO21bY109ZCp5LG1bdV09cyp3LG0ud2lsbENoYW5nZT1jKycsICcrdX12YXIgRT17IngtcGxhY2VtZW50IjplLnBsYWNlbWVudH07cmV0dXJuIGUuYXR0cmlidXRlcz1kZSh7fSxFLGUuYXR0cmlidXRlcyksZS5zdHlsZXM9ZGUoe30sbSxlLnN0eWxlcyksZS5hcnJvd1N0eWxlcz1kZSh7fSxlLm9mZnNldHMuYXJyb3csZS5hcnJvd1N0eWxlcyksZX0sZ3B1QWNjZWxlcmF0aW9uOiEwLHg6J2JvdHRvbScseToncmlnaHQnfSxhcHBseVN0eWxlOntvcmRlcjo5MDAsZW5hYmxlZDohMCxmbjpmdW5jdGlvbihlKXtyZXR1cm4gWShlLmluc3RhbmNlLnBvcHBlcixlLnN0eWxlcyksaihlLmluc3RhbmNlLnBvcHBlcixlLmF0dHJpYnV0ZXMpLGUuYXJyb3dFbGVtZW50JiZPYmplY3Qua2V5cyhlLmFycm93U3R5bGVzKS5sZW5ndGgmJlkoZS5hcnJvd0VsZW1lbnQsZS5hcnJvd1N0eWxlcyksZX0sb25Mb2FkOmZ1bmN0aW9uKGUsdCxvLG4saSl7dmFyIHI9TyhpLHQsZSxvLnBvc2l0aW9uRml4ZWQpLHA9eChvLnBsYWNlbWVudCxyLHQsZSxvLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LG8ubW9kaWZpZXJzLmZsaXAucGFkZGluZyk7cmV0dXJuIHQuc2V0QXR0cmlidXRlKCd4LXBsYWNlbWVudCcscCksWSh0LHtwb3NpdGlvbjpvLnBvc2l0aW9uRml4ZWQ/J2ZpeGVkJzonYWJzb2x1dGUnfSksb30sZ3B1QWNjZWxlcmF0aW9uOnZvaWQgMH19fSxtZX0pOw0KLy8jIHNvdXJjZU1hcHBpbmdVUkw9cG9wcGVyLm1pbi5qcy5tYXA="}},"time_used":46,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/jquery.fancybox.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.787Z","timestamp":1785135591787,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/jquery.fancybox.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 34036\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"259f8-68bf75d4-ede16ee4be39bc27;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: fb532fa184a8aeae0ee4a5bb9409215a-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":154104,"size_decoded":34646,"mime_type":"application/x-javascript","magic":"JavaScript source, Unicode text, UTF-8 text","md5":"6e11711058a9459a94d5a19b26a78135","sha1":"76792d5913afe035b6ccbac585b0b5e70b33aa76","sha256":"7b99eee1db728472aaa8452017a0d755f488e8d647cc0f62baf45f8ff65b95ba","sha512":"6ecbe997bc6e82fa7976a98e291ec31e043de23f0f5d06834fcc809cde8d0c3ffa0e96c734dfc0b0fbc313e405eac603540913794bb3a9a86ac56db5d2ab868a","ssdeep":"1536:26iljQs+4wETv0qwF/fwUsjuFR4amerr3txU0Me7/pby+mHWgGbAdKfW7WP83RSp:2NoETcqwF3wO/VUbZZr7WP83RSD6E3t","tlshash":"f3e3968a67bd112589333129ab8f705eb57e8423a10dd9263cad53481fc13a943f5fee","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-18T01:56:00.833225Z","times_seen":3634,"resource_available":true,"data":"Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8gZmFuY3lCb3ggdjMuMi4xMAovLwovLyBMaWNlbnNlZCBHUEx2MyBmb3Igb3BlbiBzb3VyY2UgdXNlCi8vIG9yIGZhbmN5Qm94IENvbW1lcmNpYWwgTGljZW5zZSBmb3IgY29tbWVyY2lhbCB1c2UKLy8KLy8gaHR0cDovL2ZhbmN5YXBwcy5jb20vZmFuY3lib3gvCi8vIENvcHlyaWdodCAyMDE3IGZhbmN5QXBwcwovLwovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo7KGZ1bmN0aW9uICh3aW5kb3csIGRvY3VtZW50LCAkLCB1bmRlZmluZWQpIHsKICAgICd1c2Ugc3RyaWN0JzsKCiAgICAvLyBJZiB0aGVyZSdzIG5vIGpRdWVyeSwgZmFuY3lCb3ggY2FuJ3Qgd29yawogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICBpZiAoICEkICkgewogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBDaGVjayBpZiBmYW5jeUJveCBpcyBhbHJlYWR5IGluaXRpYWxpemVkCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgaWYgKCAkLmZuLmZhbmN5Ym94ICkgewoKICAgICAgICBpZiAoICdjb25zb2xlJyBpbiB3aW5kb3cgKSB7CiAgICAgICAgICAgIGNvbnNvbGUubG9nKCAnZmFuY3lCb3ggYWxyZWFkeSBpbml0aWFsaXplZCcgKTsKICAgICAgICB9CgogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcml2YXRlIGRlZmF1bHQgc2V0dGluZ3MKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIHZhciBkZWZhdWx0cyA9IHsKCiAgICAgICAgLy8gRW5hYmxlIGluZmluaXRlIGdhbGxlcnkgbmF2aWdhdGlvbgogICAgICAgIGxvb3AgOiBmYWxzZSwKCiAgICAgICAgLy8gU3BhY2UgYXJvdW5kIGltYWdlLCBpZ25vcmVkIGlmIHpvb21lZC1pbiBvciB2aWV3cG9ydCB3aWR0aCBpcyBzbWFsbGVyIHRoYW4gODAwcHgKICAgICAgICBtYXJnaW4gOiBbNDQsIDBdLAoKICAgICAgICAvLyBIb3Jpem9udGFsIHNwYWNlIGJldHdlZW4gc2xpZGVzCiAgICAgICAgZ3V0dGVyIDogNTAsCgogICAgICAgIC8vIEVuYWJsZSBrZXlib2FyZCBuYXZpZ2F0aW9uCiAgICAgICAga2V5Ym9hcmQgOiB0cnVlLAoKICAgICAgICAvLyBTaG91bGQgZGlzcGxheSBuYXZpZ2F0aW9uIGFycm93cyBhdCB0aGUgc2NyZWVuIGVkZ2VzCiAgICAgICAgYXJyb3dzIDogdHJ1ZSwKCiAgICAgICAgLy8gU2hvdWxkIGRpc3BsYXkgaW5mb2JhciAoY291bnRlciBhbmQgYXJyb3dzIGF0IHRoZSB0b3ApCiAgICAgICAgaW5mb2JhciA6IHRydWUsCgogICAgICAgIC8vIFNob3VsZCBkaXNwbGF5IHRvb2xiYXIgKGJ1dHRvbnMgYXQgdGhlIHRvcCkKICAgICAgICB0b29sYmFyIDogdHJ1ZSwKCiAgICAgICAgLy8gV2hhdCBidXR0b25zIHNob3VsZCBhcHBlYXIgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIuCiAgICAgICAgLy8gQnV0dG9ucyB3aWxsIGJlIGNyZWF0ZWQgdXNpbmcgdGVtcGxhdGVzIGZyb20gYGJ0blRwbGAgb3B0aW9uCiAgICAgICAgLy8gYW5kIHRoZXkgd2lsbCBiZSBwbGFjZWQgaW50byB0b29sYmFyIChjbGFzcz0iZmFuY3lib3gtdG9vbGJhciJgIGVsZW1lbnQpCiAgICAgICAgYnV0dG9ucyA6IFsKICAgICAgICAgICAgJ3NsaWRlU2hvdycsCiAgICAgICAgICAgICdmdWxsU2NyZWVuJywKICAgICAgICAgICAgJ3RodW1icycsCiAgICAgICAgICAgICdzaGFyZScsCiAgICAgICAgICAgIC8vJ2Rvd25sb2FkJywKICAgICAgICAgICAgLy8nem9vbScsCiAgICAgICAgICAgICdjbG9zZScKICAgICAgICBdLAoKICAgICAgICAvLyBEZXRlY3QgImlkbGUiIHRpbWUgaW4gc2Vjb25kcwogICAgICAgIGlkbGVUaW1lIDogMywKCiAgICAgICAgLy8gU2hvdWxkIGRpc3BsYXkgYnV0dG9ucyBhdCB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSBjb250ZW50CiAgICAgICAgLy8gSWYgJ2F1dG8nIC0gdGhleSB3aWxsIGJlIGNyZWF0ZWQgZm9yIGNvbnRlbnQgaGF2aW5nIHR5cGUgJ2h0bWwnLCAnaW5saW5lJyBvciAnYWpheCcKICAgICAgICAvLyBVc2UgdGVtcGxhdGUgZnJvbSBgYnRuVHBsLnNtYWxsQnRuYCBmb3IgY3VzdG9taXphdGlvbgogICAgICAgIHNtYWxsQnRuIDogJ2F1dG8nLAoKICAgICAgICAvLyBEaXNhYmxlIHJpZ2h0LWNsaWNrIGFuZCB1c2Ugc2ltcGxlIGltYWdlIHByb3RlY3Rpb24gZm9yIGltYWdlcwogICAgICAgIHByb3RlY3QgOiBmYWxzZSwKCiAgICAgICAgLy8gU2hvcnRjdXQgdG8gbWFrZSBjb250ZW50ICJtb2RhbCIgLSBkaXNhYmxlIGtleWJvYXJkIG5hdmlndGlvbiwgaGlkZSBidXR0b25zLCBldGMKICAgICAgICBtb2RhbCA6IGZhbHNlLAoKICAgICAgICBpbWFnZSA6IHsKCiAgICAgICAgICAgIC8vIFdhaXQgZm9yIGltYWdlcyB0byBsb2FkIGJlZm9yZSBkaXNwbGF5aW5nCiAgICAgICAgICAgIC8vIFJlcXVpcmVzIHByZWRlZmluZWQgaW1hZ2UgZGltZW5zaW9ucwogICAgICAgICAgICAvLyBJZiAnYXV0bycgLSB3aWxsIHpvb20gaW4gdGh1bWJuYWlsIGlmICd3aWR0aCcgYW5kICdoZWlnaHQnIGF0dHJpYnV0ZXMgYXJlIGZvdW5kCiAgICAgICAgICAgIHByZWxvYWQgOiAiYXV0byIKCiAgICAgICAgfSwKCiAgICAgICAgYWpheCA6IHsKCiAgICAgICAgICAgIC8vIE9iamVjdCBjb250YWluaW5nIHNldHRpbmdzIGZvciBhamF4IHJlcXVlc3QKICAgICAgICAgICAgc2V0dGluZ3MgOiB7CgogICAgICAgICAgICAgICAgLy8gVGhpcyBoZWxwcyB0byBpbmRpY2F0ZSB0aGF0IHJlcXVlc3QgY29tZXMgZnJvbSB0aGUgbW9kYWwKICAgICAgICAgICAgICAgIC8vIEZlZWwgZnJlZSB0byBjaGFuZ2UgbmFtaW5nCiAgICAgICAgICAgICAgICBkYXRhIDogewogICAgICAgICAgICAgICAgICAgIGZhbmN5Ym94IDogdHJ1ZQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgIH0sCgogICAgICAgIGlmcmFtZSA6IHsKCiAgICAgICAgICAgIC8vIElmcmFtZSB0ZW1wbGF0ZQogICAgICAgICAgICB0cGwgOiAnPGlmcmFtZSBpZD0iZmFuY3lib3gtZnJhbWV7cm5kfSIgbmFtZT0iZmFuY3lib3gtZnJhbWV7cm5kfSIgY2xhc3M9ImZhbmN5Ym94LWlmcmFtZSIgZnJhbWVib3JkZXI9IjAiIHZzcGFjZT0iMCIgaHNwYWNlPSIwIiB3ZWJraXRBbGxvd0Z1bGxTY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93RnVsbFNjcmVlbiBhbGxvd3RyYW5zcGFyZW5jeT0idHJ1ZSIgc3JjPSIiPjwvaWZyYW1lPicsCgogICAgICAgICAgICAvLyBQcmVsb2FkIGlmcmFtZSBiZWZvcmUgZGlzcGxheWluZyBpdAogICAgICAgICAgICAvLyBUaGlzIGFsbG93cyB0byBjYWxjdWxhdGUgaWZyYW1lIGNvbnRlbnQgd2lkdGggYW5kIGhlaWdodAogICAgICAgICAgICAvLyAobm90ZTogRHVlIHRvICJTYW1lIE9yaWdpbiBQb2xpY3kiLCB5b3UgY2FuJ3QgZ2V0IGNyb3NzIGRvbWFpbiBkYXRhKS4KICAgICAgICAgICAgcHJlbG9hZCA6IHRydWUsCgogICAgICAgICAgICAvLyBDdXN0b20gQ1NTIHN0eWxpbmcgZm9yIGlmcmFtZSB3cmFwcGluZyBlbGVtZW50CiAgICAgICAgICAgIC8vIFlvdSBjYW4gdXNlIHRoaXMgdG8gc2V0IGN1c3RvbSBpZnJhbWUgZGltZW5zaW9ucwogICAgICAgICAgICBjc3MgOiB7fSwKCiAgICAgICAgICAgIC8vIElmcmFtZSB0YWcgYXR0cmlidXRlcwogICAgICAgICAgICBhdHRyIDogewogICAgICAgICAgICAgICAgc2Nyb2xsaW5nIDogJ2F1dG8nCiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCiAgICAgICAgLy8gRGVmYXVsdCBjb250ZW50IHR5cGUgaWYgY2Fubm90IGJlIGRldGVjdGVkIGF1dG9tYXRpY2FsbHkKICAgICAgICBkZWZhdWx0VHlwZSA6ICdpbWFnZScsCgogICAgICAgIC8vIE9wZW4vY2xvc2UgYW5pbWF0aW9uIHR5cGUKICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6CiAgICAgICAgLy8gICBmYWxzZSAgICAgICAgICAgIC0gZGlzYWJsZQogICAgICAgIC8vICAgInpvb20iICAgICAgICAgICAtIHpvb20gaW1hZ2VzIGZyb20vdG8gdGh1bWJuYWlsCiAgICAgICAgLy8gICAiZmFkZSIKICAgICAgICAvLyAgICJ6b29tLWluLW91dCIKICAgICAgICAvLwogICAgICAgIGFuaW1hdGlvbkVmZmVjdCA6ICJ6b29tIiwKCiAgICAgICAgLy8gRHVyYXRpb24gaW4gbXMgZm9yIG9wZW4vY2xvc2UgYW5pbWF0aW9uCiAgICAgICAgYW5pbWF0aW9uRHVyYXRpb24gOiA1MDAsCgogICAgICAgIC8vIFNob3VsZCBpbWFnZSBjaGFuZ2Ugb3BhY2l0eSB3aGlsZSB6b29taW5nCiAgICAgICAgLy8gSWYgb3BhY2l0eSBpcyAiYXV0byIsIHRoZW4gb3BhY2l0eSB3aWxsIGJlIGNoYW5nZWQgaWYgaW1hZ2UgYW5kIHRodW1ibmFpbCBoYXZlIGRpZmZlcmVudCBhc3BlY3QgcmF0aW9zCiAgICAgICAgem9vbU9wYWNpdHkgOiAiYXV0byIsCgogICAgICAgIC8vIFRyYW5zaXRpb24gZWZmZWN0IGJldHdlZW4gc2xpZGVzCiAgICAgICAgLy8KICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6CiAgICAgICAgLy8gICBmYWxzZSAgICAgICAgICAgIC0gZGlzYWJsZQogICAgICAgIC8vICAgImZhZGUnCiAgICAgICAgLy8gICAic2xpZGUnCiAgICAgICAgLy8gICAiY2lyY3VsYXInCiAgICAgICAgLy8gICAidHViZScKICAgICAgICAvLyAgICJ6b29tLWluLW91dCcKICAgICAgICAvLyAgICJyb3RhdGUnCiAgICAgICAgLy8KICAgICAgICB0cmFuc2l0aW9uRWZmZWN0IDogImZhZGUiLAoKICAgICAgICAvLyBEdXJhdGlvbiBpbiBtcyBmb3IgdHJhbnNpdGlvbiBhbmltYXRpb24KICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb24gOiAzNjYsCgogICAgICAgIC8vIEN1c3RvbSBDU1MgY2xhc3MgZm9yIHNsaWRlIGVsZW1lbnQKICAgICAgICBzbGlkZUNsYXNzIDogJycsCgogICAgICAgIC8vIEN1c3RvbSBDU1MgY2xhc3MgZm9yIGxheW91dAogICAgICAgIGJhc2VDbGFzcyA6ICcnLAoKICAgICAgICAvLyBCYXNlIHRlbXBsYXRlIGZvciBsYXlvdXQKICAgICAgICBiYXNlVHBsCToKICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWNvbnRhaW5lciIgcm9sZT0iZGlhbG9nIiB0YWJpbmRleD0iLTEiPicgKwogICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWJnIj48L2Rpdj4nICsKICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYW5jeWJveC1pbm5lciI+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWluZm9iYXIiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPHNwYW4gZGF0YS1mYW5jeWJveC1pbmRleD48L3NwYW4+Jm5ic3A7LyZuYnNwOzxzcGFuIGRhdGEtZmFuY3lib3gtY291bnQ+PC9zcGFuPicgKwogICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmFuY3lib3gtdG9vbGJhciI+e3tidXR0b25zfX08L2Rpdj4nICsKICAgICAgICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0iZmFuY3lib3gtbmF2aWdhdGlvbiI+e3thcnJvd3N9fTwvZGl2PicgKwogICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPSJmYW5jeWJveC1zdGFnZSI+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWNhcHRpb24td3JhcCI+PGRpdiBjbGFzcz0iZmFuY3lib3gtY2FwdGlvbiI+PC9kaXY+PC9kaXY+JyArCiAgICAgICAgICAgICAgICAnPC9kaXY+JyArCiAgICAgICAgICAgICc8L2Rpdj4nLAoKICAgICAgICAvLyBMb2FkaW5nIGluZGljYXRvciB0ZW1wbGF0ZQogICAgICAgIHNwaW5uZXJUcGwgOiAnPGRpdiBjbGFzcz0iZmFuY3lib3gtbG9hZGluZyI+PC9kaXY+JywKCiAgICAgICAgLy8gRXJyb3IgbWVzc2FnZSB0ZW1wbGF0ZQogICAgICAgIGVycm9yVHBsIDogJzxkaXYgY2xhc3M9ImZhbmN5Ym94LWVycm9yIj48cD57e0VSUk9SfX08cD48L2Rpdj4nLAoKICAgICAgICBidG5UcGwgOiB7CgogICAgICAgICAgICBkb3dubG9hZCA6ICc8YSBkb3dubG9hZCBkYXRhLWZhbmN5Ym94LWRvd25sb2FkIGNsYXNzPSJmYW5jeWJveC1idXR0b24gZmFuY3lib3gtYnV0dG9uLS1kb3dubG9hZCIgdGl0bGU9Int7RE9XTkxPQUR9fSI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8c3ZnIHZpZXdCb3g9IjAgMCA0MCA0MCI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHBhdGggZD0iTTIwLDIzIEwyMCw4IEwyMCwyMyBMMTMsMTYgTDIwLDIzIEwyNywxNiBMMjAsMjMgTTI2LDI4IEwxMywyOCBMMjcsMjggTDE0LDI4IiAvPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPC9zdmc+JyArCiAgICAgICAgICAgICAgICAgICAgJzwvYT4nLAoKICAgICAgICAgICAgem9vbSA6ICc8YnV0dG9uIGRhdGEtZmFuY3lib3gtem9vbSBjbGFzcz0iZmFuY3lib3gtYnV0dG9uIGZhbmN5Ym94LWJ1dHRvbi0tem9vbSIgdGl0bGU9Int7Wk9PTX19Ij4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzxzdmcgdmlld0JveD0iMCAwIDQwIDQwIj4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8cGF0aCBkPSJNIDE4LDE3IG0tOCwwIGEgOCw4IDAgMSwwIDE2LDAgYSA4LDggMCAxLDAgLTE2LDAgTTI1LDIzIEwzMSwyOSBMMjUsMjMiIC8+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICc8L3N2Zz4nICsKICAgICAgICAgICAgICAgICAgICAnPC9idXR0b24+JywKCiAgICAgICAgICAgIGNsb3NlIDogJzxidXR0b24gZGF0YS1mYW5jeWJveC1jbG9zZSBjbGFzcz0iZmFuY3lib3gtYnV0dG9uIGZhbmN5Ym94LWJ1dHRvbi0tY2xvc2UiIHRpdGxlPSJ7e0NMT1NFfX0iPicgKwogICAgICAgICAgICAgICAgICAgICAgICAnPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxwYXRoIGQ9Ik0xMCwxMCBMMzAsMzAgTTMwLDEwIEwxMCwzMCIgLz4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzwvc3ZnPicgKwogICAgICAgICAgICAgICAgICAgICc8L2J1dHRvbj4nLAoKICAgICAgICAgICAgLy8gVGhpcyBzbWFsbCBjbG9zZSBidXR0b24gd2lsbCBiZSBhcHBlbmRlZCB0byB5b3VyIGh0bWwvaW5saW5lL2FqYXggY29udGVudCBieSBkZWZhdWx0LAogICAgICAgICAgICAvLyBpZiAic21hbGxCdG4iIG9wdGlvbiBpcyBub3Qgc2V0IHRvIGZhbHNlCiAgICAgICAgICAgIHNtYWxsQnRuICAgOiAnPGJ1dHRvbiBkYXRhLWZhbmN5Ym94LWNsb3NlIGNsYXNzPSJmYW5jeWJveC1jbG9zZS1zbWFsbCIgdGl0bGU9Int7Q0xPU0V9fSI+PC9idXR0b24+JywKCiAgICAgICAgICAgIC8vIEFycm93cwogICAgICAgICAgICBhcnJvd0xlZnQgOiAnPGJ1dHRvbiBkYXRhLWZhbmN5Ym94LXByZXYgY2xhc3M9ImZhbmN5Ym94LWJ1dHRvbiBmYW5jeWJveC1idXR0b24tLWFycm93X2xlZnQiIHRpdGxlPSJ7e1BSRVZ9fSI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHBhdGggZD0iTTEwLDIwIEwzMCwyMCBMMTAsMjAgTDE4LDI4IEwxMCwyMCBMMTgsMTIgTDEwLDIwIj48L3BhdGg+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9zdmc+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgJzwvYnV0dG9uPicsCgogICAgICAgICAgICBhcnJvd1JpZ2h0IDogJzxidXR0b24gZGF0YS1mYW5jeWJveC1uZXh0IGNsYXNzPSJmYW5jeWJveC1idXR0b24gZmFuY3lib3gtYnV0dG9uLS1hcnJvd19yaWdodCIgdGl0bGU9Int7TkVYVH19Ij4nICsKICAgICAgICAgICAgICAgICAgICAgICAgICAnPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxwYXRoIGQ9Ik0zMCwyMCBMMTAsMjAgTDMwLDIwIEwyMiwyOCBMMzAsMjAgTDIyLDEyIEwzMCwyMCI+PC9wYXRoPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICc8L3N2Zz4nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzwvYnV0dG9uPicKICAgICAgICB9LAoKICAgICAgICAvLyBDb250YWluZXIgaXMgaW5qZWN0ZWQgaW50byB0aGlzIGVsZW1lbnQKICAgICAgICBwYXJlbnRFbCA6ICdib2R5JywKCgogICAgICAgIC8vIEZvY3VzIGhhbmRsaW5nCiAgICAgICAgLy8gPT09PT09PT09PT09PT0KCiAgICAgICAgLy8gVHJ5IHRvIGZvY3VzIG9uIHRoZSBmaXJzdCBmb2N1c2FibGUgZWxlbWVudCBhZnRlciBvcGVuaW5nCiAgICAgICAgYXV0b0ZvY3VzIDogZmFsc2UsCgogICAgICAgIC8vIFB1dCBmb2N1cyBiYWNrIHRvIGFjdGl2ZSBlbGVtZW50IGFmdGVyIGNsb3NpbmcKICAgICAgICBiYWNrRm9jdXMgOiB0cnVlLAoKICAgICAgICAvLyBEbyBub3QgbGV0IHVzZXIgdG8gZm9jdXMgb24gZWxlbWVudCBvdXRzaWRlIG1vZGFsIGNvbnRlbnQKICAgICAgICB0cmFwRm9jdXMgOiB0cnVlLAoKCiAgICAgICAgLy8gTW9kdWxlIHNwZWNpZmljIG9wdGlvbnMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBmdWxsU2NyZWVuIDogewogICAgICAgICAgICBhdXRvU3RhcnQgOiBmYWxzZSwKICAgICAgICB9LAoKICAgICAgICAvLyBTZXQgYHRvdWNoOiBmYWxzZWAgdG8gZGlzYWJsZSBkcmFnZ2luZy9zd2lwaW5nCiAgICAgICAgdG91Y2ggOiB7CiAgICAgICAgICAgIHZlcnRpY2FsIDogdHJ1ZSwgIC8vIEFsbG93IHRvIGRyYWcgY29udGVudCB2ZXJ0aWNhbGx5CiAgICAgICAgICAgIG1vbWVudHVtIDogdHJ1ZSAgIC8vIENvbnRpbnVlIG1vdmVtZW50IGFmdGVyIHJlbGVhc2luZyBtb3VzZS90b3VjaCB3aGVuIHBhbm5pbmcKICAgICAgICB9LAoKICAgICAgICAvLyBIYXNoIHZhbHVlIHdoZW4gaW5pdGlhbGl6aW5nIG1hbnVhbGx5LAogICAgICAgIC8vIHNldCBgZmFsc2VgIHRvIGRpc2FibGUgaGFzaCBjaGFuZ2UKICAgICAgICBoYXNoIDogbnVsbCwKCiAgICAgICAgLy8gQ3VzdG9taXplIG9yIGFkZCBuZXcgbWVkaWEgdHlwZXMKICAgICAgICAvLyBFeGFtcGxlOgogICAgICAgIC8qCiAgICAgICAgbWVkaWEgOiB7CiAgICAgICAgICAgIHlvdXR1YmUgOiB7CiAgICAgICAgICAgICAgICBwYXJhbXMgOiB7CiAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXkgOiAwCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgKi8KICAgICAgICBtZWRpYSA6IHt9LAoKICAgICAgICBzbGlkZVNob3cgOiB7CiAgICAgICAgICAgIGF1dG9TdGFydCA6IGZhbHNlLAogICAgICAgICAgICBzcGVlZCAgICAgOiA0MDAwCiAgICAgICAgfSwKCiAgICAgICAgdGh1bWJzIDogewoJCQlhdXRvU3RhcnQgICA6IGZhbHNlLCAgICAgICAgICAgICAgICAgIC8vIERpc3BsYXkgdGh1bWJuYWlscyBvbiBvcGVuaW5nCgkJCWhpZGVPbkNsb3NlIDogdHJ1ZSwgICAgICAgICAgICAgICAgICAgLy8gSGlkZSB0aHVtYm5haWwgZ3JpZCB3aGVuIGNsb3NpbmcgYW5pbWF0aW9uIHN0YXJ0cwoJCQlwYXJlbnRFbCAgICA6ICcuZmFuY3lib3gtY29udGFpbmVyJywgIC8vIENvbnRhaW5lciBpcyBpbmplY3RlZCBpbnRvIHRoaXMgZWxlbWVudAoJCQlheGlzICAgICAgICA6ICd5JyAgICAgICAgICAgICAgICAgICAgIC8vIFZlcnRpY2FsICh5KSBvciBob3Jpem9udGFsICh4KSBzY3JvbGxpbmcKCQl9LAoKICAgICAgICAvLyBVc2UgbW91c2V3aGVlbCB0byBuYXZpZ2F0ZSBnYWxsZXJ5CiAgICAgICAgLy8gSWYgJ2F1dG8nIC0gZW5hYmxlZCBmb3IgaW1hZ2VzIG9ubHkKICAgICAgICB3aGVlbCA6ICdhdXRvJywKCiAgICAgICAgLy8gQ2FsbGJhY2tzCiAgICAgICAgLy89PT09PT09PT09CgogICAgICAgIC8vIFNlZSBEb2N1bWVudGF0aW9uL0FQSS9FdmVudHMgZm9yIG1vcmUgaW5mb3JtYXRpb24KICAgICAgICAvLyBFeGFtcGxlOgogICAgICAgIC8qCiAgICAgICAgICAgIGFmdGVyU2hvdzogZnVuY3Rpb24oIGluc3RhbmNlLCBjdXJyZW50ICkgewogICAgICAgICAgICAgICAgIGNvbnNvbGUuaW5mbyggJ0NsaWNrZWQgZWxlbWVudDonICk7CiAgICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCBjdXJyZW50Lm9wdHMuJG9yaWcgKTsKICAgICAgICAgICAgfQogICAgICAgICovCgogICAgICAgIG9uSW5pdCAgICAgICA6ICQubm9vcCwgIC8vIFdoZW4gaW5zdGFuY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQKCiAgICAgICAgYmVmb3JlTG9hZCAgIDogJC5ub29wLCAgLy8gQmVmb3JlIHRoZSBjb250ZW50IG9mIGEgc2xpZGUgaXMgYmVpbmcgbG9hZGVkCiAgICAgICAgYWZ0ZXJMb2FkICAgIDogJC5ub29wLCAgLy8gV2hlbiB0aGUgY29udGVudCBvZiBhIHNsaWRlIGlzIGRvbmUgbG9hZGluZwoKICAgICAgICBiZWZvcmVTaG93ICAgOiAkLm5vb3AsICAvLyBCZWZvcmUgb3BlbiBhbmltYXRpb24gc3RhcnRzCiAgICAgICAgYWZ0ZXJTaG93ICAgIDogJC5ub29wLCAgLy8gV2hlbiBjb250ZW50IGlzIGRvbmUgbG9hZGluZyBhbmQgYW5pbWF0aW5nCgogICAgICAgIGJlZm9yZUNsb3NlICA6ICQubm9vcCwgIC8vIEJlZm9yZSB0aGUgaW5zdGFuY2UgYXR0ZW1wdHMgdG8gY2xvc2UuIFJldHVybiBmYWxzZSB0byBjYW5jZWwgdGhlIGNsb3NlLgogICAgICAgIGFmdGVyQ2xvc2UgICA6ICQubm9vcCwgIC8vIEFmdGVyIGluc3RhbmNlIGhhcyBiZWVuIGNsb3NlZAoKICAgICAgICBvbkFjdGl2YXRlICAgOiAkLm5vb3AsICAvLyBXaGVuIGluc3RhbmNlIGlzIGJyb3VnaHQgdG8gZnJvbnQKICAgICAgICBvbkRlYWN0aXZhdGUgOiAkLm5vb3AsICAvLyBXaGVuIG90aGVyIGluc3RhbmNlIGhhcyBiZWVuIGFjdGl2YXRlZAoKCiAgICAgICAgLy8gSW50ZXJhY3Rpb24KICAgICAgICAvLyA9PT09PT09PT09PQoKICAgICAgICAvLyBVc2Ugb3B0aW9ucyBiZWxvdyB0byBjdXN0b21pemUgdGFrZW4gYWN0aW9uIHdoZW4gdXNlciBjbGlja3Mgb3IgZG91YmxlIGNsaWNrcyBvbiB0aGUgZmFuY3lCb3ggYXJlYSwKICAgICAgICAvLyBlYWNoIG9wdGlvbiBjYW4gYmUgc3RyaW5nIG9yIG1ldGhvZCB0aGF0IHJldHVybnMgdmFsdWUuCiAgICAgICAgLy8KICAgICAgICAvLyBQb3NzaWJsZSB2YWx1ZXM6CiAgICAgICAgLy8gICAiY2xvc2UiICAgICAgICAgICAtIGNsb3NlIGluc3RhbmNlCiAgICAgICAgLy8gICAibmV4dCIgICAgICAgICAgICAtIG1vdmUgdG8gbmV4dCBnYWxsZXJ5IGl0ZW0KICAgICAgICAvLyAgICJuZXh0T3JDbG9zZSIgICAgIC0gbW92ZSB0byBuZXh0IGdhbGxlcnkgaXRlbSBvciBjbG9zZSBpZiBnYWxsZXJ5IGhhcyBvbmx5IG9uZSBpdGVtCiAgICAgICAgLy8gICAidG9nZ2xlQ29udHJvbHMiICAtIHNob3cvaGlkZSBjb250cm9scwogICAgICAgIC8vICAgInpvb20iICAgICAgICAgICAgLSB6b29tIGltYWdlIChpZiBsb2FkZWQpCiAgICAgICAgLy8gICBmYWxzZSAgICAgICAgICAgICAtIGRvIG5vdGhpbmcKCiAgICAgICAgLy8gQ2xpY2tlZCBvbiB0aGUgY29udGVudAogICAgICAgIGNsaWNrQ29udGVudCA6IGZ1bmN0aW9uKCBjdXJyZW50LCBldmVudCApIHsKICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyA/ICd6b29tJyA6IGZhbHNlOwogICAgICAgIH0sCgogICAgICAgIC8vIENsaWNrZWQgb24gdGhlIHNsaWRlCiAgICAgICAgY2xpY2tTbGlkZSA6ICdjbG9zZScsCgogICAgICAgIC8vIENsaWNrZWQgb24gdGhlIGJhY2tncm91bmQgKGJhY2tkcm9wKSBlbGVtZW50CiAgICAgICAgY2xpY2tPdXRzaWRlIDogJ2Nsb3NlJywKCiAgICAgICAgLy8gU2FtZSBhcyBwcmV2aW91cyB0d28sIGJ1dCBmb3IgZG91YmxlIGNsaWNrCiAgICAgICAgZGJsY2xpY2tDb250ZW50IDogZmFsc2UsCiAgICAgICAgZGJsY2xpY2tTbGlkZSAgIDogZmFsc2UsCiAgICAgICAgZGJsY2xpY2tPdXRzaWRlIDogZmFsc2UsCgoKICAgICAgICAvLyBDdXN0b20gb3B0aW9ucyB3aGVuIG1vYmlsZSBkZXZpY2UgaXMgZGV0ZWN0ZWQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgbW9iaWxlIDogewogICAgICAgICAgICBpZGxlVGltZSA6IGZhbHNlLAogICAgICAgICAgICBtYXJnaW4gICA6IDAsCgogICAgICAgICAgICBjbGlja0NvbnRlbnQgOiBmdW5jdGlvbiggY3VycmVudCwgZXZlbnQgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gJ3RvZ2dsZUNvbnRyb2xzJyA6IGZhbHNlOwogICAgICAgICAgICB9LAogICAgICAgICAgICBjbGlja1NsaWRlIDogZnVuY3Rpb24oIGN1cnJlbnQsIGV2ZW50ICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyA/ICd0b2dnbGVDb250cm9scycgOiAnY2xvc2UnOwogICAgICAgICAgICB9LAogICAgICAgICAgICBkYmxjbGlja0NvbnRlbnQgOiBmdW5jdGlvbiggY3VycmVudCwgZXZlbnQgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gJ3pvb20nIDogZmFsc2U7CiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIGRibGNsaWNrU2xpZGUgOiBmdW5jdGlvbiggY3VycmVudCwgZXZlbnQgKSB7CiAgICAgICAgICAgICAgICByZXR1cm4gY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gJ3pvb20nIDogZmFsc2U7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKCiAgICAgICAgLy8gSW50ZXJuYXRpb25hbGl6YXRpb24KICAgICAgICAvLyA9PT09PT09PT09PT0KCiAgICAgICAgbGFuZyA6ICdlbicsCiAgICAgICAgaTE4biA6IHsKICAgICAgICAgICAgJ2VuJyA6IHsKICAgICAgICAgICAgICAgIENMT1NFICAgICAgIDogJ0Nsb3NlJywKICAgICAgICAgICAgICAgIE5FWFQgICAgICAgIDogJ05leHQnLAogICAgICAgICAgICAgICAgUFJFViAgICAgICAgOiAnUHJldmlvdXMnLAogICAgICAgICAgICAgICAgRVJST1IgICAgICAgOiAnVGhlIHJlcXVlc3RlZCBjb250ZW50IGNhbm5vdCBiZSBsb2FkZWQuIDxici8+IFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuJywKICAgICAgICAgICAgICAgIFBMQVlfU1RBUlQgIDogJ1N0YXJ0IHNsaWRlc2hvdycsCiAgICAgICAgICAgICAgICBQTEFZX1NUT1AgICA6ICdQYXVzZSBzbGlkZXNob3cnLAogICAgICAgICAgICAgICAgRlVMTF9TQ1JFRU4gOiAnRnVsbCBzY3JlZW4nLAogICAgICAgICAgICAgICAgVEhVTUJTICAgICAgOiAnVGh1bWJuYWlscycsCiAgICAgICAgICAgICAgICBET1dOTE9BRCAgICA6ICdEb3dubG9hZCcsCiAgICAgICAgICAgICAgICBTSEFSRSAgICAgICA6ICdTaGFyZScsCiAgICAgICAgICAgICAgICBaT09NICAgICAgICA6ICdab29tJwogICAgICAgICAgICB9LAogICAgICAgICAgICAnZGUnIDogewogICAgICAgICAgICAgICAgQ0xPU0UgICAgICAgOiAnU2NobGllc3NlbicsCiAgICAgICAgICAgICAgICBORVhUICAgICAgICA6ICdXZWl0ZXInLAogICAgICAgICAgICAgICAgUFJFViAgICAgICAgOiAnWnVyw7xjaycsCiAgICAgICAgICAgICAgICBFUlJPUiAgICAgICA6ICdEaWUgYW5nZWZvcmRlcnRlbiBEYXRlbiBrb25udGVuIG5pY2h0IGdlbGFkZW4gd2VyZGVuLiA8YnIvPiBCaXR0ZSB2ZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgbm9jaG1hbC4nLAogICAgICAgICAgICAgICAgUExBWV9TVEFSVCAgOiAnRGlhc2NoYXUgc3RhcnRlbicsCiAgICAgICAgICAgICAgICBQTEFZX1NUT1AgICA6ICdEaWFzY2hhdSBiZWVuZGVuJywKICAgICAgICAgICAgICAgIEZVTExfU0NSRUVOIDogJ1ZvbGxiaWxkJywKICAgICAgICAgICAgICAgIFRIVU1CUyAgICAgIDogJ1ZvcnNjaGF1YmlsZGVyJywKICAgICAgICAgICAgICAgIERPV05MT0FEICAgIDogJ0hlcnVudGVybGFkZW4nLAogICAgICAgICAgICAgICAgU0hBUkUgICAgICAgOiAnVGVpbGVuJywKICAgICAgICAgICAgICAgIFpPT00gICAgICAgIDogJ01hw59zdGFiJwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIH07CgogICAgLy8gRmV3IHVzZWZ1bCB2YXJpYWJsZXMgYW5kIG1ldGhvZHMKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgdmFyICRXID0gJCh3aW5kb3cpOwogICAgdmFyICREID0gJChkb2N1bWVudCk7CgogICAgdmFyIGNhbGxlZCA9IDA7CgoKICAgIC8vIENoZWNrIGlmIGFuIG9iamVjdCBpcyBhIGpRdWVyeSBvYmplY3QgYW5kIG5vdCBhIG5hdGl2ZSBKYXZhU2NyaXB0IG9iamVjdAogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgdmFyIGlzUXVlcnkgPSBmdW5jdGlvbiAoIG9iaiApIHsKICAgICAgICByZXR1cm4gb2JqICYmIG9iai5oYXNPd25Qcm9wZXJ0eSAmJiBvYmogaW5zdGFuY2VvZiAkOwogICAgfTsKCgogICAgLy8gSGFuZGxlIG11bHRpcGxlIGJyb3dzZXJzIGZvciAicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiBhbmQgImNhbmNlbEFuaW1hdGlvbkZyYW1lIgogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIHZhciByZXF1ZXN0QUZyYW1lID0gKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgICAgICAgICAgICAgd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgICAgICAgICAgICAgd2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAogICAgICAgICAgICAgICAgd2luZG93Lm9SZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKICAgICAgICAgICAgICAgIC8vIGlmIGFsbCBlbHNlIGZhaWxzLCB1c2Ugc2V0VGltZW91dAogICAgICAgICAgICAgICAgZnVuY3Rpb24gKGNhbGxiYWNrKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrLCAxMDAwIC8gNjApOwogICAgICAgICAgICAgICAgfTsKICAgIH0pKCk7CgoKICAgIC8vIERldGVjdCB0aGUgc3VwcG9ydGVkIHRyYW5zaXRpb24tZW5kIGV2ZW50IHByb3BlcnR5IG5hbWUKICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICB2YXIgdHJhbnNpdGlvbkVuZCA9IChmdW5jdGlvbiAoKSB7CiAgICAgICAgdmFyIHQsIGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZmFrZWVsZW1lbnQiKTsKCiAgICAgICAgdmFyIHRyYW5zaXRpb25zID0gewogICAgICAgICAgICAidHJhbnNpdGlvbiIgICAgICA6ICJ0cmFuc2l0aW9uZW5kIiwKICAgICAgICAgICAgIk9UcmFuc2l0aW9uIiAgICAgOiAib1RyYW5zaXRpb25FbmQiLAogICAgICAgICAgICAiTW96VHJhbnNpdGlvbiIgICA6ICJ0cmFuc2l0aW9uZW5kIiwKICAgICAgICAgICAgIldlYmtpdFRyYW5zaXRpb24iOiAid2Via2l0VHJhbnNpdGlvbkVuZCIKICAgICAgICB9OwoKICAgICAgICBmb3IgKHQgaW4gdHJhbnNpdGlvbnMpIHsKICAgICAgICAgICAgaWYgKGVsLnN0eWxlW3RdICE9PSB1bmRlZmluZWQpewogICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zaXRpb25zW3RdOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gJ3RyYW5zaXRpb25lbmQnOwogICAgfSkoKTsKCgogICAgLy8gRm9yY2UgcmVkcmF3IG9uIGFuIGVsZW1lbnQuCiAgICAvLyBUaGlzIGhlbHBzIGluIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIGRvZXNuJ3QgcmVkcmF3IGFuIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJseS4KICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIHZhciBmb3JjZVJlZHJhdyA9IGZ1bmN0aW9uKCAkZWwgKSB7CiAgICAgICAgcmV0dXJuICggJGVsICYmICRlbC5sZW5ndGggJiYgJGVsWzBdLm9mZnNldEhlaWdodCApOwogICAgfTsKCgogICAgLy8gQ2xhc3MgZGVmaW5pdGlvbgogICAgLy8gPT09PT09PT09PT09PT09PQoKICAgIHZhciBGYW5jeUJveCA9IGZ1bmN0aW9uKCBjb250ZW50LCBvcHRzLCBpbmRleCApIHsKICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgIHNlbGYub3B0cyA9ICQuZXh0ZW5kKCB0cnVlLCB7IGluZGV4IDogaW5kZXggfSwgJC5mYW5jeWJveC5kZWZhdWx0cywgb3B0cyB8fCB7fSApOwoKICAgICAgICBpZiAoICQuZmFuY3lib3guaXNNb2JpbGUgKSB7CiAgICAgICAgICAgIHNlbGYub3B0cyA9ICQuZXh0ZW5kKCB0cnVlLCB7fSwgc2VsZi5vcHRzLCBzZWxmLm9wdHMubW9iaWxlICk7CiAgICAgICAgfQoKICAgICAgICAvLyBFeGNsdWRlIGJ1dHRvbnMgb3B0aW9uIGZyb20gZGVlcCBtZXJnaW5nCiAgICAgICAgaWYgKCBvcHRzICYmICQuaXNBcnJheSggb3B0cy5idXR0b25zICkgKSB7CiAgICAgICAgICAgIHNlbGYub3B0cy5idXR0b25zID0gb3B0cy5idXR0b25zOwogICAgICAgIH0KCiAgICAgICAgc2VsZi5pZCAgICA9IHNlbGYub3B0cy5pZCB8fCArK2NhbGxlZDsKICAgICAgICBzZWxmLmdyb3VwID0gW107CgogICAgICAgIHNlbGYuY3VyckluZGV4ID0gcGFyc2VJbnQoIHNlbGYub3B0cy5pbmRleCwgMTAgKSB8fCAwOwogICAgICAgIHNlbGYucHJldkluZGV4ID0gbnVsbDsKCiAgICAgICAgc2VsZi5wcmV2UG9zID0gbnVsbDsKICAgICAgICBzZWxmLmN1cnJQb3MgPSAwOwoKICAgICAgICBzZWxmLmZpcnN0UnVuID0gbnVsbDsKCiAgICAgICAgLy8gQ3JlYXRlIGdyb3VwIGVsZW1lbnRzIGZyb20gb3JpZ2luYWwgaXRlbSBjb2xsZWN0aW9uCiAgICAgICAgc2VsZi5jcmVhdGVHcm91cCggY29udGVudCApOwoKICAgICAgICBpZiAoICFzZWxmLmdyb3VwLmxlbmd0aCApIHsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KCiAgICAgICAgLy8gU2F2ZSBsYXN0IGFjdGl2ZSBlbGVtZW50IGFuZCBjdXJyZW50IHNjcm9sbCBwb3NpdGlvbgogICAgICAgIHNlbGYuJGxhc3RGb2N1cyA9ICQoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkuYmx1cigpOwoKICAgICAgICAvLyBDb2xsZWN0aW9uIG9mIGdhbGxlcnkgb2JqZWN0cwogICAgICAgIHNlbGYuc2xpZGVzID0ge307CgogICAgICAgIHNlbGYuaW5pdCgpOwogICAgfTsKCiAgICAkLmV4dGVuZChGYW5jeUJveC5wcm90b3R5cGUsIHsKCiAgICAgICAgLy8gQ3JlYXRlIERPTSBzdHJ1Y3R1cmUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBpbml0IDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgICAgIGZpcnN0SXRlbSAgICAgID0gc2VsZi5ncm91cFsgc2VsZi5jdXJySW5kZXggXSwKICAgICAgICAgICAgICAgIGZpcnN0SXRlbU9wdHMgID0gZmlyc3RJdGVtLm9wdHMsCiAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aCA9ICQuZmFuY3lib3guc2Nyb2xsYmFyV2lkdGgsCiAgICAgICAgICAgICAgICAkc2Nyb2xsRGl2LAogICAgICAgICAgICAgICAgJGNvbnRhaW5lciwKICAgICAgICAgICAgICAgIGJ1dHRvblN0cjsKCiAgICAgICAgICAgIHNlbGYuc2Nyb2xsVG9wICA9ICRELnNjcm9sbFRvcCgpOwogICAgICAgICAgICBzZWxmLnNjcm9sbExlZnQgPSAkRC5zY3JvbGxMZWZ0KCk7CgoKICAgICAgICAgICAgLy8gSGlkZSBzY3JvbGxiYXJzCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PQoKICAgICAgICAgICAgaWYgKCAhJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpICkgewoKICAgICAgICAgICAgICAgICQoICdib2R5JyApLmFkZENsYXNzKCAnZmFuY3lib3gtYWN0aXZlJyApOwoKICAgICAgICAgICAgICAgIC8vIGlPUyBoYWNrCiAgICAgICAgICAgICAgICBpZiAoIC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmICF3aW5kb3cuTVNTdHJlYW0gKSB7CgogICAgICAgICAgICAgICAgICAgIC8vIGlPUyBoYXMgcHJvYmxlbXMgZm9yIGlucHV0IGVsZW1lbnRzIGluc2lkZSBmaXhlZCBjb250YWluZXJzLAogICAgICAgICAgICAgICAgICAgIC8vIHRoZSB3b3JrYXJvdW5kIGlzIHRvIGFwcGx5IGBwb3NpdGlvbjogZml4ZWRgIHRvIGA8Ym9keT5gIGVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgLy8gdW5mb3J0dW5hdGVseSwgdGhpcyBtYWtlcyBpdCBsb3NlIHRoZSBzY3JvbGxiYXJzIGFuZCBmb3JjZXMgYWRkcmVzcyBiYXIgdG8gYXBwZWFyLgoKICAgICAgICAgICAgICAgICAgICBpZiAoIGZpcnN0SXRlbS50eXBlICE9PSAnaW1hZ2UnICkgewogICAgICAgICAgICAgICAgICAgICAgICAkKCAnYm9keScgKS5jc3MoICd0b3AnLCAkKCAnYm9keScgKS5zY3JvbGxUb3AoKSAqIC0xICkuYWRkQ2xhc3MoICdmYW5jeWJveC1pb3NmaXgnICk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICEkLmZhbmN5Ym94LmlzTW9iaWxlICYmIGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0ICkgewoKICAgICAgICAgICAgICAgICAgICBpZiAoIHNjcm9sbGJhcldpZHRoID09PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRzY3JvbGxEaXYgPSAkKCc8ZGl2IHN0eWxlPSJ3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbDsiIC8+JykuYXBwZW5kVG8oICdib2R5JyApOwoKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyV2lkdGggPSAkLmZhbmN5Ym94LnNjcm9sbGJhcldpZHRoID0gJHNjcm9sbERpdlswXS5vZmZzZXRXaWR0aCAtICRzY3JvbGxEaXZbMF0uY2xpZW50V2lkdGg7CgogICAgICAgICAgICAgICAgICAgICAgICAkc2Nyb2xsRGl2LnJlbW92ZSgpOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgJCggJ2hlYWQnICkuYXBwZW5kKCAnPHN0eWxlIGlkPSJmYW5jeWJveC1zdHlsZS1ub3Njcm9sbCIgdHlwZT0idGV4dC9jc3MiPi5jb21wZW5zYXRlLWZvci1zY3JvbGxiYXIgeyBtYXJnaW4tcmlnaHQ6ICcgKyBzY3JvbGxiYXJXaWR0aCArICdweDsgfTwvc3R5bGU+JyApOwogICAgICAgICAgICAgICAgICAgICQoICdib2R5JyApLmFkZENsYXNzKCAnY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyJyApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgoKICAgICAgICAgICAgLy8gQnVpbGQgaHRtbCBtYXJrdXAgYW5kIHNldCByZWZlcmVuY2VzCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICAgICAgLy8gQnVpbGQgaHRtbCBjb2RlIGZvciBidXR0b25zIGFuZCBpbnNlcnQgaW50byBtYWluIHRlbXBsYXRlCiAgICAgICAgICAgIGJ1dHRvblN0ciA9ICcnOwoKICAgICAgICAgICAgJC5lYWNoKCBmaXJzdEl0ZW1PcHRzLmJ1dHRvbnMsIGZ1bmN0aW9uKCBpbmRleCwgdmFsdWUgKSB7CiAgICAgICAgICAgICAgICBidXR0b25TdHIgKz0gKCBmaXJzdEl0ZW1PcHRzLmJ0blRwbFsgdmFsdWUgXSB8fCAnJyApOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIENyZWF0ZSBtYXJrdXAgZnJvbSBiYXNlIHRlbXBsYXRlLCBpdCB3aWxsIGJlIGluaXRpYWxseSBoaWRkZW4gdG8KICAgICAgICAgICAgLy8gYXZvaWQgdW5uZWNlc3Nhcnkgd29yayBsaWtlIHBhaW50aW5nIHdoaWxlIGluaXRpYWxpemluZyBpcyBub3QgY29tcGxldGUKICAgICAgICAgICAgJGNvbnRhaW5lciA9ICQoCiAgICAgICAgICAgICAgICBzZWxmLnRyYW5zbGF0ZSggc2VsZiwKICAgICAgICAgICAgICAgICAgICBmaXJzdEl0ZW1PcHRzLmJhc2VUcGwKICAgICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoICdce1x7YnV0dG9uc1x9XH0nLCBidXR0b25TdHIgKQogICAgICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSggJ1x7XHthcnJvd3NcfVx9JywgZmlyc3RJdGVtT3B0cy5idG5UcGwuYXJyb3dMZWZ0ICsgZmlyc3RJdGVtT3B0cy5idG5UcGwuYXJyb3dSaWdodCApCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICkKICAgICAgICAgICAgICAgIC5hdHRyKCAnaWQnLCAnZmFuY3lib3gtY29udGFpbmVyLScgKyBzZWxmLmlkICkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKQogICAgICAgICAgICAgICAgLmFkZENsYXNzKCBmaXJzdEl0ZW1PcHRzLmJhc2VDbGFzcyApCiAgICAgICAgICAgICAgICAuZGF0YSggJ0ZhbmN5Qm94Jywgc2VsZiApCiAgICAgICAgICAgICAgICAuYXBwZW5kVG8oIGZpcnN0SXRlbU9wdHMucGFyZW50RWwgKTsKCiAgICAgICAgICAgIC8vIENyZWF0ZSBvYmplY3QgaG9sZGluZyByZWZlcmVuY2VzIHRvIGpRdWVyeSB3cmFwcGVkIG5vZGVzCiAgICAgICAgICAgIHNlbGYuJHJlZnMgPSB7CiAgICAgICAgICAgICAgICBjb250YWluZXIgOiAkY29udGFpbmVyCiAgICAgICAgICAgIH07CgogICAgICAgICAgICBbICdiZycsICdpbm5lcicsICdpbmZvYmFyJywgJ3Rvb2xiYXInLCAnc3RhZ2UnLCAnY2FwdGlvbicsICduYXZpZ2F0aW9uJyBdLmZvckVhY2goZnVuY3Rpb24oaXRlbSkgewogICAgICAgICAgICAgICAgc2VsZi4kcmVmc1sgaXRlbSBdID0gJGNvbnRhaW5lci5maW5kKCAnLmZhbmN5Ym94LScgKyBpdGVtICk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnb25Jbml0JyApOwoKICAgICAgICAgICAgLy8gRW5hYmxlIGV2ZW50cywgZGVhY3RpdmUgcHJldmlvdXMgaW5zdGFuY2VzCiAgICAgICAgICAgIHNlbGYuYWN0aXZhdGUoKTsKCiAgICAgICAgICAgIC8vIEJ1aWxkIHNsaWRlcywgbG9hZCBhbmQgcmV2ZWFsIGNvbnRlbnQKICAgICAgICAgICAgc2VsZi5qdW1wVG8oIHNlbGYuY3VyckluZGV4ICk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIFNpbXBsZSBpMThuIHN1cHBvcnQgLSByZXBsYWNlcyBvYmplY3Qga2V5cyBmb3VuZCBpbiB0ZW1wbGF0ZQogICAgICAgIC8vIHdpdGggY29ycmVzcG9uZGluZyB2YWx1ZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgdHJhbnNsYXRlIDogZnVuY3Rpb24oIG9iaiwgc3RyICkgewogICAgICAgICAgICB2YXIgYXJyID0gb2JqLm9wdHMuaTE4blsgb2JqLm9wdHMubGFuZyBdOwoKICAgICAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKC9ce1x7KFx3KylcfVx9L2csIGZ1bmN0aW9uKG1hdGNoLCBuKSB7CiAgICAgICAgICAgICAgICB2YXIgdmFsdWUgPSBhcnJbbl07CgogICAgICAgICAgICAgICAgaWYgKCB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCgogICAgICAgIC8vIENyZWF0ZSBhcnJheSBvZiBnYWxseSBpdGVtIG9iamVjdHMKICAgICAgICAvLyBDaGVjayBpZiBlYWNoIG9iamVjdCBoYXMgdmFsaWQgdHlwZSBhbmQgY29udGVudAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGNyZWF0ZUdyb3VwIDogZnVuY3Rpb24gKCBjb250ZW50ICkgewogICAgICAgICAgICB2YXIgc2VsZiAgPSB0aGlzOwogICAgICAgICAgICB2YXIgaXRlbXMgPSAkLm1ha2VBcnJheSggY29udGVudCApOwoKICAgICAgICAgICAgJC5lYWNoKGl0ZW1zLCBmdW5jdGlvbiggaSwgaXRlbSApIHsKICAgICAgICAgICAgICAgIHZhciBvYmogID0ge30sCiAgICAgICAgICAgICAgICAgICAgb3B0cyA9IHt9LAogICAgICAgICAgICAgICAgICAgICRpdGVtLAogICAgICAgICAgICAgICAgICAgIHR5cGUsCiAgICAgICAgICAgICAgICAgICAgZm91bmQsCiAgICAgICAgICAgICAgICAgICAgc3JjLAogICAgICAgICAgICAgICAgICAgIHNyY1BhcnRzOwoKICAgICAgICAgICAgICAgIC8vIFN0ZXAgMSAtIE1ha2Ugc3VyZSB3ZSBoYXZlIGFuIG9iamVjdAogICAgICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgaWYgKCAkLmlzUGxhaW5PYmplY3QoIGl0ZW0gKSApIHsKCiAgICAgICAgICAgICAgICAgICAgLy8gV2UgcHJvYmFibHkgaGF2ZSBtYW51YWwgdXNhZ2UgaGVyZSwgc29tZXRoaW5nIGxpa2UKICAgICAgICAgICAgICAgICAgICAvLyAkLmZhbmN5Ym94Lm9wZW4oIFsgeyBzcmMgOiAiaW1hZ2UuanBnIiwgdHlwZSA6ICJpbWFnZSIgfSBdICkKCiAgICAgICAgICAgICAgICAgICAgb2JqICA9IGl0ZW07CiAgICAgICAgICAgICAgICAgICAgb3B0cyA9IGl0ZW0ub3B0cyB8fCBpdGVtOwoKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICQudHlwZSggaXRlbSApID09PSAnb2JqZWN0JyAmJiAkKCBpdGVtICkubGVuZ3RoICkgewoKICAgICAgICAgICAgICAgICAgICAvLyBIZXJlIHdlIHByb2JhYmx5IGhhdmUgalF1ZXJ5IGNvbGxlY3Rpb24gcmV0dXJuZWQgYnkgc29tZSBzZWxlY3RvcgogICAgICAgICAgICAgICAgICAgICRpdGVtID0gJCggaXRlbSApOwoKICAgICAgICAgICAgICAgICAgICBvcHRzID0gJGl0ZW0uZGF0YSgpOwogICAgICAgICAgICAgICAgICAgIG9wdHMgPSAkLmV4dGVuZCgge30sIG9wdHMsIG9wdHMub3B0aW9ucyB8fCB7fSApOwoKICAgICAgICAgICAgICAgICAgICAvLyBIZXJlIHdlIHN0b3JlIGNsaWNrZWQgZWxlbWVudAogICAgICAgICAgICAgICAgICAgIG9wdHMuJG9yaWcgPSAkaXRlbTsKCiAgICAgICAgICAgICAgICAgICAgb2JqLnNyYyA9IG9wdHMuc3JjIHx8ICRpdGVtLmF0dHIoICdocmVmJyApOwoKICAgICAgICAgICAgICAgICAgICAvLyBBc3N1bWUgdGhhdCBzaW1wbGUgc3ludGF4IGlzIHVzZWQsIGZvciBleGFtcGxlOgogICAgICAgICAgICAgICAgICAgIC8vICAgYCQuZmFuY3lib3gub3BlbiggJCgiI3Rlc3QiKSwge30gKTtgCiAgICAgICAgICAgICAgICAgICAgaWYgKCAhb2JqLnR5cGUgJiYgIW9iai5zcmMgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9iai50eXBlID0gJ2lubGluZSc7CiAgICAgICAgICAgICAgICAgICAgICAgIG9iai5zcmMgID0gaXRlbTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAgICAgLy8gQXNzdW1lIHdlIGhhdmUgYSBzaW1wbGUgaHRtbCBjb2RlLCBmb3IgZXhhbXBsZToKICAgICAgICAgICAgICAgICAgICAvLyAgICQuZmFuY3lib3gub3BlbiggJzxkaXY+PGgxPkhpITwvaDE+PC9kaXY+JyApOwoKICAgICAgICAgICAgICAgICAgICBvYmogPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgOiAnaHRtbCcsCiAgICAgICAgICAgICAgICAgICAgICAgIHNyYyAgOiBpdGVtICsgJycKICAgICAgICAgICAgICAgICAgICB9OwoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBFYWNoIGdhbGxlcnkgb2JqZWN0IGhhcyBmdWxsIGNvbGxlY3Rpb24gb2Ygb3B0aW9ucwogICAgICAgICAgICAgICAgb2JqLm9wdHMgPSAkLmV4dGVuZCggdHJ1ZSwge30sIHNlbGYub3B0cywgb3B0cyApOwoKICAgICAgICAgICAgICAgIC8vIERvIG5vdCBtZXJnZSBidXR0b25zIGFycmF5CiAgICAgICAgICAgICAgICBpZiAoICQuaXNBcnJheSggb3B0cy5idXR0b25zICkgKSB7CiAgICAgICAgICAgICAgICAgICAgb2JqLm9wdHMuYnV0dG9ucyA9IG9wdHMuYnV0dG9uczsKICAgICAgICAgICAgICAgIH0KCgogICAgICAgICAgICAgICAgLy8gU3RlcCAyIC0gTWFrZSBzdXJlIHdlIGhhdmUgY29udGVudCB0eXBlLCBpZiBub3QgLSB0cnkgdG8gZ3Vlc3MKICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgdHlwZSA9IG9iai50eXBlIHx8IG9iai5vcHRzLnR5cGU7CiAgICAgICAgICAgICAgICBzcmMgID0gb2JqLnNyYyB8fCAnJzsKCiAgICAgICAgICAgICAgICBpZiAoICF0eXBlICYmIHNyYyApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoIHNyYy5tYXRjaCgvKF5kYXRhOmltYWdlXC9bYS16MC05K1wvPV0qLCl8KFwuKGpwKGV8Z3xlZyl8Z2lmfHBuZ3xibXB8d2VicHxzdmd8aWNvKSgoXD98IykuKik/JCkvaSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnaW1hZ2UnOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCBzcmMubWF0Y2goL1wuKHBkZikoKFw/fCMpLiopPyQvaSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAncGRmJzsKCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICggZm91bmQgPSBzcmMubWF0Y2goL1wuKG1wNHxtb3Z8b2d2KSgoXD98IykuKik/JC9pKSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICd2aWRlbyc7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoICFvYmoub3B0cy52aWRlb0Zvcm1hdCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLnZpZGVvRm9ybWF0ID0gJ3ZpZGVvLycgKyAoIGZvdW5kWzFdID09PSAnb2d2JyA/ICdvZ2cnIDogZm91bmRbMV0gKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCBzcmMuY2hhckF0KDApID09PSAnIycgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGUgPSAnaW5saW5lJzsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCB0eXBlICkgewogICAgICAgICAgICAgICAgICAgIG9iai50eXBlID0gdHlwZTsKCiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ29iamVjdE5lZWRzVHlwZScsIG9iaiApOwogICAgICAgICAgICAgICAgfQoKCiAgICAgICAgICAgICAgICAvLyBTdGVwIDMgLSBTb21lIGFkanVzdG1lbnRzCiAgICAgICAgICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgb2JqLmluZGV4ID0gc2VsZi5ncm91cC5sZW5ndGg7CgogICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgJG9yaWcgYW5kICR0aHVtYiBvYmplY3RzIGV4aXN0CiAgICAgICAgICAgICAgICBpZiAoIG9iai5vcHRzLiRvcmlnICYmICFvYmoub3B0cy4kb3JpZy5sZW5ndGggKSB7CiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG9iai5vcHRzLiRvcmlnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggIW9iai5vcHRzLiR0aHVtYiAmJiBvYmoub3B0cy4kb3JpZyApIHsKICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy4kdGh1bWIgPSBvYmoub3B0cy4kb3JpZy5maW5kKCAnaW1nOmZpcnN0JyApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggb2JqLm9wdHMuJHRodW1iICYmICFvYmoub3B0cy4kdGh1bWIubGVuZ3RoICkgewogICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmoub3B0cy4kdGh1bWI7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gImNhcHRpb24iIGlzIGEgInNwZWNpYWwiIG9wdGlvbiwgaXQgY2FuIGJlIHVzZWQgdG8gY3VzdG9taXplIGNhcHRpb24gcGVyIGdhbGxlcnkgaXRlbSAuLgogICAgICAgICAgICAgICAgaWYgKCAkLnR5cGUoIG9iai5vcHRzLmNhcHRpb24gKSA9PT0gJ2Z1bmN0aW9uJyApIHsKICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy5jYXB0aW9uID0gb2JqLm9wdHMuY2FwdGlvbi5hcHBseSggaXRlbSwgWyBzZWxmLCBvYmogXSApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggJC50eXBlKCBzZWxmLm9wdHMuY2FwdGlvbiApID09PSAnZnVuY3Rpb24nICkgewogICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmNhcHRpb24gPSBzZWxmLm9wdHMuY2FwdGlvbi5hcHBseSggaXRlbSwgWyBzZWxmLCBvYmogXSApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGNhcHRpb24gYXMgYSBzdHJpbmcgb3IgalF1ZXJ5IG9iamVjdAogICAgICAgICAgICAgICAgaWYgKCAhKCBvYmoub3B0cy5jYXB0aW9uIGluc3RhbmNlb2YgJCApICkgewogICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmNhcHRpb24gPSBvYmoub3B0cy5jYXB0aW9uID09PSB1bmRlZmluZWQgPyAnJyA6IG9iai5vcHRzLmNhcHRpb24gKyAnJzsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB1cmwgY29udGFpbnMgImZpbHRlciIgdXNlZCB0byBmaWx0ZXIgdGhlIGNvbnRlbnQKICAgICAgICAgICAgICAgIC8vIEV4YW1wbGU6ICJhamF4Lmh0bWwgI3NvbWV0aGluZyIKICAgICAgICAgICAgICAgIGlmICggdHlwZSA9PT0gJ2FqYXgnICkgewogICAgICAgICAgICAgICAgICAgIHNyY1BhcnRzID0gc3JjLnNwbGl0KC9ccysvLCAyKTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCBzcmNQYXJ0cy5sZW5ndGggPiAxICkgewogICAgICAgICAgICAgICAgICAgICAgICBvYmouc3JjID0gc3JjUGFydHMuc2hpZnQoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmZpbHRlciA9IHNyY1BhcnRzLnNoaWZ0KCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggb2JqLm9wdHMuc21hbGxCdG4gPT0gJ2F1dG8nICkgewoKICAgICAgICAgICAgICAgICAgICBpZiAoICQuaW5BcnJheSggdHlwZSwgWydodG1sJywgJ2lubGluZScsICdhamF4J10gKSA+IC0xICkgewogICAgICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy50b29sYmFyICA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBvYmoub3B0cy5zbWFsbEJ0biA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLnNtYWxsQnRuID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdHlwZSBpcyAicGRmIiwgdGhlbiBzaW1wbHkgbG9hZCBmaWxlIGludG8gaWZyYW1lCiAgICAgICAgICAgICAgICBpZiAoIHR5cGUgPT09ICdwZGYnICkgewogICAgICAgICAgICAgICAgICAgIG9iai50eXBlID0gJ2lmcmFtZSc7CgogICAgICAgICAgICAgICAgICAgIG9iai5vcHRzLmlmcmFtZS5wcmVsb2FkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gSGlkZSBhbGwgYnV0dG9ucyBhbmQgZGlzYWJsZSBpbnRlcmFjdGl2aXR5IGZvciBtb2RhbCBpdGVtcwogICAgICAgICAgICAgICAgaWYgKCBvYmoub3B0cy5tb2RhbCApIHsKCiAgICAgICAgICAgICAgICAgICAgb2JqLm9wdHMgPSAkLmV4dGVuZCh0cnVlLCBvYmoub3B0cywgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmUgYnV0dG9ucwogICAgICAgICAgICAgICAgICAgICAgICBpbmZvYmFyIDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG9vbGJhciA6IDAsCgogICAgICAgICAgICAgICAgICAgICAgICBzbWFsbEJ0biA6IDAsCgogICAgICAgICAgICAgICAgICAgICAgICAvLyBEaXNhYmxlIGtleWJvYXJkIG5hdmlnYXRpb24KICAgICAgICAgICAgICAgICAgICAgICAga2V5Ym9hcmQgOiAwLAoKICAgICAgICAgICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBzb21lIG1vZHVsZXMKICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVTaG93ICA6IDAsCiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGxTY3JlZW4gOiAwLAogICAgICAgICAgICAgICAgICAgICAgICB0aHVtYnMgICAgIDogMCwKICAgICAgICAgICAgICAgICAgICAgICAgdG91Y2ggICAgICA6IDAsCgogICAgICAgICAgICAgICAgICAgICAgICAvLyBEaXNhYmxlIGNsaWNrIGV2ZW50IGhhbmRsZXJzCiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWNrQ29udGVudCAgICA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBjbGlja1NsaWRlICAgICAgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgY2xpY2tPdXRzaWRlICAgIDogZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgIGRibGNsaWNrQ29udGVudCA6IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICBkYmxjbGlja1NsaWRlICAgOiBmYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgZGJsY2xpY2tPdXRzaWRlIDogZmFsc2UKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gU3RlcCA0IC0gQWRkIHByb2Nlc3NlZCBvYmplY3QgdG8gZ3JvdXAKICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgc2VsZi5ncm91cC5wdXNoKCBvYmogKTsKCiAgICAgICAgICAgIH0pOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQXR0YWNoIGFuIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb25zIGZvcjoKICAgICAgICAvLyAgIC0gbmF2aWdhdGlvbiBidXR0b25zCiAgICAgICAgLy8gICAtIGJyb3dzZXIgc2Nyb2xsaW5nLCByZXNpemluZzsKICAgICAgICAvLyAgIC0gZm9jdXNpbmcKICAgICAgICAvLyAgIC0ga2V5Ym9hcmQKICAgICAgICAvLyAgIC0gZGV0ZWN0IGlkbGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBhZGRFdmVudHMgOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgc2VsZi5yZW1vdmVFdmVudHMoKTsKCiAgICAgICAgICAgIC8vIE1ha2UgbmF2aWdhdGlvbiBlbGVtZW50cyBjbGlja2FibGUKICAgICAgICAgICAgc2VsZi4kcmVmcy5jb250YWluZXIub24oJ2NsaWNrLmZiLWNsb3NlJywgJ1tkYXRhLWZhbmN5Ym94LWNsb3NlXScsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7CiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgICAgICAgICAgICAgc2VsZi5jbG9zZSggZSApOwoKICAgICAgICAgICAgfSkub24oICdjbGljay5mYi1wcmV2IHRvdWNoZW5kLmZiLXByZXYnLCAnW2RhdGEtZmFuY3lib3gtcHJldl0nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwogICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgIHNlbGYucHJldmlvdXMoKTsKCiAgICAgICAgICAgIH0pLm9uKCAnY2xpY2suZmItbmV4dCB0b3VjaGVuZC5mYi1uZXh0JywgJ1tkYXRhLWZhbmN5Ym94LW5leHRdJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTsKICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgICAgICBzZWxmLm5leHQoKTsKCiAgICAgICAgICAgIH0pLm9uKCAnY2xpY2suZmInLCAnW2RhdGEtZmFuY3lib3gtem9vbV0nLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAvLyBDbGljayBoYW5kbGVyIGZvciB6b29tIGJ1dHRvbgogICAgICAgICAgICAgICAgc2VsZlsgc2VsZi5pc1NjYWxlZERvd24oKSA/ICdzY2FsZVRvQWN0dWFsJyA6ICdzY2FsZVRvRml0JyBdKCk7CiAgICAgICAgICAgIH0pOwoKCiAgICAgICAgICAgIC8vIEhhbmRsZSBwYWdlIHNjcm9sbGluZyBhbmQgYnJvd3NlciByZXNpemluZwogICAgICAgICAgICAkVy5vbignb3JpZW50YXRpb25jaGFuZ2UuZmIgcmVzaXplLmZiJywgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgICAgIGlmICggZSAmJiBlLm9yaWdpbmFsRXZlbnQgJiYgZS5vcmlnaW5hbEV2ZW50LnR5cGUgPT09ICJyZXNpemUiICkgewoKICAgICAgICAgICAgICAgICAgICByZXF1ZXN0QUZyYW1lKGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZSgpOwogICAgICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgIHNlbGYuJHJlZnMuc3RhZ2UuaGlkZSgpOwoKICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLnN0YWdlLnNob3coKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlKCk7CiAgICAgICAgICAgICAgICAgICAgfSwgNjAwKTsKCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFRyYXAga2V5Ym9hcmQgZm9jdXMgaW5zaWRlIG9mIHRoZSBtb2RhbCwgc28gdGhlIHVzZXIgZG9lcyBub3QgYWNjaWRlbnRhbGx5IHRhYiBvdXRzaWRlIG9mIHRoZSBtb2RhbAogICAgICAgICAgICAvLyAoYS5rLmEuICJlc2NhcGluZyB0aGUgbW9kYWwiKQogICAgICAgICAgICAkRC5vbignZm9jdXNpbi5mYicsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9ICQuZmFuY3lib3ggPyAkLmZhbmN5Ym94LmdldEluc3RhbmNlKCkgOiBudWxsOwoKICAgICAgICAgICAgICAgIGlmICggaW5zdGFuY2UuaXNDbG9zaW5nIHx8ICFpbnN0YW5jZS5jdXJyZW50IHx8ICFpbnN0YW5jZS5jdXJyZW50Lm9wdHMudHJhcEZvY3VzIHx8ICQoIGUudGFyZ2V0ICkuaGFzQ2xhc3MoICdmYW5jeWJveC1jb250YWluZXInICkgfHwgJCggZS50YXJnZXQgKS5pcyggZG9jdW1lbnQgKSApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCBpbnN0YW5jZSAmJiAkKCBlLnRhcmdldCApLmNzcyggJ3Bvc2l0aW9uJyApICE9PSAnZml4ZWQnICYmICFpbnN0YW5jZS4kcmVmcy5jb250YWluZXIuaGFzKCBlLnRhcmdldCApLmxlbmd0aCApIHsKICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpOwoKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5mb2N1cygpOwoKICAgICAgICAgICAgICAgICAgICAvLyBTb21ldGltZXMgcGFnZSBnZXRzIHNjcm9sbGVkLCBzZXQgaXQgYmFjawogICAgICAgICAgICAgICAgICAgICRXLnNjcm9sbFRvcCggc2VsZi5zY3JvbGxUb3AgKS5zY3JvbGxMZWZ0KCBzZWxmLnNjcm9sbExlZnQgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CgoKICAgICAgICAgICAgLy8gRW5hYmxlIGtleWJvYXJkIG5hdmlnYXRpb24KICAgICAgICAgICAgJEQub24oJ2tleWRvd24uZmInLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQsCiAgICAgICAgICAgICAgICAgICAga2V5Y29kZSA9IGUua2V5Q29kZSB8fCBlLndoaWNoOwoKICAgICAgICAgICAgICAgIGlmICggIWN1cnJlbnQgfHwgIWN1cnJlbnQub3B0cy5rZXlib2FyZCApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgaWYgKCAkKGUudGFyZ2V0KS5pcygnaW5wdXQnKSB8fCAkKGUudGFyZ2V0KS5pcygndGV4dGFyZWEnKSApIHsKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gQmFja3NwYWNlIGFuZCBFc2Mga2V5cwogICAgICAgICAgICAgICAgaWYgKCBrZXljb2RlID09PSA4IHx8IGtleWNvZGUgPT09IDI3ICkgewogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5jbG9zZSggZSApOwoKICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gTGVmdCBhcnJvdyBhbmQgVXAgYXJyb3cKICAgICAgICAgICAgICAgIGlmICgga2V5Y29kZSA9PT0gMzcgfHwga2V5Y29kZSA9PT0gMzggKSB7CiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICAgICAgICAgICAgICBzZWxmLnByZXZpb3VzKCk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBSaWdoIGFycm93IGFuZCBEb3duIGFycm93CiAgICAgICAgICAgICAgICBpZiAoIGtleWNvZGUgPT09IDM5IHx8IGtleWNvZGUgPT09IDQwICkgewogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5uZXh0KCk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBzZWxmLnRyaWdnZXIoJ2FmdGVyS2V5ZG93bicsIGUsIGtleWNvZGUpOwogICAgICAgICAgICB9KTsKCgogICAgICAgICAgICAvLyBIaWRlIGNvbnRyb2xzIGFmdGVyIHNvbWUgaW5hY3Rpdml0eSBwZXJpb2QKICAgICAgICAgICAgaWYgKCBzZWxmLmdyb3VwWyBzZWxmLmN1cnJJbmRleCBdLm9wdHMuaWRsZVRpbWUgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmlkbGVTZWNvbmRzQ291bnRlciA9IDA7CgogICAgICAgICAgICAgICAgJEQub24oJ21vdXNlbW92ZS5mYi1pZGxlIG1vdXNlbGVhdmUuZmItaWRsZSBtb3VzZWRvd24uZmItaWRsZSB0b3VjaHN0YXJ0LmZiLWlkbGUgdG91Y2htb3ZlLmZiLWlkbGUgc2Nyb2xsLmZiLWlkbGUga2V5ZG93bi5mYi1pZGxlJywgZnVuY3Rpb24oZSkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuaWRsZVNlY29uZHNDb3VudGVyID0gMDsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCBzZWxmLmlzSWRsZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zaG93Q29udHJvbHMoKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHNlbGYuaXNJZGxlID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBzZWxmLmlkbGVJbnRlcnZhbCA9IHdpbmRvdy5zZXRJbnRlcnZhbChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLmlkbGVTZWNvbmRzQ291bnRlcisrOwoKICAgICAgICAgICAgICAgICAgICBpZiAoIHNlbGYuaWRsZVNlY29uZHNDb3VudGVyID49IHNlbGYuZ3JvdXBbIHNlbGYuY3VyckluZGV4IF0ub3B0cy5pZGxlVGltZSAmJiAhc2VsZi5pc0RyYWdnaW5nICkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmlzSWRsZSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaWRsZVNlY29uZHNDb3VudGVyID0gMDsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaGlkZUNvbnRyb2xzKCk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0sIDEwMDApOwogICAgICAgICAgICB9CgogICAgICAgIH0sCgoKICAgICAgICAvLyBSZW1vdmUgZXZlbnRzIGFkZGVkIGJ5IHRoZSBjb3JlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICByZW1vdmVFdmVudHMgOiBmdW5jdGlvbigpIHsKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgJFcub2ZmKCAnb3JpZW50YXRpb25jaGFuZ2UuZmIgcmVzaXplLmZiJyApOwogICAgICAgICAgICAkRC5vZmYoICdmb2N1c2luLmZiIGtleWRvd24uZmIgLmZiLWlkbGUnICk7CgogICAgICAgICAgICB0aGlzLiRyZWZzLmNvbnRhaW5lci5vZmYoICcuZmItY2xvc2UgLmZiLXByZXYgLmZiLW5leHQnICk7CgogICAgICAgICAgICBpZiAoIHNlbGYuaWRsZUludGVydmFsICkgewogICAgICAgICAgICAgICAgd2luZG93LmNsZWFySW50ZXJ2YWwoIHNlbGYuaWRsZUludGVydmFsICk7CgogICAgICAgICAgICAgICAgc2VsZi5pZGxlSW50ZXJ2YWwgPSBudWxsOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCgogICAgICAgIC8vIENoYW5nZSB0byBwcmV2aW91cyBnYWxsZXJ5IGl0ZW0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHByZXZpb3VzIDogZnVuY3Rpb24oIGR1cmF0aW9uICkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5qdW1wVG8oIHRoaXMuY3VyclBvcyAtIDEsIGR1cmF0aW9uICk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIENoYW5nZSB0byBuZXh0IGdhbGxlcnkgaXRlbQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBuZXh0IDogZnVuY3Rpb24oIGR1cmF0aW9uICkgewogICAgICAgICAgICByZXR1cm4gdGhpcy5qdW1wVG8oIHRoaXMuY3VyclBvcyArIDEsIGR1cmF0aW9uICk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIFN3aXRjaCB0byBzZWxlY3RlZCBnYWxsZXJ5IGl0ZW0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGp1bXBUbyA6IGZ1bmN0aW9uICggcG9zLCBkdXJhdGlvbiwgc2xpZGUgKSB7CiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpcywKICAgICAgICAgICAgICAgIGZpcnN0UnVuLAogICAgICAgICAgICAgICAgbG9vcCwKICAgICAgICAgICAgICAgIGN1cnJlbnQsCiAgICAgICAgICAgICAgICBwcmV2aW91cywKICAgICAgICAgICAgICAgIGNhbnZhc1dpZHRoLAogICAgICAgICAgICAgICAgY3VycmVudFBvcywKICAgICAgICAgICAgICAgIHRyYW5zaXRpb25Qcm9wczsKCiAgICAgICAgICAgIHZhciBncm91cExlbiA9IHNlbGYuZ3JvdXAubGVuZ3RoOwoKICAgICAgICAgICAgaWYgKCBzZWxmLmlzRHJhZ2dpbmcgfHwgc2VsZi5pc0Nsb3NpbmcgfHwgKCBzZWxmLmlzQW5pbWF0aW5nICYmIHNlbGYuZmlyc3RSdW4gKSApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcG9zICA9IHBhcnNlSW50KCBwb3MsIDEwICk7CiAgICAgICAgICAgIGxvb3AgPSBzZWxmLmN1cnJlbnQgPyBzZWxmLmN1cnJlbnQub3B0cy5sb29wIDogc2VsZi5vcHRzLmxvb3A7CgogICAgICAgICAgICBpZiAoICFsb29wICYmICggcG9zIDwgMCB8fCBwb3MgPj0gZ3JvdXBMZW4gKSApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZmlyc3RSdW4gPSBzZWxmLmZpcnN0UnVuID0gKCBzZWxmLmZpcnN0UnVuID09PSBudWxsICk7CgogICAgICAgICAgICBpZiAoIGdyb3VwTGVuIDwgMiAmJiAhZmlyc3RSdW4gJiYgISFzZWxmLmlzRHJhZ2dpbmcgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHByZXZpb3VzID0gc2VsZi5jdXJyZW50OwoKICAgICAgICAgICAgc2VsZi5wcmV2SW5kZXggPSBzZWxmLmN1cnJJbmRleDsKICAgICAgICAgICAgc2VsZi5wcmV2UG9zICAgPSBzZWxmLmN1cnJQb3M7CgogICAgICAgICAgICAvLyBDcmVhdGUgc2xpZGVzCiAgICAgICAgICAgIGN1cnJlbnQgPSBzZWxmLmNyZWF0ZVNsaWRlKCBwb3MgKTsKCiAgICAgICAgICAgIGlmICggZ3JvdXBMZW4gPiAxICkgewogICAgICAgICAgICAgICAgaWYgKCBsb29wIHx8IGN1cnJlbnQuaW5kZXggPiAwICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY3JlYXRlU2xpZGUoIHBvcyAtIDEgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIGxvb3AgfHwgY3VycmVudC5pbmRleCA8IGdyb3VwTGVuIC0gMSApIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLmNyZWF0ZVNsaWRlKCBwb3MgKyAxICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYuY3VycmVudCAgID0gY3VycmVudDsKICAgICAgICAgICAgc2VsZi5jdXJySW5kZXggPSBjdXJyZW50LmluZGV4OwogICAgICAgICAgICBzZWxmLmN1cnJQb3MgICA9IGN1cnJlbnQucG9zOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnYmVmb3JlU2hvdycsIGZpcnN0UnVuICk7CgogICAgICAgICAgICBzZWxmLnVwZGF0ZUNvbnRyb2xzKCk7CgogICAgICAgICAgICBjdXJyZW50UG9zID0gJC5mYW5jeWJveC5nZXRUcmFuc2xhdGUoIGN1cnJlbnQuJHNsaWRlICk7CgogICAgICAgICAgICBjdXJyZW50LmlzTW92ZWQgICAgICAgID0gKCBjdXJyZW50UG9zLmxlZnQgIT09IDAgfHwgY3VycmVudFBvcy50b3AgIT09IDAgKSAmJiAhY3VycmVudC4kc2xpZGUuaGFzQ2xhc3MoICdmYW5jeWJveC1hbmltYXRlZCcgKTsKICAgICAgICAgICAgY3VycmVudC5mb3JjZWREdXJhdGlvbiA9IHVuZGVmaW5lZDsKCiAgICAgICAgICAgIGlmICggJC5pc051bWVyaWMoIGR1cmF0aW9uICkgKSB7CiAgICAgICAgICAgICAgICBjdXJyZW50LmZvcmNlZER1cmF0aW9uID0gZHVyYXRpb247CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IGN1cnJlbnQub3B0c1sgZmlyc3RSdW4gPyAnYW5pbWF0aW9uRHVyYXRpb24nIDogJ3RyYW5zaXRpb25EdXJhdGlvbicgXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZHVyYXRpb24gPSBwYXJzZUludCggZHVyYXRpb24sIDEwICk7CgogICAgICAgICAgICAvLyBGcmVzaCBzdGFydCAtIHJldmVhbCBjb250YWluZXIsIGN1cnJlbnQgc2xpZGUgYW5kIHN0YXJ0IGxvYWRpbmcgY29udGVudAogICAgICAgICAgICBpZiAoIGZpcnN0UnVuICkgewoKICAgICAgICAgICAgICAgIGlmICggY3VycmVudC5vcHRzLmFuaW1hdGlvbkVmZmVjdCAmJiBkdXJhdGlvbiApIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLmNvbnRhaW5lci5jc3MoICd0cmFuc2l0aW9uLWR1cmF0aW9uJywgZHVyYXRpb24gKyAnbXMnICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgc2VsZi4kcmVmcy5jb250YWluZXIucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pcy1oaWRkZW4nICk7CgogICAgICAgICAgICAgICAgZm9yY2VSZWRyYXcoIHNlbGYuJHJlZnMuY29udGFpbmVyICk7CgogICAgICAgICAgICAgICAgc2VsZi4kcmVmcy5jb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1pcy1vcGVuJyApOwoKICAgICAgICAgICAgICAgIC8vIE1ha2UgZmlyc3Qgc2xpZGUgdmlzaWJsZSAodG8gZGlzcGxheSBsb2FkaW5nIGljb24sIGlmIG5lZWRlZCkKICAgICAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLmFkZENsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQnICk7CgogICAgICAgICAgICAgICAgc2VsZi5sb2FkU2xpZGUoIGN1cnJlbnQgKTsKCiAgICAgICAgICAgICAgICBzZWxmLnByZWxvYWQoICdpbWFnZScgKTsKCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENsZWFuIHVwCiAgICAgICAgICAgICQuZWFjaChzZWxmLnNsaWRlcywgZnVuY3Rpb24oIGluZGV4LCBzbGlkZSApIHsKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc3RvcCggc2xpZGUuJHNsaWRlICk7CiAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgLy8gTWFrZSBjdXJyZW50IHRoYXQgc2xpZGUgaXMgdmlzaWJsZSBldmVuIGlmIGNvbnRlbnQgaXMgc3RpbGwgbG9hZGluZwogICAgICAgICAgICBjdXJyZW50LiRzbGlkZS5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS1uZXh0IGZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cycgKS5hZGRDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS1jdXJyZW50JyApOwoKICAgICAgICAgICAgLy8gSWYgc2xpZGVzIGhhdmUgYmVlbiBkcmFnZ2VkLCBhbmltYXRlIHRoZW0gdG8gY29ycmVjdCBwb3NpdGlvbgogICAgICAgICAgICBpZiAoIGN1cnJlbnQuaXNNb3ZlZCApIHsKICAgICAgICAgICAgICAgIGNhbnZhc1dpZHRoID0gTWF0aC5yb3VuZCggY3VycmVudC4kc2xpZGUud2lkdGgoKSApOwoKICAgICAgICAgICAgICAgICQuZWFjaChzZWxmLnNsaWRlcywgZnVuY3Rpb24oIGluZGV4LCBzbGlkZSApIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcG9zID0gc2xpZGUucG9zIC0gY3VycmVudC5wb3M7CgogICAgICAgICAgICAgICAgICAgICQuZmFuY3lib3guYW5pbWF0ZSggc2xpZGUuJHNsaWRlLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvcCAgOiAwLAogICAgICAgICAgICAgICAgICAgICAgICBsZWZ0IDogKCBwb3MgKiBjYW52YXNXaWR0aCApICsgKCBwb3MgKiBzbGlkZS5vcHRzLmd1dHRlciApCiAgICAgICAgICAgICAgICAgICAgfSwgZHVyYXRpb24sIGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUuJHNsaWRlLnJlbW92ZUF0dHIoJ3N0eWxlJykucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1zbGlkZS0tbmV4dCBmYW5jeWJveC1zbGlkZS0tcHJldmlvdXMnICk7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudC5pc01vdmVkID0gZmFsc2U7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb21wbGV0ZSgpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLnN0YWdlLmNoaWxkcmVuKCkucmVtb3ZlQXR0ciggJ3N0eWxlJyApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGFydCB0cmFuc2l0aW9uIHRoYXQgcmV2ZWFscyBjdXJyZW50IGNvbnRlbnQKICAgICAgICAgICAgLy8gb3Igd2FpdCB3aGVuIGl0IHdpbGwgYmUgbG9hZGVkCgogICAgICAgICAgICBpZiAoIGN1cnJlbnQuaXNMb2FkZWQgKSB7CiAgICAgICAgICAgICAgICBzZWxmLnJldmVhbENvbnRlbnQoIGN1cnJlbnQgKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZWxmLmxvYWRTbGlkZSggY3VycmVudCApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLnByZWxvYWQoICdpbWFnZScgKTsKCiAgICAgICAgICAgIGlmICggcHJldmlvdXMucG9zID09PSBjdXJyZW50LnBvcyApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gSGFuZGxlIHByZXZpb3VzIHNsaWRlCiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICAgICAgdHJhbnNpdGlvblByb3BzID0gJ2ZhbmN5Ym94LXNsaWRlLS0nICsgKCBwcmV2aW91cy5wb3MgPiBjdXJyZW50LnBvcyA/ICduZXh0JyA6ICdwcmV2aW91cycgKTsKCiAgICAgICAgICAgIHByZXZpb3VzLiRzbGlkZS5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS1jb21wbGV0ZSBmYW5jeWJveC1zbGlkZS0tY3VycmVudCBmYW5jeWJveC1zbGlkZS0tbmV4dCBmYW5jeWJveC1zbGlkZS0tcHJldmlvdXMnICk7CgogICAgICAgICAgICBwcmV2aW91cy5pc0NvbXBsZXRlID0gZmFsc2U7CgogICAgICAgICAgICBpZiAoICFkdXJhdGlvbiB8fCAoICFjdXJyZW50LmlzTW92ZWQgJiYgIWN1cnJlbnQub3B0cy50cmFuc2l0aW9uRWZmZWN0ICkgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggY3VycmVudC5pc01vdmVkICkgewogICAgICAgICAgICAgICAgcHJldmlvdXMuJHNsaWRlLmFkZENsYXNzKCB0cmFuc2l0aW9uUHJvcHMgKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgdHJhbnNpdGlvblByb3BzID0gJ2ZhbmN5Ym94LWFuaW1hdGVkICcgKyB0cmFuc2l0aW9uUHJvcHMgKyAnIGZhbmN5Ym94LWZ4LScgKyBjdXJyZW50Lm9wdHMudHJhbnNpdGlvbkVmZmVjdDsKCiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoIHByZXZpb3VzLiRzbGlkZSwgdHJhbnNpdGlvblByb3BzLCBkdXJhdGlvbiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXMuJHNsaWRlLnJlbW92ZUNsYXNzKCB0cmFuc2l0aW9uUHJvcHMgKS5yZW1vdmVBdHRyKCAnc3R5bGUnICk7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCgogICAgICAgIC8vIENyZWF0ZSBuZXcgInNsaWRlIiBlbGVtZW50CiAgICAgICAgLy8gVGhlc2UgYXJlIGdhbGxlcnkgaXRlbXMgIHRoYXQgYXJlIGFjdHVhbGx5IGFkZGVkIHRvIERPTQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgY3JlYXRlU2xpZGUgOiBmdW5jdGlvbiggcG9zICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwogICAgICAgICAgICB2YXIgJHNsaWRlOwogICAgICAgICAgICB2YXIgaW5kZXg7CgogICAgICAgICAgICBpbmRleCA9IHBvcyAlIHNlbGYuZ3JvdXAubGVuZ3RoOwogICAgICAgICAgICBpbmRleCA9IGluZGV4IDwgMCA/IHNlbGYuZ3JvdXAubGVuZ3RoICsgaW5kZXggOiBpbmRleDsKCiAgICAgICAgICAgIGlmICggIXNlbGYuc2xpZGVzWyBwb3MgXSAmJiBzZWxmLmdyb3VwWyBpbmRleCBdICkgewogICAgICAgICAgICAgICAgJHNsaWRlID0gJCgnPGRpdiBjbGFzcz0iZmFuY3lib3gtc2xpZGUiPjwvZGl2PicpLmFwcGVuZFRvKCBzZWxmLiRyZWZzLnN0YWdlICk7CgogICAgICAgICAgICAgICAgc2VsZi5zbGlkZXNbIHBvcyBdID0gJC5leHRlbmQoIHRydWUsIHt9LCBzZWxmLmdyb3VwWyBpbmRleCBdLCB7CiAgICAgICAgICAgICAgICAgICAgcG9zICAgICAgOiBwb3MsCiAgICAgICAgICAgICAgICAgICAgJHNsaWRlICAgOiAkc2xpZGUsCiAgICAgICAgICAgICAgICAgICAgaXNMb2FkZWQgOiBmYWxzZSwKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlU2xpZGUoIHNlbGYuc2xpZGVzWyBwb3MgXSApOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gc2VsZi5zbGlkZXNbIHBvcyBdOwogICAgICAgIH0sCgoKICAgICAgICAvLyBTY2FsZSBpbWFnZSB0byB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIGltYWdlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzY2FsZVRvQWN0dWFsIDogZnVuY3Rpb24oIHgsIHksIGR1cmF0aW9uICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQ7CiAgICAgICAgICAgIHZhciAkd2hhdCAgID0gY3VycmVudC4kY29udGVudDsKCiAgICAgICAgICAgIHZhciBpbWdQb3MsIHBvc1gsIHBvc1ksIHNjYWxlWCwgc2NhbGVZOwoKICAgICAgICAgICAgdmFyIGNhbnZhc1dpZHRoICA9IHBhcnNlSW50KCBjdXJyZW50LiRzbGlkZS53aWR0aCgpLCAxMCApOwogICAgICAgICAgICB2YXIgY2FudmFzSGVpZ2h0ID0gcGFyc2VJbnQoIGN1cnJlbnQuJHNsaWRlLmhlaWdodCgpLCAxMCApOwoKICAgICAgICAgICAgdmFyIG5ld0ltZ1dpZHRoICA9IGN1cnJlbnQud2lkdGg7CiAgICAgICAgICAgIHZhciBuZXdJbWdIZWlnaHQgPSBjdXJyZW50LmhlaWdodDsKCiAgICAgICAgICAgIGlmICggISggY3VycmVudC50eXBlID09ICdpbWFnZScgJiYgIWN1cnJlbnQuaGFzRXJyb3IpIHx8ICEkd2hhdCB8fCBzZWxmLmlzQW5pbWF0aW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkLmZhbmN5Ym94LnN0b3AoICR3aGF0ICk7CgogICAgICAgICAgICBzZWxmLmlzQW5pbWF0aW5nID0gdHJ1ZTsKCiAgICAgICAgICAgIHggPSB4ID09PSB1bmRlZmluZWQgPyBjYW52YXNXaWR0aCAgKiAwLjUgIDogeDsKICAgICAgICAgICAgeSA9IHkgPT09IHVuZGVmaW5lZCA/IGNhbnZhc0hlaWdodCAqIDAuNSAgOiB5OwoKICAgICAgICAgICAgaW1nUG9zID0gJC5mYW5jeWJveC5nZXRUcmFuc2xhdGUoICR3aGF0ICk7CgogICAgICAgICAgICBzY2FsZVggID0gbmV3SW1nV2lkdGggIC8gaW1nUG9zLndpZHRoOwogICAgICAgICAgICBzY2FsZVkgID0gbmV3SW1nSGVpZ2h0IC8gaW1nUG9zLmhlaWdodDsKCiAgICAgICAgICAgIC8vIEdldCBjZW50ZXIgcG9zaXRpb24gZm9yIG9yaWdpbmFsIGltYWdlCiAgICAgICAgICAgIHBvc1ggPSAoIGNhbnZhc1dpZHRoICogMC41ICAtIG5ld0ltZ1dpZHRoICogMC41ICk7CiAgICAgICAgICAgIHBvc1kgPSAoIGNhbnZhc0hlaWdodCAqIDAuNSAtIG5ld0ltZ0hlaWdodCAqIDAuNSApOwoKICAgICAgICAgICAgLy8gTWFrZSBzdXJlIGltYWdlIGRvZXMgbm90IG1vdmUgYXdheSBmcm9tIGVkZ2VzCiAgICAgICAgICAgIGlmICggbmV3SW1nV2lkdGggPiBjYW52YXNXaWR0aCApIHsKICAgICAgICAgICAgICAgIHBvc1ggPSBpbWdQb3MubGVmdCAqIHNjYWxlWCAtICggKCB4ICogc2NhbGVYICkgLSB4ICk7CgogICAgICAgICAgICAgICAgaWYgKCBwb3NYID4gMCApIHsKICAgICAgICAgICAgICAgICAgICBwb3NYID0gMDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIHBvc1ggPCAgY2FudmFzV2lkdGggLSBuZXdJbWdXaWR0aCApIHsKICAgICAgICAgICAgICAgICAgICBwb3NYID0gY2FudmFzV2lkdGggLSBuZXdJbWdXaWR0aDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBuZXdJbWdIZWlnaHQgPiBjYW52YXNIZWlnaHQpIHsKICAgICAgICAgICAgICAgIHBvc1kgPSBpbWdQb3MudG9wICAqIHNjYWxlWSAtICggKCB5ICogc2NhbGVZICkgLSB5ICk7CgogICAgICAgICAgICAgICAgaWYgKCBwb3NZID4gMCApIHsKICAgICAgICAgICAgICAgICAgICBwb3NZID0gMDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIHBvc1kgPCAgY2FudmFzSGVpZ2h0IC0gbmV3SW1nSGVpZ2h0ICkgewogICAgICAgICAgICAgICAgICAgIHBvc1kgPSBjYW52YXNIZWlnaHQgLSBuZXdJbWdIZWlnaHQ7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYudXBkYXRlQ3Vyc29yKCBuZXdJbWdXaWR0aCwgbmV3SW1nSGVpZ2h0ICk7CgogICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoICR3aGF0LCB7CiAgICAgICAgICAgICAgICB0b3AgICAgOiBwb3NZLAogICAgICAgICAgICAgICAgbGVmdCAgIDogcG9zWCwKICAgICAgICAgICAgICAgIHNjYWxlWCA6IHNjYWxlWCwKICAgICAgICAgICAgICAgIHNjYWxlWSA6IHNjYWxlWQogICAgICAgICAgICB9LCBkdXJhdGlvbiB8fCAzMzAsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgc2VsZi5pc0FuaW1hdGluZyA9IGZhbHNlOwogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIC8vIFN0b3Agc2xpZGVzaG93CiAgICAgICAgICAgIGlmICggc2VsZi5TbGlkZVNob3cgJiYgc2VsZi5TbGlkZVNob3cuaXNBY3RpdmUgKSB7CiAgICAgICAgICAgICAgICBzZWxmLlNsaWRlU2hvdy5zdG9wKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKCiAgICAgICAgLy8gU2NhbGUgaW1hZ2UgdG8gZml0IGluc2lkZSBwYXJlbnQgZWxlbWVudAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgc2NhbGVUb0ZpdCA6IGZ1bmN0aW9uKCBkdXJhdGlvbiApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gc2VsZi5jdXJyZW50OwogICAgICAgICAgICB2YXIgJHdoYXQgICA9IGN1cnJlbnQuJGNvbnRlbnQ7CiAgICAgICAgICAgIHZhciBlbmQ7CgogICAgICAgICAgICBpZiAoICEoIGN1cnJlbnQudHlwZSA9PSAnaW1hZ2UnICYmICFjdXJyZW50Lmhhc0Vycm9yKSB8fCAhJHdoYXQgfHwgc2VsZi5pc0FuaW1hdGluZyApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJC5mYW5jeWJveC5zdG9wKCAkd2hhdCApOwoKICAgICAgICAgICAgc2VsZi5pc0FuaW1hdGluZyA9IHRydWU7CgogICAgICAgICAgICBlbmQgPSBzZWxmLmdldEZpdFBvcyggY3VycmVudCApOwoKICAgICAgICAgICAgc2VsZi51cGRhdGVDdXJzb3IoIGVuZC53aWR0aCwgZW5kLmhlaWdodCApOwoKICAgICAgICAgICAgJC5mYW5jeWJveC5hbmltYXRlKCAkd2hhdCwgewogICAgICAgICAgICAgICAgdG9wICAgIDogZW5kLnRvcCwKICAgICAgICAgICAgICAgIGxlZnQgICA6IGVuZC5sZWZ0LAogICAgICAgICAgICAgICAgc2NhbGVYIDogZW5kLndpZHRoICAvICR3aGF0LndpZHRoKCksCiAgICAgICAgICAgICAgICBzY2FsZVkgOiBlbmQuaGVpZ2h0IC8gJHdoYXQuaGVpZ2h0KCkKICAgICAgICAgICAgfSwgZHVyYXRpb24gfHwgMzMwLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIHNlbGYuaXNBbmltYXRpbmcgPSBmYWxzZTsKICAgICAgICAgICAgfSk7CgogICAgICAgIH0sCgogICAgICAgIC8vIENhbGN1bGF0ZSBpbWFnZSBzaXplIHRvIGZpdCBpbnNpZGUgdmlld3BvcnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGdldEZpdFBvcyA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKICAgICAgICAgICAgdmFyIHNlbGYgID0gdGhpczsKICAgICAgICAgICAgdmFyICR3aGF0ID0gc2xpZGUuJGNvbnRlbnQ7CgogICAgICAgICAgICB2YXIgaW1nV2lkdGggID0gc2xpZGUud2lkdGg7CiAgICAgICAgICAgIHZhciBpbWdIZWlnaHQgPSBzbGlkZS5oZWlnaHQ7CgogICAgICAgICAgICB2YXIgbWFyZ2luID0gc2xpZGUub3B0cy5tYXJnaW47CgogICAgICAgICAgICB2YXIgY2FudmFzV2lkdGgsIGNhbnZhc0hlaWdodCwgbWluUmF0aW8sIHdpZHRoLCBoZWlnaHQ7CgogICAgICAgICAgICBpZiAoICEkd2hhdCB8fCAhJHdoYXQubGVuZ3RoIHx8ICggIWltZ1dpZHRoICYmICFpbWdIZWlnaHQpICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDb252ZXJ0ICJtYXJnaW4gdG8gQ1NTIHN0eWxlOiBbIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCBdCiAgICAgICAgICAgIGlmICggJC50eXBlKCBtYXJnaW4gKSA9PT0gIm51bWJlciIgKSB7CiAgICAgICAgICAgICAgICBtYXJnaW4gPSBbIG1hcmdpbiwgbWFyZ2luIF07CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggbWFyZ2luLmxlbmd0aCA9PSAyICkgewogICAgICAgICAgICAgICAgbWFyZ2luID0gWyBtYXJnaW5bMF0sIG1hcmdpblsxXSwgbWFyZ2luWzBdLCBtYXJnaW5bMV0gXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gV2UgY2FuIG5vdCB1c2UgJHNsaWRlIHdpZHRoIGhlcmUsIGJlY2F1c2UgaXQgY2FuIGhhdmUgZGlmZmVyZW50IGRpZW1lbnNpb25zIHdoaWxlIGluIHRyYW5zaXRvbgogICAgICAgICAgICBjYW52YXNXaWR0aCAgPSBwYXJzZUludCggc2VsZi4kcmVmcy5zdGFnZS53aWR0aCgpLCAxMCApICAtICggbWFyZ2luWyAxIF0gKyBtYXJnaW5bIDMgXSApOwogICAgICAgICAgICBjYW52YXNIZWlnaHQgPSBwYXJzZUludCggc2VsZi4kcmVmcy5zdGFnZS5oZWlnaHQoKSwgMTAgKSAtICggbWFyZ2luWyAwIF0gKyBtYXJnaW5bIDIgXSApOwoKICAgICAgICAgICAgbWluUmF0aW8gPSBNYXRoLm1pbigxLCBjYW52YXNXaWR0aCAvIGltZ1dpZHRoLCBjYW52YXNIZWlnaHQgLyBpbWdIZWlnaHQgKTsKCiAgICAgICAgICAgIHdpZHRoICA9IE1hdGguZmxvb3IoIG1pblJhdGlvICogaW1nV2lkdGggKTsKICAgICAgICAgICAgaGVpZ2h0ID0gTWF0aC5mbG9vciggbWluUmF0aW8gKiBpbWdIZWlnaHQgKTsKCiAgICAgICAgICAgIC8vIFVzZSBmbG9vciByb3VuZGluZyB0byBtYWtlIHN1cmUgaXQgcmVhbGx5IGZpdHMKICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgIHRvcCAgICA6IE1hdGguZmxvb3IoICggY2FudmFzSGVpZ2h0IC0gaGVpZ2h0ICkgKiAwLjUgKSArIG1hcmdpblsgMCBdLAogICAgICAgICAgICAgICAgbGVmdCAgIDogTWF0aC5mbG9vciggKCBjYW52YXNXaWR0aCAgLSB3aWR0aCApICAqIDAuNSApICsgbWFyZ2luWyAzIF0sCiAgICAgICAgICAgICAgICB3aWR0aCAgOiB3aWR0aCwKICAgICAgICAgICAgICAgIGhlaWdodCA6IGhlaWdodAogICAgICAgICAgICB9OwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gVXBkYXRlIGNvbnRlbnQgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGFsbCBzbGlkZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVwZGF0ZSA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgICAgICAkLmVhY2goIHNlbGYuc2xpZGVzLCBmdW5jdGlvbigga2V5LCBzbGlkZSApIHsKICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlU2xpZGUoIHNsaWRlICk7CiAgICAgICAgICAgIH0pOwogICAgICAgIH0sCgoKICAgICAgICAvLyBVcGRhdGUgc2xpZGUgY29udGVudCBwb3NpdGlvbiBhbmQgc2l6ZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVwZGF0ZVNsaWRlIDogZnVuY3Rpb24oIHNsaWRlLCBkdXJhdGlvbiApIHsKICAgICAgICAgICAgdmFyIHNlbGYgID0gdGhpcywKICAgICAgICAgICAgICAgICR3aGF0ID0gc2xpZGUgJiYgc2xpZGUuJGNvbnRlbnQ7CgogICAgICAgICAgICBpZiAoICR3aGF0ICYmICggc2xpZGUud2lkdGggfHwgc2xpZGUuaGVpZ2h0ICkgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmlzQW5pbWF0aW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgJC5mYW5jeWJveC5zdG9wKCAkd2hhdCApOwoKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCAkd2hhdCwgc2VsZi5nZXRGaXRQb3MoIHNsaWRlICkgKTsKCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlQ3Vyc29yKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNsaWRlLiRzbGlkZS50cmlnZ2VyKCAncmVmcmVzaCcgKTsKCiAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ29uVXBkYXRlJywgc2xpZGUgKTsKCiAgICAgICAgfSwKCgogICAgICAgIC8vIEhvcml6b250YWxseSBjZW50ZXIgc2xpZGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGNlbnRlclNsaWRlIDogZnVuY3Rpb24oIHNsaWRlLCBkdXJhdGlvbiApIHsKICAgICAgICAgICAgdmFyIHNlbGYgID0gdGhpcywgY2FudmFzV2lkdGgsIHBvczsKCiAgICAgICAgICAgIGlmICggc2VsZi5jdXJyZW50ICkgewogICAgICAgICAgICAgICAgY2FudmFzV2lkdGggPSBNYXRoLnJvdW5kKCBzbGlkZS4kc2xpZGUud2lkdGgoKSApOwogICAgICAgICAgICAgICAgcG9zID0gc2xpZGUucG9zIC0gc2VsZi5jdXJyZW50LnBvczsKCiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoIHNsaWRlLiRzbGlkZSwgewogICAgICAgICAgICAgICAgICAgIHRvcCAgOiAwLAogICAgICAgICAgICAgICAgICAgIGxlZnQgOiAoIHBvcyAqIGNhbnZhc1dpZHRoICkgKyAoIHBvcyAqIHNsaWRlLm9wdHMuZ3V0dGVyICksCiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSA6IDEKICAgICAgICAgICAgICAgIH0sIGR1cmF0aW9uID09PSB1bmRlZmluZWQgPyAwIDogZHVyYXRpb24sIG51bGwsIGZhbHNlKTsKICAgICAgICAgICAgfQogICAgICAgIH0sCgoKICAgICAgICAvLyBVcGRhdGUgY3Vyc29yIHN0eWxlIGRlcGVuZGluZyBpZiBjb250ZW50IGNhbiBiZSB6b29tZWQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgdXBkYXRlQ3Vyc29yIDogZnVuY3Rpb24oIG5leHRXaWR0aCwgbmV4dEhlaWdodCApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICAgICAgdmFyIGlzU2NhbGVkRG93bjsKCiAgICAgICAgICAgIHZhciAkY29udGFpbmVyID0gc2VsZi4kcmVmcy5jb250YWluZXIucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pcy16b29tYWJsZSBmYW5jeWJveC1jYW4tem9vbUluIGZhbmN5Ym94LWNhbi1kcmFnIGZhbmN5Ym94LWNhbi16b29tT3V0JyApOwoKICAgICAgICAgICAgaWYgKCAhc2VsZi5jdXJyZW50IHx8IHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHNlbGYuaXNab29tYWJsZSgpICkgewoKICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1pcy16b29tYWJsZScgKTsKCiAgICAgICAgICAgICAgICBpZiAoIG5leHRXaWR0aCAhPT0gdW5kZWZpbmVkICYmIG5leHRIZWlnaHQgIT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgICAgICBpc1NjYWxlZERvd24gPSBuZXh0V2lkdGggPCBzZWxmLmN1cnJlbnQud2lkdGggJiYgbmV4dEhlaWdodCA8IHNlbGYuY3VycmVudC5oZWlnaHQ7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpc1NjYWxlZERvd24gPSBzZWxmLmlzU2NhbGVkRG93bigpOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggaXNTY2FsZWREb3duICkgewoKICAgICAgICAgICAgICAgICAgICAvLyBJZiBpbWFnZSBpcyBzY2FsZWQgZG93biwgdGhlbiwgb2J2aW91c2x5LCBpdCBjYW4gYmUgem9vbWVkIHRvIGZ1bGwgc2l6ZQogICAgICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1jYW4tem9vbUluJyApOwoKICAgICAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgICAgIGlmICggc2VsZi5jdXJyZW50Lm9wdHMudG91Y2ggKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiBpbWFnZSBzaXplIGlyIGxhcmdlbiB0aGFuIGF2YWlsYWJsZSBhdmFpbGFibGUgYW5kIHRvdWNoIG1vZHVsZSBpcyBub3QgZGlzYWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlbiB1c2VyIGNhbiBkbyBwYW5uaW5nCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1jYW4tZHJhZycgKTsKCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci5hZGRDbGFzcyggJ2ZhbmN5Ym94LWNhbi16b29tT3V0JyApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9IGVsc2UgaWYgKCBzZWxmLmN1cnJlbnQub3B0cy50b3VjaCApIHsKICAgICAgICAgICAgICAgICRjb250YWluZXIuYWRkQ2xhc3MoICdmYW5jeWJveC1jYW4tZHJhZycgKTsKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ2hlY2sgaWYgY3VycmVudCBzbGlkZSBpcyB6b29tYWJsZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgaXNab29tYWJsZSA6IGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQ7CiAgICAgICAgICAgIHZhciBmaXRQb3M7CgogICAgICAgICAgICBpZiAoICFjdXJyZW50IHx8IHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBBc3N1bWUgdGhhdCBzbGlkZSBpcyB6b29tYWJsZSBpZgogICAgICAgICAgICAvLyAgIC0gaW1hZ2UgaXMgbG9hZGVkIHN1Y2Nlc3NmdWx5CiAgICAgICAgICAgIC8vICAgLSBjbGljayBhY3Rpb24gaXMgInpvb20iCiAgICAgICAgICAgIC8vICAgLSBhY3R1YWwgc2l6ZSBvZiB0aGUgaW1hZ2UgaXMgc21hbGxlciB0aGFuIGF2YWlsYWJsZSBhcmVhCiAgICAgICAgICAgIGlmICggY3VycmVudC50eXBlID09PSAnaW1hZ2UnICYmIGN1cnJlbnQuaXNMb2FkZWQgJiYgIWN1cnJlbnQuaGFzRXJyb3IgJiYKICAgICAgICAgICAgICAgICggY3VycmVudC5vcHRzLmNsaWNrQ29udGVudCA9PT0gJ3pvb20nIHx8ICggJC5pc0Z1bmN0aW9uKCBjdXJyZW50Lm9wdHMuY2xpY2tDb250ZW50ICkgJiYgY3VycmVudC5vcHRzLmNsaWNrQ29udGVudCggY3VycmVudCApID09PSAgInpvb20iICkgKQogICAgICAgICAgICApIHsKCiAgICAgICAgICAgICAgICBmaXRQb3MgPSBzZWxmLmdldEZpdFBvcyggY3VycmVudCApOwoKICAgICAgICAgICAgICAgIGlmICggY3VycmVudC53aWR0aCA+IGZpdFBvcy53aWR0aCB8fCBjdXJyZW50LmhlaWdodCA+IGZpdFBvcy5oZWlnaHQgKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBDaGVjayBpZiBjdXJyZW50IGltYWdlIGRpbWVuc2lvbnMgYXJlIHNtYWxsZXIgdGhhbiBhY3R1YWwKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgaXNTY2FsZWREb3duIDogZnVuY3Rpb24oKSB7CgogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgICAgICB2YXIgY3VycmVudCA9IHNlbGYuY3VycmVudDsKICAgICAgICAgICAgdmFyICR3aGF0ICAgPSBjdXJyZW50LiRjb250ZW50OwoKICAgICAgICAgICAgdmFyIHJleiA9IGZhbHNlOwoKICAgICAgICAgICAgaWYgKCAkd2hhdCApIHsKICAgICAgICAgICAgICAgIHJleiA9ICQuZmFuY3lib3guZ2V0VHJhbnNsYXRlKCAkd2hhdCApOwogICAgICAgICAgICAgICAgcmV6ID0gcmV6LndpZHRoIDwgY3VycmVudC53aWR0aCB8fCByZXouaGVpZ2h0IDwgY3VycmVudC5oZWlnaHQ7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXo7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBDaGVjayBpZiBpbWFnZSBkaW1lbnNpb25zIGV4Y2VlZCBwYXJlbnQgZWxlbWVudAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGNhblBhbiA6IGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgdmFyIGN1cnJlbnQgPSBzZWxmLmN1cnJlbnQ7CiAgICAgICAgICAgIHZhciAkd2hhdCAgID0gY3VycmVudC4kY29udGVudDsKCiAgICAgICAgICAgIHZhciByZXogPSBmYWxzZTsKCiAgICAgICAgICAgIGlmICggJHdoYXQgKSB7CiAgICAgICAgICAgICAgICByZXogPSBzZWxmLmdldEZpdFBvcyggY3VycmVudCApOwogICAgICAgICAgICAgICAgcmV6ID0gTWF0aC5hYnMoICR3aGF0LndpZHRoKCkgLSByZXoud2lkdGggKSA+IDEgIHx8IE1hdGguYWJzKCAkd2hhdC5oZWlnaHQoKSAtIHJlei5oZWlnaHQgKSA+IDE7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiByZXo7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBMb2FkIGNvbnRlbnQgaW50byB0aGUgc2xpZGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgbG9hZFNsaWRlIDogZnVuY3Rpb24oIHNsaWRlICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzLCB0eXBlLCAkc2xpZGU7CiAgICAgICAgICAgIHZhciBhamF4TG9hZDsKCiAgICAgICAgICAgIGlmICggc2xpZGUuaXNMb2FkaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHNsaWRlLmlzTG9hZGVkICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzbGlkZS5pc0xvYWRpbmcgPSB0cnVlOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnYmVmb3JlTG9hZCcsIHNsaWRlICk7CgogICAgICAgICAgICB0eXBlICAgPSBzbGlkZS50eXBlOwogICAgICAgICAgICAkc2xpZGUgPSBzbGlkZS4kc2xpZGU7CgogICAgICAgICAgICAkc2xpZGUKICAgICAgICAgICAgICAgIC5vZmYoICdyZWZyZXNoJyApCiAgICAgICAgICAgICAgICAudHJpZ2dlciggJ29uUmVzZXQnICkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggJ2ZhbmN5Ym94LXNsaWRlLS0nICsgKCB0eXBlIHx8ICd1bmtub3duJyApICkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggc2xpZGUub3B0cy5zbGlkZUNsYXNzICk7CgogICAgICAgICAgICAvLyBDcmVhdGUgY29udGVudCBkZXBlbmRpbmcgb24gdGhlIHR5cGUKCiAgICAgICAgICAgIHN3aXRjaCAoIHR5cGUgKSB7CgogICAgICAgICAgICAgICAgY2FzZSAnaW1hZ2UnOgoKICAgICAgICAgICAgICAgICAgICBzZWxmLnNldEltYWdlKCBzbGlkZSApOwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2lmcmFtZSc6CgogICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0SWZyYW1lKCBzbGlkZSApOwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2h0bWwnOgoKICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLCBzbGlkZS5zcmMgfHwgc2xpZGUuY29udGVudCApOwoKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgICAgIGNhc2UgJ2lubGluZSc6CgogICAgICAgICAgICAgICAgICAgIGlmICggJCggc2xpZGUuc3JjICkubGVuZ3RoICkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLCAkKCBzbGlkZS5zcmMgKSApOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldEVycm9yKCBzbGlkZSApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICdhamF4JzoKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5zaG93TG9hZGluZyggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgYWpheExvYWQgPSAkLmFqYXgoICQuZXh0ZW5kKCB7fSwgc2xpZGUub3B0cy5hamF4LnNldHRpbmdzLCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA6IHNsaWRlLnNyYywKICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uICggZGF0YSwgdGV4dFN0YXR1cyApIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHRleHRTdGF0dXMgPT09ICdzdWNjZXNzJyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLCBkYXRhICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgICAgICBlcnJvciA6IGZ1bmN0aW9uICgganFYSFIsIHRleHRTdGF0dXMgKSB7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCBqcVhIUiAmJiB0ZXh0U3RhdHVzICE9PSAnYWJvcnQnICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0RXJyb3IoIHNsaWRlICk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSkpOwoKICAgICAgICAgICAgICAgICAgICAkc2xpZGUub25lKCAnb25SZXNldCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgICAgYWpheExvYWQuYWJvcnQoKTsKICAgICAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgICAgICBjYXNlICd2aWRlbycgOgoKICAgICAgICAgICAgICAgICAgICBzZWxmLnNldENvbnRlbnQoIHNsaWRlLAogICAgICAgICAgICAgICAgICAgICAgICAnPHZpZGVvIGNvbnRyb2xzPicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICc8c291cmNlIHNyYz0iJyArIHNsaWRlLnNyYyArICciIHR5cGU9IicgKyBzbGlkZS5vcHRzLnZpZGVvRm9ybWF0ICsgJyI+JyArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnWW91ciBicm93c2VyIGRvZXNuXCd0IHN1cHBvcnQgSFRNTDUgdmlkZW8nICsKICAgICAgICAgICAgICAgICAgICAgICAgJzwvdmlkZW8+JwogICAgICAgICAgICAgICAgICAgICk7CgogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICAgICAgZGVmYXVsdDoKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRFcnJvciggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0cnVlOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gVXNlIHRodW1ibmFpbCBpbWFnZSwgaWYgcG9zc2libGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzZXRJbWFnZSA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmICAgPSB0aGlzOwogICAgICAgICAgICB2YXIgc3Jjc2V0ID0gc2xpZGUub3B0cy5zcmNzZXQgfHwgc2xpZGUub3B0cy5pbWFnZS5zcmNzZXQ7CgogICAgICAgICAgICB2YXIgZm91bmQsIHRlbXAsIHB4UmF0aW8sIHdpbmRvd1dpZHRoOwoKICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSAic3Jjc2V0IiwgdGhlbiB3ZSBuZWVkIHRvIGZpbmQgbWF0Y2hpbmcgInNyYyIgdmFsdWUuCiAgICAgICAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5LCBiZWNhdXNlIHdoZW4geW91IHNldCBhbiBzcmMgYXR0cmlidXRlLCB0aGUgYnJvd3NlciB3aWxsIHByZWxvYWQgdGhlIGltYWdlCiAgICAgICAgICAgIC8vIGJlZm9yZSBhbnkgamF2YXNjcmlwdCBvciBldmVuIENTUyBpcyBhcHBsaWVkLgogICAgICAgICAgICBpZiAoIHNyY3NldCApIHsKICAgICAgICAgICAgICAgIHB4UmF0aW8gICAgID0gd2luZG93LmRldmljZVBpeGVsUmF0aW8gfHwgMTsKICAgICAgICAgICAgICAgIHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGggICogcHhSYXRpbzsKCiAgICAgICAgICAgICAgICB0ZW1wID0gc3Jjc2V0LnNwbGl0KCcsJykubWFwKGZ1bmN0aW9uICggZWwgKSB7CiAgICAgICAgICAgIAkJdmFyIHJldCA9IHt9OwoKICAgICAgICAgICAgCQllbC50cmltKCkuc3BsaXQoL1xzKy8pLmZvckVhY2goZnVuY3Rpb24gKCBlbCwgaSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gcGFyc2VJbnQoIGVsLnN1YnN0cmluZygwLCBlbC5sZW5ndGggLSAxKSwgMTAgKTsKCiAgICAgICAgICAgIAkJCWlmICggaSA9PT0gMCApIHsKICAgICAgICAgICAgCQkJCXJldHVybiAoIHJldC51cmwgPSBlbCApOwogICAgICAgICAgICAJCQl9CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIHZhbHVlICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0LnZhbHVlICAgPSB2YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldC5wb3N0Zml4ID0gZWxbIGVsLmxlbmd0aCAtIDEgXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgCQl9KTsKCiAgICAgICAgICAgIAkJcmV0dXJuIHJldDsKICAgICAgICAgICAgCX0pOwoKICAgICAgICAgICAgICAgIC8vIFNvcnQgYnkgdmFsdWUKICAgICAgICAgICAgICAgIHRlbXAuc29ydChmdW5jdGlvbiAoYSwgYikgewogICAgICAgICAgICAgICAgICByZXR1cm4gYS52YWx1ZSAtIGIudmFsdWU7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvLyBPaywgbm93IHdlIGhhdmUgYW4gYXJyYXkgb2YgYWxsIHNyY3NldCB2YWx1ZXMKICAgICAgICAgICAgICAgIGZvciAoIHZhciBqID0gMDsgaiA8IHRlbXAubGVuZ3RoOyBqKysgKSB7CiAgICAgICAgICAgICAgICAgICAgdmFyIGVsID0gdGVtcFsgaiBdOwoKICAgICAgICAgICAgICAgICAgICBpZiAoICggZWwucG9zdGZpeCA9PT0gJ3cnICYmIGVsLnZhbHVlID49IHdpbmRvd1dpZHRoICkgfHwgKCBlbC5wb3N0Zml4ID09PSAneCcgJiYgZWwudmFsdWUgPj0gcHhSYXRpbyApICkgewogICAgICAgICAgICAgICAgICAgICAgICBmb3VuZCA9IGVsOwogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gSWYgbm90IGZvdW5kLCB0YWtlIHRoZSBsYXN0IG9uZQogICAgICAgICAgICAgICAgaWYgKCAhZm91bmQgJiYgdGVtcC5sZW5ndGggKSB7CiAgICAgICAgICAgICAgICAgICAgZm91bmQgPSB0ZW1wWyB0ZW1wLmxlbmd0aCAtIDEgXTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIGZvdW5kICkgewogICAgICAgICAgICAgICAgICAgIHNsaWRlLnNyYyA9IGZvdW5kLnVybDsKCiAgICAgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBkZWZhdWx0IHdpZHRoL2hlaWdodCB2YWx1ZXMsIHdlIGNhbiBjYWxjdWxhdGUgaGVpZ2h0IGZvciBtYXRjaGluZyBzb3VyY2UKICAgICAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLndpZHRoICYmIHNsaWRlLmhlaWdodCAmJiBmb3VuZC5wb3N0Zml4ID09ICd3JyApIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUuaGVpZ2h0ID0gKCBzbGlkZS53aWR0aCAvIHNsaWRlLmhlaWdodCApICogZm91bmQudmFsdWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlLndpZHRoICA9IGZvdW5kLnZhbHVlOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gVGhpcyB3aWxsIGJlIHdyYXBwZXIgY29udGFpbmluZyBib3RoIGdob3N0IGFuZCBhY3R1YWwgaW1hZ2UKICAgICAgICAgICAgc2xpZGUuJGNvbnRlbnQgPSAkKCc8ZGl2IGNsYXNzPSJmYW5jeWJveC1pbWFnZS13cmFwIj48L2Rpdj4nKQogICAgICAgICAgICAgICAgLmFkZENsYXNzKCAnZmFuY3lib3gtaXMtaGlkZGVuJyApCiAgICAgICAgICAgICAgICAuYXBwZW5kVG8oIHNsaWRlLiRzbGlkZSApOwoKCiAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSB0aHVtYm5haWwsIHdlIGNhbiBkaXNwbGF5IGl0IHdoaWxlIGFjdHVhbCBpbWFnZSBpcyBsb2FkaW5nCiAgICAgICAgICAgIC8vIFVzZXJzIHdpbGwgbm90IHN0YXJlIGF0IGJsYWNrIHNjcmVlbiBhbmQgYWN0dWFsIGltYWdlIHdpbGwgYXBwZWFyIGdyYWR1YWxseQogICAgICAgICAgICBpZiAoIHNsaWRlLm9wdHMucHJlbG9hZCAhPT0gZmFsc2UgJiYgc2xpZGUub3B0cy53aWR0aCAmJiBzbGlkZS5vcHRzLmhlaWdodCAmJiAoIHNsaWRlLm9wdHMudGh1bWIgfHwgc2xpZGUub3B0cy4kdGh1bWIgKSApIHsKCiAgICAgICAgICAgICAgICBzbGlkZS53aWR0aCAgPSBzbGlkZS5vcHRzLndpZHRoOwogICAgICAgICAgICAgICAgc2xpZGUuaGVpZ2h0ID0gc2xpZGUub3B0cy5oZWlnaHQ7CgogICAgICAgICAgICAgICAgc2xpZGUuJGdob3N0ID0gJCgnPGltZyAvPicpCiAgICAgICAgICAgICAgICAgICAgLm9uZSgnZXJyb3InLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlKCk7CgogICAgICAgICAgICAgICAgICAgICAgICBzbGlkZS4kZ2hvc3QgPSBudWxsOwoKICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRCaWdJbWFnZSggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAub25lKCdsb2FkJywgZnVuY3Rpb24oKSB7CgogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFmdGVyTG9hZCggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0QmlnSW1hZ2UoIHNsaWRlICk7CgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgLmFkZENsYXNzKCAnZmFuY3lib3gtaW1hZ2UnICkKICAgICAgICAgICAgICAgICAgICAuYXBwZW5kVG8oIHNsaWRlLiRjb250ZW50ICkKICAgICAgICAgICAgICAgICAgICAuYXR0ciggJ3NyYycsIHNsaWRlLm9wdHMudGh1bWIgfHwgc2xpZGUub3B0cy4kdGh1bWIuYXR0ciggJ3NyYycgKSApOwoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICBzZWxmLnNldEJpZ0ltYWdlKCBzbGlkZSApOwoKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ3JlYXRlIGZ1bGwtc2l6ZSBpbWFnZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgc2V0QmlnSW1hZ2UgOiBmdW5jdGlvbiAoIHNsaWRlICkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICAgIHZhciAkaW1nID0gJCgnPGltZyAvPicpOwoKICAgICAgICAgICAgc2xpZGUuJGltYWdlID0gJGltZwogICAgICAgICAgICAgICAgLm9uZSgnZXJyb3InLCBmdW5jdGlvbigpIHsKCiAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXRFcnJvciggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgLm9uZSgnbG9hZCcsIGZ1bmN0aW9uKCkgewoKICAgICAgICAgICAgICAgICAgICAvLyBDbGVhciB0aW1lb3V0IHRoYXQgY2hlY2tzIGlmIGxvYWRpbmcgaWNvbiBuZWVkcyB0byBiZSBkaXNwbGF5ZWQKICAgICAgICAgICAgICAgICAgICBjbGVhclRpbWVvdXQoIHNsaWRlLnRpbW91dHMgKTsKCiAgICAgICAgICAgICAgICAgICAgc2xpZGUudGltb3V0cyA9IG51bGw7CgogICAgICAgICAgICAgICAgICAgIGlmICggc2VsZi5pc0Nsb3NpbmcgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIHNsaWRlLndpZHRoICA9IHNsaWRlLm9wdHMud2lkdGggIHx8IHRoaXMubmF0dXJhbFdpZHRoOwogICAgICAgICAgICAgICAgICAgIHNsaWRlLmhlaWdodCA9IHNsaWRlLm9wdHMuaGVpZ2h0IHx8IHRoaXMubmF0dXJhbEhlaWdodDsKCiAgICAgICAgICAgICAgICAgICAgaWYgKCBzbGlkZS5vcHRzLmltYWdlLnNyY3NldCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGltZy5hdHRyKCAnc2l6ZXMnLCAnMTAwdncnICkuYXR0ciggJ3NyY3NldCcsIHNsaWRlLm9wdHMuaW1hZ2Uuc3Jjc2V0ICk7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBzZWxmLmhpZGVMb2FkaW5nKCBzbGlkZSApOwoKICAgICAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLiRnaG9zdCApIHsKCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlLnRpbW91dHMgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUudGltb3V0cyA9IG51bGw7CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGUuJGdob3N0LmhpZGUoKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIE1hdGgubWluKCAzMDAsIE1hdGgubWF4KCAxMDAwLCBzbGlkZS5oZWlnaHQgLyAxNjAwICkgKSApOwoKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFmdGVyTG9hZCggc2xpZGUgKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIC5hZGRDbGFzcyggJ2ZhbmN5Ym94LWltYWdlJyApCiAgICAgICAgICAgICAgICAuYXR0cignc3JjJywgc2xpZGUuc3JjKQogICAgICAgICAgICAgICAgLmFwcGVuZFRvKCBzbGlkZS4kY29udGVudCApOwoKICAgICAgICAgICAgaWYgKCAoICRpbWdbMF0uY29tcGxldGUgfHwgJGltZ1swXS5yZWFkeVN0YXRlID09ICJjb21wbGV0ZSIgKSAmJiAkaW1nWzBdLm5hdHVyYWxXaWR0aCAmJiAkaW1nWzBdLm5hdHVyYWxIZWlnaHQgKSB7CiAgICAgICAgICAgICAgICAgICRpbWcudHJpZ2dlciggJ2xvYWQnICk7CgogICAgICAgICAgICB9IGVsc2UgaWYoICRpbWdbMF0uZXJyb3IgKSB7CiAgICAgICAgICAgICAgICAgJGltZy50cmlnZ2VyKCAnZXJyb3InICk7CgogICAgICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgICAgIHNsaWRlLnRpbW91dHMgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIGlmICggISRpbWdbMF0uY29tcGxldGUgJiYgIXNsaWRlLmhhc0Vycm9yICkgewogICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNob3dMb2FkaW5nKCBzbGlkZSApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9LCAxMDApOwoKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ3JlYXRlIGlmcmFtZSB3cmFwcGVyLCBpZnJhbWUgYW5kIGJpbmRpbmdzCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHNldElmcmFtZSA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKICAgICAgICAgICAgdmFyIHNlbGYJPSB0aGlzLAogICAgICAgICAgICAgICAgb3B0cyAgICA9IHNsaWRlLm9wdHMuaWZyYW1lLAogICAgICAgICAgICAgICAgJHNsaWRlCT0gc2xpZGUuJHNsaWRlLAogICAgICAgICAgICAgICAgJGlmcmFtZTsKCiAgICAgICAgICAgIHNsaWRlLiRjb250ZW50ID0gJCgnPGRpdiBjbGFzcz0iZmFuY3lib3gtY29udGVudCcgKyAoIG9wdHMucHJlbG9hZCA/ICcgZmFuY3lib3gtaXMtaGlkZGVuJyA6ICcnICkgKyAnIj48L2Rpdj4nKQogICAgICAgICAgICAgICAgLmNzcyggb3B0cy5jc3MgKQogICAgICAgICAgICAgICAgLmFwcGVuZFRvKCAkc2xpZGUgKTsKCiAgICAgICAgICAgICRpZnJhbWUgPSAkKCBvcHRzLnRwbC5yZXBsYWNlKC9ce3JuZFx9L2csIG5ldyBEYXRlKCkuZ2V0VGltZSgpKSApCiAgICAgICAgICAgICAgICAuYXR0ciggb3B0cy5hdHRyICkKICAgICAgICAgICAgICAgIC5hcHBlbmRUbyggc2xpZGUuJGNvbnRlbnQgKTsKCiAgICAgICAgICAgIGlmICggb3B0cy5wcmVsb2FkICkgewoKICAgICAgICAgICAgICAgIHNlbGYuc2hvd0xvYWRpbmcoIHNsaWRlICk7CgogICAgICAgICAgICAgICAgLy8gVW5mb3J0dW5hdGVseSwgaXQgaXMgbm90IGFsd2F5cyBwb3NzaWJsZSB0byBkZXRlcm1pbmUgaWYgaWZyYW1lIGlzIHN1Y2Nlc3NmdWxseSBsb2FkZWQKICAgICAgICAgICAgICAgIC8vIChkdWUgdG8gYnJvd3NlciBzZWN1cml0eSBwb2xpY3kpCgogICAgICAgICAgICAgICAgJGlmcmFtZS5vbignbG9hZC5mYiBlcnJvci5mYicsIGZ1bmN0aW9uKGUpIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmlzUmVhZHkgPSAxOwoKICAgICAgICAgICAgICAgICAgICBzbGlkZS4kc2xpZGUudHJpZ2dlciggJ3JlZnJlc2gnICk7CgogICAgICAgICAgICAgICAgICAgIHNlbGYuYWZ0ZXJMb2FkKCBzbGlkZSApOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgaWZyYW1lIGNvbnRlbnQgc2l6ZQogICAgICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICAgICAgICAgICRzbGlkZS5vbigncmVmcmVzaC5mYicsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHZhciAkd3JhcCA9IHNsaWRlLiRjb250ZW50LAogICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVdpZHRoICA9IG9wdHMuY3NzLndpZHRoLAogICAgICAgICAgICAgICAgICAgICAgICBmcmFtZUhlaWdodCA9IG9wdHMuY3NzLmhlaWdodCwKICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsV2lkdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICRjb250ZW50cywKICAgICAgICAgICAgICAgICAgICAgICAgJGJvZHk7CgogICAgICAgICAgICAgICAgICAgIGlmICggJGlmcmFtZVswXS5pc1JlYWR5ICE9PSAxICkgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBjb250ZW50IGlzIGFjY2Vzc2libGUsCiAgICAgICAgICAgICAgICAgICAgLy8gaXQgd2lsbCBmYWlsIGlmIGZyYW1lIGlzIG5vdCB3aXRoIHRoZSBzYW1lIG9yaWdpbgoKICAgICAgICAgICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgICAgICAgICAkY29udGVudHMgPSAkaWZyYW1lLmNvbnRlbnRzKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICRib2R5ICAgICA9ICRjb250ZW50cy5maW5kKCdib2R5Jyk7CgogICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGlnbm9yZSkge30KCiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYXRlIGRpbWVuc2lvbnMgZm9yIHRoZSB3cmFwcGVyCiAgICAgICAgICAgICAgICAgICAgaWYgKCAkYm9keSAmJiAkYm9keS5sZW5ndGggKSB7CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGZyYW1lV2lkdGggPT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbFdpZHRoID0gJGlmcmFtZVswXS5jb250ZW50V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxXaWR0aDsKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZVdpZHRoID0gTWF0aC5jZWlsKCAkYm9keS5vdXRlcldpZHRoKHRydWUpICsgKCAkd3JhcC53aWR0aCgpIC0gc2Nyb2xsV2lkdGggKSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVXaWR0aCArPSAkd3JhcC5vdXRlcldpZHRoKCkgLSAkd3JhcC5pbm5lcldpZHRoKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZnJhbWVIZWlnaHQgPT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lSGVpZ2h0ID0gTWF0aC5jZWlsKCAkYm9keS5vdXRlckhlaWdodCh0cnVlKSApOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWVIZWlnaHQgKz0gJHdyYXAub3V0ZXJIZWlnaHQoKSAtICR3cmFwLmlubmVySGVpZ2h0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2l6ZSB3cmFwcGVyIHRvIGZpdCBpZnJhbWUgY29udGVudAogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGZyYW1lV2lkdGggKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd3JhcC53aWR0aCggZnJhbWVXaWR0aCApOwogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIGZyYW1lSGVpZ2h0ICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHdyYXAuaGVpZ2h0KCBmcmFtZUhlaWdodCApOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAkd3JhcC5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKTsKCiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CgogICAgICAgICAgICAgICAgdGhpcy5hZnRlckxvYWQoIHNsaWRlICk7CgogICAgICAgICAgICB9CgogICAgICAgICAgICAkaWZyYW1lLmF0dHIoICdzcmMnLCBzbGlkZS5zcmMgKTsKCiAgICAgICAgICAgIGlmICggc2xpZGUub3B0cy5zbWFsbEJ0biA9PT0gdHJ1ZSApIHsKICAgICAgICAgICAgICAgIHNsaWRlLiRjb250ZW50LnByZXBlbmQoIHNlbGYudHJhbnNsYXRlKCBzbGlkZSwgc2xpZGUub3B0cy5idG5UcGwuc21hbGxCdG4gKSApOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBSZW1vdmUgaWZyYW1lIGlmIGNsb3Npbmcgb3IgY2hhbmdpbmcgZ2FsbGVyeSBpdGVtCiAgICAgICAgICAgICRzbGlkZS5vbmUoICdvblJlc2V0JywgZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgICAgIC8vIFRoaXMgaGVscHMgSUUgbm90IHRvIHRocm93IGVycm9ycyB3aGVuIGNsb3NpbmcKICAgICAgICAgICAgICAgIHRyeSB7CgogICAgICAgICAgICAgICAgICAgICQoIHRoaXMgKS5maW5kKCAnaWZyYW1lJyApLmhpZGUoKS5hdHRyKCAnc3JjJywgJy8vYWJvdXQ6YmxhbmsnICk7CgogICAgICAgICAgICAgICAgfSBjYXRjaCAoIGlnbm9yZSApIHt9CgogICAgICAgICAgICAgICAgJCggdGhpcyApLmVtcHR5KCk7CgogICAgICAgICAgICAgICAgc2xpZGUuaXNMb2FkZWQgPSBmYWxzZTsKCiAgICAgICAgICAgIH0pOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gV3JhcCBhbmQgYXBwZW5kIGNvbnRlbnQgdG8gdGhlIHNsaWRlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgc2V0Q29udGVudCA6IGZ1bmN0aW9uICggc2xpZGUsIGNvbnRlbnQgKSB7CgogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CgogICAgICAgICAgICBpZiAoIHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLmhpZGVMb2FkaW5nKCBzbGlkZSApOwoKICAgICAgICAgICAgc2xpZGUuJHNsaWRlLmVtcHR5KCk7CgogICAgICAgICAgICBpZiAoIGlzUXVlcnkoIGNvbnRlbnQgKSAmJiBjb250ZW50LnBhcmVudCgpLmxlbmd0aCApIHsKCiAgICAgICAgICAgICAgICAvLyBJZiBjb250ZW50IGlzIGEgalF1ZXJ5IG9iamVjdCwgdGhlbiBpdCB3aWxsIGJlIG1vdmVkIHRvIHRoZSBzbGlkZS4KICAgICAgICAgICAgICAgIC8vIFRoZSBwbGFjZWhvbGRlciBpcyBjcmVhdGVkIHNvIHdlIHdpbGwga25vdyB3aGVyZSB0byBwdXQgaXQgYmFjay4KICAgICAgICAgICAgICAgIC8vIElmIHVzZXIgaXMgbmF2aWdhdGluZyBnYWxsZXJ5IGZhc3QsIHRoZW4gdGhlIGNvbnRlbnQgbWlnaHQgYmUgYWxyZWFkeSBpbnNpZGUgZmFuY3lCb3gKICAgICAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgICAgICAgICAvLyBNYWtlIHN1cmUgY29udGVudCBpcyBub3QgYWxyZWFkeSBtb3ZlZCB0byBmYW5jeUJveAogICAgICAgICAgICAgICAgY29udGVudC5wYXJlbnQoICcuZmFuY3lib3gtc2xpZGUtLWlubGluZScgKS50cmlnZ2VyKCAnb25SZXNldCcgKTsKCiAgICAgICAgICAgICAgICAvLyBDcmVhdGUgdGVtcG9yYXJ5IGVsZW1lbnQgbWFya2luZyBvcmlnaW5hbCBwbGFjZSBvZiB0aGUgY29udGVudAogICAgICAgICAgICAgICAgc2xpZGUuJHBsYWNlaG9sZGVyID0gJCggJzxkaXY+PC9kaXY+JyApLmhpZGUoKS5pbnNlcnRBZnRlciggY29udGVudCApOwoKICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBjb250ZW50IGlzIHZpc2libGUKICAgICAgICAgICAgICAgIGNvbnRlbnQuY3NzKCdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpOwoKICAgICAgICAgICAgfSBlbHNlIGlmICggIXNsaWRlLmhhc0Vycm9yICkgewoKICAgICAgICAgICAgICAgIC8vIElmIGNvbnRlbnQgaXMganVzdCBhIHBsYWluIHRleHQsIHRyeSB0byBjb252ZXJ0IGl0IHRvIGh0bWwKICAgICAgICAgICAgICAgIGlmICggJC50eXBlKCBjb250ZW50ICkgPT09ICdzdHJpbmcnICkgewogICAgICAgICAgICAgICAgICAgIGNvbnRlbnQgPSAkKCc8ZGl2PicpLmFwcGVuZCggJC50cmltKCBjb250ZW50ICkgKS5jb250ZW50cygpOwoKICAgICAgICAgICAgICAgICAgICAvLyBJZiB3ZSBoYXZlIHRleHQgbm9kZSwgdGhlbiBhZGQgd3JhcHBpbmcgZWxlbWVudCB0byBtYWtlIHZlcnRpY2FsIGFsaWdubWVudCB3b3JrCiAgICAgICAgICAgICAgICAgICAgaWYgKCBjb250ZW50WzBdLm5vZGVUeXBlID09PSAzICkgewogICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0gJCgnPGRpdj4nKS5odG1sKCBjb250ZW50ICk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIElmICJmaWx0ZXIiIG9wdGlvbiBpcyBwcm92aWRlZCwgdGhlbiBmaWx0ZXIgY29udGVudAogICAgICAgICAgICAgICAgaWYgKCBzbGlkZS5vcHRzLmZpbHRlciApIHsKICAgICAgICAgICAgICAgICAgICBjb250ZW50ID0gJCgnPGRpdj4nKS5odG1sKCBjb250ZW50ICkuZmluZCggc2xpZGUub3B0cy5maWx0ZXIgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNsaWRlLiRzbGlkZS5vbmUoJ29uUmVzZXQnLCBmdW5jdGlvbiAoKSB7CgogICAgICAgICAgICAgICAgLy8gUGF1c2UgYWxsIGh0bWw1IHZpZGVvL2F1ZGlvCiAgICAgICAgICAgICAgICAkKCB0aGlzICkuZmluZCggJ3ZpZGVvLGF1ZGlvJyApLnRyaWdnZXIoICdwYXVzZScgKTsKCiAgICAgICAgICAgICAgICAvLyBQdXQgY29udGVudCBiYWNrCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLiRwbGFjZWhvbGRlciApIHsKICAgICAgICAgICAgICAgICAgICBzbGlkZS4kcGxhY2Vob2xkZXIuYWZ0ZXIoIGNvbnRlbnQuaGlkZSgpICkucmVtb3ZlKCk7CgogICAgICAgICAgICAgICAgICAgIHNsaWRlLiRwbGFjZWhvbGRlciA9IG51bGw7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gUmVtb3ZlIGN1c3RvbSBjbG9zZSBidXR0b24KICAgICAgICAgICAgICAgIGlmICggc2xpZGUuJHNtYWxsQnRuICkgewogICAgICAgICAgICAgICAgICAgIHNsaWRlLiRzbWFsbEJ0bi5yZW1vdmUoKTsKCiAgICAgICAgICAgICAgICAgICAgc2xpZGUuJHNtYWxsQnRuID0gbnVsbDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAvLyBSZW1vdmUgY29udGVudCBhbmQgbWFyayBzbGlkZSBhcyBub3QgbG9hZGVkCiAgICAgICAgICAgICAgICBpZiAoICFzbGlkZS5oYXNFcnJvciApIHsKICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmVtcHR5KCk7CgogICAgICAgICAgICAgICAgICAgIHNsaWRlLmlzTG9hZGVkID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHNsaWRlLiRjb250ZW50ID0gJCggY29udGVudCApLmFwcGVuZFRvKCBzbGlkZS4kc2xpZGUgKTsKCiAgICAgICAgICAgIHRoaXMuYWZ0ZXJMb2FkKCBzbGlkZSApOwogICAgICAgIH0sCgogICAgICAgIC8vIERpc3BsYXkgZXJyb3IgbWVzc2FnZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzZXRFcnJvciA6IGZ1bmN0aW9uICggc2xpZGUgKSB7CgogICAgICAgICAgICBzbGlkZS5oYXNFcnJvciA9IHRydWU7CgogICAgICAgICAgICBzbGlkZS4kc2xpZGUucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1zbGlkZS0tJyArIHNsaWRlLnR5cGUgKTsKCiAgICAgICAgICAgIHRoaXMuc2V0Q29udGVudCggc2xpZGUsIHRoaXMudHJhbnNsYXRlKCBzbGlkZSwgc2xpZGUub3B0cy5lcnJvclRwbCApICk7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBTaG93IGxvYWRpbmcgaWNvbiBpbnNpZGUgdGhlIHNsaWRlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzaG93TG9hZGluZyA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIHNsaWRlID0gc2xpZGUgfHwgc2VsZi5jdXJyZW50OwoKICAgICAgICAgICAgaWYgKCBzbGlkZSAmJiAhc2xpZGUuJHNwaW5uZXIgKSB7CiAgICAgICAgICAgICAgICBzbGlkZS4kc3Bpbm5lciA9ICQoIHNlbGYub3B0cy5zcGlubmVyVHBsICkuYXBwZW5kVG8oIHNsaWRlLiRzbGlkZSApOwogICAgICAgICAgICB9CgogICAgICAgIH0sCgogICAgICAgIC8vIFJlbW92ZSBsb2FkaW5nIGljb24gZnJvbSB0aGUgc2xpZGUKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGhpZGVMb2FkaW5nIDogZnVuY3Rpb24oIHNsaWRlICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgc2xpZGUgPSBzbGlkZSB8fCBzZWxmLmN1cnJlbnQ7CgogICAgICAgICAgICBpZiAoIHNsaWRlICYmIHNsaWRlLiRzcGlubmVyICkgewogICAgICAgICAgICAgICAgc2xpZGUuJHNwaW5uZXIucmVtb3ZlKCk7CgogICAgICAgICAgICAgICAgZGVsZXRlIHNsaWRlLiRzcGlubmVyOwogICAgICAgICAgICB9CgogICAgICAgIH0sCgoKICAgICAgICAvLyBBZGp1c3RtZW50cyBhZnRlciBzbGlkZSBjb250ZW50IGhhcyBiZWVuIGxvYWRlZAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGFmdGVyTG9hZCA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIGlmICggc2VsZi5pc0Nsb3NpbmcgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNsaWRlLmlzTG9hZGluZyA9IGZhbHNlOwogICAgICAgICAgICBzbGlkZS5pc0xvYWRlZCAgPSB0cnVlOwoKICAgICAgICAgICAgc2VsZi50cmlnZ2VyKCAnYWZ0ZXJMb2FkJywgc2xpZGUgKTsKCiAgICAgICAgICAgIHNlbGYuaGlkZUxvYWRpbmcoIHNsaWRlICk7CgogICAgICAgICAgICBpZiAoIHNsaWRlLm9wdHMuc21hbGxCdG4gJiYgIXNsaWRlLiRzbWFsbEJ0biApIHsKICAgICAgICAgICAgICAgIHNsaWRlLiRzbWFsbEJ0biA9ICQoIHNlbGYudHJhbnNsYXRlKCBzbGlkZSwgc2xpZGUub3B0cy5idG5UcGwuc21hbGxCdG4gKSApLmFwcGVuZFRvKCBzbGlkZS4kY29udGVudC5maWx0ZXIoJ2Rpdixmb3JtJykuZmlyc3QoKSApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHNsaWRlLm9wdHMucHJvdGVjdCAmJiBzbGlkZS4kY29udGVudCAmJiAhc2xpZGUuaGFzRXJyb3IgKSB7CgogICAgICAgICAgICAgICAgLy8gRGlzYWJsZSByaWdodCBjbGljawogICAgICAgICAgICAgICAgc2xpZGUuJGNvbnRlbnQub24oICdjb250ZXh0bWVudS5mYicsIGZ1bmN0aW9uKCBlICkgewogICAgICAgICAgICAgICAgICAgICBpZiAoIGUuYnV0dG9uID09IDIgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICB9KTsKCiAgICAgICAgICAgICAgICAvLyBBZGQgZmFrZSBlbGVtZW50IG9uIHRvcCBvZiB0aGUgaW1hZ2UKICAgICAgICAgICAgICAgIC8vIFRoaXMgbWFrZXMgYSBiaXQgaGFyZGVyIGZvciB1c2VyIHRvIHNlbGVjdCBpbWFnZQogICAgICAgICAgICAgICAgaWYgKCBzbGlkZS50eXBlID09PSAnaW1hZ2UnICkgewogICAgICAgICAgICAgICAgICAgICQoICc8ZGl2IGNsYXNzPSJmYW5jeWJveC1zcGFjZWJhbGwiPjwvZGl2PicgKS5hcHBlbmRUbyggc2xpZGUuJGNvbnRlbnQgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYucmV2ZWFsQ29udGVudCggc2xpZGUgKTsKCiAgICAgICAgfSwKCgogICAgICAgIC8vIE1ha2UgY29udGVudCB2aXNpYmxlCiAgICAgICAgLy8gVGhpcyBtZXRob2QgaXMgY2FsbGVkIHJpZ2h0IGFmdGVyIGNvbnRlbnQgaGFzIGJlZW4gbG9hZGVkIG9yCiAgICAgICAgLy8gdXNlciBuYXZpZ2F0ZXMgZ2FsbGVyeSBhbmQgdHJhbnNpdGlvbiBzaG91bGQgc3RhcnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgcmV2ZWFsQ29udGVudCA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmICAgPSB0aGlzOwogICAgICAgICAgICB2YXIgJHNsaWRlID0gc2xpZGUuJHNsaWRlOwoKICAgICAgICAgICAgdmFyIGVmZmVjdCwgZWZmZWN0Q2xhc3NOYW1lLCBkdXJhdGlvbiwgb3BhY2l0eSwgZW5kLCBzdGFydCA9IGZhbHNlOwoKICAgICAgICAgICAgZWZmZWN0ICAgPSBzbGlkZS5vcHRzWyBzZWxmLmZpcnN0UnVuID8gJ2FuaW1hdGlvbkVmZmVjdCcgICA6ICd0cmFuc2l0aW9uRWZmZWN0JyBdOwogICAgICAgICAgICBkdXJhdGlvbiA9IHNsaWRlLm9wdHNbIHNlbGYuZmlyc3RSdW4gPyAnYW5pbWF0aW9uRHVyYXRpb24nIDogJ3RyYW5zaXRpb25EdXJhdGlvbicgXTsKCiAgICAgICAgICAgIGR1cmF0aW9uID0gcGFyc2VJbnQoIHNsaWRlLmZvcmNlZER1cmF0aW9uID09PSB1bmRlZmluZWQgPyBkdXJhdGlvbiA6IHNsaWRlLmZvcmNlZER1cmF0aW9uLCAxMCApOwoKICAgICAgICAgICAgaWYgKCBzbGlkZS5pc01vdmVkIHx8IHNsaWRlLnBvcyAhPT0gc2VsZi5jdXJyUG9zIHx8ICFkdXJhdGlvbiApIHsKICAgICAgICAgICAgICAgIGVmZmVjdCA9IGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBDaGVjayBpZiBjYW4gem9vbQogICAgICAgICAgICBpZiAoIGVmZmVjdCA9PT0gJ3pvb20nICYmICEoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICYmIGR1cmF0aW9uICYmIHNsaWRlLnR5cGUgPT09ICdpbWFnZScgJiYgIXNsaWRlLmhhc0Vycm9yICYmICggc3RhcnQgPSBzZWxmLmdldFRodW1iUG9zKCBzbGlkZSApICkgKSApIHsKICAgICAgICAgICAgICAgIGVmZmVjdCA9ICdmYWRlJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gWm9vbSBhbmltYXRpb24KICAgICAgICAgICAgLy8gPT09PT09PT09PT09PT0KCiAgICAgICAgICAgIGlmICggZWZmZWN0ID09PSAnem9vbScgKSB7CiAgICAgICAgICAgICAgICBlbmQgPSBzZWxmLmdldEZpdFBvcyggc2xpZGUgKTsKCiAgICAgICAgICAgICAgICBlbmQuc2NhbGVYID0gZW5kLndpZHRoICAvIHN0YXJ0LndpZHRoOwogICAgICAgICAgICAgICAgZW5kLnNjYWxlWSA9IGVuZC5oZWlnaHQgLyBzdGFydC5oZWlnaHQ7CgogICAgICAgICAgICAgICAgZGVsZXRlIGVuZC53aWR0aDsKICAgICAgICAgICAgICAgIGRlbGV0ZSBlbmQuaGVpZ2h0OwoKICAgICAgICAgICAgICAgIC8vIENoZWNrIGlmIHdlIG5lZWQgdG8gYW5pbWF0ZSBvcGFjaXR5CiAgICAgICAgICAgICAgICBvcGFjaXR5ID0gc2xpZGUub3B0cy56b29tT3BhY2l0eTsKCiAgICAgICAgICAgICAgICBpZiAoIG9wYWNpdHkgPT0gJ2F1dG8nICkgewogICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBNYXRoLmFicyggc2xpZGUud2lkdGggLyBzbGlkZS5oZWlnaHQgLSBzdGFydC53aWR0aCAvIHN0YXJ0LmhlaWdodCApID4gMC4xOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggb3BhY2l0eSApIHsKICAgICAgICAgICAgICAgICAgICBzdGFydC5vcGFjaXR5ID0gMC4xOwogICAgICAgICAgICAgICAgICAgIGVuZC5vcGFjaXR5ICAgPSAxOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIC8vIERyYXcgaW1hZ2UgYXQgc3RhcnQgcG9zaXRpb24KICAgICAgICAgICAgICAgICQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCBzbGlkZS4kY29udGVudC5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKSwgc3RhcnQgKTsKCiAgICAgICAgICAgICAgICBmb3JjZVJlZHJhdyggc2xpZGUuJGNvbnRlbnQgKTsKCiAgICAgICAgICAgICAgICAvLyBTdGFydCBhbmltYXRpb24KICAgICAgICAgICAgICAgICQuZmFuY3lib3guYW5pbWF0ZSggc2xpZGUuJGNvbnRlbnQsIGVuZCwgZHVyYXRpb24sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY29tcGxldGUoKTsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgc2VsZi51cGRhdGVTbGlkZSggc2xpZGUgKTsKCgogICAgICAgICAgICAvLyBTaW1wbHkgc2hvdyBjb250ZW50CiAgICAgICAgICAgIC8vID09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgICAgIGlmICggIWVmZmVjdCApIHsKICAgICAgICAgICAgICAgIGZvcmNlUmVkcmF3KCAkc2xpZGUgKTsKCiAgICAgICAgICAgICAgICBzbGlkZS4kY29udGVudC5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWlzLWhpZGRlbicgKTsKCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY29tcGxldGUoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICQuZmFuY3lib3guc3RvcCggJHNsaWRlICk7CgogICAgICAgICAgICBlZmZlY3RDbGFzc05hbWUgPSAnZmFuY3lib3gtYW5pbWF0ZWQgZmFuY3lib3gtc2xpZGUtLScgKyAoIHNsaWRlLnBvcyA+PSBzZWxmLnByZXZQb3MgPyAnbmV4dCcgOiAncHJldmlvdXMnICkgKyAnIGZhbmN5Ym94LWZ4LScgKyBlZmZlY3Q7CgogICAgICAgICAgICAkc2xpZGUucmVtb3ZlQXR0ciggJ3N0eWxlJyApLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQgZmFuY3lib3gtc2xpZGUtLW5leHQgZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzJyApLmFkZENsYXNzKCBlZmZlY3RDbGFzc05hbWUgKTsKCiAgICAgICAgICAgIHNsaWRlLiRjb250ZW50LnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtaXMtaGlkZGVuJyApOwoKICAgICAgICAgICAgLy9Gb3JjZSByZWZsb3cgZm9yIENTUzMgdHJhbnNpdGlvbnMKICAgICAgICAgICAgZm9yY2VSZWRyYXcoICRzbGlkZSApOwoKICAgICAgICAgICAgJC5mYW5jeWJveC5hbmltYXRlKCAkc2xpZGUsICdmYW5jeWJveC1zbGlkZS0tY3VycmVudCcsIGR1cmF0aW9uLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICAgICAkc2xpZGUucmVtb3ZlQ2xhc3MoIGVmZmVjdENsYXNzTmFtZSApLnJlbW92ZUF0dHIoICdzdHlsZScgKTsKCiAgICAgICAgICAgICAgICBpZiAoIHNsaWRlLnBvcyA9PT0gc2VsZi5jdXJyUG9zICkgewogICAgICAgICAgICAgICAgICAgIHNlbGYuY29tcGxldGUoKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0sIHRydWUpOwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gQ2hlY2sgaWYgd2UgY2FuIGFuZCBoYXZlIHRvIHpvb20gZnJvbSB0aHVtYm5haWwKICAgICAgICAvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBnZXRUaHVtYlBvcyA6IGZ1bmN0aW9uKCBzbGlkZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICAgICAgdmFyIHJleiAgPSBmYWxzZTsKCiAgICAgICAgICAgIC8vIENoZWNrIGlmIGVsZW1lbnQgaXMgaW5zaWRlIHRoZSB2aWV3cG9ydCBieSBhdCBsZWFzdCAxIHBpeGVsCiAgICAgICAgICAgIHZhciBpc0VsZW1lbnRWaXNpYmxlID0gZnVuY3Rpb24oICRlbCApIHsKICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gJGVsWzBdOwoKICAgICAgICAgICAgICAgIHZhciBlbGVtZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CiAgICAgICAgICAgICAgICB2YXIgcGFyZW50UmVjdHMgPSBbXTsKCiAgICAgICAgICAgICAgICB2YXIgdmlzaWJsZUluQWxsUGFyZW50czsKCiAgICAgICAgICAgICAgICB3aGlsZSAoIGVsZW1lbnQucGFyZW50RWxlbWVudCAhPT0gbnVsbCApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoICQoZWxlbWVudC5wYXJlbnRFbGVtZW50KS5jc3MoJ292ZXJmbG93JykgPT09ICdoaWRkZW4nICB8fCAkKGVsZW1lbnQucGFyZW50RWxlbWVudCkuY3NzKCdvdmVyZmxvdycpID09PSAnYXV0bycgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudFJlY3RzLnB1c2goZWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgdmlzaWJsZUluQWxsUGFyZW50cyA9IHBhcmVudFJlY3RzLmV2ZXJ5KGZ1bmN0aW9uKHBhcmVudFJlY3QpewogICAgICAgICAgICAgICAgICAgIHZhciB2aXNpYmxlUGl4ZWxYID0gTWF0aC5taW4oZWxlbWVudFJlY3QucmlnaHQsIHBhcmVudFJlY3QucmlnaHQpIC0gTWF0aC5tYXgoZWxlbWVudFJlY3QubGVmdCwgcGFyZW50UmVjdC5sZWZ0KTsKICAgICAgICAgICAgICAgICAgICB2YXIgdmlzaWJsZVBpeGVsWSA9IE1hdGgubWluKGVsZW1lbnRSZWN0LmJvdHRvbSwgcGFyZW50UmVjdC5ib3R0b20pIC0gTWF0aC5tYXgoZWxlbWVudFJlY3QudG9wLCBwYXJlbnRSZWN0LnRvcCk7CgogICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlUGl4ZWxYID4gMCAmJiB2aXNpYmxlUGl4ZWxZID4gMDsKICAgICAgICAgICAgICAgIH0pOwoKICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlSW5BbGxQYXJlbnRzICYmCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudFJlY3QuYm90dG9tID4gMCAmJiBlbGVtZW50UmVjdC5yaWdodCA+IDAgJiYKICAgICAgICAgICAgICAgICAgICBlbGVtZW50UmVjdC5sZWZ0IDwgJCh3aW5kb3cpLndpZHRoKCkgJiYgZWxlbWVudFJlY3QudG9wIDwgJCh3aW5kb3cpLmhlaWdodCgpOwogICAgICAgICAgICB9OwoKICAgICAgICAgICAgdmFyICR0aHVtYiAgID0gc2xpZGUub3B0cy4kdGh1bWI7CiAgICAgICAgICAgIHZhciB0aHVtYlBvcyA9ICR0aHVtYiA/ICR0aHVtYi5vZmZzZXQoKSA6IDA7CiAgICAgICAgICAgIHZhciBzbGlkZVBvczsKCiAgICAgICAgICAgIGlmICggdGh1bWJQb3MgJiYgJHRodW1iWzBdLm93bmVyRG9jdW1lbnQgPT09IGRvY3VtZW50ICYmIGlzRWxlbWVudFZpc2libGUoICR0aHVtYiApICkgewogICAgICAgICAgICAgICAgc2xpZGVQb3MgPSBzZWxmLiRyZWZzLnN0YWdlLm9mZnNldCgpOwoKICAgICAgICAgICAgICAgIHJleiA9IHsKICAgICAgICAgICAgICAgICAgICB0b3AgICAgOiB0aHVtYlBvcy50b3AgIC0gc2xpZGVQb3MudG9wICArIHBhcnNlRmxvYXQoICR0aHVtYi5jc3MoICJib3JkZXItdG9wLXdpZHRoIiApIHx8IDAgKSwKICAgICAgICAgICAgICAgICAgICBsZWZ0ICAgOiB0aHVtYlBvcy5sZWZ0IC0gc2xpZGVQb3MubGVmdCArIHBhcnNlRmxvYXQoICR0aHVtYi5jc3MoICJib3JkZXItbGVmdC13aWR0aCIgKSB8fCAwICksCiAgICAgICAgICAgICAgICAgICAgd2lkdGggIDogJHRodW1iLndpZHRoKCksCiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0IDogJHRodW1iLmhlaWdodCgpLAogICAgICAgICAgICAgICAgICAgIHNjYWxlWCA6IDEsCiAgICAgICAgICAgICAgICAgICAgc2NhbGVZIDogMQogICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlejsKICAgICAgICB9LAoKCiAgICAgICAgLy8gRmluYWwgYWRqdXN0bWVudHMgYWZ0ZXIgY3VycmVudCBnYWxsZXJ5IGl0ZW0gaXMgbW92ZWQgdG8gcG9zaXRpb24KICAgICAgICAvLyBhbmQgaXRgcyBjb250ZW50IGlzIGxvYWRlZAogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBjb21wbGV0ZSA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgICAgICAgICBjdXJyZW50ID0gc2VsZi5jdXJyZW50LAogICAgICAgICAgICAgICAgc2xpZGVzICA9IHt9LAogICAgICAgICAgICAgICAgcHJvbWlzZTsKCiAgICAgICAgICAgIGlmICggY3VycmVudC5pc01vdmVkIHx8ICFjdXJyZW50LmlzTG9hZGVkIHx8IGN1cnJlbnQuaXNDb21wbGV0ZSApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgY3VycmVudC5pc0NvbXBsZXRlID0gdHJ1ZTsKCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLnNpYmxpbmdzKCkudHJpZ2dlciggJ29uUmVzZXQnICk7CgogICAgICAgICAgICBzZWxmLnByZWxvYWQoICdpbmxpbmUnICk7CgogICAgICAgICAgICAvLyBUcmlnZ2VyIGFueSBDU1MzIHRyYW5zaXRvbiBpbnNpZGUgdGhlIHNsaWRlCiAgICAgICAgICAgIGZvcmNlUmVkcmF3KCBjdXJyZW50LiRzbGlkZSApOwoKICAgICAgICAgICAgY3VycmVudC4kc2xpZGUuYWRkQ2xhc3MoICdmYW5jeWJveC1zbGlkZS0tY29tcGxldGUnICk7CgogICAgICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3Nhcnkgc2xpZGVzCiAgICAgICAgICAgICQuZWFjaCggc2VsZi5zbGlkZXMsIGZ1bmN0aW9uKCBrZXksIHNsaWRlICkgewogICAgICAgICAgICAgICAgaWYgKCBzbGlkZS5wb3MgPj0gc2VsZi5jdXJyUG9zIC0gMSAmJiBzbGlkZS5wb3MgPD0gc2VsZi5jdXJyUG9zICsgMSApIHsKICAgICAgICAgICAgICAgICAgICBzbGlkZXNbIHNsaWRlLnBvcyBdID0gc2xpZGU7CgogICAgICAgICAgICAgICAgfSBlbHNlIGlmICggc2xpZGUgKSB7CiAgICAgICAgICAgICAgICAgICAgJC5mYW5jeWJveC5zdG9wKCBzbGlkZS4kc2xpZGUgKTsKCiAgICAgICAgICAgICAgICAgICAgc2xpZGUuJHNsaWRlLm9mZigpLnJlbW92ZSgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHNlbGYuc2xpZGVzID0gc2xpZGVzOwoKICAgICAgICAgICAgc2VsZi51cGRhdGVDdXJzb3IoKTsKCiAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ2FmdGVyU2hvdycgKTsKCiAgICAgICAgICAgIC8vIFBsYXkgZmlyc3QgaHRtbDUgdmlkZW8vYXVkaW8KICAgICAgICAgICAgY3VycmVudC4kc2xpZGUuZmluZCggJ3ZpZGVvLGF1ZGlvJyApLmZpcnN0KCkudHJpZ2dlciggJ3BsYXknICk7CgogICAgICAgICAgICAvLyBUcnkgdG8gZm9jdXMgb24gdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50CiAgICAgICAgICAgIGlmICggJCggZG9jdW1lbnQuYWN0aXZlRWxlbWVudCApLmlzKCAnW2Rpc2FibGVkXScgKSB8fCAoIGN1cnJlbnQub3B0cy5hdXRvRm9jdXMgJiYgISggY3VycmVudC50eXBlID09ICdpbWFnZScgfHwgY3VycmVudC50eXBlID09PSAnaWZyYW1lJyApICkgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmZvY3VzKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCgogICAgICAgIC8vIFByZWxvYWQgbmV4dCBhbmQgcHJldmlvdXMgc2xpZGVzCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgcHJlbG9hZCA6IGZ1bmN0aW9uKCB0eXBlICkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCiAgICAgICAgICAgICAgICBuZXh0ID0gc2VsZi5zbGlkZXNbIHNlbGYuY3VyclBvcyArIDEgXSwKICAgICAgICAgICAgICAgIHByZXYgPSBzZWxmLnNsaWRlc1sgc2VsZi5jdXJyUG9zIC0gMSBdOwoKICAgICAgICAgICAgaWYgKCBuZXh0ICYmIG5leHQudHlwZSA9PT0gdHlwZSApIHsKICAgICAgICAgICAgICAgIHNlbGYubG9hZFNsaWRlKCBuZXh0ICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJldiAmJiBwcmV2LnR5cGUgPT09IHR5cGUgKSB7CiAgICAgICAgICAgICAgICBzZWxmLmxvYWRTbGlkZSggcHJldiApOwogICAgICAgICAgICB9CiAgICAgICAgfSwKCgogICAgICAgIC8vIFRyeSB0byBmaW5kIGFuZCBmb2N1cyBvbiB0aGUgZmlyc3QgZm9jdXNhYmxlIGVsZW1lbnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGZvY3VzIDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBjdXJyZW50ID0gdGhpcy5jdXJyZW50OwogICAgICAgICAgICB2YXIgJGVsOwoKICAgICAgICAgICAgaWYgKCB0aGlzLmlzQ2xvc2luZyApIHsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBjdXJyZW50ICYmIGN1cnJlbnQuaXNDb21wbGV0ZSApIHsKCiAgICAgICAgICAgICAgICAvLyBMb29rIGZvciBmaXJzdCBpbnB1dCB3aXRoIGF1dG9mb2N1cyBhdHRyaWJ1dGUKICAgICAgICAgICAgICAgICRlbCA9IGN1cnJlbnQuJHNsaWRlLmZpbmQoJ2lucHV0W2F1dG9mb2N1c106ZW5hYmxlZDp2aXNpYmxlOmZpcnN0Jyk7CgogICAgICAgICAgICAgICAgaWYgKCAhJGVsLmxlbmd0aCApIHsKICAgICAgICAgICAgICAgICAgICAkZWwgPSBjdXJyZW50LiRzbGlkZS5maW5kKCdidXR0b24sOmlucHV0LFt0YWJpbmRleF0sYScpLmZpbHRlcignOmVuYWJsZWQ6dmlzaWJsZTpmaXJzdCcpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkZWwgPSAkZWwgJiYgJGVsLmxlbmd0aCA/ICRlbCA6IHRoaXMuJHJlZnMuY29udGFpbmVyOwoKICAgICAgICAgICAgJGVsLmZvY3VzKCk7CiAgICAgICAgfSwKCgogICAgICAgIC8vIEFjdGl2YXRlcyBjdXJyZW50IGluc3RhbmNlIC0gYnJpbmdzIGNvbnRhaW5lciB0byB0aGUgZnJvbnQgYW5kIGVuYWJsZXMga2V5Ym9hcmQsCiAgICAgICAgLy8gbm90aWZpZXMgb3RoZXIgaW5zdGFuY2VzIGFib3V0IGRlYWN0aXZhdGluZwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBhY3RpdmF0ZSA6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwoKICAgICAgICAgICAgLy8gRGVhY3RpdmF0ZSBhbGwgaW5zdGFuY2VzCiAgICAgICAgICAgICQoICcuZmFuY3lib3gtY29udGFpbmVyJyApLmVhY2goZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gJCh0aGlzKS5kYXRhKCAnRmFuY3lCb3gnICk7CgogICAgICAgICAgICAgICAgLy8gU2tpcCBzZWxmIGFuZCBjbG9zaW5nIGluc3RhbmNlcwogICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlICYmIGluc3RhbmNlLmlkICE9PSBzZWxmLmlkICYmICFpbnN0YW5jZS5pc0Nsb3NpbmcpIHsKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS50cmlnZ2VyKCAnb25EZWFjdGl2YXRlJyApOwoKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZS5yZW1vdmVFdmVudHMoKTsKCiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2UuaXNWaXNpYmxlID0gZmFsc2U7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIHNlbGYuaXNWaXNpYmxlID0gdHJ1ZTsKCiAgICAgICAgICAgIGlmICggc2VsZi5jdXJyZW50IHx8IHNlbGYuaXNJZGxlICkgewogICAgICAgICAgICAgICAgc2VsZi51cGRhdGUoKTsKCiAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZUNvbnRyb2xzKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHNlbGYudHJpZ2dlciggJ29uQWN0aXZhdGUnICk7CgogICAgICAgICAgICBzZWxmLmFkZEV2ZW50cygpOwogICAgICAgIH0sCgoKICAgICAgICAvLyBTdGFydCBjbG9zaW5nIHByb2NlZHVyZQogICAgICAgIC8vIFRoaXMgd2lsbCBzdGFydCAiem9vbS1vdXQiIGFuaW1hdGlvbiBpZiBuZWVkZWQgYW5kIGNsZWFuIGV2ZXJ5dGhpbmcgdXAgYWZ0ZXJ3YXJkcwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBjbG9zZSA6IGZ1bmN0aW9uKCBlLCBkICkgewoKICAgICAgICAgICAgdmFyIHNlbGYgICAgPSB0aGlzOwogICAgICAgICAgICB2YXIgY3VycmVudCA9IHNlbGYuY3VycmVudDsKCiAgICAgICAgICAgIHZhciBlZmZlY3QsIGR1cmF0aW9uOwogICAgICAgICAgICB2YXIgJHdoYXQsIG9wYWNpdHksIHN0YXJ0LCBlbmQ7CgogICAgICAgICAgICB2YXIgZG9uZSA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgc2VsZi5jbGVhblVwKCBlICk7CiAgICAgICAgICAgIH07CgogICAgICAgICAgICBpZiAoIHNlbGYuaXNDbG9zaW5nICkgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLmlzQ2xvc2luZyA9IHRydWU7CgogICAgICAgICAgICAvLyBJZiBiZWZvcmVDbG9zZSBjYWxsYmFjayBwcmV2ZW50cyBjbG9zaW5nLCBtYWtlIHN1cmUgY29udGVudCBpcyBjZW50ZXJlZAogICAgICAgICAgICBpZiAoIHNlbGYudHJpZ2dlciggJ2JlZm9yZUNsb3NlJywgZSApID09PSBmYWxzZSApIHsKICAgICAgICAgICAgICAgIHNlbGYuaXNDbG9zaW5nID0gZmFsc2U7CgogICAgICAgICAgICAgICAgcmVxdWVzdEFGcmFtZShmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZSgpOwogICAgICAgICAgICAgICAgfSk7CgogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBSZW1vdmUgYWxsIGV2ZW50cwogICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgaW5zdGFuY2VzLCB0aGV5IHdpbGwgYmUgc2V0IGFnYWluIGJ5ICJhY3RpdmF0ZSIgbWV0aG9kCiAgICAgICAgICAgIHNlbGYucmVtb3ZlRXZlbnRzKCk7CgogICAgICAgICAgICBpZiAoIGN1cnJlbnQudGltb3V0cyApIHsKICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dCggY3VycmVudC50aW1vdXRzICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICR3aGF0ICAgID0gY3VycmVudC4kY29udGVudDsKICAgICAgICAgICAgZWZmZWN0ICAgPSBjdXJyZW50Lm9wdHMuYW5pbWF0aW9uRWZmZWN0OwogICAgICAgICAgICBkdXJhdGlvbiA9ICQuaXNOdW1lcmljKCBkICkgPyBkIDogKCBlZmZlY3QgPyBjdXJyZW50Lm9wdHMuYW5pbWF0aW9uRHVyYXRpb24gOiAwICk7CgogICAgICAgICAgICAvLyBSZW1vdmUgb3RoZXIgc2xpZGVzCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLm9mZiggdHJhbnNpdGlvbkVuZCApLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWNvbXBsZXRlIGZhbmN5Ym94LXNsaWRlLS1uZXh0IGZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyBmYW5jeWJveC1hbmltYXRlZCcgKTsKCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLnNpYmxpbmdzKCkudHJpZ2dlciggJ29uUmVzZXQnICkucmVtb3ZlKCk7CgogICAgICAgICAgICAvLyBUcmlnZ2VyIGFuaW1hdGlvbnMKICAgICAgICAgICAgaWYgKCBkdXJhdGlvbiApIHsKICAgICAgICAgICAgICAgIHNlbGYuJHJlZnMuY29udGFpbmVyLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtaXMtb3BlbicgKS5hZGRDbGFzcyggJ2ZhbmN5Ym94LWlzLWNsb3NpbmcnICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIENsZWFuIHVwCiAgICAgICAgICAgIHNlbGYuaGlkZUxvYWRpbmcoIGN1cnJlbnQgKTsKCiAgICAgICAgICAgIHNlbGYuaGlkZUNvbnRyb2xzKCk7CgogICAgICAgICAgICBzZWxmLnVwZGF0ZUN1cnNvcigpOwoKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgcG9zc2libGUgdG8gem9vbS1vdXQKICAgICAgICAgICAgaWYgKCBlZmZlY3QgPT09ICd6b29tJyAmJiAhKCBlICE9PSB0cnVlICYmICR3aGF0ICYmIGR1cmF0aW9uICYmIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyAmJiAhY3VycmVudC5oYXNFcnJvciAmJiAoIGVuZCA9IHNlbGYuZ2V0VGh1bWJQb3MoIGN1cnJlbnQgKSApICkgKSB7CiAgICAgICAgICAgICAgICBlZmZlY3QgPSAnZmFkZSc7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggZWZmZWN0ID09PSAnem9vbScgKSB7CiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LnN0b3AoICR3aGF0ICk7CgogICAgICAgICAgICAgICAgc3RhcnQgPSAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggJHdoYXQgKTsKCiAgICAgICAgICAgICAgICBzdGFydC53aWR0aCAgPSBzdGFydC53aWR0aCAgKiBzdGFydC5zY2FsZVg7CiAgICAgICAgICAgICAgICBzdGFydC5oZWlnaHQgPSBzdGFydC5oZWlnaHQgKiBzdGFydC5zY2FsZVk7CgogICAgICAgICAgICAgICAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBhbmltYXRlIG9wYWNpdHkKICAgICAgICAgICAgICAgIG9wYWNpdHkgPSBjdXJyZW50Lm9wdHMuem9vbU9wYWNpdHk7CgogICAgICAgICAgICAgICAgaWYgKCBvcGFjaXR5ID09ICdhdXRvJyApIHsKICAgICAgICAgICAgICAgICAgICBvcGFjaXR5ID0gTWF0aC5hYnMoIGN1cnJlbnQud2lkdGggLyBjdXJyZW50LmhlaWdodCAtIGVuZC53aWR0aCAvIGVuZC5oZWlnaHQgKSA+IDAuMTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiAoIG9wYWNpdHkgKSB7CiAgICAgICAgICAgICAgICAgICAgZW5kLm9wYWNpdHkgPSAwOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHN0YXJ0LnNjYWxlWCA9IHN0YXJ0LndpZHRoICAvIGVuZC53aWR0aDsKICAgICAgICAgICAgICAgIHN0YXJ0LnNjYWxlWSA9IHN0YXJ0LmhlaWdodCAvIGVuZC5oZWlnaHQ7CgogICAgICAgICAgICAgICAgc3RhcnQud2lkdGggID0gZW5kLndpZHRoOwogICAgICAgICAgICAgICAgc3RhcnQuaGVpZ2h0ID0gZW5kLmhlaWdodDsKCiAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggY3VycmVudC4kY29udGVudCwgc3RhcnQgKTsKCiAgICAgICAgICAgICAgICBmb3JjZVJlZHJhdyggY3VycmVudC4kY29udGVudCApOwoKICAgICAgICAgICAgICAgICQuZmFuY3lib3guYW5pbWF0ZSggY3VycmVudC4kY29udGVudCwgZW5kLCBkdXJhdGlvbiwgZG9uZSApOwoKICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIGVmZmVjdCAmJiBkdXJhdGlvbiApIHsKCiAgICAgICAgICAgICAgICAvLyBJZiBza2lwIGFuaW1hdGlvbgogICAgICAgICAgICAgICAgaWYgKCBlID09PSB0cnVlICkgewogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoIGRvbmUsIGR1cmF0aW9uICk7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LmFuaW1hdGUoIGN1cnJlbnQuJHNsaWRlLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQnICksICdmYW5jeWJveC1hbmltYXRlZCBmYW5jeWJveC1zbGlkZS0tcHJldmlvdXMgZmFuY3lib3gtZngtJyArIGVmZmVjdCwgZHVyYXRpb24sIGRvbmUgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBkb25lKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIH0sCgoKICAgICAgICAvLyBGaW5hbCBhZGp1c3RtZW50cyBhZnRlciByZW1vdmluZyB0aGUgaW5zdGFuY2UKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgY2xlYW5VcCA6IGZ1bmN0aW9uKCBlICkgewogICAgICAgICAgICB2YXIgc2VsZiAgPSB0aGlzLAogICAgICAgICAgICAgICAgJGJvZHkgPSAkKCAnYm9keScgKSwKICAgICAgICAgICAgICAgIGluc3RhbmNlLAogICAgICAgICAgICAgICAgb2Zmc2V0OwoKICAgICAgICAgICAgc2VsZi5jdXJyZW50LiRzbGlkZS50cmlnZ2VyKCAnb25SZXNldCcgKTsKCiAgICAgICAgICAgIHNlbGYuJHJlZnMuY29udGFpbmVyLmVtcHR5KCkucmVtb3ZlKCk7CgogICAgICAgICAgICBzZWxmLnRyaWdnZXIoICdhZnRlckNsb3NlJywgZSApOwoKICAgICAgICAgICAgLy8gUGxhY2UgYmFjayBmb2N1cwogICAgICAgICAgICBpZiAoIHNlbGYuJGxhc3RGb2N1cyAmJiAhIXNlbGYuY3VycmVudC5vcHRzLmJhY2tGb2N1cyApIHsKICAgICAgICAgICAgICAgIHNlbGYuJGxhc3RGb2N1cy5mb2N1cygpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBzZWxmLmN1cnJlbnQgPSBudWxsOwoKICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUgYXJlIG90aGVyIGluc3RhbmNlcwogICAgICAgICAgICBpbnN0YW5jZSA9ICQuZmFuY3lib3guZ2V0SW5zdGFuY2UoKTsKCiAgICAgICAgICAgIGlmICggaW5zdGFuY2UgKSB7CiAgICAgICAgICAgICAgICBpbnN0YW5jZS5hY3RpdmF0ZSgpOwoKICAgICAgICAgICAgfSBlbHNlIHsKCiAgICAgICAgICAgICAgICAkVy5zY3JvbGxUb3AoIHNlbGYuc2Nyb2xsVG9wICkuc2Nyb2xsTGVmdCggc2VsZi5zY3JvbGxMZWZ0ICk7CgogICAgICAgICAgICAgICAgJGJvZHkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1hY3RpdmUgY29tcGVuc2F0ZS1mb3Itc2Nyb2xsYmFyJyApOwoKICAgICAgICAgICAgICAgIGlmICggJGJvZHkuaGFzQ2xhc3MoICdmYW5jeWJveC1pb3NmaXgnICkgKSB7CiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0ID0gcGFyc2VJbnQoZG9jdW1lbnQuYm9keS5zdHlsZS50b3AsIDEwKTsKCiAgICAgICAgICAgICAgICAgICAgJGJvZHkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pb3NmaXgnICkuY3NzKCAndG9wJywgJycgKS5zY3JvbGxUb3AoIG9mZnNldCAqIC0xICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJCggJyNmYW5jeWJveC1zdHlsZS1ub3Njcm9sbCcgKS5yZW1vdmUoKTsKCiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCgogICAgICAgIC8vIENhbGwgY2FsbGJhY2sgYW5kIHRyaWdnZXIgYW4gZXZlbnQKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHRyaWdnZXIgOiBmdW5jdGlvbiggbmFtZSwgc2xpZGUgKSB7CiAgICAgICAgICAgIHZhciBhcmdzICA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSksCiAgICAgICAgICAgICAgICBzZWxmICA9IHRoaXMsCiAgICAgICAgICAgICAgICBvYmogICA9IHNsaWRlICYmIHNsaWRlLm9wdHMgPyBzbGlkZSA6IHNlbGYuY3VycmVudCwKICAgICAgICAgICAgICAgIHJlejsKCiAgICAgICAgICAgIGlmICggb2JqICkgewogICAgICAgICAgICAgICAgYXJncy51bnNoaWZ0KCBvYmogKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBvYmogPSBzZWxmOwogICAgICAgICAgICB9CgogICAgICAgICAgICBhcmdzLnVuc2hpZnQoIHNlbGYgKTsKCiAgICAgICAgICAgIGlmICggJC5pc0Z1bmN0aW9uKCBvYmoub3B0c1sgbmFtZSBdICkgKSB7CiAgICAgICAgICAgICAgICByZXogPSBvYmoub3B0c1sgbmFtZSBdLmFwcGx5KCBvYmosIGFyZ3MgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCByZXogPT09IGZhbHNlICkgewogICAgICAgICAgICAgICAgcmV0dXJuIHJlejsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBuYW1lID09PSAnYWZ0ZXJDbG9zZScgfHwgIXNlbGYuJHJlZnMgKSB7CiAgICAgICAgICAgICAgICAkRC50cmlnZ2VyKCBuYW1lICsgJy5mYicsIGFyZ3MgKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBzZWxmLiRyZWZzLmNvbnRhaW5lci50cmlnZ2VyKCBuYW1lICsgJy5mYicsIGFyZ3MgKTsKICAgICAgICAgICAgfQoKICAgICAgICB9LAoKCiAgICAgICAgLy8gVXBkYXRlIGluZm9iYXIgdmFsdWVzLCBuYXZpZ2F0aW9uIGJ1dHRvbiBzdGF0ZXMgYW5kIHJldmVhbCBjYXB0aW9uCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVwZGF0ZUNvbnRyb2xzIDogZnVuY3Rpb24gKCBmb3JjZSApIHsKCiAgICAgICAgICAgIHZhciBzZWxmID0gdGhpczsKCiAgICAgICAgICAgIHZhciBjdXJyZW50ICA9IHNlbGYuY3VycmVudCwKICAgICAgICAgICAgICAgIGluZGV4ICAgID0gY3VycmVudC5pbmRleCwKICAgICAgICAgICAgICAgIGNhcHRpb24gID0gY3VycmVudC5vcHRzLmNhcHRpb24sCiAgICAgICAgICAgICAgICAkY29udGFpbmVyID0gc2VsZi4kcmVmcy5jb250YWluZXIsCiAgICAgICAgICAgICAgICAkY2FwdGlvbiAgID0gc2VsZi4kcmVmcy5jYXB0aW9uOwoKICAgICAgICAgICAgLy8gUmVjYWxjdWxhdGUgY29udGVudCBkaW1lbnNpb25zCiAgICAgICAgICAgIGN1cnJlbnQuJHNsaWRlLnRyaWdnZXIoICdyZWZyZXNoJyApOwoKICAgICAgICAgICAgc2VsZi4kY2FwdGlvbiA9IGNhcHRpb24gJiYgY2FwdGlvbi5sZW5ndGggPyAkY2FwdGlvbi5odG1sKCBjYXB0aW9uICkgOiBudWxsOwoKICAgICAgICAgICAgaWYgKCAhc2VsZi5pc0hpZGRlbkNvbnRyb2xzICYmICFzZWxmLmlzSWRsZSApIHsKICAgICAgICAgICAgICAgIHNlbGYuc2hvd0NvbnRyb2xzKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFVwZGF0ZSBpbmZvIGFuZCBuYXZpZ2F0aW9uIGVsZW1lbnRzCiAgICAgICAgICAgICRjb250YWluZXIuZmluZCgnW2RhdGEtZmFuY3lib3gtY291bnRdJykuaHRtbCggc2VsZi5ncm91cC5sZW5ndGggKTsKICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1pbmRleF0nKS5odG1sKCBpbmRleCArIDEgKTsKCiAgICAgICAgICAgICRjb250YWluZXIuZmluZCgnW2RhdGEtZmFuY3lib3gtcHJldl0nKS5wcm9wKCAnZGlzYWJsZWQnLCAoICFjdXJyZW50Lm9wdHMubG9vcCAmJiBpbmRleCA8PSAwICkgKTsKICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1uZXh0XScpLnByb3AoICdkaXNhYmxlZCcsICggIWN1cnJlbnQub3B0cy5sb29wICYmIGluZGV4ID49IHNlbGYuZ3JvdXAubGVuZ3RoIC0gMSApICk7CgogICAgICAgICAgICBpZiAoIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyApIHsKCiAgICAgICAgICAgICAgICAvLyBVcGRhdGUgZG93bmxvYWQgYnV0dG9uIHNvdXJjZQogICAgICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1kb3dubG9hZF0nKS5hdHRyKCAnaHJlZicsIGN1cnJlbnQub3B0cy5pbWFnZS5zcmMgfHwgY3VycmVudC5zcmMgKS5zaG93KCk7CgogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGNvbnRhaW5lci5maW5kKCdbZGF0YS1mYW5jeWJveC1kb3dubG9hZF0sW2RhdGEtZmFuY3lib3gtem9vbV0nKS5oaWRlKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAoKICAgICAgICAvLyBIaWRlIHRvb2xiYXIgYW5kIGNhcHRpb24KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgaGlkZUNvbnRyb2xzIDogZnVuY3Rpb24gKCkgewoKICAgICAgICAgICAgdGhpcy5pc0hpZGRlbkNvbnRyb2xzID0gdHJ1ZTsKCiAgICAgICAgICAgIHRoaXMuJHJlZnMuY29udGFpbmVyLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtc2hvdy1pbmZvYmFyIGZhbmN5Ym94LXNob3ctdG9vbGJhciBmYW5jeWJveC1zaG93LWNhcHRpb24gZmFuY3lib3gtc2hvdy1uYXYnICk7CgogICAgICAgIH0sCgogICAgICAgIHNob3dDb250cm9scyA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CiAgICAgICAgICAgIHZhciBvcHRzID0gc2VsZi5jdXJyZW50ID8gc2VsZi5jdXJyZW50Lm9wdHMgOiBzZWxmLm9wdHM7CiAgICAgICAgICAgIHZhciAkY29udGFpbmVyID0gc2VsZi4kcmVmcy5jb250YWluZXI7CgogICAgICAgICAgICBzZWxmLmlzSGlkZGVuQ29udHJvbHMgICA9IGZhbHNlOwogICAgICAgICAgICBzZWxmLmlkbGVTZWNvbmRzQ291bnRlciA9IDA7CgogICAgICAgICAgICAkY29udGFpbmVyCiAgICAgICAgICAgICAgICAudG9nZ2xlQ2xhc3MoICdmYW5jeWJveC1zaG93LXRvb2xiYXInLCAhISggb3B0cy50b29sYmFyICYmIG9wdHMuYnV0dG9ucyApICkKICAgICAgICAgICAgICAgIC50b2dnbGVDbGFzcyggJ2ZhbmN5Ym94LXNob3ctaW5mb2JhcicsICEhKCBvcHRzLmluZm9iYXIgJiYgc2VsZi5ncm91cC5sZW5ndGggPiAxICkgKQogICAgICAgICAgICAgICAgLnRvZ2dsZUNsYXNzKCAnZmFuY3lib3gtc2hvdy1uYXYnLCAgICAgISEoIG9wdHMuYXJyb3dzICYmIHNlbGYuZ3JvdXAubGVuZ3RoID4gMSApICkKICAgICAgICAgICAgICAgIC50b2dnbGVDbGFzcyggJ2ZhbmN5Ym94LWlzLW1vZGFsJywgICAgICEhb3B0cy5tb2RhbCApOwoKICAgICAgICAgICAgaWYgKCBzZWxmLiRjYXB0aW9uICkgewogICAgICAgICAgICAgICAgJGNvbnRhaW5lci5hZGRDbGFzcyggJ2ZhbmN5Ym94LXNob3ctY2FwdGlvbiAnKTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICRjb250YWluZXIucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1zaG93LWNhcHRpb24nICk7CiAgICAgICAgICAgfQoKICAgICAgIH0sCgoKICAgICAgIC8vIFRvZ2dsZSB0b29sYmFyIGFuZCBjYXB0aW9uCiAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgIHRvZ2dsZUNvbnRyb2xzIDogZnVuY3Rpb24oKSB7CiAgICAgICAgICAgaWYgKCB0aGlzLmlzSGlkZGVuQ29udHJvbHMgKSB7CiAgICAgICAgICAgICAgIHRoaXMuc2hvd0NvbnRyb2xzKCk7CgogICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgIHRoaXMuaGlkZUNvbnRyb2xzKCk7CiAgICAgICAgICAgfQoKICAgICAgIH0sCgoKICAgIH0pOwoKCiAgICAkLmZhbmN5Ym94ID0gewoKICAgICAgICB2ZXJzaW9uICA6ICIzLjIuMTAiLAogICAgICAgIGRlZmF1bHRzIDogZGVmYXVsdHMsCgoKICAgICAgICAvLyBHZXQgY3VycmVudCBpbnN0YW5jZSBhbmQgZXhlY3V0ZSBhIGNvbW1hbmQuCiAgICAgICAgLy8KICAgICAgICAvLyBFeGFtcGxlcyBvZiB1c2FnZToKICAgICAgICAvLwogICAgICAgIC8vICAgJGluc3RhbmNlID0gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpOwogICAgICAgIC8vICAgJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpLmp1bXBUbyggMSApOwogICAgICAgIC8vICAgJC5mYW5jeWJveC5nZXRJbnN0YW5jZSggJ2p1bXBUbycsIDEgKTsKICAgICAgICAvLyAgICQuZmFuY3lib3guZ2V0SW5zdGFuY2UoIGZ1bmN0aW9uKCkgewogICAgICAgIC8vICAgICAgIGNvbnNvbGUuaW5mbyggdGhpcy5jdXJySW5kZXggKTsKICAgICAgICAvLyAgIH0pOwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBnZXRJbnN0YW5jZSA6IGZ1bmN0aW9uICggY29tbWFuZCApIHsKICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gJCgnLmZhbmN5Ym94LWNvbnRhaW5lcjpub3QoIi5mYW5jeWJveC1pcy1jbG9zaW5nIik6bGFzdCcpLmRhdGEoICdGYW5jeUJveCcgKTsKICAgICAgICAgICAgdmFyIGFyZ3MgICAgID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTsKCiAgICAgICAgICAgIGlmICggaW5zdGFuY2UgaW5zdGFuY2VvZiBGYW5jeUJveCApIHsKCiAgICAgICAgICAgICAgICBpZiAoICQudHlwZSggY29tbWFuZCApID09PSAnc3RyaW5nJyApIHsKICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZVsgY29tbWFuZCBdLmFwcGx5KCBpbnN0YW5jZSwgYXJncyApOwoKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoICQudHlwZSggY29tbWFuZCApID09PSAnZnVuY3Rpb24nICkgewogICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuYXBwbHkoIGluc3RhbmNlLCBhcmdzICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlOwogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gZmFsc2U7CgogICAgICAgIH0sCgoKICAgICAgICAvLyBDcmVhdGUgbmV3IGluc3RhbmNlCiAgICAgICAgLy8gPT09PT09PT09PT09PT09PT09PQoKICAgICAgICBvcGVuIDogZnVuY3Rpb24gKCBpdGVtcywgb3B0cywgaW5kZXggKSB7CiAgICAgICAgICAgIHJldHVybiBuZXcgRmFuY3lCb3goIGl0ZW1zLCBvcHRzLCBpbmRleCApOwogICAgICAgIH0sCgoKICAgICAgICAvLyBDbG9zZSBjdXJyZW50IG9yIGFsbCBpbnN0YW5jZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgY2xvc2UgOiBmdW5jdGlvbiAoIGFsbCApIHsKICAgICAgICAgICAgdmFyIGluc3RhbmNlID0gdGhpcy5nZXRJbnN0YW5jZSgpOwoKICAgICAgICAgICAgaWYgKCBpbnN0YW5jZSApIHsKICAgICAgICAgICAgICAgIGluc3RhbmNlLmNsb3NlKCk7CgogICAgICAgICAgICAgICAgLy8gVHJ5IHRvIGZpbmQgYW5kIGNsb3NlIG5leHQgaW5zdGFuY2UKCiAgICAgICAgICAgICAgICBpZiAoIGFsbCA9PT0gdHJ1ZSApIHsKICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgfSwKCiAgICAgICAgLy8gQ2xvc2UgaW5zdGFuY2VzIGFuZCB1bmJpbmQgYWxsIGV2ZW50cwogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBkZXN0cm95IDogZnVuY3Rpb24oKSB7CgogICAgICAgICAgICB0aGlzLmNsb3NlKCB0cnVlICk7CgogICAgICAgICAgICAkRC5vZmYoICdjbGljay5mYi1zdGFydCcgKTsKCiAgICAgICAgfSwKCgogICAgICAgIC8vIFRyeSB0byBkZXRlY3QgbW9iaWxlIGRldmljZXMKICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGlzTW9iaWxlIDogZG9jdW1lbnQuY3JlYXRlVG91Y2ggIT09IHVuZGVmaW5lZCAmJiAvQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksCgoKICAgICAgICAvLyBEZXRlY3QgaWYgJ3RyYW5zbGF0ZTNkJyBzdXBwb3J0IGlzIGF2YWlsYWJsZQogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIHVzZTNkIDogKGZ1bmN0aW9uKCkgewogICAgICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CgogICAgICAgICAgICByZXR1cm4gd2luZG93LmdldENvbXB1dGVkU3R5bGUgJiYgd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGRpdiApLmdldFByb3BlcnR5VmFsdWUoJ3RyYW5zZm9ybScpICYmICEoZG9jdW1lbnQuZG9jdW1lbnRNb2RlICYmIGRvY3VtZW50LmRvY3VtZW50TW9kZSA8IDExKTsKICAgICAgICB9KCkpLAoKICAgICAgICAvLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IGN1cnJlbnQgdmlzdWFsIHN0YXRlIG9mIGFuIGVsZW1lbnQKICAgICAgICAvLyByZXR1cm5zIGFycmF5WyB0b3AsIGxlZnQsIGhvcml6b250YWwtc2NhbGUsIHZlcnRpY2FsLXNjYWxlLCBvcGFjaXR5IF0KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgZ2V0VHJhbnNsYXRlIDogZnVuY3Rpb24oICRlbCApIHsKICAgICAgICAgICAgdmFyIG1hdHJpeDsKCiAgICAgICAgICAgIGlmICggISRlbCB8fCAhJGVsLmxlbmd0aCApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbWF0cml4ICA9ICRlbC5lcSggMCApLmNzcygndHJhbnNmb3JtJyk7CgogICAgICAgICAgICBpZiAoIG1hdHJpeCAmJiBtYXRyaXguaW5kZXhPZiggJ21hdHJpeCcgKSAhPT0gLTEgKSB7CiAgICAgICAgICAgICAgICBtYXRyaXggPSBtYXRyaXguc3BsaXQoJygnKVsxXTsKICAgICAgICAgICAgICAgIG1hdHJpeCA9IG1hdHJpeC5zcGxpdCgnKScpWzBdOwogICAgICAgICAgICAgICAgbWF0cml4ID0gbWF0cml4LnNwbGl0KCcsJyk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtYXRyaXggPSBbXTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBtYXRyaXgubGVuZ3RoICkgewoKICAgICAgICAgICAgICAgIC8vIElmIElFCiAgICAgICAgICAgICAgICBpZiAoIG1hdHJpeC5sZW5ndGggPiAxMCApIHsKICAgICAgICAgICAgICAgICAgICBtYXRyaXggPSBbIG1hdHJpeFsxM10sIG1hdHJpeFsxMl0sIG1hdHJpeFswXSwgbWF0cml4WzVdIF07CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBtYXRyaXggPSBbIG1hdHJpeFs1XSwgbWF0cml4WzRdLCBtYXRyaXhbMF0sIG1hdHJpeFszXV07CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgbWF0cml4ID0gbWF0cml4Lm1hcChwYXJzZUZsb2F0KTsKCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBtYXRyaXggPSBbIDAsIDAsIDEsIDEgXTsKCiAgICAgICAgICAgICAgICB2YXIgdHJhbnNSZWdleCA9IC9cLip0cmFuc2xhdGVcKCguKilweCwoLiopcHhcKS9pOwogICAgICAgICAgICAgICAgdmFyIHRyYW5zUmV6ID0gdHJhbnNSZWdleC5leGVjKCAkZWwuZXEoIDAgKS5hdHRyKCdzdHlsZScpICk7CgogICAgICAgICAgICAgICAgaWYgKCB0cmFuc1JleiApIHsKICAgICAgICAgICAgICAgICAgICBtYXRyaXhbIDAgXSA9IHBhcnNlRmxvYXQoIHRyYW5zUmV6WzJdICk7CiAgICAgICAgICAgICAgICAgICAgbWF0cml4WyAxIF0gPSBwYXJzZUZsb2F0KCB0cmFuc1JlelsxXSApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAgdG9wICAgICA6IG1hdHJpeFsgMCBdLAogICAgICAgICAgICAgICAgbGVmdCAgICA6IG1hdHJpeFsgMSBdLAogICAgICAgICAgICAgICAgc2NhbGVYICA6IG1hdHJpeFsgMiBdLAogICAgICAgICAgICAgICAgc2NhbGVZICA6IG1hdHJpeFsgMyBdLAogICAgICAgICAgICAgICAgb3BhY2l0eSA6IHBhcnNlRmxvYXQoICRlbC5jc3MoJ29wYWNpdHknKSApLAogICAgICAgICAgICAgICAgd2lkdGggICA6ICRlbC53aWR0aCgpLAogICAgICAgICAgICAgICAgaGVpZ2h0ICA6ICRlbC5oZWlnaHQoKQogICAgICAgICAgICB9OwoKICAgICAgICB9LAoKCiAgICAgICAgLy8gU2hvcnRjdXQgZm9yIHNldHRpbmcgInRyYW5zbGF0ZTNkIiBwcm9wZXJ0aWVzIGZvciBlbGVtZW50CiAgICAgICAgLy8gQ2FuIHNldCBiZSB1c2VkIHRvIHNldCBvcGFjaXR5LCB0b28KICAgICAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgICBzZXRUcmFuc2xhdGUgOiBmdW5jdGlvbiggJGVsLCBwcm9wcyApIHsKICAgICAgICAgICAgdmFyIHN0ciAgPSAnJzsKICAgICAgICAgICAgdmFyIGNzcyAgPSB7fTsKCiAgICAgICAgICAgIGlmICggISRlbCB8fCAhcHJvcHMgKSB7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJvcHMubGVmdCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLnRvcCAhPT0gdW5kZWZpbmVkICkgewogICAgICAgICAgICAgICAgc3RyID0gKCBwcm9wcy5sZWZ0ID09PSB1bmRlZmluZWQgPyAkZWwucG9zaXRpb24oKS5sZWZ0IDogcHJvcHMubGVmdCApICArICdweCwgJyArICggcHJvcHMudG9wID09PSB1bmRlZmluZWQgPyAkZWwucG9zaXRpb24oKS50b3AgOiBwcm9wcy50b3AgKSArICdweCc7CgogICAgICAgICAgICAgICAgaWYgKCB0aGlzLnVzZTNkICkgewogICAgICAgICAgICAgICAgICAgIHN0ciA9ICd0cmFuc2xhdGUzZCgnICsgc3RyICsgJywgMHB4KSc7CgogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBzdHIgPSAndHJhbnNsYXRlKCcgKyBzdHIgKyAnKSc7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJvcHMuc2NhbGVYICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuc2NhbGVZICE9PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICBzdHIgPSAoc3RyLmxlbmd0aCA/IHN0ciArICcgJyA6ICcnKSArICdzY2FsZSgnICsgcHJvcHMuc2NhbGVYICsgJywgJyArIHByb3BzLnNjYWxlWSArICcpJzsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBzdHIubGVuZ3RoICkgewogICAgICAgICAgICAgICAgY3NzLnRyYW5zZm9ybSA9IHN0cjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYgKCBwcm9wcy5vcGFjaXR5ICE9PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICBjc3Mub3BhY2l0eSA9IHByb3BzLm9wYWNpdHk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggcHJvcHMud2lkdGggIT09IHVuZGVmaW5lZCApIHsKICAgICAgICAgICAgICAgIGNzcy53aWR0aCA9IHByb3BzLndpZHRoOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHByb3BzLmhlaWdodCAhPT0gdW5kZWZpbmVkICkgewogICAgICAgICAgICAgICAgY3NzLmhlaWdodCA9IHByb3BzLmhlaWdodDsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuICRlbC5jc3MoIGNzcyApOwogICAgICAgIH0sCgoKICAgICAgICAvLyBTaW1wbGUgQ1NTIHRyYW5zaXRpb24gaGFuZGxlcgogICAgICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgIGFuaW1hdGUgOiBmdW5jdGlvbiAoICRlbCwgdG8sIGR1cmF0aW9uLCBjYWxsYmFjaywgbGVhdmVBbmltYXRpb25OYW1lICkgewogICAgICAgICAgICBpZiAoICQuaXNGdW5jdGlvbiggZHVyYXRpb24gKSApIHsKICAgICAgICAgICAgICAgIGNhbGxiYWNrID0gZHVyYXRpb247CiAgICAgICAgICAgICAgICBkdXJhdGlvbiA9IG51bGw7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIGlmICggISQuaXNQbGFpbk9iamVjdCggdG8gKSApIHsKICAgICAgICAgICAgICAgICRlbC5yZW1vdmVBdHRyKCAnc3R5bGUnICk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgICRlbC5vbiggdHJhbnNpdGlvbkVuZCwgZnVuY3Rpb24oZSkgewoKICAgICAgICAgICAgICAgIC8vIFNraXAgZXZlbnRzIGZyb20gY2hpbGQgZWxlbWVudHMgYW5kIHotaW5kZXggY2hhbmdlCiAgICAgICAgICAgICAgICBpZiAoIGUgJiYgZS5vcmlnaW5hbEV2ZW50ICYmICggISRlbC5pcyggZS5vcmlnaW5hbEV2ZW50LnRhcmdldCApIHx8IGUub3JpZ2luYWxFdmVudC5wcm9wZXJ0eU5hbWUgPT0gJ3otaW5kZXgnICkgKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc3RvcCggJGVsICk7CgogICAgICAgICAgICAgICAgaWYgKCAkLmlzUGxhaW5PYmplY3QoIHRvICkgKSB7CgogICAgICAgICAgICAgICAgICAgIGlmICggdG8uc2NhbGVYICE9PSB1bmRlZmluZWQgJiYgdG8uc2NhbGVZICE9PSB1bmRlZmluZWQgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRlbC5jc3MoICd0cmFuc2l0aW9uLWR1cmF0aW9uJywgJycgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHRvLndpZHRoICA9IE1hdGgucm91bmQoICRlbC53aWR0aCgpICAqIHRvLnNjYWxlWCApOwogICAgICAgICAgICAgICAgICAgICAgICB0by5oZWlnaHQgPSBNYXRoLnJvdW5kKCAkZWwuaGVpZ2h0KCkgKiB0by5zY2FsZVkgKTsKCiAgICAgICAgICAgICAgICAgICAgICAgIHRvLnNjYWxlWCA9IDE7CiAgICAgICAgICAgICAgICAgICAgICAgIHRvLnNjYWxlWSA9IDE7CgogICAgICAgICAgICAgICAgICAgICAgICAkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggJGVsLCB0byApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgaWYgKCBsZWF2ZUFuaW1hdGlvbk5hbWUgPT09IGZhbHNlICkgewogICAgICAgICAgICAgICAgICAgICAgICAkZWwucmVtb3ZlQXR0ciggJ3N0eWxlJyApOwogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCBsZWF2ZUFuaW1hdGlvbk5hbWUgIT09IHRydWUgKSB7CiAgICAgICAgICAgICAgICAgICAgJGVsLnJlbW92ZUNsYXNzKCB0byApOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmICggJC5pc0Z1bmN0aW9uKCBjYWxsYmFjayApICkgewogICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKCBlICk7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICB9KTsKCiAgICAgICAgICAgIGlmICggJC5pc051bWVyaWMoIGR1cmF0aW9uICkgKSB7CiAgICAgICAgICAgICAgICAkZWwuY3NzKCAndHJhbnNpdGlvbi1kdXJhdGlvbicsIGR1cmF0aW9uICsgJ21zJyApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoICQuaXNQbGFpbk9iamVjdCggdG8gKSApIHsKICAgICAgICAgICAgICAgICQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCAkZWwsIHRvICk7CgogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgJGVsLmFkZENsYXNzKCB0byApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiAoIHRvLnNjYWxlWCAmJiAkZWwuaGFzQ2xhc3MoICdmYW5jeWJveC1pbWFnZS13cmFwJyApICkgewogICAgICAgICAgICAgICAgJGVsLnBhcmVudCgpLmFkZENsYXNzKCAnZmFuY3lib3gtaXMtc2NhbGluZycgKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgYHRyYW5zaXRpb25lbmRgIGNhbGxiYWNrIGdldHMgZmlyZWQKICAgICAgICAgICAgJGVsLmRhdGEoInRpbWVyIiwgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICRlbC50cmlnZ2VyKCAndHJhbnNpdGlvbmVuZCcgKTsKICAgICAgICAgICAgfSwgZHVyYXRpb24gKyAxNikpOwoKICAgICAgICB9LAoKICAgICAgICBzdG9wIDogZnVuY3Rpb24oICRlbCApIHsKICAgICAgICAgICAgY2xlYXJUaW1lb3V0KCAkZWwuZGF0YSgidGltZXIiKSApOwoKICAgICAgICAgICAgJGVsLm9mZiggJ3RyYW5zaXRpb25lbmQnICkuY3NzKCAndHJhbnNpdGlvbi1kdXJhdGlvbicsICcnICk7CgogICAgICAgICAgICBpZiAoICRlbC5oYXNDbGFzcyggJ2ZhbmN5Ym94LWltYWdlLXdyYXAnICkgKSB7CiAgICAgICAgICAgICAgICAkZWwucGFyZW50KCkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1pcy1zY2FsaW5nJyApOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgIH07CgoKICAgIC8vIERlZmF1bHQgY2xpY2sgaGFuZGxlciBmb3IgImZhbmN5Ym94ZWQiIGxpbmtzCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIF9ydW4oIGUgKSB7CiAgICAgICAgdmFyICR0YXJnZXQJPSAkKCBlLmN1cnJlbnRUYXJnZXQgKSwKICAgICAgICAgICAgb3B0cwk9IGUuZGF0YSA/IGUuZGF0YS5vcHRpb25zIDoge30sCiAgICAgICAgICAgIHZhbHVlCT0gJHRhcmdldC5hdHRyKCAnZGF0YS1mYW5jeWJveCcgKSB8fCAnJywKICAgICAgICAgICAgaW5kZXgJPSAwLAogICAgICAgICAgICBpdGVtcyAgID0gW107CgogICAgICAgIC8vIEF2b2lkIG9wZW5pbmcgbXVsdGlwbGUgdGltZXMKICAgICAgICBpZiAoIGUuaXNEZWZhdWx0UHJldmVudGVkKCkgKSB7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKCiAgICAgICAgLy8gR2V0IGFsbCByZWxhdGVkIGl0ZW1zIGFuZCBmaW5kIGluZGV4IGZvciBjbGlja2VkIG9uZQogICAgICAgIGlmICggdmFsdWUgKSB7CiAgICAgICAgICAgIGl0ZW1zID0gb3B0cy5zZWxlY3RvciA/ICQoIG9wdHMuc2VsZWN0b3IgKSA6ICggZS5kYXRhID8gZS5kYXRhLml0ZW1zIDogW10gKTsKICAgICAgICAgICAgaXRlbXMgPSBpdGVtcy5sZW5ndGggPyBpdGVtcy5maWx0ZXIoICdbZGF0YS1mYW5jeWJveD0iJyArIHZhbHVlICsgJyJdJyApIDogJCggJ1tkYXRhLWZhbmN5Ym94PSInICsgdmFsdWUgKyAnIl0nICk7CgogICAgICAgICAgICBpbmRleCA9IGl0ZW1zLmluZGV4KCAkdGFyZ2V0ICk7CgogICAgICAgICAgICAvLyBTb21ldGltZXMgY3VycmVudCBpdGVtIGNhbiBub3QgYmUgZm91bmQKICAgICAgICAgICAgLy8gKGZvciBleGFtcGxlLCB3aGVuIHNsaWRlciBjbG9uZXMgaXRlbXMpCiAgICAgICAgICAgIGlmICggaW5kZXggPCAwICkgewogICAgICAgICAgICAgICAgaW5kZXggPSAwOwogICAgICAgICAgICB9CgogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGl0ZW1zID0gWyAkdGFyZ2V0IF07CiAgICAgICAgfQoKICAgICAgICAkLmZhbmN5Ym94Lm9wZW4oIGl0ZW1zLCBvcHRzLCBpbmRleCApOwogICAgfQoKCiAgICAvLyBDcmVhdGUgYSBqUXVlcnkgcGx1Z2luCiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09CgogICAgJC5mbi5mYW5jeWJveCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7CiAgICAgICAgdmFyIHNlbGVjdG9yOwoKICAgICAgICBvcHRpb25zICA9IG9wdGlvbnMgfHwge307CiAgICAgICAgc2VsZWN0b3IgPSBvcHRpb25zLnNlbGVjdG9yIHx8IGZhbHNlOwoKICAgICAgICBpZiAoIHNlbGVjdG9yICkgewoKICAgICAgICAgICAgJCggJ2JvZHknICkub2ZmKCAnY2xpY2suZmItc3RhcnQnLCBzZWxlY3RvciApLm9uKCAnY2xpY2suZmItc3RhcnQnLCBzZWxlY3RvciwgewogICAgICAgICAgICAgICAgb3B0aW9ucyA6IG9wdGlvbnMKICAgICAgICAgICAgfSwgX3J1biApOwoKICAgICAgICB9IGVsc2UgewoKICAgICAgICAgICAgdGhpcy5vZmYoICdjbGljay5mYi1zdGFydCcgKS5vbiggJ2NsaWNrLmZiLXN0YXJ0JywgewogICAgICAgICAgICAgICAgaXRlbXMgICA6IHRoaXMsCiAgICAgICAgICAgICAgICBvcHRpb25zIDogb3B0aW9ucwogICAgICAgICAgICB9LCBfcnVuKTsKCiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdGhpczsKICAgIH07CgoKICAgIC8vIFNlbGYgaW5pdGlhbGl6aW5nIHBsdWdpbgogICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09CgogICAgJEQub24oICdjbGljay5mYi1zdGFydCcsICdbZGF0YS1mYW5jeWJveF0nLCBfcnVuICk7Cgp9KCB3aW5kb3csIGRvY3VtZW50LCB3aW5kb3cualF1ZXJ5IHx8IGpRdWVyeSApKTsKCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vCi8vIE1lZGlhCi8vIEFkZHMgYWRkaXRpb25hbCBtZWRpYSB0eXBlIHN1cHBvcnQKLy8KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KOyhmdW5jdGlvbiAoJCkgewoKCSd1c2Ugc3RyaWN0JzsKCgkvLyBGb3JtYXRzIG1hdGNoaW5nIHVybCB0byBmaW5hbCBmb3JtCgoJdmFyIGZvcm1hdCA9IGZ1bmN0aW9uICh1cmwsIHJleiwgcGFyYW1zKSB7CgkJaWYgKCAhdXJsICkgewoJCQlyZXR1cm47CgkJfQoKCQlwYXJhbXMgPSBwYXJhbXMgfHwgJyc7CgoJCWlmICggJC50eXBlKHBhcmFtcykgPT09ICJvYmplY3QiICkgewoJCQlwYXJhbXMgPSAkLnBhcmFtKHBhcmFtcywgdHJ1ZSk7CgkJfQoKCQkkLmVhY2gocmV6LCBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkgewoJCQl1cmwgPSB1cmwucmVwbGFjZSgnJCcgKyBrZXksIHZhbHVlIHx8ICcnKTsKCQl9KTsKCgkJaWYgKHBhcmFtcy5sZW5ndGgpIHsKCQkJdXJsICs9ICh1cmwuaW5kZXhPZignPycpID4gMCA/ICcmJyA6ICc/JykgKyBwYXJhbXM7CgkJfQoKCQlyZXR1cm4gdXJsOwoJfTsKCgkvLyBPYmplY3QgY29udGFpbmluZyBwcm9wZXJ0aWVzIGZvciBlYWNoIG1lZGlhIHR5cGUKCgl2YXIgZGVmYXVsdHMgPSB7CgkJeW91dHViZSA6IHsKCQkJbWF0Y2hlciA6IC8oeW91dHViZVwuY29tfHlvdXR1XC5iZXx5b3V0dWJlXC1ub2Nvb2tpZVwuY29tKVwvKHdhdGNoXD8oLiomKT92PXx2XC98dVwvfGVtYmVkXC8/KT8odmlkZW9zZXJpZXNcP2xpc3Q9KC4qKXxbXHctXXsxMX18XD9saXN0VHlwZT0oLiopJmxpc3Q9KC4qKSkoLiopL2ksCgkJCXBhcmFtcyAgOiB7CgkJCQlhdXRvcGxheSA6IDEsCgkJCQlhdXRvaGlkZSA6IDEsCgkJCQlmcyAgOiAxLAoJCQkJcmVsIDogMCwKCQkJCWhkICA6IDEsCgkJCQl3bW9kZSA6ICd0cmFuc3BhcmVudCcsCgkJCQllbmFibGVqc2FwaSA6IDEsCgkJCQlodG1sNSA6IDEKCQkJfSwKCQkJcGFyYW1QbGFjZSA6IDgsCgkJCXR5cGUgIDogJ2lmcmFtZScsCgkJCXVybCAgIDogJy8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyQ0JywKCQkJdGh1bWIgOiAnLy9pbWcueW91dHViZS5jb20vdmkvJDQvaHFkZWZhdWx0LmpwZycKCQl9LAoKCQl2aW1lbyA6IHsKCQkJbWF0Y2hlciA6IC9eLit2aW1lby5jb21cLyguKlwvKT8oW1xkXSspKC4qKT8vLAoJCQlwYXJhbXMgIDogewoJCQkJYXV0b3BsYXkgOiAxLAoJCQkJaGQgOiAxLAoJCQkJc2hvd190aXRsZSAgICA6IDEsCgkJCQlzaG93X2J5bGluZSAgIDogMSwKCQkJCXNob3dfcG9ydHJhaXQgOiAwLAoJCQkJZnVsbHNjcmVlbiAgICA6IDEsCgkJCQlhcGkgOiAxCgkJCX0sCgkJCXBhcmFtUGxhY2UgOiAzLAoJCQl0eXBlIDogJ2lmcmFtZScsCgkJCXVybCA6ICcvL3BsYXllci52aW1lby5jb20vdmlkZW8vJDInCgkJfSwKCgkJbWV0YWNhZmUgOiB7CgkJCW1hdGNoZXIgOiAvbWV0YWNhZmUuY29tXC93YXRjaFwvKFxkKylcLyguKik/LywKCQkJdHlwZSAgICA6ICdpZnJhbWUnLAoJCQl1cmwgICAgIDogJy8vd3d3Lm1ldGFjYWZlLmNvbS9lbWJlZC8kMS8/YXA9MScKCQl9LAoKCQlkYWlseW1vdGlvbiA6IHsKCQkJbWF0Y2hlciA6IC9kYWlseW1vdGlvbi5jb21cL3ZpZGVvXC8oLiopXC8/KC4qKS8sCgkJCXBhcmFtcyA6IHsKCQkJCWFkZGl0aW9uYWxJbmZvcyA6IDAsCgkJCQlhdXRvU3RhcnQgOiAxCgkJCX0sCgkJCXR5cGUgOiAnaWZyYW1lJywKCQkJdXJsICA6ICcvL3d3dy5kYWlseW1vdGlvbi5jb20vZW1iZWQvdmlkZW8vJDEnCgkJfSwKCgkJdmluZSA6IHsKCQkJbWF0Y2hlciA6IC92aW5lLmNvXC92XC8oW2EtekEtWjAtOVw/XD1cLV0rKS8sCgkJCXR5cGUgICAgOiAnaWZyYW1lJywKCQkJdXJsICAgICA6ICcvL3ZpbmUuY28vdi8kMS9lbWJlZC9zaW1wbGUnCgkJfSwKCgkJaW5zdGFncmFtIDogewoJCQltYXRjaGVyIDogLyhpbnN0YWdyXC5hbXxpbnN0YWdyYW1cLmNvbSlcL3BcLyhbYS16QS1aMC05X1wtXSspXC8/L2ksCgkJCXR5cGUgICAgOiAnaW1hZ2UnLAoJCQl1cmwgICAgIDogJy8vJDEvcC8kMi9tZWRpYS8/c2l6ZT1sJwoJCX0sCgoJCS8vIEV4YW1wbGVzOgoJCS8vIGh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vP2xsPTQ4Ljg1Nzk5NSwyLjI5NDI5NyZzcG49MC4wMDc2NjYsMC4wMjExMzYmdD1tJno9MTYKCQkvLyBodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvQDM3Ljc4NTIwMDYsLTEyMi40MTQ2MzU1LDE0LjY1egoJCS8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9wbGFjZS9Hb29nbGVwbGV4L0AzNy40MjIwMDQxLC0xMjIuMDgzMzQ5NCwxN3ovZGF0YT0hNG01ITNtNCExczB4MDoweDZjMjk2YzY2NjE5MzY3ZTAhOG0yITNkMzcuNDIxOTk5OCE0ZC0xMjIuMDg0MDU3MgoJCWdtYXBfcGxhY2UgOiB7CgkJCW1hdGNoZXIgOiAvKG1hcHNcLik/Z29vZ2xlXC4oW2Etel17MiwzfShcLlthLXpdezJ9KT8pXC8oKChtYXBzXC8ocGxhY2VcLyguKilcLyk/XEAoLiopLChcZCsuP1xkKz8peikpfChcP2xsPSkpKC4qKT8vaSwKCQkJdHlwZSAgICA6ICdpZnJhbWUnLAoJCQl1cmwgICAgIDogZnVuY3Rpb24gKHJleikgewoJCQkJcmV0dXJuICcvL21hcHMuZ29vZ2xlLicgKyByZXpbMl0gKyAnLz9sbD0nICsgKCByZXpbOV0gPyByZXpbOV0gKyAnJno9JyArIE1hdGguZmxvb3IoICByZXpbMTBdICApICsgKCByZXpbMTJdID8gcmV6WzEyXS5yZXBsYWNlKC9eXC8vLCAiJiIpIDogJycgKSAgOiByZXpbMTJdICkgKyAnJm91dHB1dD0nICsgKCByZXpbMTJdICYmIHJlelsxMl0uaW5kZXhPZignbGF5ZXI9YycpID4gMCA/ICdzdmVtYmVkJyA6ICdlbWJlZCcgKTsKCQkJfQoJCX0sCgoJCS8vIEV4YW1wbGVzOgoJCS8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvRW1waXJlK1N0YXRlK0J1aWxkaW5nLwoJCS8vIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9zZWFyY2gvP2FwaT0xJnF1ZXJ5PWNlbnR1cnlsaW5rK2ZpZWxkCgkJLy8gaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL3NlYXJjaC8/YXBpPTEmcXVlcnk9NDcuNTk1MTUxOCwtMTIyLjMzMTYzOTMKCQlnbWFwX3NlYXJjaCA6IHsKCQkJbWF0Y2hlciA6IC8obWFwc1wuKT9nb29nbGVcLihbYS16XXsyLDN9KFwuW2Etel17Mn0pPylcLyhtYXBzXC9zZWFyY2hcLykoLiopL2ksCgkJCXR5cGUgICAgOiAnaWZyYW1lJywKCQkJdXJsICAgICA6IGZ1bmN0aW9uIChyZXopIHsKCQkJCXJldHVybiAnLy9tYXBzLmdvb2dsZS4nICsgcmV6WzJdICsgJy9tYXBzP3E9JyArIHJlels1XS5yZXBsYWNlKCdxdWVyeT0nLCAncT0nKS5yZXBsYWNlKCdhcGk9MScsICcnKSArICcmb3V0cHV0PWVtYmVkJzsKCQkJfQoJCX0KCX07CgoJJChkb2N1bWVudCkub24oJ29iamVjdE5lZWRzVHlwZS5mYicsIGZ1bmN0aW9uIChlLCBpbnN0YW5jZSwgaXRlbSkgewoKCQl2YXIgdXJsCSA9IGl0ZW0uc3JjIHx8ICcnLAoJCQl0eXBlID0gZmFsc2UsCgkJCW1lZGlhLAoJCQl0aHVtYiwKCQkJcmV6LAoJCQlwYXJhbXMsCgkJCXVybFBhcmFtcywKCQkJcGFyYW1PYmosCgkJCXByb3ZpZGVyOwoKCQltZWRpYSA9ICQuZXh0ZW5kKCB0cnVlLCB7fSwgZGVmYXVsdHMsIGl0ZW0ub3B0cy5tZWRpYSApOwoKCQkvLyBMb29rIGZvciBhbnkgbWF0Y2hpbmcgbWVkaWEgdHlwZQoJCSQuZWFjaChtZWRpYSwgZnVuY3Rpb24gKCBwcm92aWRlck5hbWUsIHByb3ZpZGVyT3B0cyApIHsKCQkJcmV6ID0gdXJsLm1hdGNoKCBwcm92aWRlck9wdHMubWF0Y2hlciApOwoKCQkJaWYgKCAhcmV6ICkgewoJCQkJcmV0dXJuOwoJCQl9CgoJCQl0eXBlICAgICA9IHByb3ZpZGVyT3B0cy50eXBlOwoJCQlwYXJhbU9iaiA9IHt9OwoKCQkJaWYgKCBwcm92aWRlck9wdHMucGFyYW1QbGFjZSAmJiByZXpbIHByb3ZpZGVyT3B0cy5wYXJhbVBsYWNlIF0gKSB7CgkJCQl1cmxQYXJhbXMgPSByZXpbIHByb3ZpZGVyT3B0cy5wYXJhbVBsYWNlIF07CgoJCQkJaWYgKCB1cmxQYXJhbXNbIDAgXSA9PSAnPycgKSB7CgkJCQkJdXJsUGFyYW1zID0gdXJsUGFyYW1zLnN1YnN0cmluZygxKTsKCQkJCX0KCgkJCQl1cmxQYXJhbXMgPSB1cmxQYXJhbXMuc3BsaXQoJyYnKTsKCgkJCQlmb3IgKCB2YXIgbSA9IDA7IG0gPCB1cmxQYXJhbXMubGVuZ3RoOyArK20gKSB7CgkJCQkJdmFyIHAgPSB1cmxQYXJhbXNbIG0gXS5zcGxpdCgnPScsIDIpOwoKCQkJCQlpZiAoIHAubGVuZ3RoID09IDIgKSB7CgkJCQkJCXBhcmFtT2JqWyBwWzBdIF0gPSBkZWNvZGVVUklDb21wb25lbnQoIHBbMV0ucmVwbGFjZSgvXCsvZywgIiAiKSApOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJcGFyYW1zID0gJC5leHRlbmQoIHRydWUsIHt9LCBwcm92aWRlck9wdHMucGFyYW1zLCBpdGVtLm9wdHNbIHByb3ZpZGVyTmFtZSBdLCBwYXJhbU9iaiApOwoKCQkJdXJsICAgPSAkLnR5cGUoIHByb3ZpZGVyT3B0cy51cmwgKSA9PT0gImZ1bmN0aW9uIiA/IHByb3ZpZGVyT3B0cy51cmwuY2FsbCggdGhpcywgcmV6LCBwYXJhbXMsIGl0ZW0gKSA6IGZvcm1hdCggcHJvdmlkZXJPcHRzLnVybCwgcmV6LCBwYXJhbXMgKTsKCQkJdGh1bWIgPSAkLnR5cGUoIHByb3ZpZGVyT3B0cy50aHVtYiApID09PSAiZnVuY3Rpb24iID8gcHJvdmlkZXJPcHRzLnRodW1iLmNhbGwoIHRoaXMsIHJleiwgcGFyYW1zLCBpdGVtICkgOiBmb3JtYXQoIHByb3ZpZGVyT3B0cy50aHVtYiwgcmV6ICk7CgoJCQlpZiAoIHByb3ZpZGVyTmFtZSA9PT0gJ3ZpbWVvJyApIHsKCQkJCXVybCA9IHVybC5yZXBsYWNlKCcmJTIzJywgJyMnKTsKCQkJfQoKCQkJcmV0dXJuIGZhbHNlOwoJCX0pOwoKCQkvLyBJZiBpdCBpcyBmb3VuZCwgdGhlbiBjaGFuZ2UgY29udGVudCB0eXBlIGFuZCB1cGRhdGUgdGhlIHVybAoKCQlpZiAoIHR5cGUgKSB7CgkJCWl0ZW0uc3JjICA9IHVybDsKCQkJaXRlbS50eXBlID0gdHlwZTsKCgkJCWlmICggIWl0ZW0ub3B0cy50aHVtYiAmJiAhKCBpdGVtLm9wdHMuJHRodW1iICYmIGl0ZW0ub3B0cy4kdGh1bWIubGVuZ3RoICkgKSB7CgkJCQlpdGVtLm9wdHMudGh1bWIgPSB0aHVtYjsKCQkJfQoKCQkJaWYgKCB0eXBlID09PSAnaWZyYW1lJyApIHsKCQkJCSQuZXh0ZW5kKHRydWUsIGl0ZW0ub3B0cywgewoJCQkJCWlmcmFtZSA6IHsKCQkJCQkJcHJlbG9hZCA6IGZhbHNlLAoJCQkJCQlhdHRyIDogewoJCQkJCQkJc2Nyb2xsaW5nIDogIm5vIgoJCQkJCQl9CgkJCQkJfQoJCQkJfSk7CgoJCQkJaXRlbS5jb250ZW50UHJvdmlkZXIgPSBwcm92aWRlcjsKCgkJCQlpdGVtLm9wdHMuc2xpZGVDbGFzcyArPSAnIGZhbmN5Ym94LXNsaWRlLS0nICsgKCBwcm92aWRlciA9PSAnZ21hcF9wbGFjZScgfHwgcHJvdmlkZXIgPT0gJ2dtYXBfc2VhcmNoJyA/ICdtYXAnIDogJ3ZpZGVvJyApOwoJCQl9CgoJCX0gZWxzZSBpZiAoIHVybCApIHsKCQkJaXRlbS50eXBlID0gaXRlbS5vcHRzLmRlZmF1bHRUeXBlOwoJCX0KCgl9KTsKCn0oIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8KLy8gR3Vlc3R1cmVzCi8vIEFkZHMgdG91Y2ggZ3Vlc3R1cmVzLCBoYW5kbGVzIGNsaWNrIGFuZCB0YXAgZXZlbnRzCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKHdpbmRvdywgZG9jdW1lbnQsICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgl2YXIgcmVxdWVzdEFGcmFtZSA9IChmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgfHwKCQkJd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSB8fAoJCQl3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CgkJCXdpbmRvdy5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lIHx8CgkJCS8vIGlmIGFsbCBlbHNlIGZhaWxzLCB1c2Ugc2V0VGltZW91dAoJCQlmdW5jdGlvbiAoY2FsbGJhY2spIHsKCQkJCXJldHVybiB3aW5kb3cuc2V0VGltZW91dChjYWxsYmFjaywgMTAwMCAvIDYwKTsKCQkJfTsKCX0pKCk7CgoJdmFyIGNhbmNlbEFGcmFtZSA9IChmdW5jdGlvbiAoKSB7CgkJcmV0dXJuIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZSB8fAoJCQl3aW5kb3cud2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwKCQkJd2luZG93Lm1vekNhbmNlbEFuaW1hdGlvbkZyYW1lIHx8CgkJCXdpbmRvdy5vQ2FuY2VsQW5pbWF0aW9uRnJhbWUgfHwKCQkJZnVuY3Rpb24gKGlkKSB7CgkJCQl3aW5kb3cuY2xlYXJUaW1lb3V0KGlkKTsKCQkJfTsKCX0pKCk7CgoJdmFyIHBvaW50ZXJzID0gZnVuY3Rpb24oIGUgKSB7CgkJdmFyIHJlc3VsdCA9IFtdOwoKCQllID0gZS5vcmlnaW5hbEV2ZW50IHx8IGUgfHwgd2luZG93LmU7CgkJZSA9IGUudG91Y2hlcyAmJiBlLnRvdWNoZXMubGVuZ3RoID8gZS50b3VjaGVzIDogKCBlLmNoYW5nZWRUb3VjaGVzICYmIGUuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID8gZS5jaGFuZ2VkVG91Y2hlcyA6IFsgZSBdICk7CgoJCWZvciAoIHZhciBrZXkgaW4gZSApIHsKCgkJCWlmICggZVsga2V5IF0ucGFnZVggKSB7CgkJCQlyZXN1bHQucHVzaCggeyB4IDogZVsga2V5IF0ucGFnZVgsIHkgOiBlWyBrZXkgXS5wYWdlWSB9ICk7CgoJCQl9IGVsc2UgaWYgKCBlWyBrZXkgXS5jbGllbnRYICkgewoJCQkJcmVzdWx0LnB1c2goIHsgeCA6IGVbIGtleSBdLmNsaWVudFgsIHkgOiBlWyBrZXkgXS5jbGllbnRZIH0gKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHJlc3VsdDsKCX07CgoJdmFyIGRpc3RhbmNlID0gZnVuY3Rpb24oIHBvaW50MiwgcG9pbnQxLCB3aGF0ICkgewoJCWlmICggIXBvaW50MSB8fCAhcG9pbnQyICkgewoJCQlyZXR1cm4gMDsKCQl9CgoJCWlmICggd2hhdCA9PT0gJ3gnICkgewoJCQlyZXR1cm4gcG9pbnQyLnggLSBwb2ludDEueDsKCgkJfSBlbHNlIGlmICggd2hhdCA9PT0gJ3knICkgewoJCQlyZXR1cm4gcG9pbnQyLnkgLSBwb2ludDEueTsKCQl9CgoJCXJldHVybiBNYXRoLnNxcnQoIE1hdGgucG93KCBwb2ludDIueCAtIHBvaW50MS54LCAyICkgKyBNYXRoLnBvdyggcG9pbnQyLnkgLSBwb2ludDEueSwgMiApICk7Cgl9OwoKCXZhciBpc0NsaWNrYWJsZSA9IGZ1bmN0aW9uKCAkZWwgKSB7CgkJaWYgKCAkZWwuaXMoJ2EsYXJlYSxidXR0b24sW3JvbGU9ImJ1dHRvbiJdLGlucHV0LGxhYmVsLHNlbGVjdCxzdW1tYXJ5LHRleHRhcmVhJykgfHwgJC5pc0Z1bmN0aW9uKCAkZWwuZ2V0KDApLm9uY2xpY2sgKSB8fCAkZWwuZGF0YSgnc2VsZWN0YWJsZScpICkgewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCS8vIENoZWNrIGZvciBhdHRyaWJ1dGVzIGxpa2UgZGF0YS1mYW5jeWJveC1uZXh0IG9yIGRhdGEtZmFuY3lib3gtY2xvc2UKCQlmb3IgKCB2YXIgaSA9IDAsIGF0dHMgPSAkZWxbMF0uYXR0cmlidXRlcywgbiA9IGF0dHMubGVuZ3RoOyBpIDwgbjsgaSsrICkgewoJCQlpZiAoIGF0dHNbaV0ubm9kZU5hbWUuc3Vic3RyKDAsIDE0KSA9PT0gJ2RhdGEtZmFuY3lib3gtJyApIHsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgkJfQoKCSAJcmV0dXJuIGZhbHNlOwoJfTsKCgl2YXIgaGFzU2Nyb2xsYmFycyA9IGZ1bmN0aW9uKCBlbCApIHsKCQl2YXIgb3ZlcmZsb3dZID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGVsIClbJ292ZXJmbG93LXknXTsKCQl2YXIgb3ZlcmZsb3dYID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoIGVsIClbJ292ZXJmbG93LXgnXTsKCgkJdmFyIHZlcnRpY2FsICAgPSAob3ZlcmZsb3dZID09PSAnc2Nyb2xsJyB8fCBvdmVyZmxvd1kgPT09ICdhdXRvJykgJiYgZWwuc2Nyb2xsSGVpZ2h0ID4gZWwuY2xpZW50SGVpZ2h0OwoJCXZhciBob3Jpem9udGFsID0gKG92ZXJmbG93WCA9PT0gJ3Njcm9sbCcgfHwgb3ZlcmZsb3dYID09PSAnYXV0bycpICYmIGVsLnNjcm9sbFdpZHRoID4gZWwuY2xpZW50V2lkdGg7CgoJCXJldHVybiB2ZXJ0aWNhbCB8fCBob3Jpem9udGFsOwoJfTsKCgl2YXIgaXNTY3JvbGxhYmxlID0gZnVuY3Rpb24gKCAkZWwgKSB7CgkJdmFyIHJleiA9IGZhbHNlOwoKCQl3aGlsZSAoIHRydWUgKSB7CgkJCXJlegk9IGhhc1Njcm9sbGJhcnMoICRlbC5nZXQoMCkgKTsKCgkJCWlmICggcmV6ICkgewoJCQkJYnJlYWs7CgkJCX0KCgkJCSRlbCA9ICRlbC5wYXJlbnQoKTsKCgkJCWlmICggISRlbC5sZW5ndGggfHwgJGVsLmhhc0NsYXNzKCAnZmFuY3lib3gtc3RhZ2UnICkgfHwgJGVsLmlzKCAnYm9keScgKSApIHsKCQkJCWJyZWFrOwoJCQl9CgkJfQoKCQlyZXR1cm4gcmV6OwoJfTsKCgoJdmFyIEd1ZXN0dXJlcyA9IGZ1bmN0aW9uICggaW5zdGFuY2UgKSB7CgkJdmFyIHNlbGYgPSB0aGlzOwoKCQlzZWxmLmluc3RhbmNlID0gaW5zdGFuY2U7CgoJCXNlbGYuJGJnICAgICAgICA9IGluc3RhbmNlLiRyZWZzLmJnOwoJCXNlbGYuJHN0YWdlICAgICA9IGluc3RhbmNlLiRyZWZzLnN0YWdlOwoJCXNlbGYuJGNvbnRhaW5lciA9IGluc3RhbmNlLiRyZWZzLmNvbnRhaW5lcjsKCgkJc2VsZi5kZXN0cm95KCk7CgoJCXNlbGYuJGNvbnRhaW5lci5vbiggJ3RvdWNoc3RhcnQuZmIudG91Y2ggbW91c2Vkb3duLmZiLnRvdWNoJywgJC5wcm94eShzZWxmLCAnb250b3VjaHN0YXJ0JykgKTsKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdGhpcy4kY29udGFpbmVyLm9mZiggJy5mYi50b3VjaCcgKTsKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vbnRvdWNoc3RhcnQgPSBmdW5jdGlvbiggZSApIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCXZhciAkdGFyZ2V0ICA9ICQoIGUudGFyZ2V0ICk7CgkJdmFyIGluc3RhbmNlID0gc2VsZi5pbnN0YW5jZTsKCQl2YXIgY3VycmVudCAgPSBpbnN0YW5jZS5jdXJyZW50OwoJCXZhciAkY29udGVudCA9IGN1cnJlbnQuJGNvbnRlbnQ7CgoJCXZhciBpc1RvdWNoRGV2aWNlID0gKCBlLnR5cGUgPT0gJ3RvdWNoc3RhcnQnICk7CgoJCS8vIERvIG5vdCByZXNwb25kIHRvIGJvdGggKHRvdWNoIGFuZCBtb3VzZSkgZXZlbnRzCgkJaWYgKCBpc1RvdWNoRGV2aWNlICkgewoJCQlzZWxmLiRjb250YWluZXIub2ZmKCAnbW91c2Vkb3duLmZiLnRvdWNoJyApOwoJCX0KCgkJLy8gSWdub3JlIHJpZ2h0IGNsaWNrCgkJaWYgKCBlLm9yaWdpbmFsRXZlbnQgJiYgZS5vcmlnaW5hbEV2ZW50LmJ1dHRvbiA9PSAyICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBJZ25vcmUgdGFwaW5nIG9uIGxpbmtzLCBidXR0b25zLCBpbnB1dCBlbGVtZW50cwoJCWlmICggISR0YXJnZXQubGVuZ3RoIHx8IGlzQ2xpY2thYmxlKCAkdGFyZ2V0ICkgfHwgaXNDbGlja2FibGUoICR0YXJnZXQucGFyZW50KCkgKSApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gSWdub3JlIGNsaWNrcyBvbiB0aGUgc2Nyb2xsYmFyCgkJaWYgKCAhJHRhcmdldC5pcygnaW1nJykgJiYgZS5vcmlnaW5hbEV2ZW50LmNsaWVudFggPiAkdGFyZ2V0WzBdLmNsaWVudFdpZHRoICsgJHRhcmdldC5vZmZzZXQoKS5sZWZ0ICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBJZ25vcmUgY2xpY2tzIHdoaWxlIHpvb21pbmcgb3IgY2xvc2luZwoJCWlmICggIWN1cnJlbnQgfHwgc2VsZi5pbnN0YW5jZS5pc0FuaW1hdGluZyB8fCBzZWxmLmluc3RhbmNlLmlzQ2xvc2luZyApIHsKCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoKCQkJcmV0dXJuOwoJCX0KCgkJc2VsZi5yZWFsUG9pbnRzID0gc2VsZi5zdGFydFBvaW50cyA9IHBvaW50ZXJzKCBlICk7CgoJCWlmICggIXNlbGYuc3RhcnRQb2ludHMgKSB7CgkJCXJldHVybjsKCQl9CgoJCWUuc3RvcFByb3BhZ2F0aW9uKCk7CgoJCXNlbGYuc3RhcnRFdmVudCA9IGU7CgoJCXNlbGYuY2FuVGFwICAgPSB0cnVlOwoJCXNlbGYuJHRhcmdldCAgPSAkdGFyZ2V0OwoJCXNlbGYuJGNvbnRlbnQgPSAkY29udGVudDsKCQlzZWxmLm9wdHMgICAgID0gY3VycmVudC5vcHRzLnRvdWNoOwoKCQlzZWxmLmlzUGFubmluZyAgID0gZmFsc2U7CgkJc2VsZi5pc1N3aXBpbmcgICA9IGZhbHNlOwoJCXNlbGYuaXNab29taW5nICAgPSBmYWxzZTsKCQlzZWxmLmlzU2Nyb2xsaW5nID0gZmFsc2U7CgoJCXNlbGYuc2xpZGVyU3RhcnRQb3MgID0gc2VsZi5zbGlkZXJMYXN0UG9zIHx8IHsgdG9wOiAwLCBsZWZ0OiAwIH07CgkJc2VsZi5jb250ZW50U3RhcnRQb3MgPSAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggc2VsZi4kY29udGVudCApOwoJCXNlbGYuY29udGVudExhc3RQb3MgID0gbnVsbDsKCgkJc2VsZi5zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKCQlzZWxmLmRpc3RhbmNlWCA9IHNlbGYuZGlzdGFuY2VZID0gc2VsZi5kaXN0YW5jZSA9IDA7CgoJCXNlbGYuY2FudmFzV2lkdGggID0gTWF0aC5yb3VuZCggY3VycmVudC4kc2xpZGVbMF0uY2xpZW50V2lkdGggKTsKCQlzZWxmLmNhbnZhc0hlaWdodCA9IE1hdGgucm91bmQoIGN1cnJlbnQuJHNsaWRlWzBdLmNsaWVudEhlaWdodCApOwoKCQkkKGRvY3VtZW50KQoJCQkub2ZmKCAnLmZiLnRvdWNoJyApCgkJCS5vbiggaXNUb3VjaERldmljZSA/ICd0b3VjaGVuZC5mYi50b3VjaCB0b3VjaGNhbmNlbC5mYi50b3VjaCcgOiAnbW91c2V1cC5mYi50b3VjaCBtb3VzZWxlYXZlLmZiLnRvdWNoJywgJC5wcm94eShzZWxmLCAib250b3VjaGVuZCIpKQoJCQkub24oIGlzVG91Y2hEZXZpY2UgPyAndG91Y2htb3ZlLmZiLnRvdWNoJyA6ICdtb3VzZW1vdmUuZmIudG91Y2gnLCAkLnByb3h5KHNlbGYsICJvbnRvdWNobW92ZSIpKTsKCgkJaWYgKCAkLmZhbmN5Ym94LmlzTW9iaWxlICkgewoJCQlkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBzZWxmLm9uc2Nyb2xsLCB0cnVlKTsKCQl9CgoJCWlmICggIShzZWxmLm9wdHMgfHwgaW5zdGFuY2UuY2FuUGFuKCkgKSB8fCAhKCAkdGFyZ2V0LmlzKCBzZWxmLiRzdGFnZSApIHx8IHNlbGYuJHN0YWdlLmZpbmQoICR0YXJnZXQgKS5sZW5ndGggKSApIHsKCgkJCS8vIFByZXZlbnQgaW1hZ2UgZ2hvc3Rpbmcgd2hpbGUgZHJhZ2dpbmcKCQkJaWYgKCAkdGFyZ2V0LmlzKCdpbWcnKSApIHsKCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJfQoKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKCAhKCAkLmZhbmN5Ym94LmlzTW9iaWxlICYmICggaXNTY3JvbGxhYmxlKCAkdGFyZ2V0ICkgfHwgaXNTY3JvbGxhYmxlKCAkdGFyZ2V0LnBhcmVudCgpICkgKSApICkgewoJCQllLnByZXZlbnREZWZhdWx0KCk7CgkJfQoKCQlpZiAoIHNlbGYuc3RhcnRQb2ludHMubGVuZ3RoID09PSAxICkgewoJCQlpZiAoIGN1cnJlbnQudHlwZSA9PT0gJ2ltYWdlJyAmJiAoIHNlbGYuY29udGVudFN0YXJ0UG9zLndpZHRoID4gc2VsZi5jYW52YXNXaWR0aCArIDEgfHwgc2VsZi5jb250ZW50U3RhcnRQb3MuaGVpZ2h0ID4gc2VsZi5jYW52YXNIZWlnaHQgKyAxICkgKSB7CgkJCQkkLmZhbmN5Ym94LnN0b3AoIHNlbGYuJGNvbnRlbnQgKTsKCgkJCQlzZWxmLiRjb250ZW50LmNzcyggJ3RyYW5zaXRpb24tZHVyYXRpb24nLCAnJyApOwoKCQkJCXNlbGYuaXNQYW5uaW5nID0gdHJ1ZTsKCgkJCX0gZWxzZSB7CgkJCQlzZWxmLmlzU3dpcGluZyA9IHRydWU7CgkJCX0KCgkJCXNlbGYuJGNvbnRhaW5lci5hZGRDbGFzcyggJ2ZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nJyApOwoJCX0KCgkJaWYgKCBzZWxmLnN0YXJ0UG9pbnRzLmxlbmd0aCA9PT0gMiAmJiAhaW5zdGFuY2UuaXNBbmltYXRpbmcgJiYgIWN1cnJlbnQuaGFzRXJyb3IgJiYgY3VycmVudC50eXBlID09PSAnaW1hZ2UnICYmICggY3VycmVudC5pc0xvYWRlZCB8fCBjdXJyZW50LiRnaG9zdCApICkgewoJCQlzZWxmLmNhblRhcCAgICA9IGZhbHNlOwoJCQlzZWxmLmlzU3dpcGluZyA9IGZhbHNlOwoJCQlzZWxmLmlzUGFubmluZyA9IGZhbHNlOwoKCQkJc2VsZi5pc1pvb21pbmcgPSB0cnVlOwoKCQkJJC5mYW5jeWJveC5zdG9wKCBzZWxmLiRjb250ZW50ICk7CgoJCQlzZWxmLiRjb250ZW50LmNzcyggJ3RyYW5zaXRpb24tZHVyYXRpb24nLCAnJyApOwoKCQkJc2VsZi5jZW50ZXJQb2ludFN0YXJ0WCA9ICggKCBzZWxmLnN0YXJ0UG9pbnRzWzBdLnggKyBzZWxmLnN0YXJ0UG9pbnRzWzFdLnggKSAqIDAuNSApIC0gJCh3aW5kb3cpLnNjcm9sbExlZnQoKTsKCQkJc2VsZi5jZW50ZXJQb2ludFN0YXJ0WSA9ICggKCBzZWxmLnN0YXJ0UG9pbnRzWzBdLnkgKyBzZWxmLnN0YXJ0UG9pbnRzWzFdLnkgKSAqIDAuNSApIC0gJCh3aW5kb3cpLnNjcm9sbFRvcCgpOwoKCQkJc2VsZi5wZXJjZW50YWdlT2ZJbWFnZUF0UGluY2hQb2ludFggPSAoIHNlbGYuY2VudGVyUG9pbnRTdGFydFggLSBzZWxmLmNvbnRlbnRTdGFydFBvcy5sZWZ0ICkgLyBzZWxmLmNvbnRlbnRTdGFydFBvcy53aWR0aDsKCQkJc2VsZi5wZXJjZW50YWdlT2ZJbWFnZUF0UGluY2hQb2ludFkgPSAoIHNlbGYuY2VudGVyUG9pbnRTdGFydFkgLSBzZWxmLmNvbnRlbnRTdGFydFBvcy50b3AgICkgLyBzZWxmLmNvbnRlbnRTdGFydFBvcy5oZWlnaHQ7CgoJCQlzZWxmLnN0YXJ0RGlzdGFuY2VCZXR3ZWVuRmluZ2VycyA9IGRpc3RhbmNlKCBzZWxmLnN0YXJ0UG9pbnRzWzBdLCBzZWxmLnN0YXJ0UG9pbnRzWzFdICk7CgkJfQoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vbnNjcm9sbCA9IGZ1bmN0aW9uKGUpIHsKCQlzZWxmLmlzU2Nyb2xsaW5nID0gdHJ1ZTsKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vbnRvdWNobW92ZSA9IGZ1bmN0aW9uKCBlICkgewoJCXZhciBzZWxmID0gdGhpcywKCQkJJHRhcmdldCA9ICQoZS50YXJnZXQpOwoKCQlpZiAoIHNlbGYuaXNTY3JvbGxpbmcgfHwgISggJHRhcmdldC5pcyggc2VsZi4kc3RhZ2UgKSB8fCBzZWxmLiRzdGFnZS5maW5kKCAkdGFyZ2V0ICkubGVuZ3RoICkgKSB7CgkJCXNlbGYuY2FuVGFwID0gZmFsc2U7CgoJCQlyZXR1cm47CgkJfQoKCQlzZWxmLm5ld1BvaW50cyA9IHBvaW50ZXJzKCBlICk7CgoJCWlmICggISggc2VsZi5vcHRzIHx8IHNlbGYuaW5zdGFuY2UuY2FuUGFuKCkgKSB8fCAhc2VsZi5uZXdQb2ludHMgfHwgIXNlbGYubmV3UG9pbnRzLmxlbmd0aCApIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKCAhKHNlbGYuaXNTd2lwaW5nICYmIHNlbGYuaXNTd2lwaW5nID09PSB0cnVlKSApIHsKCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCX0KCgkJc2VsZi5kaXN0YW5jZVggPSBkaXN0YW5jZSggc2VsZi5uZXdQb2ludHNbMF0sIHNlbGYuc3RhcnRQb2ludHNbMF0sICd4JyApOwoJCXNlbGYuZGlzdGFuY2VZID0gZGlzdGFuY2UoIHNlbGYubmV3UG9pbnRzWzBdLCBzZWxmLnN0YXJ0UG9pbnRzWzBdLCAneScgKTsKCgkJc2VsZi5kaXN0YW5jZSA9IGRpc3RhbmNlKCBzZWxmLm5ld1BvaW50c1swXSwgc2VsZi5zdGFydFBvaW50c1swXSApCgoJCS8vIFNraXAgZmFsc2Ugb250b3VjaG1vdmUgZXZlbnRzIChDaHJvbWUpCgkJaWYgKCBzZWxmLmRpc3RhbmNlID4gMCApIHsKCQkJaWYgKCBzZWxmLmlzU3dpcGluZyApIHsKCQkJCXNlbGYub25Td2lwZShlKTsKCgkJCX0gZWxzZSBpZiAoIHNlbGYuaXNQYW5uaW5nICkgewoJCQkJc2VsZi5vblBhbigpOwoKCQkJfSBlbHNlIGlmICggc2VsZi5pc1pvb21pbmcgKSB7CgkJCQlzZWxmLm9uWm9vbSgpOwoJCQl9CgkJfQoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vblN3aXBlID0gZnVuY3Rpb24oZSkgewoJCXZhciBzZWxmID0gdGhpcywKCQkJc3dpcGluZyA9IHNlbGYuaXNTd2lwaW5nLAoJCQlsZWZ0ICAgID0gc2VsZi5zbGlkZXJTdGFydFBvcy5sZWZ0IHx8IDAsCgkJCWFuZ2xlOwoKCQkvLyBJZiBkaXJlY3Rpb24gaXMgbm90IHlldCBkZXRlcm1pbmVkCgkJaWYgKCBzd2lwaW5nID09PSB0cnVlICkgewoKCQkJLy8gV2UgbmVlZCBhdCBsZWFzdCAxMHB4IGRpc3RhbmNlIHRvIGNvcnJlY3RseSBjYWxjdWxhdGUgYW4gYW5nbGUKCQkJaWYgKCBNYXRoLmFicyggc2VsZi5kaXN0YW5jZSApID4gMTAgKSB7CgkJCQlzZWxmLmNhblRhcCA9IGZhbHNlOwoKCQkJCWlmICggc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggPCAyICYmIHNlbGYub3B0cy52ZXJ0aWNhbCApIHsKCQkJCQlzZWxmLmlzU3dpcGluZyA9ICd5JzsKCgkJCQl9IGVsc2UgaWYgKCBzZWxmLmluc3RhbmNlLmlzRHJhZ2dpbmcgfHwgc2VsZi5vcHRzLnZlcnRpY2FsID09PSBmYWxzZSB8fCAoIHNlbGYub3B0cy52ZXJ0aWNhbCA9PT0gJ2F1dG8nICYmICQoIHdpbmRvdyApLndpZHRoKCkgPiA4MDAgKSApIHsKCQkJCQlzZWxmLmlzU3dpcGluZyA9ICd4JzsKCgkJCQl9IGVsc2UgewoJCQkJCWFuZ2xlID0gTWF0aC5hYnMoIE1hdGguYXRhbjIoIHNlbGYuZGlzdGFuY2VZLCBzZWxmLmRpc3RhbmNlWCApICogMTgwIC8gTWF0aC5QSSApOwoKCQkJCQlzZWxmLmlzU3dpcGluZyA9ICggYW5nbGUgPiA0NSAmJiBhbmdsZSA8IDEzNSApID8gJ3knIDogJ3gnOwoJCQkJfQoKCQkJCXNlbGYuY2FuVGFwID0gZmFsc2U7CgoJCQkJIGlmICggc2VsZi5pc1N3aXBpbmcgPT09ICd5JyAmJiAkLmZhbmN5Ym94LmlzTW9iaWxlICYmICggaXNTY3JvbGxhYmxlKCBzZWxmLiR0YXJnZXQgKSB8fCBpc1Njcm9sbGFibGUoIHNlbGYuJHRhcmdldC5wYXJlbnQoKSApICkgKSB7CgkJCQkJIHNlbGYuaXNTY3JvbGxpbmcgPSB0cnVlOwoKCQkJCQkgcmV0dXJuOwoJCQkJIH0KCgkJCQlzZWxmLmluc3RhbmNlLmlzRHJhZ2dpbmcgPSBzZWxmLmlzU3dpcGluZzsKCgkJCQkvLyBSZXNldCBwb2ludHMgdG8gYXZvaWQganVtcGluZywgYmVjYXVzZSB3ZSBkcm9wcGVkIGZpcnN0IHN3aXBlcyB0byBjYWxjdWxhdGUgdGhlIGFuZ2xlCgkJCQlzZWxmLnN0YXJ0UG9pbnRzID0gc2VsZi5uZXdQb2ludHM7CgoJCQkJJC5lYWNoKHNlbGYuaW5zdGFuY2Uuc2xpZGVzLCBmdW5jdGlvbiggaW5kZXgsIHNsaWRlICkgewoJCQkJCSQuZmFuY3lib3guc3RvcCggc2xpZGUuJHNsaWRlICk7CgoJCQkJCXNsaWRlLiRzbGlkZS5jc3MoICd0cmFuc2l0aW9uLWR1cmF0aW9uJywgJycgKTsKCgkJCQkJc2xpZGUuaW5UcmFuc2l0aW9uID0gZmFsc2U7CgoJCQkJCWlmICggc2xpZGUucG9zID09PSBzZWxmLmluc3RhbmNlLmN1cnJlbnQucG9zICkgewoJCQkJCQlzZWxmLnNsaWRlclN0YXJ0UG9zLmxlZnQgPSAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggc2xpZGUuJHNsaWRlICkubGVmdDsKCQkJCQl9CgkJCQl9KTsKCgkJCQkvLyBTdG9wIHNsaWRlc2hvdwoJCQkJaWYgKCBzZWxmLmluc3RhbmNlLlNsaWRlU2hvdyAmJiBzZWxmLmluc3RhbmNlLlNsaWRlU2hvdy5pc0FjdGl2ZSApIHsKCQkJCQlzZWxmLmluc3RhbmNlLlNsaWRlU2hvdy5zdG9wKCk7CgkJCQl9CgkJCX0KCgkJCXJldHVybjsKCQl9CgoJCS8vIFN0aWNreSBlZGdlcwoJCWlmICggc3dpcGluZyA9PSAneCcgKSB7CgkJCWlmICggc2VsZi5kaXN0YW5jZVggPiAwICYmICggc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggPCAyIHx8ICggc2VsZi5pbnN0YW5jZS5jdXJyZW50LmluZGV4ID09PSAwICYmICFzZWxmLmluc3RhbmNlLmN1cnJlbnQub3B0cy5sb29wICkgKSApIHsKCQkJCWxlZnQgPSBsZWZ0ICsgTWF0aC5wb3coIHNlbGYuZGlzdGFuY2VYLCAwLjggKTsKCgkJCX0gZWxzZSBpZiAoIHNlbGYuZGlzdGFuY2VYIDwgMCAmJiAoIHNlbGYuaW5zdGFuY2UuZ3JvdXAubGVuZ3RoIDwgMiB8fCAoIHNlbGYuaW5zdGFuY2UuY3VycmVudC5pbmRleCA9PT0gc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggLSAxICYmICFzZWxmLmluc3RhbmNlLmN1cnJlbnQub3B0cy5sb29wICkgKSApIHsKCQkJCWxlZnQgPSBsZWZ0IC0gTWF0aC5wb3coIC1zZWxmLmRpc3RhbmNlWCwgMC44ICk7CgoJCQl9IGVsc2UgewoJCQkJbGVmdCA9IGxlZnQgKyBzZWxmLmRpc3RhbmNlWDsKCQkJfQoJCX0KCgkJc2VsZi5zbGlkZXJMYXN0UG9zID0gewoJCQl0b3AgIDogc3dpcGluZyA9PSAneCcgPyAwIDogc2VsZi5zbGlkZXJTdGFydFBvcy50b3AgKyBzZWxmLmRpc3RhbmNlWSwKCQkJbGVmdCA6IGxlZnQKCQl9OwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLnJlcXVlc3RJZCA9IHJlcXVlc3RBRnJhbWUoZnVuY3Rpb24oKSB7CgoJCQlpZiAoIHNlbGYuc2xpZGVyTGFzdFBvcyApIHsKCQkJCSQuZWFjaChzZWxmLmluc3RhbmNlLnNsaWRlcywgZnVuY3Rpb24oIGluZGV4LCBzbGlkZSApIHsKCQkJCQl2YXIgcG9zID0gc2xpZGUucG9zIC0gc2VsZi5pbnN0YW5jZS5jdXJyUG9zOwoKCQkJCQkkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggc2xpZGUuJHNsaWRlLCB7CgkJCQkJCXRvcCAgOiBzZWxmLnNsaWRlckxhc3RQb3MudG9wLAoJCQkJCQlsZWZ0IDogc2VsZi5zbGlkZXJMYXN0UG9zLmxlZnQgKyAoIHBvcyAqIHNlbGYuY2FudmFzV2lkdGggKSArICggcG9zICogc2xpZGUub3B0cy5ndXR0ZXIgKQoJCQkJCX0pOwoJCQkJfSk7CgoJCQkJc2VsZi4kY29udGFpbmVyLmFkZENsYXNzKCAnZmFuY3lib3gtaXMtc2xpZGluZycgKTsKCQkJfQoKCQl9KTsKCgl9OwoKCUd1ZXN0dXJlcy5wcm90b3R5cGUub25QYW4gPSBmdW5jdGlvbigpIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCS8vIFNvbWV0aW1lcywgd2hlbiB0YXBwaW5nIGNhdXNhbGx5LCBpbWFnZSBjYW4gbW92ZSBhIGJpdCBhbmQgdGhhdCBicmVha3MgZG91YmxlIHRhcHBpbmcKCQlpZiAoIGRpc3RhbmNlKCBzZWxmLm5ld1BvaW50c1swXSwgc2VsZi5yZWFsUG9pbnRzWzBdICkgPCAoJC5mYW5jeWJveC5pc01vYmlsZSA/IDEwIDogNSkgKSB7CgkJCXNlbGYuc3RhcnRQb2ludHMgPSBzZWxmLm5ld1BvaW50czsKCQkJcmV0dXJuOwoJCX0KCgkJc2VsZi5jYW5UYXAgPSBmYWxzZTsKCgkJc2VsZi5jb250ZW50TGFzdFBvcyA9IHNlbGYubGltaXRNb3ZlbWVudCgpOwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLnJlcXVlc3RJZCA9IHJlcXVlc3RBRnJhbWUoZnVuY3Rpb24oKSB7CgkJCSQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCBzZWxmLiRjb250ZW50LCBzZWxmLmNvbnRlbnRMYXN0UG9zICk7CgkJfSk7Cgl9OwoKCS8vIE1ha2UgcGFubmluZyBzdGlja3kgdG8gdGhlIGVkZ2VzCglHdWVzdHVyZXMucHJvdG90eXBlLmxpbWl0TW92ZW1lbnQgPSBmdW5jdGlvbigpIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCXZhciBjYW52YXNXaWR0aCAgPSBzZWxmLmNhbnZhc1dpZHRoOwoJCXZhciBjYW52YXNIZWlnaHQgPSBzZWxmLmNhbnZhc0hlaWdodDsKCgkJdmFyIGRpc3RhbmNlWCA9IHNlbGYuZGlzdGFuY2VYOwoJCXZhciBkaXN0YW5jZVkgPSBzZWxmLmRpc3RhbmNlWTsKCgkJdmFyIGNvbnRlbnRTdGFydFBvcyA9IHNlbGYuY29udGVudFN0YXJ0UG9zOwoKCQl2YXIgY3VycmVudE9mZnNldFggPSBjb250ZW50U3RhcnRQb3MubGVmdDsKCQl2YXIgY3VycmVudE9mZnNldFkgPSBjb250ZW50U3RhcnRQb3MudG9wOwoKCQl2YXIgY3VycmVudFdpZHRoICA9IGNvbnRlbnRTdGFydFBvcy53aWR0aDsKCQl2YXIgY3VycmVudEhlaWdodCA9IGNvbnRlbnRTdGFydFBvcy5oZWlnaHQ7CgoJCXZhciBtaW5UcmFuc2xhdGVYLCBtaW5UcmFuc2xhdGVZLAoJCQltYXhUcmFuc2xhdGVYLCBtYXhUcmFuc2xhdGVZLAoJCQluZXdPZmZzZXRYLCBuZXdPZmZzZXRZOwoKCQlpZiAoIGN1cnJlbnRXaWR0aCA+IGNhbnZhc1dpZHRoICkgewoJCQluZXdPZmZzZXRYID0gY3VycmVudE9mZnNldFggKyBkaXN0YW5jZVg7CgoJCX0gZWxzZSB7CgkJCW5ld09mZnNldFggPSBjdXJyZW50T2Zmc2V0WDsKCQl9CgoJCW5ld09mZnNldFkgPSBjdXJyZW50T2Zmc2V0WSArIGRpc3RhbmNlWTsKCgkJLy8gU2xvdyBkb3duIHByb3BvcnRpb25hbGx5IHRvIHRyYXZlbGVkIGRpc3RhbmNlCgkJbWluVHJhbnNsYXRlWCA9IE1hdGgubWF4KCAwLCBjYW52YXNXaWR0aCAgKiAwLjUgLSBjdXJyZW50V2lkdGggICogMC41ICk7CgkJbWluVHJhbnNsYXRlWSA9IE1hdGgubWF4KCAwLCBjYW52YXNIZWlnaHQgKiAwLjUgLSBjdXJyZW50SGVpZ2h0ICogMC41ICk7CgoJCW1heFRyYW5zbGF0ZVggPSBNYXRoLm1pbiggY2FudmFzV2lkdGggIC0gY3VycmVudFdpZHRoLCAgY2FudmFzV2lkdGggICogMC41IC0gY3VycmVudFdpZHRoICAqIDAuNSApOwoJCW1heFRyYW5zbGF0ZVkgPSBNYXRoLm1pbiggY2FudmFzSGVpZ2h0IC0gY3VycmVudEhlaWdodCwgY2FudmFzSGVpZ2h0ICogMC41IC0gY3VycmVudEhlaWdodCAqIDAuNSApOwoKCQlpZiAoIGN1cnJlbnRXaWR0aCA+IGNhbnZhc1dpZHRoICkgewoKCQkJLy8gICAtPgoJCQlpZiAoIGRpc3RhbmNlWCA+IDAgJiYgbmV3T2Zmc2V0WCA+IG1pblRyYW5zbGF0ZVggKSB7CgkJCQluZXdPZmZzZXRYID0gbWluVHJhbnNsYXRlWCAtIDEgKyBNYXRoLnBvdyggLW1pblRyYW5zbGF0ZVggKyBjdXJyZW50T2Zmc2V0WCArIGRpc3RhbmNlWCwgMC44ICkgfHwgMDsKCQkJfQoKCQkJLy8gICAgPC0KCQkJaWYgKCBkaXN0YW5jZVggPCAwICYmIG5ld09mZnNldFggPCBtYXhUcmFuc2xhdGVYICkgewoJCQkJbmV3T2Zmc2V0WCA9IG1heFRyYW5zbGF0ZVggKyAxIC0gTWF0aC5wb3coIG1heFRyYW5zbGF0ZVggLSBjdXJyZW50T2Zmc2V0WCAtIGRpc3RhbmNlWCwgMC44ICkgfHwgMDsKCQkJfQoKCQl9CgoJCWlmICggY3VycmVudEhlaWdodCA+IGNhbnZhc0hlaWdodCApIHsKCgkJCS8vICAgXC8KCQkJaWYgKCBkaXN0YW5jZVkgPiAwICYmIG5ld09mZnNldFkgPiBtaW5UcmFuc2xhdGVZICkgewoJCQkJbmV3T2Zmc2V0WSA9IG1pblRyYW5zbGF0ZVkgLSAxICsgTWF0aC5wb3coLW1pblRyYW5zbGF0ZVkgKyBjdXJyZW50T2Zmc2V0WSArIGRpc3RhbmNlWSwgMC44ICkgfHwgMDsKCQkJfQoKCQkJLy8gICAvXAoJCQlpZiAoIGRpc3RhbmNlWSA8IDAgJiYgbmV3T2Zmc2V0WSA8IG1heFRyYW5zbGF0ZVkgKSB7CgkJCQluZXdPZmZzZXRZID0gbWF4VHJhbnNsYXRlWSArIDEgLSBNYXRoLnBvdyAoIG1heFRyYW5zbGF0ZVkgLSBjdXJyZW50T2Zmc2V0WSAtIGRpc3RhbmNlWSwgMC44ICkgfHwgMDsKCQkJfQoKCQl9CgoJCXJldHVybiB7CgkJCXRvcCAgICA6IG5ld09mZnNldFksCgkJCWxlZnQgICA6IG5ld09mZnNldFgsCgkJCXNjYWxlWCA6IGNvbnRlbnRTdGFydFBvcy5zY2FsZVgsCgkJCXNjYWxlWSA6IGNvbnRlbnRTdGFydFBvcy5zY2FsZVkKCQl9OwoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5saW1pdFBvc2l0aW9uID0gZnVuY3Rpb24oIG5ld09mZnNldFgsIG5ld09mZnNldFksIG5ld1dpZHRoLCBuZXdIZWlnaHQgKSB7CgkJdmFyIHNlbGYgPSB0aGlzOwoKCQl2YXIgY2FudmFzV2lkdGggID0gc2VsZi5jYW52YXNXaWR0aDsKCQl2YXIgY2FudmFzSGVpZ2h0ID0gc2VsZi5jYW52YXNIZWlnaHQ7CgoJCWlmICggbmV3V2lkdGggPiBjYW52YXNXaWR0aCApIHsKCQkJbmV3T2Zmc2V0WCA9IG5ld09mZnNldFggPiAwID8gMCA6IG5ld09mZnNldFg7CgkJCW5ld09mZnNldFggPSBuZXdPZmZzZXRYIDwgY2FudmFzV2lkdGggLSBuZXdXaWR0aCA/IGNhbnZhc1dpZHRoIC0gbmV3V2lkdGggOiBuZXdPZmZzZXRYOwoKCQl9IGVsc2UgewoKCQkJLy8gQ2VudGVyIGhvcml6b250YWxseQoJCQluZXdPZmZzZXRYID0gTWF0aC5tYXgoIDAsIGNhbnZhc1dpZHRoIC8gMiAtIG5ld1dpZHRoIC8gMiApOwoKCQl9CgoJCWlmICggbmV3SGVpZ2h0ID4gY2FudmFzSGVpZ2h0ICkgewoJCQluZXdPZmZzZXRZID0gbmV3T2Zmc2V0WSA+IDAgPyAwIDogbmV3T2Zmc2V0WTsKCQkJbmV3T2Zmc2V0WSA9IG5ld09mZnNldFkgPCBjYW52YXNIZWlnaHQgLSBuZXdIZWlnaHQgPyBjYW52YXNIZWlnaHQgLSBuZXdIZWlnaHQgOiBuZXdPZmZzZXRZOwoKCQl9IGVsc2UgewoKCQkJLy8gQ2VudGVyIHZlcnRpY2FsbHkKCQkJbmV3T2Zmc2V0WSA9IE1hdGgubWF4KCAwLCBjYW52YXNIZWlnaHQgLyAyIC0gbmV3SGVpZ2h0IC8gMiApOwoKCQl9CgoJCXJldHVybiB7CgkJCXRvcCAgOiBuZXdPZmZzZXRZLAoJCQlsZWZ0IDogbmV3T2Zmc2V0WAoJCX07CgoJfTsKCglHdWVzdHVyZXMucHJvdG90eXBlLm9uWm9vbSA9IGZ1bmN0aW9uKCkgewoJCXZhciBzZWxmID0gdGhpczsKCgkJLy8gQ2FsY3VsYXRlIGN1cnJlbnQgZGlzdGFuY2UgYmV0d2VlbiBwb2ludHMgdG8gZ2V0IHBpbmNoIHJhdGlvIGFuZCBuZXcgd2lkdGggYW5kIGhlaWdodAoKCQl2YXIgY3VycmVudFdpZHRoICA9IHNlbGYuY29udGVudFN0YXJ0UG9zLndpZHRoOwoJCXZhciBjdXJyZW50SGVpZ2h0ID0gc2VsZi5jb250ZW50U3RhcnRQb3MuaGVpZ2h0OwoKCQl2YXIgY3VycmVudE9mZnNldFggPSBzZWxmLmNvbnRlbnRTdGFydFBvcy5sZWZ0OwoJCXZhciBjdXJyZW50T2Zmc2V0WSA9IHNlbGYuY29udGVudFN0YXJ0UG9zLnRvcDsKCgkJdmFyIGVuZERpc3RhbmNlQmV0d2VlbkZpbmdlcnMgPSBkaXN0YW5jZSggc2VsZi5uZXdQb2ludHNbMF0sIHNlbGYubmV3UG9pbnRzWzFdICk7CgoJCXZhciBwaW5jaFJhdGlvID0gZW5kRGlzdGFuY2VCZXR3ZWVuRmluZ2VycyAvIHNlbGYuc3RhcnREaXN0YW5jZUJldHdlZW5GaW5nZXJzOwoKCQl2YXIgbmV3V2lkdGggID0gTWF0aC5mbG9vciggY3VycmVudFdpZHRoICAqIHBpbmNoUmF0aW8gKTsKCQl2YXIgbmV3SGVpZ2h0ID0gTWF0aC5mbG9vciggY3VycmVudEhlaWdodCAqIHBpbmNoUmF0aW8gKTsKCgkJLy8gVGhpcyBpcyB0aGUgdHJhbnNsYXRpb24gZHVlIHRvIHBpbmNoLXpvb21pbmcKCQl2YXIgdHJhbnNsYXRlRnJvbVpvb21pbmdYID0gKGN1cnJlbnRXaWR0aCAgLSBuZXdXaWR0aCkgICogc2VsZi5wZXJjZW50YWdlT2ZJbWFnZUF0UGluY2hQb2ludFg7CgkJdmFyIHRyYW5zbGF0ZUZyb21ab29taW5nWSA9IChjdXJyZW50SGVpZ2h0IC0gbmV3SGVpZ2h0KSAqIHNlbGYucGVyY2VudGFnZU9mSW1hZ2VBdFBpbmNoUG9pbnRZOwoKCQkvL1BvaW50IGJldHdlZW4gdGhlIHR3byB0b3VjaGVzCgoJCXZhciBjZW50ZXJQb2ludEVuZFggPSAoKHNlbGYubmV3UG9pbnRzWzBdLnggKyBzZWxmLm5ld1BvaW50c1sxXS54KSAvIDIpIC0gJCh3aW5kb3cpLnNjcm9sbExlZnQoKTsKCQl2YXIgY2VudGVyUG9pbnRFbmRZID0gKChzZWxmLm5ld1BvaW50c1swXS55ICsgc2VsZi5uZXdQb2ludHNbMV0ueSkgLyAyKSAtICQod2luZG93KS5zY3JvbGxUb3AoKTsKCgkJLy8gQW5kIHRoaXMgaXMgdGhlIHRyYW5zbGF0aW9uIGR1ZSB0byB0cmFuc2xhdGlvbiBvZiB0aGUgY2VudGVycG9pbnQKCQkvLyBiZXR3ZWVuIHRoZSB0d28gZmluZ2VycwoKCQl2YXIgdHJhbnNsYXRlRnJvbVRyYW5zbGF0aW5nWCA9IGNlbnRlclBvaW50RW5kWCAtIHNlbGYuY2VudGVyUG9pbnRTdGFydFg7CgkJdmFyIHRyYW5zbGF0ZUZyb21UcmFuc2xhdGluZ1kgPSBjZW50ZXJQb2ludEVuZFkgLSBzZWxmLmNlbnRlclBvaW50U3RhcnRZOwoKCQkvLyBUaGUgbmV3IG9mZnNldCBpcyB0aGUgb2xkL2N1cnJlbnQgb25lIHBsdXMgdGhlIHRvdGFsIHRyYW5zbGF0aW9uCgoJCXZhciBuZXdPZmZzZXRYID0gY3VycmVudE9mZnNldFggKyAoIHRyYW5zbGF0ZUZyb21ab29taW5nWCArIHRyYW5zbGF0ZUZyb21UcmFuc2xhdGluZ1ggKTsKCQl2YXIgbmV3T2Zmc2V0WSA9IGN1cnJlbnRPZmZzZXRZICsgKCB0cmFuc2xhdGVGcm9tWm9vbWluZ1kgKyB0cmFuc2xhdGVGcm9tVHJhbnNsYXRpbmdZICk7CgoJCXZhciBuZXdQb3MgPSB7CgkJCXRvcCAgICA6IG5ld09mZnNldFksCgkJCWxlZnQgICA6IG5ld09mZnNldFgsCgkJCXNjYWxlWCA6IHNlbGYuY29udGVudFN0YXJ0UG9zLnNjYWxlWCAqIHBpbmNoUmF0aW8sCgkJCXNjYWxlWSA6IHNlbGYuY29udGVudFN0YXJ0UG9zLnNjYWxlWSAqIHBpbmNoUmF0aW8KCQl9OwoKCQlzZWxmLmNhblRhcCA9IGZhbHNlOwoKCQlzZWxmLm5ld1dpZHRoICA9IG5ld1dpZHRoOwoJCXNlbGYubmV3SGVpZ2h0ID0gbmV3SGVpZ2h0OwoKCQlzZWxmLmNvbnRlbnRMYXN0UG9zID0gbmV3UG9zOwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLnJlcXVlc3RJZCA9IHJlcXVlc3RBRnJhbWUoZnVuY3Rpb24oKSB7CgkJCSQuZmFuY3lib3guc2V0VHJhbnNsYXRlKCBzZWxmLiRjb250ZW50LCBzZWxmLmNvbnRlbnRMYXN0UG9zICk7CgkJfSk7CgoJfTsKCglHdWVzdHVyZXMucHJvdG90eXBlLm9udG91Y2hlbmQgPSBmdW5jdGlvbiggZSApIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgkJdmFyIGRNcyAgPSBNYXRoLm1heCggKG5ldyBEYXRlKCkuZ2V0VGltZSgpICkgLSBzZWxmLnN0YXJ0VGltZSwgMSk7CgoJCXZhciBzd2lwaW5nICAgPSBzZWxmLmlzU3dpcGluZzsKCQl2YXIgcGFubmluZyAgID0gc2VsZi5pc1Bhbm5pbmc7CgkJdmFyIHpvb21pbmcgICA9IHNlbGYuaXNab29taW5nOwoJCXZhciBzY3JvbGxpbmcgPSBzZWxmLmlzU2Nyb2xsaW5nOwoKCQlzZWxmLmVuZFBvaW50cyA9IHBvaW50ZXJzKCBlICk7CgoJCXNlbGYuJGNvbnRhaW5lci5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LWNvbnRyb2xzLS1pc0dyYWJiaW5nJyApOwoKCQkkKGRvY3VtZW50KS5vZmYoICcuZmIudG91Y2gnICk7CgoJCWRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNlbGYub25zY3JvbGwsIHRydWUpOwoKCQlpZiAoIHNlbGYucmVxdWVzdElkICkgewoJCQljYW5jZWxBRnJhbWUoIHNlbGYucmVxdWVzdElkICk7CgoJCQlzZWxmLnJlcXVlc3RJZCA9IG51bGw7CgkJfQoKCQlzZWxmLmlzU3dpcGluZyAgID0gZmFsc2U7CgkJc2VsZi5pc1Bhbm5pbmcgICA9IGZhbHNlOwoJCXNlbGYuaXNab29taW5nICAgPSBmYWxzZTsKCQlzZWxmLmlzU2Nyb2xsaW5nID0gZmFsc2U7CgoJCXNlbGYuaW5zdGFuY2UuaXNEcmFnZ2luZyA9IGZhbHNlOwoKCQlpZiAoIHNlbGYuY2FuVGFwICkgewoJCQlyZXR1cm4gc2VsZi5vblRhcCggZSApOwoJCX0KCgkJc2VsZi5zcGVlZCA9IDM2NjsKCgkJLy8gU3BlZWQgaW4gcHgvbXMKCQlzZWxmLnZlbG9jaXR5WCA9IHNlbGYuZGlzdGFuY2VYIC8gZE1zICogMC41OwoJCXNlbGYudmVsb2NpdHlZID0gc2VsZi5kaXN0YW5jZVkgLyBkTXMgKiAwLjU7CgoJCXNlbGYuc3BlZWRYID0gTWF0aC5tYXgoIHNlbGYuc3BlZWQgKiAwLjUsIE1hdGgubWluKCBzZWxmLnNwZWVkICogMS41LCAoIDEgLyBNYXRoLmFicyggc2VsZi52ZWxvY2l0eVggKSApICogc2VsZi5zcGVlZCApICk7CgoJCWlmICggcGFubmluZyApIHsKCQkJc2VsZi5lbmRQYW5uaW5nKCk7CgoJCX0gZWxzZSBpZiAoIHpvb21pbmcgKSB7CgkJCXNlbGYuZW5kWm9vbWluZygpOwoKCQl9IGVsc2UgewoJCQlzZWxmLmVuZFN3aXBpbmcoIHN3aXBpbmcsIHNjcm9sbGluZyApOwoJCX0KCgkJcmV0dXJuOwoJfTsKCglHdWVzdHVyZXMucHJvdG90eXBlLmVuZFN3aXBpbmcgPSBmdW5jdGlvbiggc3dpcGluZywgc2Nyb2xsaW5nICkgewoJCXZhciBzZWxmID0gdGhpcywKCQkJcmV0ICA9IGZhbHNlLAoJCQlsZW4gID0gc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGg7CgoJCXNlbGYuc2xpZGVyTGFzdFBvcyA9IG51bGw7CgoJCS8vIENsb3NlIGlmIHN3aXBlZCB2ZXJ0aWNhbGx5IC8gbmF2aWdhdGUgaWYgaG9yaXpvbnRhbGx5CgkJaWYgKCBzd2lwaW5nID09ICd5JyAmJiAhc2Nyb2xsaW5nICYmIE1hdGguYWJzKCBzZWxmLmRpc3RhbmNlWSApID4gNTAgKSB7CgoJCQkvLyBDb250aW51ZSB2ZXJ0aWNhbCBtb3ZlbWVudAoJCQkkLmZhbmN5Ym94LmFuaW1hdGUoIHNlbGYuaW5zdGFuY2UuY3VycmVudC4kc2xpZGUsIHsKCQkJCXRvcCAgICAgOiBzZWxmLnNsaWRlclN0YXJ0UG9zLnRvcCArIHNlbGYuZGlzdGFuY2VZICsgKCBzZWxmLnZlbG9jaXR5WSAqIDE1MCApLAoJCQkJb3BhY2l0eSA6IDAKCQkJfSwgMTUwICk7CgoJCQlyZXQgPSBzZWxmLmluc3RhbmNlLmNsb3NlKCB0cnVlLCAzMDAgKTsKCgkJfSBlbHNlIGlmICggc3dpcGluZyA9PSAneCcgJiYgc2VsZi5kaXN0YW5jZVggPiA1MCAmJiBsZW4gPiAxICkgewoJCQlyZXQgPSBzZWxmLmluc3RhbmNlLnByZXZpb3VzKCBzZWxmLnNwZWVkWCApOwoKCQl9IGVsc2UgaWYgKCBzd2lwaW5nID09ICd4JyAmJiBzZWxmLmRpc3RhbmNlWCA8IC01MCAmJiBsZW4gPiAxICkgewoJCQlyZXQgPSBzZWxmLmluc3RhbmNlLm5leHQoIHNlbGYuc3BlZWRYICk7CgkJfQoKCQlpZiAoIHJldCA9PT0gZmFsc2UgJiYgKCBzd2lwaW5nID09ICd4JyB8fCBzd2lwaW5nID09ICd5JyApICkgewoJCQlpZiAoIHNjcm9sbGluZyB8fCBsZW4gPCAyICkgewoJCQkJc2VsZi5pbnN0YW5jZS5jZW50ZXJTbGlkZSggc2VsZi5pbnN0YW5jZS5jdXJyZW50LCAxNTAgKTsKCQkJfSBlbHNlIHsKCQkJCXNlbGYuaW5zdGFuY2UuanVtcFRvKCBzZWxmLmluc3RhbmNlLmN1cnJlbnQuaW5kZXggKTsKCQkJfQoJCX0KCgkJc2VsZi4kY29udGFpbmVyLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtaXMtc2xpZGluZycgKTsKCgl9OwoKCS8vIExpbWl0IHBhbm5pbmcgZnJvbSBlZGdlcwoJLy8gPT09PT09PT09PT09PT09PT09PT09PT09CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5lbmRQYW5uaW5nID0gZnVuY3Rpb24oKSB7CgoJCXZhciBzZWxmID0gdGhpczsKCQl2YXIgbmV3T2Zmc2V0WCwgbmV3T2Zmc2V0WSwgbmV3UG9zOwoKCQlpZiAoICFzZWxmLmNvbnRlbnRMYXN0UG9zICkgewoJCQlyZXR1cm47CgkJfQoKCQlpZiAoIHNlbGYub3B0cy5tb21lbnR1bSA9PT0gZmFsc2UgKSB7CgkJCW5ld09mZnNldFggPSBzZWxmLmNvbnRlbnRMYXN0UG9zLmxlZnQ7CgkJCW5ld09mZnNldFkgPSBzZWxmLmNvbnRlbnRMYXN0UG9zLnRvcDsKCgkJfSBlbHNlIHsKCgkJCS8vIENvbnRpbnVlIG1vdmVtZW50CgkJCW5ld09mZnNldFggPSBzZWxmLmNvbnRlbnRMYXN0UG9zLmxlZnQgKyAoIHNlbGYudmVsb2NpdHlYICogc2VsZi5zcGVlZCApOwoJCQluZXdPZmZzZXRZID0gc2VsZi5jb250ZW50TGFzdFBvcy50b3AgICsgKCBzZWxmLnZlbG9jaXR5WSAqIHNlbGYuc3BlZWQgKTsKCQl9CgoJCW5ld1BvcyA9IHNlbGYubGltaXRQb3NpdGlvbiggbmV3T2Zmc2V0WCwgbmV3T2Zmc2V0WSwgc2VsZi5jb250ZW50U3RhcnRQb3Mud2lkdGgsIHNlbGYuY29udGVudFN0YXJ0UG9zLmhlaWdodCApOwoKCQkgbmV3UG9zLndpZHRoICA9IHNlbGYuY29udGVudFN0YXJ0UG9zLndpZHRoOwoJCSBuZXdQb3MuaGVpZ2h0ID0gc2VsZi5jb250ZW50U3RhcnRQb3MuaGVpZ2h0OwoKCQkkLmZhbmN5Ym94LmFuaW1hdGUoIHNlbGYuJGNvbnRlbnQsIG5ld1BvcywgMzMwICk7Cgl9OwoKCglHdWVzdHVyZXMucHJvdG90eXBlLmVuZFpvb21pbmcgPSBmdW5jdGlvbigpIHsKCQl2YXIgc2VsZiA9IHRoaXM7CgoJCXZhciBjdXJyZW50ID0gc2VsZi5pbnN0YW5jZS5jdXJyZW50OwoKCQl2YXIgbmV3T2Zmc2V0WCwgbmV3T2Zmc2V0WSwgbmV3UG9zLCByZXNldDsKCgkJdmFyIG5ld1dpZHRoICA9IHNlbGYubmV3V2lkdGg7CgkJdmFyIG5ld0hlaWdodCA9IHNlbGYubmV3SGVpZ2h0OwoKCQlpZiAoICFzZWxmLmNvbnRlbnRMYXN0UG9zICkgewoJCQlyZXR1cm47CgkJfQoKCQluZXdPZmZzZXRYID0gc2VsZi5jb250ZW50TGFzdFBvcy5sZWZ0OwoJCW5ld09mZnNldFkgPSBzZWxmLmNvbnRlbnRMYXN0UG9zLnRvcDsKCgkJcmVzZXQgPSB7CgkJCXRvcCAgICA6IG5ld09mZnNldFksCgkJCWxlZnQgICA6IG5ld09mZnNldFgsCgkJCXdpZHRoICA6IG5ld1dpZHRoLAoJCQloZWlnaHQgOiBuZXdIZWlnaHQsCgkJCXNjYWxlWCA6IDEsCgkJCXNjYWxlWSA6IDEKCQl9OwoKCQkvLyBSZXNldCBzY2FsZXgvc2NhbGVZIHZhbHVlczsgdGhpcyBoZWxwcyBmb3IgcGVyZm9tYW5jZSBhbmQgZG9lcyBub3QgYnJlYWsgYW5pbWF0aW9uCgkJJC5mYW5jeWJveC5zZXRUcmFuc2xhdGUoIHNlbGYuJGNvbnRlbnQsIHJlc2V0ICk7CgoJCWlmICggbmV3V2lkdGggPCBzZWxmLmNhbnZhc1dpZHRoICYmIG5ld0hlaWdodCA8IHNlbGYuY2FudmFzSGVpZ2h0ICkgewoJCQlzZWxmLmluc3RhbmNlLnNjYWxlVG9GaXQoIDE1MCApOwoKCQl9IGVsc2UgaWYgKCBuZXdXaWR0aCA+IGN1cnJlbnQud2lkdGggfHwgbmV3SGVpZ2h0ID4gY3VycmVudC5oZWlnaHQgKSB7CgkJCXNlbGYuaW5zdGFuY2Uuc2NhbGVUb0FjdHVhbCggc2VsZi5jZW50ZXJQb2ludFN0YXJ0WCwgc2VsZi5jZW50ZXJQb2ludFN0YXJ0WSwgMTUwICk7CgoJCX0gZWxzZSB7CgoJCQluZXdQb3MgPSBzZWxmLmxpbWl0UG9zaXRpb24oIG5ld09mZnNldFgsIG5ld09mZnNldFksIG5ld1dpZHRoLCBuZXdIZWlnaHQgKTsKCgkJCS8vIFN3aXRjaCBmcm9tIHNjYWxlKCkgdG8gd2lkdGgvaGVpZ2h0IG9yIGFuaW1hdGlvbiB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseQoJCQkkLmZhbmN5Ym94LnNldFRyYW5zbGF0ZSggc2VsZi5jb250ZW50LCAkLmZhbmN5Ym94LmdldFRyYW5zbGF0ZSggc2VsZi4kY29udGVudCApICk7CgoJCQkkLmZhbmN5Ym94LmFuaW1hdGUoIHNlbGYuJGNvbnRlbnQsIG5ld1BvcywgMTUwICk7CgkJfQoKCX07CgoJR3Vlc3R1cmVzLnByb3RvdHlwZS5vblRhcCA9IGZ1bmN0aW9uKGUpIHsKCQl2YXIgc2VsZiAgICA9IHRoaXM7CgkJdmFyICR0YXJnZXQgPSAkKCBlLnRhcmdldCApOwoKCQl2YXIgaW5zdGFuY2UgPSBzZWxmLmluc3RhbmNlOwoJCXZhciBjdXJyZW50ICA9IGluc3RhbmNlLmN1cnJlbnQ7CgoJCXZhciBlbmRQb2ludHMgPSAoIGUgJiYgcG9pbnRlcnMoIGUgKSApIHx8IHNlbGYuc3RhcnRQb2ludHM7CgoJCXZhciB0YXBYID0gZW5kUG9pbnRzWzBdID8gZW5kUG9pbnRzWzBdLnggLSBzZWxmLiRzdGFnZS5vZmZzZXQoKS5sZWZ0IDogMDsKCQl2YXIgdGFwWSA9IGVuZFBvaW50c1swXSA/IGVuZFBvaW50c1swXS55IC0gc2VsZi4kc3RhZ2Uub2Zmc2V0KCkudG9wICA6IDA7CgoJCXZhciB3aGVyZTsKCgkJdmFyIHByb2Nlc3MgPSBmdW5jdGlvbiAoIHByZWZpeCApIHsKCgkJCXZhciBhY3Rpb24gPSBjdXJyZW50Lm9wdHNbIHByZWZpeCBdOwoKCQkJaWYgKCAkLmlzRnVuY3Rpb24oIGFjdGlvbiApICkgewoJCQkJYWN0aW9uID0gYWN0aW9uLmFwcGx5KCBpbnN0YW5jZSwgWyBjdXJyZW50LCBlIF0gKTsKCQkJfQoKCQkJaWYgKCAhYWN0aW9uKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCXN3aXRjaCAoIGFjdGlvbiApIHsKCgkJCQljYXNlICJjbG9zZSIgOgoKCQkJCQlpbnN0YW5jZS5jbG9zZSggc2VsZi5zdGFydEV2ZW50ICk7CgoJCQkJYnJlYWs7CgoJCQkJY2FzZSAidG9nZ2xlQ29udHJvbHMiIDoKCgkJCQkJaW5zdGFuY2UudG9nZ2xlQ29udHJvbHMoIHRydWUgKTsKCgkJCQlicmVhazsKCgkJCQljYXNlICJuZXh0IiA6CgoJCQkJCWluc3RhbmNlLm5leHQoKTsKCgkJCQlicmVhazsKCgkJCQljYXNlICJuZXh0T3JDbG9zZSIgOgoKCQkJCQlpZiAoIGluc3RhbmNlLmdyb3VwLmxlbmd0aCA+IDEgKSB7CgkJCQkJCWluc3RhbmNlLm5leHQoKTsKCgkJCQkJfSBlbHNlIHsKCQkJCQkJaW5zdGFuY2UuY2xvc2UoIHNlbGYuc3RhcnRFdmVudCApOwoJCQkJCX0KCgkJCQlicmVhazsKCgkJCQljYXNlICJ6b29tIiA6CgoJCQkJCWlmICggY3VycmVudC50eXBlID09ICdpbWFnZScgJiYgKCBjdXJyZW50LmlzTG9hZGVkIHx8IGN1cnJlbnQuJGdob3N0ICkgKSB7CgoJCQkJCQlpZiAoIGluc3RhbmNlLmNhblBhbigpICkgewoJCQkJCQkJaW5zdGFuY2Uuc2NhbGVUb0ZpdCgpOwoKCQkJCQkJfSBlbHNlIGlmICggaW5zdGFuY2UuaXNTY2FsZWREb3duKCkgKSB7CgkJCQkJCQlpbnN0YW5jZS5zY2FsZVRvQWN0dWFsKCB0YXBYLCB0YXBZICk7CgoJCQkJCQl9IGVsc2UgaWYgKCBpbnN0YW5jZS5ncm91cC5sZW5ndGggPCAyICkgewoJCQkJCQkJaW5zdGFuY2UuY2xvc2UoIHNlbGYuc3RhcnRFdmVudCApOwoJCQkJCQl9CgkJCQkJfQoKCQkJCWJyZWFrOwoJCQl9CgoJCX07CgoJCS8vIElnbm9yZSByaWdodCBjbGljawoJCWlmICggZS5vcmlnaW5hbEV2ZW50ICYmIGUub3JpZ2luYWxFdmVudC5idXR0b24gPT0gMiApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gU2tpcCBpZiBjbGlja2VkIG9uIHRoZSBzY3JvbGxiYXIKCQlpZiAoICEkdGFyZ2V0LmlzKCdpbWcnKSAmJiB0YXBYID4gJHRhcmdldFswXS5jbGllbnRXaWR0aCArICR0YXJnZXQub2Zmc2V0KCkubGVmdCApIHsKCQkJcmV0dXJuOwoJCX0KCgkJLy8gQ2hlY2sgd2hlcmUgaXMgY2xpY2tlZAoJCWlmICggJHRhcmdldC5pcyggJy5mYW5jeWJveC1iZywuZmFuY3lib3gtaW5uZXIsLmZhbmN5Ym94LW91dGVyLC5mYW5jeWJveC1jb250YWluZXInICkgKSB7CgkJCXdoZXJlID0gJ091dHNpZGUnOwoKCQl9IGVsc2UgaWYgKCAkdGFyZ2V0LmlzKCAnLmZhbmN5Ym94LXNsaWRlJyApICkgewoJCQl3aGVyZSA9ICdTbGlkZSc7CgoJCX0gZWxzZSBpZiAoIGluc3RhbmNlLmN1cnJlbnQuJGNvbnRlbnQgJiYgaW5zdGFuY2UuY3VycmVudC4kY29udGVudC5maW5kKCAkdGFyZ2V0ICkuYWRkQmFjaygpLmZpbHRlciggJHRhcmdldCApLmxlbmd0aCApIHsKCQkgCXdoZXJlID0gJ0NvbnRlbnQnOwoKCQl9IGVsc2UgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBDaGVjayBpZiB0aGlzIGlzIGEgZG91YmxlIHRhcAoJCWlmICggc2VsZi50YXBwZWQgKSB7CgoJCQkvLyBTdG9wIHByZXZpb3VzbHkgY3JlYXRlZCBzaW5nbGUgdGFwCgkJCWNsZWFyVGltZW91dCggc2VsZi50YXBwZWQgKTsKCQkJc2VsZi50YXBwZWQgPSBudWxsOwoKCQkJLy8gU2tpcCBpZiBkaXN0YW5jZSBiZXR3ZWVuIHRhcHMgaXMgdG9vIGJpZwoJCQlpZiAoIE1hdGguYWJzKCB0YXBYIC0gc2VsZi50YXBYICkgPiA1MCB8fCBNYXRoLmFicyggdGFwWSAtIHNlbGYudGFwWSApID4gNTAgKSB7CgkJCQlyZXR1cm4gdGhpczsKCQkJfQoKCQkJLy8gT0ssIG5vdyB3ZSBhc3N1bWUgdGhhdCB0aGlzIGlzIGEgZG91YmxlLXRhcAoJCQlwcm9jZXNzKCAnZGJsY2xpY2snICsgd2hlcmUgKTsKCgkJfSBlbHNlIHsKCgkJCS8vIFNpbmdsZSB0YXAgd2lsbCBiZSBwcm9jZXNzZWQgaWYgdXNlciBoYXMgbm90IGNsaWNrZWQgc2Vjb25kIHRpbWUgd2l0aGluIDMwMG1zCgkJCS8vIG9yIHRoZXJlIGlzIG5vIG5lZWQgdG8gd2FpdCBmb3IgZG91YmxlLXRhcAoJCQlzZWxmLnRhcFggPSB0YXBYOwoJCQlzZWxmLnRhcFkgPSB0YXBZOwoKCQkJaWYgKCBjdXJyZW50Lm9wdHNbICdkYmxjbGljaycgKyB3aGVyZSBdICYmIGN1cnJlbnQub3B0c1sgJ2RibGNsaWNrJyArIHdoZXJlIF0gIT09IGN1cnJlbnQub3B0c1sgJ2NsaWNrJyArIHdoZXJlIF0gKSB7CgoJCQkJc2VsZi50YXBwZWQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCXNlbGYudGFwcGVkID0gbnVsbDsKCgkJCQkJcHJvY2VzcyggJ2NsaWNrJyArIHdoZXJlICk7CgoJCQkJfSwgNTAwKTsKCgkJCX0gZWxzZSB7CgkJCQlwcm9jZXNzKCAnY2xpY2snICsgd2hlcmUgKTsKCQkJfQoKCQl9CgoJCXJldHVybiB0aGlzOwoJfTsKCgkkKGRvY3VtZW50KS5vbignb25BY3RpdmF0ZS5mYicsIGZ1bmN0aW9uIChlLCBpbnN0YW5jZSkgewoJCWlmICggaW5zdGFuY2UgJiYgIWluc3RhbmNlLkd1ZXN0dXJlcyApIHsKCQkJaW5zdGFuY2UuR3Vlc3R1cmVzID0gbmV3IEd1ZXN0dXJlcyggaW5zdGFuY2UgKTsKCQl9Cgl9KTsKCn0oIHdpbmRvdywgZG9jdW1lbnQsIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8KLy8gU2xpZGVTaG93Ci8vIEVuYWJsZXMgc2xpZGVzaG93IGZ1bmN0aW9uYWxpdHkKLy8KLy8gRXhhbXBsZSBvZiB1c2FnZToKLy8gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpLlNsaWRlU2hvdy5zdGFydCgpCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKGRvY3VtZW50LCAkKSB7CgkndXNlIHN0cmljdCc7CgoJJC5leHRlbmQodHJ1ZSwgJC5mYW5jeWJveC5kZWZhdWx0cywgewoJCWJ0blRwbCA6IHsKCQkJc2xpZGVTaG93IDoKCQkJCSc8YnV0dG9uIGRhdGEtZmFuY3lib3gtcGxheSBjbGFzcz0iZmFuY3lib3gtYnV0dG9uIGZhbmN5Ym94LWJ1dHRvbi0tcGxheSIgdGl0bGU9Int7UExBWV9TVEFSVH19Ij4nICsKCQkJCQknPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwoJCQkJCQknPHBhdGggZD0iTTEzLDEyIEwyNywyMCBMMTMsMjcgWiIgLz4nICsKCQkJCQkJJzxwYXRoIGQ9Ik0xNSwxMCB2MTkgTTIzLDEwIHYxOSIgLz4nICsKCQkJCQknPC9zdmc+JyArCgkJCQknPC9idXR0b24+JwoJCX0sCgkJc2xpZGVTaG93IDogewoJCQlhdXRvU3RhcnQgOiBmYWxzZSwKICAgICAgICAgICAgc3BlZWQgICAgIDogMzAwMAoJCX0KCX0pOwoKCXZhciBTbGlkZVNob3cgPSBmdW5jdGlvbiggaW5zdGFuY2UgKSB7CgkJdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlOwoJCXRoaXMuaW5pdCgpOwoJfTsKCgkkLmV4dGVuZCggU2xpZGVTaG93LnByb3RvdHlwZSwgewoJCXRpbWVyICAgIDogbnVsbCwKCQlpc0FjdGl2ZSA6IGZhbHNlLAoJCSRidXR0b24gIDogbnVsbCwKCgkJaW5pdCA6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQlzZWxmLiRidXR0b24gPSBzZWxmLmluc3RhbmNlLiRyZWZzLnRvb2xiYXIuZmluZCgnW2RhdGEtZmFuY3lib3gtcGxheV0nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsKCQkJCXNlbGYudG9nZ2xlKCk7CgkJCX0pOwoKCQkJaWYgKCBzZWxmLmluc3RhbmNlLmdyb3VwLmxlbmd0aCA8IDIgfHwgIXNlbGYuaW5zdGFuY2UuZ3JvdXBbIHNlbGYuaW5zdGFuY2UuY3VyckluZGV4IF0ub3B0cy5zbGlkZVNob3cgKSB7CgkJCQlzZWxmLiRidXR0b24uaGlkZSgpOwoJCQl9CgkJfSwKCgkJc2V0IDogZnVuY3Rpb24oIGZvcmNlICkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQkvLyBDaGVjayBpZiByZWFjaGVkIGxhc3QgZWxlbWVudAoJCQlpZiAoIHNlbGYuaW5zdGFuY2UgJiYgc2VsZi5pbnN0YW5jZS5jdXJyZW50ICYmIChmb3JjZSA9PT0gdHJ1ZSB8fCBzZWxmLmluc3RhbmNlLmN1cnJlbnQub3B0cy5sb29wIHx8IHNlbGYuaW5zdGFuY2UuY3VyckluZGV4IDwgc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggLSAxICkpIHsKCQkJCXNlbGYudGltZXIgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewoJCQkJCWlmICggc2VsZi5pc0FjdGl2ZSApIHsKCQkJCQkJc2VsZi5pbnN0YW5jZS5qdW1wVG8oIChzZWxmLmluc3RhbmNlLmN1cnJJbmRleCArIDEpICUgc2VsZi5pbnN0YW5jZS5ncm91cC5sZW5ndGggKTsKCQkJCQl9CgoJCQkJfSwgc2VsZi5pbnN0YW5jZS5jdXJyZW50Lm9wdHMuc2xpZGVTaG93LnNwZWVkKTsKCgkJCX0gZWxzZSB7CgkJCQlzZWxmLnN0b3AoKTsKCQkJCXNlbGYuaW5zdGFuY2UuaWRsZVNlY29uZHNDb3VudGVyID0gMDsKCQkJCXNlbGYuaW5zdGFuY2Uuc2hvd0NvbnRyb2xzKCk7CgkJCX0KCQl9LAoKCQljbGVhciA6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQljbGVhclRpbWVvdXQoIHNlbGYudGltZXIgKTsKCgkJCXNlbGYudGltZXIgPSBudWxsOwoJCX0sCgoJCXN0YXJ0IDogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJdmFyIGN1cnJlbnQgPSBzZWxmLmluc3RhbmNlLmN1cnJlbnQ7CgoJCQlpZiAoIGN1cnJlbnQgKSB7CgkJCQlzZWxmLmlzQWN0aXZlID0gdHJ1ZTsKCgkJCQlzZWxmLiRidXR0b24KCQkJCQkuYXR0ciggJ3RpdGxlJywgY3VycmVudC5vcHRzLmkxOG5bIGN1cnJlbnQub3B0cy5sYW5nIF0uUExBWV9TVE9QICkKCQkJCQkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBsYXknICkKCQkJCQkuYWRkQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBhdXNlJyApOwoKCQkJCQlzZWxmLnNldCggdHJ1ZSApOwoJCQl9CgkJfSwKCgkJc3RvcCA6IGZ1bmN0aW9uKCkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCXZhciBjdXJyZW50ID0gc2VsZi5pbnN0YW5jZS5jdXJyZW50OwoKCQkJc2VsZi5jbGVhcigpOwoKCQkJc2VsZi4kYnV0dG9uCgkJCQkuYXR0ciggJ3RpdGxlJywgY3VycmVudC5vcHRzLmkxOG5bIGN1cnJlbnQub3B0cy5sYW5nIF0uUExBWV9TVEFSVCApCgkJCQkucmVtb3ZlQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBhdXNlJyApCgkJCQkuYWRkQ2xhc3MoICdmYW5jeWJveC1idXR0b24tLXBsYXknICk7CgoJCQlzZWxmLmlzQWN0aXZlID0gZmFsc2U7CgkJfSwKCgkJdG9nZ2xlIDogZnVuY3Rpb24oKSB7CgkJCXZhciBzZWxmID0gdGhpczsKCgkJCWlmICggc2VsZi5pc0FjdGl2ZSApIHsKCQkJCXNlbGYuc3RvcCgpOwoKCQkJfSBlbHNlIHsKCQkJCXNlbGYuc3RhcnQoKTsKCQkJfQoJCX0KCgl9KTsKCgkkKGRvY3VtZW50KS5vbih7CgkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQlpZiAoIGluc3RhbmNlICYmICFpbnN0YW5jZS5TbGlkZVNob3cgKSB7CgkJCQlpbnN0YW5jZS5TbGlkZVNob3cgPSBuZXcgU2xpZGVTaG93KCBpbnN0YW5jZSApOwoJCQl9CgkJfSwKCgkJJ2JlZm9yZVNob3cuZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQsIGZpcnN0UnVuKSB7CgkJCXZhciBTbGlkZVNob3cgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5TbGlkZVNob3c7CgoJCQlpZiAoIGZpcnN0UnVuICkgewoKCQkJCWlmICggU2xpZGVTaG93ICYmIGN1cnJlbnQub3B0cy5zbGlkZVNob3cuYXV0b1N0YXJ0ICkgewoJCQkJCVNsaWRlU2hvdy5zdGFydCgpOwoJCQkJfQoKCQkJfSBlbHNlIGlmICggU2xpZGVTaG93ICYmIFNsaWRlU2hvdy5pc0FjdGl2ZSApICB7CgkJCQlTbGlkZVNob3cuY2xlYXIoKTsKCQkJfQoJCX0sCgoJCSdhZnRlclNob3cuZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQpIHsKCQkJdmFyIFNsaWRlU2hvdyA9IGluc3RhbmNlICYmIGluc3RhbmNlLlNsaWRlU2hvdzsKCgkJCWlmICggU2xpZGVTaG93ICYmIFNsaWRlU2hvdy5pc0FjdGl2ZSApIHsKCQkJCVNsaWRlU2hvdy5zZXQoKTsKCQkJfQoJCX0sCgoJCSdhZnRlcktleWRvd24uZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQsIGtleXByZXNzLCBrZXljb2RlKSB7CgkJCXZhciBTbGlkZVNob3cgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5TbGlkZVNob3c7CgoJCQkvLyAiUCIgb3IgU3BhY2ViYXIKCQkJaWYgKCBTbGlkZVNob3cgJiYgY3VycmVudC5vcHRzLnNsaWRlU2hvdyAmJiAoIGtleWNvZGUgPT09IDgwIHx8IGtleWNvZGUgPT09IDMyICkgJiYgISQoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCkuaXMoICdidXR0b24sYSxpbnB1dCcgKSApIHsKCQkJCWtleXByZXNzLnByZXZlbnREZWZhdWx0KCk7CgoJCQkJU2xpZGVTaG93LnRvZ2dsZSgpOwoJCQl9CgkJfSwKCgkJJ2JlZm9yZUNsb3NlLmZiIG9uRGVhY3RpdmF0ZS5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQl2YXIgU2xpZGVTaG93ID0gaW5zdGFuY2UgJiYgaW5zdGFuY2UuU2xpZGVTaG93OwoKCQkJaWYgKCBTbGlkZVNob3cgKSB7CgkJCQlTbGlkZVNob3cuc3RvcCgpOwoJCQl9CgkJfQoJfSk7CgoJLy8gUGFnZSBWaXNpYmlsaXR5IEFQSSB0byBwYXVzZSBzbGlkZXNob3cgd2hlbiB3aW5kb3cgaXMgbm90IGFjdGl2ZQoJJChkb2N1bWVudCkub24oInZpc2liaWxpdHljaGFuZ2UiLCBmdW5jdGlvbigpIHsKCQl2YXIgaW5zdGFuY2UgID0gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpOwoJCXZhciBTbGlkZVNob3cgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5TbGlkZVNob3c7CgoJCWlmICggU2xpZGVTaG93ICYmIFNsaWRlU2hvdy5pc0FjdGl2ZSApIHsKCQkJaWYgKCBkb2N1bWVudC5oaWRkZW4gKSB7CgkJCQlTbGlkZVNob3cuY2xlYXIoKTsKCgkJCX0gZWxzZSB7CgkJCQlTbGlkZVNob3cuc2V0KCk7CgkJCX0KCQl9Cgl9KTsKCn0oIGRvY3VtZW50LCB3aW5kb3cualF1ZXJ5IHx8IGpRdWVyeSApKTsKCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci8vCi8vIEZ1bGxTY3JlZW4KLy8gQWRkcyBmdWxsc2NyZWVuIGZ1bmN0aW9uYWxpdHkKLy8KLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KOyhmdW5jdGlvbiAoZG9jdW1lbnQsICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgkvLyBDb2xsZWN0aW9uIG9mIG1ldGhvZHMgc3VwcG9ydGVkIGJ5IHVzZXIgYnJvd3NlcgoJdmFyIGZuID0gKGZ1bmN0aW9uICgpIHsKCgkJdmFyIGZuTWFwID0gWwoJCQlbCgkJCQkncmVxdWVzdEZ1bGxzY3JlZW4nLAoJCQkJJ2V4aXRGdWxsc2NyZWVuJywKCQkJCSdmdWxsc2NyZWVuRWxlbWVudCcsCgkJCQknZnVsbHNjcmVlbkVuYWJsZWQnLAoJCQkJJ2Z1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJJ2Z1bGxzY3JlZW5lcnJvcicKCQkJXSwKCQkJLy8gbmV3IFdlYktpdAoJCQlbCgkJCQknd2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4nLAoJCQkJJ3dlYmtpdEV4aXRGdWxsc2NyZWVuJywKCQkJCSd3ZWJraXRGdWxsc2NyZWVuRWxlbWVudCcsCgkJCQknd2Via2l0RnVsbHNjcmVlbkVuYWJsZWQnLAoJCQkJJ3dlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UnLAoJCQkJJ3dlYmtpdGZ1bGxzY3JlZW5lcnJvcicKCgkJCV0sCgkJCS8vIG9sZCBXZWJLaXQgKFNhZmFyaSA1LjEpCgkJCVsKCQkJCSd3ZWJraXRSZXF1ZXN0RnVsbFNjcmVlbicsCgkJCQknd2Via2l0Q2FuY2VsRnVsbFNjcmVlbicsCgkJCQknd2Via2l0Q3VycmVudEZ1bGxTY3JlZW5FbGVtZW50JywKCQkJCSd3ZWJraXRDYW5jZWxGdWxsU2NyZWVuJywKCQkJCSd3ZWJraXRmdWxsc2NyZWVuY2hhbmdlJywKCQkJCSd3ZWJraXRmdWxsc2NyZWVuZXJyb3InCgoJCQldLAoJCQlbCgkJCQknbW96UmVxdWVzdEZ1bGxTY3JlZW4nLAoJCQkJJ21vekNhbmNlbEZ1bGxTY3JlZW4nLAoJCQkJJ21vekZ1bGxTY3JlZW5FbGVtZW50JywKCQkJCSdtb3pGdWxsU2NyZWVuRW5hYmxlZCcsCgkJCQknbW96ZnVsbHNjcmVlbmNoYW5nZScsCgkJCQknbW96ZnVsbHNjcmVlbmVycm9yJwoJCQldLAoJCQlbCgkJCQknbXNSZXF1ZXN0RnVsbHNjcmVlbicsCgkJCQknbXNFeGl0RnVsbHNjcmVlbicsCgkJCQknbXNGdWxsc2NyZWVuRWxlbWVudCcsCgkJCQknbXNGdWxsc2NyZWVuRW5hYmxlZCcsCgkJCQknTVNGdWxsc2NyZWVuQ2hhbmdlJywKCQkJCSdNU0Z1bGxzY3JlZW5FcnJvcicKCQkJXQoJCV07CgoJCXZhciB2YWw7CgkJdmFyIHJldCA9IHt9OwoJCXZhciBpLCBqOwoKCQlmb3IgKCBpID0gMDsgaSA8IGZuTWFwLmxlbmd0aDsgaSsrICkgewoJCQl2YWwgPSBmbk1hcFsgaSBdOwoKCQkJaWYgKCB2YWwgJiYgdmFsWyAxIF0gaW4gZG9jdW1lbnQgKSB7CgkJCQlmb3IgKCBqID0gMDsgaiA8IHZhbC5sZW5ndGg7IGorKyApIHsKCQkJCQlyZXRbIGZuTWFwWyAwIF1bIGogXSBdID0gdmFsWyBqIF07CgkJCQl9CgoJCQkJcmV0dXJuIHJldDsKCQkJfQoJCX0KCgkJcmV0dXJuIGZhbHNlOwoJfSkoKTsKCgkvLyBJZiBicm93c2VyIGRvZXMgbm90IGhhdmUgRnVsbCBTY3JlZW4gQVBJLCB0aGVuIHNpbXBseSB1bnNldCBkZWZhdWx0IGJ1dHRvbiB0ZW1wbGF0ZSBhbmQgc3RvcAoJaWYgKCAhZm4gKSB7CgoJCWlmICggJCAmJiAkLmZhbmN5Ym94ICkgewoJCQkkLmZhbmN5Ym94LmRlZmF1bHRzLmJ0blRwbC5mdWxsU2NyZWVuID0gZmFsc2U7CgkJfQoKCQlyZXR1cm47Cgl9CgoJdmFyIEZ1bGxTY3JlZW4gPSB7CgoJCXJlcXVlc3QgOiBmdW5jdGlvbiAoIGVsZW0gKSB7CgoJCQllbGVtID0gZWxlbSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CgoJCQllbGVtWyBmbi5yZXF1ZXN0RnVsbHNjcmVlbiBdKCBlbGVtLkFMTE9XX0tFWUJPQVJEX0lOUFVUICk7CgoJCX0sCgkJZXhpdCA6IGZ1bmN0aW9uICgpIHsKCgkJCWRvY3VtZW50WyBmbi5leGl0RnVsbHNjcmVlbiBdKCk7CgoJCX0sCgkJdG9nZ2xlIDogZnVuY3Rpb24gKCBlbGVtICkgewoKCQkJZWxlbSA9IGVsZW0gfHwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OwoKCQkJaWYgKCB0aGlzLmlzRnVsbHNjcmVlbigpICkgewoJCQkJdGhpcy5leGl0KCk7CgoJCQl9IGVsc2UgewoJCQkJdGhpcy5yZXF1ZXN0KCBlbGVtICk7CgkJCX0KCgkJfSwKCQlpc0Z1bGxzY3JlZW4gOiBmdW5jdGlvbigpICB7CgoJCQlyZXR1cm4gQm9vbGVhbiggZG9jdW1lbnRbIGZuLmZ1bGxzY3JlZW5FbGVtZW50IF0gKTsKCgkJfSwKCQllbmFibGVkIDogZnVuY3Rpb24oKSAgewoKCQkJcmV0dXJuIEJvb2xlYW4oIGRvY3VtZW50WyBmbi5mdWxsc2NyZWVuRW5hYmxlZCBdICk7CgoJCX0KCX07CgoJJC5leHRlbmQodHJ1ZSwgJC5mYW5jeWJveC5kZWZhdWx0cywgewoJCWJ0blRwbCA6IHsKCQkJZnVsbFNjcmVlbiA6CgkJCQknPGJ1dHRvbiBkYXRhLWZhbmN5Ym94LWZ1bGxzY3JlZW4gY2xhc3M9ImZhbmN5Ym94LWJ1dHRvbiBmYW5jeWJveC1idXR0b24tLWZ1bGxzY3JlZW4iIHRpdGxlPSJ7e0ZVTExfU0NSRUVOfX0iPicgKwoJCQkJCSc8c3ZnIHZpZXdCb3g9IjAgMCA0MCA0MCI+JyArCgkJCQkJCSc8cGF0aCBkPSJNOSwxMiBoMjIgdjE2IGgtMjIgdi0xNiB2MTYgaDIyIHYtMTYgWiIgLz4nICsKCQkJCQknPC9zdmc+JyArCgkJCQknPC9idXR0b24+JwoJCX0sCgkJZnVsbFNjcmVlbiA6IHsKCQkJYXV0b1N0YXJ0IDogZmFsc2UKCQl9Cgl9KTsKCgkkKGRvY3VtZW50KS5vbih7CgkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQl2YXIgJGNvbnRhaW5lcjsKCgkJCWlmICggaW5zdGFuY2UgJiYgaW5zdGFuY2UuZ3JvdXBbIGluc3RhbmNlLmN1cnJJbmRleCBdLm9wdHMuZnVsbFNjcmVlbiApIHsKCQkJCSRjb250YWluZXIgPSBpbnN0YW5jZS4kcmVmcy5jb250YWluZXI7CgoJCQkJJGNvbnRhaW5lci5vbignY2xpY2suZmItZnVsbHNjcmVlbicsICdbZGF0YS1mYW5jeWJveC1mdWxsc2NyZWVuXScsIGZ1bmN0aW9uKGUpIHsKCgkJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCQkJCQllLnByZXZlbnREZWZhdWx0KCk7CgoJCQkJCUZ1bGxTY3JlZW4udG9nZ2xlKCAkY29udGFpbmVyWyAwIF0gKTsKCgkJCQl9KTsKCgkJCQlpZiAoIGluc3RhbmNlLm9wdHMuZnVsbFNjcmVlbiAmJiBpbnN0YW5jZS5vcHRzLmZ1bGxTY3JlZW4uYXV0b1N0YXJ0ID09PSB0cnVlICkgewoJCQkJCUZ1bGxTY3JlZW4ucmVxdWVzdCggJGNvbnRhaW5lclsgMCBdICk7CgkJCQl9CgoJCQkJLy8gRXhwb3NlIEFQSQoJCQkJaW5zdGFuY2UuRnVsbFNjcmVlbiA9IEZ1bGxTY3JlZW47CgoJCQl9IGVsc2UgaWYgKCBpbnN0YW5jZSApIHsKCQkJCWluc3RhbmNlLiRyZWZzLnRvb2xiYXIuZmluZCgnW2RhdGEtZmFuY3lib3gtZnVsbHNjcmVlbl0nKS5oaWRlKCk7CgkJCX0KCgkJfSwKCgkJJ2FmdGVyS2V5ZG93bi5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSwgY3VycmVudCwga2V5cHJlc3MsIGtleWNvZGUpIHsKCgkJCS8vICJQIiBvciBTcGFjZWJhcgoJCQlpZiAoIGluc3RhbmNlICYmIGluc3RhbmNlLkZ1bGxTY3JlZW4gJiYga2V5Y29kZSA9PT0gNzAgKSB7CgkJCQlrZXlwcmVzcy5wcmV2ZW50RGVmYXVsdCgpOwoKCQkJCWluc3RhbmNlLkZ1bGxTY3JlZW4udG9nZ2xlKCBpbnN0YW5jZS4kcmVmcy5jb250YWluZXJbIDAgXSApOwoJCQl9CgoJCX0sCgoJCSdiZWZvcmVDbG9zZS5mYicgOiBmdW5jdGlvbiggaW5zdGFuY2UgKSB7CgkJCWlmICggaW5zdGFuY2UgJiYgaW5zdGFuY2UuRnVsbFNjcmVlbiApIHsKCQkJCUZ1bGxTY3JlZW4uZXhpdCgpOwoJCQl9CgkJfQoJfSk7CgoJJChkb2N1bWVudCkub24oZm4uZnVsbHNjcmVlbmNoYW5nZSwgZnVuY3Rpb24oKSB7CgkJdmFyIGlzRnVsbHNjcmVlbiA9IEZ1bGxTY3JlZW4uaXNGdWxsc2NyZWVuKCksCgkJCWluc3RhbmNlID0gJC5mYW5jeWJveC5nZXRJbnN0YW5jZSgpOwoKCQlpZiAoIGluc3RhbmNlICkgewoKCQkJLy8gSWYgaW1hZ2UgaXMgem9vbWluZywgdGhlbiBmb3JjZSB0byBzdG9wIGFuZCByZXBvc2l0aW9uIHByb3Blcmx5CgkJCWlmICggaW5zdGFuY2UuY3VycmVudCAmJiBpbnN0YW5jZS5jdXJyZW50LnR5cGUgPT09ICdpbWFnZScgJiYgaW5zdGFuY2UuaXNBbmltYXRpbmcgKSB7CgkJCQlpbnN0YW5jZS5jdXJyZW50LiRjb250ZW50LmNzcyggJ3RyYW5zaXRpb24nLCAnbm9uZScgKTsKCgkJCQlpbnN0YW5jZS5pc0FuaW1hdGluZyA9IGZhbHNlOwoKCQkJCWluc3RhbmNlLnVwZGF0ZSggdHJ1ZSwgdHJ1ZSwgMCApOwoJCQl9CgoJCQlpbnN0YW5jZS50cmlnZ2VyKCAnb25GdWxsc2NyZWVuQ2hhbmdlJywgaXNGdWxsc2NyZWVuICk7CgoJCQlpbnN0YW5jZS4kcmVmcy5jb250YWluZXIudG9nZ2xlQ2xhc3MoICdmYW5jeWJveC1pcy1mdWxsc2NyZWVuJywgaXNGdWxsc2NyZWVuICk7CgkJfQoKCX0pOwoKfSggZG9jdW1lbnQsIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLy8KLy8gVGh1bWJzCi8vIERpc3BsYXlzIHRodW1ibmFpbHMgaW4gYSBncmlkCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKGRvY3VtZW50LCAkKSB7CgkndXNlIHN0cmljdCc7CgoJLy8gTWFrZSBzdXJlIHRoZXJlIGFyZSBkZWZhdWx0IHZhbHVlcwoJJC5mYW5jeWJveC5kZWZhdWx0cyA9ICQuZXh0ZW5kKHRydWUsIHsKCQlidG5UcGwgOiB7CgkJCXRodW1icyA6CgkJCSc8YnV0dG9uIGRhdGEtZmFuY3lib3gtdGh1bWJzIGNsYXNzPSJmYW5jeWJveC1idXR0b24gZmFuY3lib3gtYnV0dG9uLS10aHVtYnMiIHRpdGxlPSJ7e1RIVU1CU319Ij4nICsKCQkJCSc8c3ZnIHZpZXdCb3g9IjAgMCAxMjAgMTIwIj4nICsKCQkJCQknPHBhdGggZD0iTTMwLDMwIGgxNCB2MTQgaC0xNCBaIE01MCwzMCBoMTQgdjE0IGgtMTQgWiBNNzAsMzAgaDE0IHYxNCBoLTE0IFogTTMwLDUwIGgxNCB2MTQgaC0xNCBaIE01MCw1MCBoMTQgdjE0IGgtMTQgWiBNNzAsNTAgaDE0IHYxNCBoLTE0IFogTTMwLDcwIGgxNCB2MTQgaC0xNCBaIE01MCw3MCBoMTQgdjE0IGgtMTQgWiBNNzAsNzAgaDE0IHYxNCBoLTE0IFoiIC8+JyArCgkJCQknPC9zdmc+JyArCgkJCSc8L2J1dHRvbj4nCgkJfSwKCQl0aHVtYnMgOiB7CgkJCWF1dG9TdGFydCAgIDogZmFsc2UsICAgICAgICAgICAgICAgICAgLy8gRGlzcGxheSB0aHVtYm5haWxzIG9uIG9wZW5pbmcKCQkJaGlkZU9uQ2xvc2UgOiB0cnVlLCAgICAgICAgICAgICAgICAgICAvLyBIaWRlIHRodW1ibmFpbCBncmlkIHdoZW4gY2xvc2luZyBhbmltYXRpb24gc3RhcnRzCgkJCXBhcmVudEVsICAgIDogJy5mYW5jeWJveC1jb250YWluZXInLCAgLy8gQ29udGFpbmVyIGlzIGluamVjdGVkIGludG8gdGhpcyBlbGVtZW50CgkJCWF4aXMgICAgICAgIDogJ3knICAgICAgICAgICAgICAgICAgICAgLy8gVmVydGljYWwgKHkpIG9yIGhvcml6b250YWwgKHgpIHNjcm9sbGluZwoJCX0KCX0sICQuZmFuY3lib3guZGVmYXVsdHMpOwoKCXZhciBGYW5jeVRodW1icyA9IGZ1bmN0aW9uKCBpbnN0YW5jZSApIHsKCQl0aGlzLmluaXQoIGluc3RhbmNlICk7Cgl9OwoKCSQuZXh0ZW5kKCBGYW5jeVRodW1icy5wcm90b3R5cGUsIHsKCgkJJGJ1dHRvbgkJOiBudWxsLAoJCSRncmlkCQk6IG51bGwsCgkJJGxpc3QJCTogbnVsbCwKCQlpc1Zpc2libGUJOiBmYWxzZSwKCQlpc0FjdGl2ZQk6IGZhbHNlLAoKCQlpbml0IDogZnVuY3Rpb24oIGluc3RhbmNlICkgewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQlzZWxmLmluc3RhbmNlID0gaW5zdGFuY2U7CgoJCQlpbnN0YW5jZS5UaHVtYnMgPSBzZWxmOwoKCQkJLy8gRW5hYmxlIHRodW1icyBpZiBhdCBsZWFzdCB0d28gZ3JvdXAgaXRlbXMgaGF2ZSB0aHVtYm5haWxzCgkJCXZhciBmaXJzdCAgPSBpbnN0YW5jZS5ncm91cFswXSwKCQkJCXNlY29uZCA9IGluc3RhbmNlLmdyb3VwWzFdOwoKCQkJc2VsZi5vcHRzID0gaW5zdGFuY2UuZ3JvdXBbIGluc3RhbmNlLmN1cnJJbmRleCBdLm9wdHMudGh1bWJzOwoKCQkJc2VsZi4kYnV0dG9uID0gaW5zdGFuY2UuJHJlZnMudG9vbGJhci5maW5kKCAnW2RhdGEtZmFuY3lib3gtdGh1bWJzXScgKTsKCgkJCWlmICggc2VsZi5vcHRzICYmIGZpcnN0ICYmIHNlY29uZCAmJiAoCgkJICAgIAkJKCBmaXJzdC50eXBlID09ICdpbWFnZScgIHx8IGZpcnN0Lm9wdHMudGh1bWIgIHx8IGZpcnN0Lm9wdHMuJHRodW1iICkgJiYKCQkgICAgCQkoIHNlY29uZC50eXBlID09ICdpbWFnZScgfHwgc2Vjb25kLm9wdHMudGh1bWIgfHwgc2Vjb25kLm9wdHMuJHRodW1iICkKCQkJKSkgewoKCQkJCXNlbGYuJGJ1dHRvbi5zaG93KCkub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7CgkJCQkJc2VsZi50b2dnbGUoKTsKCQkJCX0pOwoKCQkJCXNlbGYuaXNBY3RpdmUgPSB0cnVlOwoKCQkJfSBlbHNlIHsKCQkJCXNlbGYuJGJ1dHRvbi5oaWRlKCk7CgkJCX0KCQl9LAoKCQljcmVhdGUgOiBmdW5jdGlvbigpIHsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJaW5zdGFuY2UgPSBzZWxmLmluc3RhbmNlLAoJCQkJcGFyZW50RWwgPSBzZWxmLm9wdHMucGFyZW50RWwsCgkJCQlsaXN0LAoJCQkJc3JjOwoKCQkJc2VsZi4kZ3JpZCA9ICQoJzxkaXYgY2xhc3M9ImZhbmN5Ym94LXRodW1icyBmYW5jeWJveC10aHVtYnMtJyArIHNlbGYub3B0cy5heGlzICsgJyI+PC9kaXY+JykuYXBwZW5kVG8oIGluc3RhbmNlLiRyZWZzLmNvbnRhaW5lci5maW5kKCBwYXJlbnRFbCApLmFkZEJhY2soKS5maWx0ZXIoIHBhcmVudEVsICkgKTsKCgkJCS8vIEJ1aWxkIGxpc3QgSFRNTAoJCQlsaXN0ID0gJzx1bD4nOwoKCQkJJC5lYWNoKGluc3RhbmNlLmdyb3VwLCBmdW5jdGlvbiggaSwgaXRlbSApIHsKCQkJCXNyYyA9IGl0ZW0ub3B0cy50aHVtYiB8fCAoIGl0ZW0ub3B0cy4kdGh1bWIgPyBpdGVtLm9wdHMuJHRodW1iLmF0dHIoICdzcmMnICkgOiBudWxsICk7CgoJCQkJaWYgKCAhc3JjICYmIGl0ZW0udHlwZSA9PT0gJ2ltYWdlJyApIHsKCQkJCQlzcmMgPSBpdGVtLnNyYzsKCQkJCX0KCgkJCQlpZiAoIHNyYyAmJiBzcmMubGVuZ3RoICkgewoJCQkJCWxpc3QgKz0gJzxsaSBkYXRhLWluZGV4PSInICsgaSArICciICB0YWJpbmRleD0iMCIgY2xhc3M9ImZhbmN5Ym94LXRodW1icy1sb2FkaW5nIj48aW1nIGRhdGEtc3JjPSInICsgc3JjICsgJyIgLz48L2xpPic7CgkJCQl9CgkJCX0pOwoKCQkJbGlzdCArPSAnPC91bD4nOwoKCQkJc2VsZi4kbGlzdCA9ICQoIGxpc3QgKS5hcHBlbmRUbyggc2VsZi4kZ3JpZCApLm9uKCdjbGljaycsICdsaScsIGZ1bmN0aW9uKCkgewoJCQkJaW5zdGFuY2UuanVtcFRvKCAkKHRoaXMpLmRhdGEoJ2luZGV4JykgKTsKCQkJfSk7CgoJCQlzZWxmLiRsaXN0LmZpbmQoICdpbWcnICkuaGlkZSgpLm9uZSgnbG9hZCcsIGZ1bmN0aW9uKCkgewoJCQkJdmFyICRwYXJlbnQJCT0gJCh0aGlzKS5wYXJlbnQoKS5yZW1vdmVDbGFzcyggJ2ZhbmN5Ym94LXRodW1icy1sb2FkaW5nJyApLAoJCQkJCXRodW1iV2lkdGgJPSAkcGFyZW50Lm91dGVyV2lkdGgoKSwKCQkJCQl0aHVtYkhlaWdodAk9ICRwYXJlbnQub3V0ZXJIZWlnaHQoKSwKCQkJCQl3aWR0aCwKCQkJCQloZWlnaHQsCgkJCQkJd2lkdGhSYXRpbywKCQkJCQloZWlnaHRSYXRpbzsKCgkJCQl3aWR0aCAgPSB0aGlzLm5hdHVyYWxXaWR0aAl8fCB0aGlzLndpZHRoOwoJCQkJaGVpZ2h0ID0gdGhpcy5uYXR1cmFsSGVpZ2h0CXx8IHRoaXMuaGVpZ2h0OwoKCQkJCS8vIENhbGN1bGF0ZSB0aHVtYm5haWwgZGltZW5zaW9uczsgY2VudGVyIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseQoJCQkJd2lkdGhSYXRpbyAgPSB3aWR0aCAgLyB0aHVtYldpZHRoOwoJCQkJaGVpZ2h0UmF0aW8gPSBoZWlnaHQgLyB0aHVtYkhlaWdodDsKCgkJCQlpZiAod2lkdGhSYXRpbyA+PSAxICYmIGhlaWdodFJhdGlvID49IDEpIHsKCQkJCQlpZiAod2lkdGhSYXRpbyA+IGhlaWdodFJhdGlvKSB7CgkJCQkJCXdpZHRoICA9IHdpZHRoIC8gaGVpZ2h0UmF0aW87CgkJCQkJCWhlaWdodCA9IHRodW1iSGVpZ2h0OwoKCQkJCQl9IGVsc2UgewoJCQkJCQl3aWR0aCAgPSB0aHVtYldpZHRoOwoJCQkJCQloZWlnaHQgPSBoZWlnaHQgLyB3aWR0aFJhdGlvOwoJCQkJCX0KCQkJCX0KCgkJCQkkKHRoaXMpLmNzcyh7CgkJCQkJd2lkdGggICAgICAgICA6IE1hdGguZmxvb3Iod2lkdGgpLAoJCQkJCWhlaWdodCAgICAgICAgOiBNYXRoLmZsb29yKGhlaWdodCksCgkJCQkJJ21hcmdpbi10b3AnICA6IGhlaWdodCA+IHRodW1iSGVpZ2h0ID8gKCBNYXRoLmZsb29yKHRodW1iSGVpZ2h0ICogMC4zIC0gaGVpZ2h0ICogMC4zICkgKSA6IE1hdGguZmxvb3IodGh1bWJIZWlnaHQgKiAwLjUgLSBoZWlnaHQgKiAwLjUgKSwKCQkJCQknbWFyZ2luLWxlZnQnIDogTWF0aC5mbG9vcih0aHVtYldpZHRoICogMC41IC0gd2lkdGggKiAwLjUgKQoJCQkJfSkuc2hvdygpOwoKCQkJfSkKCQkJLmVhY2goZnVuY3Rpb24oKSB7CgkJCQl0aGlzLnNyYyA9ICQoIHRoaXMgKS5kYXRhKCAnc3JjJyApOwoJCQl9KTsKCgkJCWlmICggc2VsZi5vcHRzLmF4aXMgPT09ICd4JyApIHsKCQkJCXNlbGYuJGxpc3Qud2lkdGgoIHBhcnNlSW50KCBzZWxmLiRncmlkLmNzcygicGFkZGluZy1yaWdodCIpICkgKyAoIGluc3RhbmNlLmdyb3VwLmxlbmd0aCAqIHNlbGYuJGxpc3QuY2hpbGRyZW4oKS5lcSgwKS5vdXRlcldpZHRoKHRydWUpICkgKyAncHgnICk7CgkJCX0KCQl9LAoKCQlmb2N1cyA6IGZ1bmN0aW9uKCBkdXJhdGlvbiApIHsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJJGxpc3QgPSBzZWxmLiRsaXN0LAoJCQkJdGh1bWIsCgkJCQl0aHVtYlBvczsKCgkJCWlmICggc2VsZi5pbnN0YW5jZS5jdXJyZW50ICkgewoJCQkJdGh1bWIgPSAkbGlzdC5jaGlsZHJlbigpCgkJCQkJLnJlbW92ZUNsYXNzKCAnZmFuY3lib3gtdGh1bWJzLWFjdGl2ZScgKQoJCQkJCS5maWx0ZXIoJ1tkYXRhLWluZGV4PSInICsgc2VsZi5pbnN0YW5jZS5jdXJyZW50LmluZGV4ICArICciXScpCgkJCQkJLmFkZENsYXNzKCdmYW5jeWJveC10aHVtYnMtYWN0aXZlJyk7CgoJCQkJdGh1bWJQb3MgPSB0aHVtYi5wb3NpdGlvbigpOwoKCQkJCS8vIENoZWNrIGlmIG5lZWQgdG8gc2Nyb2xsIHRvIG1ha2UgY3VycmVudCB0aHVtYiB2aXNpYmxlCgkJCQlpZiAoIHNlbGYub3B0cy5heGlzID09PSAneScgJiYgKCB0aHVtYlBvcy50b3AgPCAwIHx8IHRodW1iUG9zLnRvcCA+ICggJGxpc3QuaGVpZ2h0KCkgLSB0aHVtYi5vdXRlckhlaWdodCgpICkgKSApIHsKCQkJCQkkbGlzdC5zdG9wKCkuYW5pbWF0ZSh7ICdzY3JvbGxUb3AnIDogJGxpc3Quc2Nyb2xsVG9wKCkgKyB0aHVtYlBvcy50b3AgfSwgZHVyYXRpb24pOwoKCQkJCX0gZWxzZSBpZiAoIHNlbGYub3B0cy5heGlzID09PSAneCcgJiYgKAoJCQkJCQl0aHVtYlBvcy5sZWZ0IDwgJGxpc3QucGFyZW50KCkuc2Nyb2xsTGVmdCgpIHx8CgkJCQkJCXRodW1iUG9zLmxlZnQgPiAoICRsaXN0LnBhcmVudCgpLnNjcm9sbExlZnQoKSArICggJGxpc3QucGFyZW50KCkud2lkdGgoKSAtIHRodW1iLm91dGVyV2lkdGgoKSApICkKCQkJCQkpCgkJCQkpIHsKCQkJCQkkbGlzdC5wYXJlbnQoKS5zdG9wKCkuYW5pbWF0ZSh7ICdzY3JvbGxMZWZ0JyA6IHRodW1iUG9zLmxlZnQgfSwgZHVyYXRpb24pOwoJCQkJfQoJCQl9CgkJfSwKCgkJdXBkYXRlIDogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaW5zdGFuY2UuJHJlZnMuY29udGFpbmVyLnRvZ2dsZUNsYXNzKCAnZmFuY3lib3gtc2hvdy10aHVtYnMnLCB0aGlzLmlzVmlzaWJsZSApOwoKCQkJaWYgKCB0aGlzLmlzVmlzaWJsZSApIHsKCQkJCWlmICggIXRoaXMuJGdyaWQgKSB7CgkJCQkJdGhpcy5jcmVhdGUoKTsKCQkJCX0KCgkJCQl0aGlzLmluc3RhbmNlLnRyaWdnZXIoICdvblRodW1ic1Nob3cnICk7CgoJCQkJdGhpcy5mb2N1cyggMCApOwoKCQkJfSBlbHNlIGlmICggdGhpcy4kZ3JpZCApIHsKCQkJCXRoaXMuaW5zdGFuY2UudHJpZ2dlciggJ29uVGh1bWJzSGlkZScgKTsKCQkJfQoKCQkJLy8gVXBkYXRlIGNvbnRlbnQgcG9zaXRpb24KCQkJdGhpcy5pbnN0YW5jZS51cGRhdGUoKTsKCQl9LAoKCQloaWRlIDogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaXNWaXNpYmxlID0gZmFsc2U7CgkJCXRoaXMudXBkYXRlKCk7CgkJfSwKCgkJc2hvdyA6IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmlzVmlzaWJsZSA9IHRydWU7CgkJCXRoaXMudXBkYXRlKCk7CgkJfSwKCgkJdG9nZ2xlIDogZnVuY3Rpb24oKSB7CgkJCXRoaXMuaXNWaXNpYmxlID0gIXRoaXMuaXNWaXNpYmxlOwoJCQl0aGlzLnVwZGF0ZSgpOwoJCX0KCX0pOwoKCSQoZG9jdW1lbnQpLm9uKHsKCgkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbihlLCBpbnN0YW5jZSkgewoJCQl2YXIgVGh1bWJzOwoKCQkJaWYgKCBpbnN0YW5jZSAmJiAhaW5zdGFuY2UuVGh1bWJzICkgewoJCQkJVGh1bWJzID0gbmV3IEZhbmN5VGh1bWJzKCBpbnN0YW5jZSApOwoKCQkJCWlmICggVGh1bWJzLmlzQWN0aXZlICYmIFRodW1icy5vcHRzLmF1dG9TdGFydCA9PT0gdHJ1ZSApIHsKCQkJCQlUaHVtYnMuc2hvdygpOwoJCQkJfQoJCQl9CgkJfSwKCgkJJ2JlZm9yZVNob3cuZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGl0ZW0sIGZpcnN0UnVuKSB7CgkJCXZhciBUaHVtYnMgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5UaHVtYnM7CgoJCQlpZiAoIFRodW1icyAmJiBUaHVtYnMuaXNWaXNpYmxlICkgewoJCQkJVGh1bWJzLmZvY3VzKCBmaXJzdFJ1biA/IDAgOiAyNTAgKTsKCQkJfQoJCX0sCgoJCSdhZnRlcktleWRvd24uZmInIDogZnVuY3Rpb24oZSwgaW5zdGFuY2UsIGN1cnJlbnQsIGtleXByZXNzLCBrZXljb2RlKSB7CgkJCXZhciBUaHVtYnMgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5UaHVtYnM7CgoJCQkvLyAiRyIKCQkJaWYgKCBUaHVtYnMgJiYgVGh1bWJzLmlzQWN0aXZlICYmIGtleWNvZGUgPT09IDcxICkgewoJCQkJa2V5cHJlc3MucHJldmVudERlZmF1bHQoKTsKCgkJCQlUaHVtYnMudG9nZ2xlKCk7CgkJCX0KCQl9LAoKCQknYmVmb3JlQ2xvc2UuZmInIDogZnVuY3Rpb24oIGUsIGluc3RhbmNlICkgewoJCQl2YXIgVGh1bWJzID0gaW5zdGFuY2UgJiYgaW5zdGFuY2UuVGh1bWJzOwoKCQkJaWYgKCBUaHVtYnMgJiYgVGh1bWJzLmlzVmlzaWJsZSAmJiBUaHVtYnMub3B0cy5oaWRlT25DbG9zZSAhPT0gZmFsc2UgKSB7CgkJCQlUaHVtYnMuJGdyaWQuaGlkZSgpOwoJCQl9CgkJfQoKCX0pOwoKfShkb2N1bWVudCwgd2luZG93LmpRdWVyeSkpOwoKLy8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLwovLyBTaGFyZQovLyBEaXNwbGF5cyBzaW1wbGUgZm9ybSBmb3Igc2hhcmluZyBjdXJyZW50IHVybAovLwovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo7KGZ1bmN0aW9uIChkb2N1bWVudCwgJCkgewoJJ3VzZSBzdHJpY3QnOwoKCSQuZXh0ZW5kKHRydWUsICQuZmFuY3lib3guZGVmYXVsdHMsIHsKCQlidG5UcGwgOiB7CgkJCXNoYXJlIDoKCQkJCSc8YnV0dG9uIGRhdGEtZmFuY3lib3gtc2hhcmUgY2xhc3M9ImZhbmN5Ym94LWJ1dHRvbiBmYW5jeWJveC1idXR0b24tLXNoYXJlIiB0aXRsZT0ie3tTSEFSRX19Ij4nICsKCQkJCQknPHN2ZyB2aWV3Qm94PSIwIDAgNDAgNDAiPicgKwoJCQkJCQknPHBhdGggZD0iTTYsMzAgQzgsMTggMTksMTYgMjMsMTYgTDIzLDE2IEwyMywxMCBMMzMsMjAgTDIzLDI5IEwyMywyNCBDMTksMjQgOCwyNyA2LDMwIFoiPicgKwoJCQkJCSc8L3N2Zz4nICsKCQkJCSc8L2J1dHRvbj4nCgkJfSwKCQlzaGFyZSA6IHsKCQkJdHBsIDoKCQkJCSc8ZGl2IGNsYXNzPSJmYW5jeWJveC1zaGFyZSI+JyArCgkJCQkJJzxoMT57e1NIQVJFfX08L2gxPicgKwoJCQkJCSc8cCBjbGFzcz0iZmFuY3lib3gtc2hhcmVfX2xpbmtzIj4nICsKCQkJCQkJJzxhIGNsYXNzPSJmYW5jeWJveC1zaGFyZV9fYnV0dG9uIGZhbmN5Ym94LXNoYXJlX19idXR0b24tLWZiIiBocmVmPSJodHRwczovL3d3dy5mYWNlYm9vay5jb20vc2hhcmVyL3NoYXJlci5waHA/dT17e3VybH19Ij4nICsKCQkJCQkJCSc8c3ZnIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im0yODcgNDU2di0yOTljMC0yMSA2LTM1IDM1LTM1aDM4di02M2MtNy0xLTI5LTMtNTUtMy01NCAwLTkxIDMzLTkxIDk0djMwNm0xNDMtMjU0aC0yMDV2NzJoMTk2IiAvPjwvc3ZnPicgKwoJCQkJCQkJJzxzcGFuPkZhY2Vib29rPC9zcGFuPicgKwoJCQkJCQknPC9hPicgKwoJCQkJCQknPGEgY2xhc3M9ImZhbmN5Ym94LXNoYXJlX19idXR0b24gZmFuY3lib3gtc2hhcmVfX2J1dHRvbi0tcHQiIGhyZWY9Imh0dHBzOi8vd3d3LnBpbnRlcmVzdC5jb20vcGluL2NyZWF0ZS9idXR0b24vP3VybD17e3VybH19JmRlc2NyaXB0aW9uPXt7ZGVzY3J9fSZtZWRpYT17e21lZGlhfX0iPicgKwoJCQkJCQkJJzxzdmcgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTI2NSA1NmMtMTA5IDAtMTY0IDc4LTE2NCAxNDQgMCAzOSAxNSA3NCA0NyA4NyA1IDIgMTAgMCAxMi01bDQtMTljMi02IDEtOC0zLTEzLTktMTEtMTUtMjUtMTUtNDUgMC01OCA0My0xMTAgMTEzLTExMCA2MiAwIDk2IDM4IDk2IDg4IDAgNjctMzAgMTIyLTczIDEyMi0yNCAwLTQyLTE5LTM2LTQ0IDYtMjkgMjAtNjAgMjAtODEgMC0xOS0xMC0zNS0zMS0zNS0yNSAwLTQ0IDI2LTQ0IDYwIDAgMjEgNyAzNiA3IDM2bC0zMCAxMjVjLTggMzctMSA4MyAwIDg3IDAgMyA0IDQgNSAyIDItMyAzMi0zOSA0Mi03NWwxNi02NGM4IDE2IDMxIDI5IDU2IDI5IDc0IDAgMTI0LTY3IDEyNC0xNTcgMC02OS01OC0xMzItMTQ2LTEzMnoiIGZpbGw9IiNmZmYiLz48L3N2Zz4nICsKCQkJCQkJCSc8c3Bhbj5QaW50ZXJlc3Q8L3NwYW4+JyArCgkJCQkJCSc8L2E+JyArCgkJCQkJCSc8YSBjbGFzcz0iZmFuY3lib3gtc2hhcmVfX2J1dHRvbiBmYW5jeWJveC1zaGFyZV9fYnV0dG9uLS10dyIgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9pbnRlbnQvdHdlZXQ/dXJsPXt7dXJsfX0mdGV4dD17e2Rlc2NyfX0iPicgKwoJCQkJCQkJJzxzdmcgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0ibTQ1NiAxMzNjLTE0IDctMzEgMTEtNDcgMTMgMTctMTAgMzAtMjcgMzctNDYtMTUgMTAtMzQgMTYtNTIgMjAtNjEtNjItMTU3LTctMTQxIDc1LTY4LTMtMTI5LTM1LTE2OS04NS0yMiAzNy0xMSA4NiAyNiAxMDktMTMgMC0yNi00LTM3LTkgMCAzOSAyOCA3MiA2NSA4MC0xMiAzLTI1IDQtMzcgMiAxMCAzMyA0MSA1NyA3NyA1Ny00MiAzMC03NyAzOC0xMjIgMzQgMTcwIDExMSAzNzgtMzIgMzU5LTIwOCAxNi0xMSAzMC0yNSA0MS00MnoiIC8+PC9zdmc+JyArCgkJCQkJCQknPHNwYW4+VHdpdHRlcjwvc3Bhbj4nICsKCQkJCQkJJzwvYT4nICsKCQkJCQknPC9wPicgKwoJCQkJCSc8cD48aW5wdXQgY2xhc3M9ImZhbmN5Ym94LXNoYXJlX19pbnB1dCIgdHlwZT0idGV4dCIgdmFsdWU9Int7dXJsX3Jhd319IiAvPjwvcD4nICsKCQkJCSc8L2Rpdj4nCgkJfQoJfSk7CgoJZnVuY3Rpb24gZXNjYXBlSHRtbChzdHJpbmcpIHsKCQl2YXIgZW50aXR5TWFwID0gewoJCSAgJyYnOiAnJmFtcDsnLAoJCSAgJzwnOiAnJmx0OycsCgkJICAnPic6ICcmZ3Q7JywKCQkgICciJzogJyZxdW90OycsCgkJICAiJyI6ICcmIzM5OycsCgkJICAnLyc6ICcmI3gyRjsnLAoJCSAgJ2AnOiAnJiN4NjA7JywKCQkgICc9JzogJyYjeDNEOycKCQl9OwoKCQlyZXR1cm4gU3RyaW5nKHN0cmluZykucmVwbGFjZSgvWyY8PiInYD1cL10vZywgZnVuY3Rpb24gKHMpIHsKCQkJcmV0dXJuIGVudGl0eU1hcFtzXTsKCQl9KTsKCX0KCgkkKGRvY3VtZW50KS5vbignY2xpY2snLCAnW2RhdGEtZmFuY3lib3gtc2hhcmVdJywgZnVuY3Rpb24oKSB7CgkJdmFyIGYgPSAkLmZhbmN5Ym94LmdldEluc3RhbmNlKCksCgkJCXVybCwKCQkJdHBsOwoKCQlpZiAoIGYgKSB7CgkJCXVybCA9IGYuY3VycmVudC5vcHRzLmhhc2ggPT09IGZhbHNlID8gZi5jdXJyZW50LnNyYyA6IHdpbmRvdy5sb2NhdGlvbjsKCQkJdHBsID0gZi5jdXJyZW50Lm9wdHMuc2hhcmUudHBsCgkJCQkJLnJlcGxhY2UoIC9ce1x7bWVkaWFcfVx9L2csIGYuY3VycmVudC50eXBlID09PSAnaW1hZ2UnID8gZW5jb2RlVVJJQ29tcG9uZW50KCBmLmN1cnJlbnQuc3JjICkgOiAnJyApCgkJCQkJLnJlcGxhY2UoIC9ce1x7dXJsXH1cfS9nLCBlbmNvZGVVUklDb21wb25lbnQoIHVybCApICkKCQkJCQkucmVwbGFjZSggL1x7XHt1cmxfcmF3XH1cfS9nLCBlc2NhcGVIdG1sKCB1cmwgKSApCgkJCQkJLnJlcGxhY2UoIC9ce1x7ZGVzY3JcfVx9L2csIGYuJGNhcHRpb24gPyBlbmNvZGVVUklDb21wb25lbnQoIGYuJGNhcHRpb24udGV4dCgpICkgOiAnJyApOwoKCQkJJC5mYW5jeWJveC5vcGVuKHsKCQkJCXNyYyAgOiBmLnRyYW5zbGF0ZSggZiwgdHBsICksCgkJCQl0eXBlIDogJ2h0bWwnLAoJCQkJb3B0cyA6IHsKCQkJCQlhbmltYXRpb25FZmZlY3QgICA6ICJmYWRlIiwKCQkJCQlhbmltYXRpb25EdXJhdGlvbiA6IDI1MCwKCQkJCQlhZnRlckxvYWQgOiBmdW5jdGlvbihpbnN0YW5jZSwgY3VycmVudCkgewoJCQkJCQkvLyBPcGVuaW5nIGxpbmtzIGluIGEgcG9wdXAgd2luZG93CgkJCQkJCWN1cnJlbnQuJGNvbnRlbnQuZmluZCgnLmZhbmN5Ym94LXNoYXJlX19saW5rcyBhJykuY2xpY2soZnVuY3Rpb24oKSB7CgkJCQkJICAgICAgICB3aW5kb3cub3Blbih0aGlzLmhyZWYsICJTaGFyZSIsICJ3aWR0aD01NTAsIGhlaWdodD00NTAiKTsKCQkJCQkgICAgICAgIHJldHVybiBmYWxzZTsKCQkJCQkJfSk7CgkJCQkJfQoJCQkJfQoJCQl9KTsKCQl9CgoJfSk7Cgp9KCBkb2N1bWVudCwgd2luZG93LmpRdWVyeSB8fCBqUXVlcnkgKSk7CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQovLwovLyBIYXNoCi8vIEVuYWJsZXMgbGlua2luZyB0byBlYWNoIG1vZGFsCi8vCi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjsoZnVuY3Rpb24gKGRvY3VtZW50LCB3aW5kb3csICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgkvLyBTaW1wbGUgJC5lc2NhcGVTZWxlY3RvciBwb2x5ZmlsbCAoZm9yIGpRdWVyeSBwcmlvciB2MykKCWlmICggISQuZXNjYXBlU2VsZWN0b3IgKSB7CgkJJC5lc2NhcGVTZWxlY3RvciA9IGZ1bmN0aW9uKCBzZWwgKSB7CgkJCXZhciByY3NzZXNjYXBlID0gLyhbXDAtXHgxZlx4N2ZdfF4tP1xkKXxeLSR8W15ceDgwLVx1RkZGRlx3LV0vZzsKCQkJdmFyIGZjc3Nlc2NhcGUgPSBmdW5jdGlvbiggY2gsIGFzQ29kZVBvaW50ICkgewoJCQkJaWYgKCBhc0NvZGVQb2ludCApIHsKCQkJCQkvLyBVKzAwMDAgTlVMTCBiZWNvbWVzIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKCQkJCQlpZiAoIGNoID09PSAiXDAiICkgewoJCQkJCQlyZXR1cm4gIlx1RkZGRCI7CgkJCQkJfQoKCQkJCQkvLyBDb250cm9sIGNoYXJhY3RlcnMgYW5kIChkZXBlbmRlbnQgdXBvbiBwb3NpdGlvbikgbnVtYmVycyBnZXQgZXNjYXBlZCBhcyBjb2RlIHBvaW50cwoJCQkJCXJldHVybiBjaC5zbGljZSggMCwgLTEgKSArICJcXCIgKyBjaC5jaGFyQ29kZUF0KCBjaC5sZW5ndGggLSAxICkudG9TdHJpbmcoIDE2ICkgKyAiICI7CgkJCQl9CgoJCQkJLy8gT3RoZXIgcG90ZW50aWFsbHktc3BlY2lhbCBBU0NJSSBjaGFyYWN0ZXJzIGdldCBiYWNrc2xhc2gtZXNjYXBlZAoJCQkJcmV0dXJuICJcXCIgKyBjaDsKCQkJfTsKCgkJCXJldHVybiAoIHNlbCArICIiICkucmVwbGFjZSggcmNzc2VzY2FwZSwgZmNzc2VzY2FwZSApOwoJCX07Cgl9CgoJLy8gQ3JlYXRlIG5ldyBoaXN0b3J5IGVudHJ5IG9ubHkgb25jZQoJdmFyIHNob3VsZENyZWF0ZUhpc3RvcnkgPSB0cnVlOwoKCS8vIFZhcmlhYmxlIGNvbnRhaW5pbmcgbGFzdCBoYXNoIHZhbHVlIHNldCBieSBmYW5jeUJveAoJLy8gSXQgd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSBpZiBmYW5jeUJveCBuZWVkcyB0byBjbG9zZSBhZnRlciBoYXNoIGNoYW5nZSBpcyBkZXRlY3RlZAogICAgdmFyIGN1cnJlbnRIYXNoID0gbnVsbDsKCgkvLyBUaHJvdHRsaW5nIHRoZSBoaXN0b3J5IGNoYW5nZQoJdmFyIHRpbWVySUQgPSBudWxsOwoKCS8vIEdldCBpbmZvIGFib3V0IGdhbGxlcnkgbmFtZSBhbmQgY3VycmVudCBpbmRleCBmcm9tIHVybAogICAgZnVuY3Rpb24gcGFyc2VVcmwoKSB7CiAgICAgICAgdmFyIGhhc2ggICAgPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHIoIDEgKTsKICAgICAgICB2YXIgcmV6ICAgICA9IGhhc2guc3BsaXQoICctJyApOwogICAgICAgIHZhciBpbmRleCAgID0gcmV6Lmxlbmd0aCA+IDEgJiYgL15cKz9cZCskLy50ZXN0KCByZXpbIHJlei5sZW5ndGggLSAxIF0gKSA/IHBhcnNlSW50KCByZXoucG9wKCAtMSApLCAxMCApIHx8IDEgOiAxOwogICAgICAgIHZhciBnYWxsZXJ5ID0gcmV6LmpvaW4oICctJyApOwoKCQkvLyBJbmRleCBpcyBzdGFydGluZyBmcm9tIDEKCQlpZiAoIGluZGV4IDwgMSApIHsKCQkJaW5kZXggPSAxOwoJCX0KCiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgaGFzaCAgICA6IGhhc2gsCiAgICAgICAgICAgIGluZGV4ICAgOiBpbmRleCwKICAgICAgICAgICAgZ2FsbGVyeSA6IGdhbGxlcnkKICAgICAgICB9OwogICAgfQoKCS8vIFRyaWdnZXIgY2xpY2sgZXZudCBvbiBsaW5rcyB0byBvcGVuIG5ldyBmYW5jeUJveCBpbnN0YW5jZQoJZnVuY3Rpb24gdHJpZ2dlckZyb21VcmwoIHVybCApIHsKCQl2YXIgJGVsOwoKICAgICAgICBpZiAoIHVybC5nYWxsZXJ5ICE9PSAnJyApIHsKCgkJCS8vIElmIHdlIGNhbiBmaW5kIGVsZW1lbnQgbWF0Y2hpbmcgJ2RhdGEtZmFuY3lib3gnIGF0cmlidXRlLCB0aGVuIHRyaWdnZXIgY2xpY2sgZXZlbnQgZm9yIHRoYXQgLi4KCQkJJGVsID0gJCggIltkYXRhLWZhbmN5Ym94PSciICsgJC5lc2NhcGVTZWxlY3RvciggdXJsLmdhbGxlcnkgKSArICInXSIgKS5lcSggdXJsLmluZGV4IC0gMSApOwoKICAgICAgICAgICAgaWYgKCAhJGVsLmxlbmd0aCApIHsKCQkJCS8vIC4uIGlmIG5vdCwgdHJ5IGZpbmRpbmcgZWxlbWVudCBieSBJRAoJCQkJJGVsID0gJCggIiMiICsgJC5lc2NhcGVTZWxlY3RvciggdXJsLmdhbGxlcnkgKSArICIiICk7CgkJCX0KCgkJCWlmICggJGVsLmxlbmd0aCApIHsKCQkJCXNob3VsZENyZWF0ZUhpc3RvcnkgPSBmYWxzZTsKCgkJCQkkZWwudHJpZ2dlciggJ2NsaWNrJyApOwoJCQl9CgogICAgICAgIH0KCX0KCgkvLyBHZXQgZ2FsbGVyeSBuYW1lIGZyb20gY3VycmVudCBpbnN0YW5jZQoJZnVuY3Rpb24gZ2V0R2FsbGVyeUlEKCBpbnN0YW5jZSApIHsKCQl2YXIgb3B0czsKCgkJaWYgKCAhaW5zdGFuY2UgKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCW9wdHMgPSBpbnN0YW5jZS5jdXJyZW50ID8gaW5zdGFuY2UuY3VycmVudC5vcHRzIDogaW5zdGFuY2Uub3B0czsKCgkJcmV0dXJuIG9wdHMuaGFzaCB8fCAoIG9wdHMuJG9yaWcgPyBvcHRzLiRvcmlnLmRhdGEoICdmYW5jeWJveCcgKSA6ICcnICApOwoJfQoKCS8vIFN0YXJ0IHdoZW4gRE9NIGJlY29tZXMgcmVhZHkKICAgICQoZnVuY3Rpb24oKSB7CgoJCS8vIENoZWNrIGlmIHVzZXIgaGFzIGRpc2FibGVkIHRoaXMgbW9kdWxlCgkJaWYgKCAkLmZhbmN5Ym94LmRlZmF1bHRzLmhhc2ggPT09IGZhbHNlICkgewoJCQlyZXR1cm47CgkJfQoKCQkvLyBVcGRhdGUgaGFzaCB3aGVuIG9wZW5pbmcvY2xvc2luZyBmYW5jeUJveAoJICAgICQoZG9jdW1lbnQpLm9uKHsKCQkJJ29uSW5pdC5mYicgOiBmdW5jdGlvbiggZSwgaW5zdGFuY2UgKSB7CgkJCQl2YXIgdXJsLCBnYWxsZXJ5OwoKCQkJCWlmICggaW5zdGFuY2UuZ3JvdXBbIGluc3RhbmNlLmN1cnJJbmRleCBdLm9wdHMuaGFzaCA9PT0gZmFsc2UgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXVybCAgICAgPSBwYXJzZVVybCgpOwoJCQkJZ2FsbGVyeSA9IGdldEdhbGxlcnlJRCggaW5zdGFuY2UgKTsKCgkJCQkvLyBNYWtlIHN1cmUgZ2FsbGVyeSBzdGFydCBpbmRleCBtYXRjaGVzIGluZGV4IGZyb20gaGFzaAoJCQkJaWYgKCBnYWxsZXJ5ICYmIHVybC5nYWxsZXJ5ICYmIGdhbGxlcnkgPT0gdXJsLmdhbGxlcnkgKSB7CgkJCQkJaW5zdGFuY2UuY3VyckluZGV4ID0gdXJsLmluZGV4IC0gMTsKCQkJCX0KCQkJfSwKCgkJCSdiZWZvcmVTaG93LmZiJyA6IGZ1bmN0aW9uKCBlLCBpbnN0YW5jZSwgY3VycmVudCApIHsKCQkJCXZhciBnYWxsZXJ5OwoKCQkJCWlmICggIWN1cnJlbnQgfHwgY3VycmVudC5vcHRzLmhhc2ggPT09IGZhbHNlICkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkgICAgICAgICAgICBnYWxsZXJ5ID0gZ2V0R2FsbGVyeUlEKCBpbnN0YW5jZSApOwoKCSAgICAgICAgICAgIC8vIFVwZGF0ZSB3aW5kb3cgaGFzaAoJICAgICAgICAgICAgaWYgKCBnYWxsZXJ5ICYmIGdhbGxlcnkgIT09ICcnICkgewoKCQkJCQlpZiAoIHdpbmRvdy5sb2NhdGlvbi5oYXNoLmluZGV4T2YoIGdhbGxlcnkgKSA8IDAgKSB7CgkJICAgICAgICAgICAgICAgIGluc3RhbmNlLm9wdHMub3JpZ0hhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaDsKCQkgICAgICAgICAgICB9CgoJCQkJCWN1cnJlbnRIYXNoID0gZ2FsbGVyeSArICggaW5zdGFuY2UuZ3JvdXAubGVuZ3RoID4gMSA/ICctJyArICggY3VycmVudC5pbmRleCArIDEgKSA6ICcnICk7CgoJCQkJCWlmICggJ3JlcGxhY2VTdGF0ZScgaW4gd2luZG93Lmhpc3RvcnkgKSB7CgkJCQkJCWlmICggdGltZXJJRCApIHsKCQkJCQkJCWNsZWFyVGltZW91dCggdGltZXJJRCApOwoJCQkJCQl9CgoJCQkJCQl0aW1lcklEID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJCQkJCXdpbmRvdy5oaXN0b3J5WyBzaG91bGRDcmVhdGVIaXN0b3J5ID8gJ3B1c2hTdGF0ZScgOiAncmVwbGFjZVN0YXRlJyBdKCB7fSAsIGRvY3VtZW50LnRpdGxlLCB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUgKyB3aW5kb3cubG9jYXRpb24uc2VhcmNoICsgJyMnICsgIGN1cnJlbnRIYXNoICk7CgoJCQkJCQkJdGltZXJJRCA9IG51bGw7CgoJCQkJCQkJc2hvdWxkQ3JlYXRlSGlzdG9yeSA9IGZhbHNlOwoKCQkJCQkJfSwgMzAwKTsKCgkJCQkJfSBlbHNlIHsKCQkJCQkJd2luZG93LmxvY2F0aW9uLmhhc2ggPSBjdXJyZW50SGFzaDsKCQkJCQl9CgoJICAgICAgICAgICAgfQoKCSAgICAgICAgfSwKCgkJCSdiZWZvcmVDbG9zZS5mYicgOiBmdW5jdGlvbiggZSwgaW5zdGFuY2UsIGN1cnJlbnQgKSB7CgkJCQl2YXIgZ2FsbGVyeSwgb3JpZ0hhc2g7CgoJCQkJaWYgKCB0aW1lcklEICkgewoJCQkJCWNsZWFyVGltZW91dCggdGltZXJJRCApOwoJCQkJfQoKCQkJCWlmICggY3VycmVudC5vcHRzLmhhc2ggPT09IGZhbHNlICkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQlnYWxsZXJ5ICA9IGdldEdhbGxlcnlJRCggaW5zdGFuY2UgKTsKCQkJCW9yaWdIYXNoID0gaW5zdGFuY2UgJiYgaW5zdGFuY2Uub3B0cy5vcmlnSGFzaCA/IGluc3RhbmNlLm9wdHMub3JpZ0hhc2ggOiAnJzsKCgkgICAgICAgICAgICAvLyBSZW1vdmUgaGFzaCBmcm9tIGxvY2F0aW9uIGJhcgoJICAgICAgICAgICAgaWYgKCBnYWxsZXJ5ICYmIGdhbGxlcnkgIT09ICcnICkgewoKCSAgICAgICAgICAgICAgICBpZiAoICdyZXBsYWNlU3RhdGUnIGluIGhpc3RvcnkgKSB7CgkJCQkJCXdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSgge30gLCBkb2N1bWVudC50aXRsZSwgd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lICsgd2luZG93LmxvY2F0aW9uLnNlYXJjaCArIG9yaWdIYXNoICk7CgoJICAgICAgICAgICAgICAgIH0gZWxzZSB7CgkJCQkJCXdpbmRvdy5sb2NhdGlvbi5oYXNoID0gb3JpZ0hhc2g7CgoJCQkJCQkvLyBLZWVwIG9yaWdpbmFsIHNjcm9sbCBwb3NpdGlvbgoJCQkJCQkkKCB3aW5kb3cgKS5zY3JvbGxUb3AoIGluc3RhbmNlLnNjcm9sbFRvcCApLnNjcm9sbExlZnQoIGluc3RhbmNlLnNjcm9sbExlZnQgKTsKCSAgICAgICAgICAgICAgICB9CgkgICAgICAgICAgICB9CgoJCQkJY3VycmVudEhhc2ggPSBudWxsOwoJICAgICAgICB9CgkgICAgfSk7CgoJCS8vIENoZWNrIGlmIG5lZWQgdG8gY2xvc2UgYWZ0ZXIgdXJsIGhhcyBjaGFuZ2VkCgkJJCh3aW5kb3cpLm9uKCdoYXNoY2hhbmdlLmZiJywgZnVuY3Rpb24oKSB7CgkJCXZhciB1cmwgPSBwYXJzZVVybCgpOwoKCQkJaWYgKCAkLmZhbmN5Ym94LmdldEluc3RhbmNlKCkgKSB7CgkJCQlpZiAoIGN1cnJlbnRIYXNoICYmIGN1cnJlbnRIYXNoICE9PSB1cmwuZ2FsbGVyeSArICctJyArIHVybC5pbmRleCAmJiAhKCB1cmwuaW5kZXggPT09IDEgJiYgY3VycmVudEhhc2ggPT0gdXJsLmdhbGxlcnkgKSApIHsKCQkJCQljdXJyZW50SGFzaCA9IG51bGw7CgoJCQkJCSQuZmFuY3lib3guY2xvc2UoKTsKCQkJCX0KCgkJCX0gZWxzZSBpZiAoIHVybC5nYWxsZXJ5ICE9PSAnJyApIHsKCQkJCXRyaWdnZXJGcm9tVXJsKCB1cmwgKTsKCQkJfQoJCX0pOwoKCQkvLyBDaGVjayBjdXJyZW50IGhhc2ggYW5kIHRyaWdnZXIgY2xpY2sgZXZlbnQgb24gbWF0Y2hpbmcgZWxlbWVudCB0byBzdGFydCBmYW5jeUJveCwgaWYgbmVlZGVkCgkJc2V0VGltZW91dChmdW5jdGlvbigpIHsKCQkJdHJpZ2dlckZyb21VcmwoIHBhcnNlVXJsKCkgKTsKCQl9LCA1MCk7CiAgICB9KTsKCn0oIGRvY3VtZW50LCB3aW5kb3csIHdpbmRvdy5qUXVlcnkgfHwgalF1ZXJ5ICkpOwoKOyhmdW5jdGlvbiAoZG9jdW1lbnQsICQpIHsKCSd1c2Ugc3RyaWN0JzsKCgl2YXIgcHJldlRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKCiAgICAkKGRvY3VtZW50KS5vbih7CiAgICAgICAgJ29uSW5pdC5mYicgOiBmdW5jdGlvbiggZSwgaW5zdGFuY2UsIGN1cnJlbnQgKSB7CgkJCWluc3RhbmNlLiRyZWZzLnN0YWdlLm9uKCdtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIHdoZWVsIE1vek1vdXNlUGl4ZWxTY3JvbGwnLCBmdW5jdGlvbihlKSB7CgkJCQl2YXIgY3VycmVudCAgPSBpbnN0YW5jZS5jdXJyZW50LAoJCQkJCWN1cnJUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7CgoJCQkJaWYgKCBpbnN0YW5jZS5ncm91cC5sZW5ndGggPCAxIHx8IGN1cnJlbnQub3B0cy53aGVlbCA9PT0gZmFsc2UgfHwgKCBjdXJyZW50Lm9wdHMud2hlZWwgPT09ICdhdXRvJyAmJiBjdXJyZW50LnR5cGUgIT09ICdpbWFnZScgKSApIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJZS5wcmV2ZW50RGVmYXVsdCgpOwoJCQkJZS5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCQlpZiAoIGN1cnJlbnQuJHNsaWRlLmhhc0NsYXNzKCAnZmFuY3lib3gtYW5pbWF0ZWQnICkgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCWUgPSBlLm9yaWdpbmFsRXZlbnQgfHwgZTsKCgkJCQlpZiAoIGN1cnJUaW1lIC0gcHJldlRpbWUgPCAyNTAgKSB7CgkJCQkJcmV0dXJuOwoJCQkJfQoKCQkJCXByZXZUaW1lID0gY3VyclRpbWU7CgoJCQkJaW5zdGFuY2VbICggLWUuZGVsdGFZIHx8IC1lLmRlbHRhWCB8fCBlLndoZWVsRGVsdGEgfHwgLWUuZGV0YWlsICkgPCAwID8gJ25leHQnIDogJ3ByZXZpb3VzJyBdKCk7CgoJCQl9KTsKCQl9CiAgICB9KTsKCn0oIGRvY3VtZW50LCB3aW5kb3cualF1ZXJ5IHx8IGpRdWVyeSApKTsK"}},"time_used":72,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":54,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/mixitup.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.790Z","timestamp":1785135591790,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/mixitup.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 10740\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"cc00-68bf75d4-38953ad35f55f924;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: db8fda60a8e18b999ef4869ec6ca5b43-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":52224,"size_decoded":11349,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (367)","md5":"b9088c94738c3a2c95184e45d0b5f854","sha1":"bad4f5162be5a45a8ba9a44a2af2c7a2315ba725","sha256":"1288abb45b62709defec307fb4668ece7b0259d02b4a6770da169867b29258cf","sha512":"c0c06199ad7018561244a5d8565babb57a94d99dab691a09e4b68c7ddc6ea33bdf03e7e540240bc071cd08a42c7d09f91c4ef5a75a094ffc02a3c622c99d4b97","ssdeep":"768:somWOk24dXP7o9iFz4Mjz/iNr/7B7X8lu:LmZk24dXP88FsMjzY","tlshash":"bc333ef1ef0c7ce19563e255a8aeba83f83e8033a51d8de7bc30b5142d9590a521fd25","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:26:47.134276Z","times_seen":1012,"resource_available":true,"data":"LyoqIQogKiBNaXhJdFVwIHYyLjEuMTAKICoKICogQGNvcHlyaWdodCBDb3B5cmlnaHQgMjAxNSBLdW5rYUxhYnMgTGltaXRlZC4KICogQGF1dGhvciAgICBLdW5rYUxhYnMgTGltaXRlZC4KICogQGxpbmsgICAgICBodHRwczovL21peGl0dXAua3Vua2FsYWJzLmNvbQogKgogKiBAbGljZW5zZSAgIENvbW1lcmNpYWwgdXNlIHJlcXVpcmVzIGEgY29tbWVyY2lhbCBsaWNlbnNlLgogKiAgICAgICAgICAgIGh0dHBzOi8vbWl4aXR1cC5rdW5rYWxhYnMuY29tL2xpY2Vuc2VzLwogKgogKiAgICAgICAgICAgIE5vbi1jb21tZXJjaWFsIHVzZSBwZXJtaXR0ZWQgdW5kZXIgdGVybXMgb2YgQ0MtQlktTkMgbGljZW5zZS4KICogICAgICAgICAgICBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1uYy8zLjAvCiAqLwoKKGZ1bmN0aW9uKCQsIHVuZGYpewoJJ3VzZSBzdHJpY3QnOwoJCgkvKioKCSAqIE1peEl0VXAgQ29uc3RydWN0b3IgRnVuY3Rpb24KCSAqIEBjb25zdHJ1Y3RvcgoJICogQGV4dGVuZHMgalF1ZXJ5CgkgKi8KCQoJJC5NaXhJdFVwID0gZnVuY3Rpb24oKXsKCQl2YXIgc2VsZiA9IHRoaXM7CgkJCgkJc2VsZi5fZXhlY0FjdGlvbignX2NvbnN0cnVjdG9yJywgMCk7CgkJCgkJJC5leHRlbmQoc2VsZiwgewoJCQkKCQkJLyogUHVibGljIFByb3BlcnRpZXMKCQkJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoJCQkKCQkJc2VsZWN0b3JzOiB7CgkJCQl0YXJnZXQ6ICcubWl4JywKCQkJCWZpbHRlcjogJy5maWx0ZXInLAoJCQkJc29ydDogJy5zb3J0JwoJCQl9LAoJCQkJCgkJCWFuaW1hdGlvbjogewoJCQkJZW5hYmxlOiB0cnVlLAoJCQkJZWZmZWN0czogJ2ZhZGUgc2NhbGUnLAoJCQkJZHVyYXRpb246IDYwMCwKCQkJCWVhc2luZzogJ2Vhc2UnLAoJCQkJcGVyc3BlY3RpdmVEaXN0YW5jZTogJzMwMDAnLAoJCQkJcGVyc3BlY3RpdmVPcmlnaW46ICc1MCUgNTAlJywKCQkJCXF1ZXVlOiB0cnVlLAoJCQkJcXVldWVMaW1pdDogMSwKCQkJCWFuaW1hdGVDaGFuZ2VMYXlvdXQ6IGZhbHNlLAoJCQkJYW5pbWF0ZVJlc2l6ZUNvbnRhaW5lcjogdHJ1ZSwKCQkJCWFuaW1hdGVSZXNpemVUYXJnZXRzOiBmYWxzZSwKCQkJCXN0YWdnZXJTZXF1ZW5jZTogZmFsc2UsCgkJCQlyZXZlcnNlT3V0OiBmYWxzZQoJCQl9LAoJCQkJCgkJCWNhbGxiYWNrczogewoJCQkJb25NaXhMb2FkOiBmYWxzZSwKCQkJCW9uTWl4U3RhcnQ6IGZhbHNlLAoJCQkJb25NaXhCdXN5OiBmYWxzZSwKCQkJCW9uTWl4RW5kOiBmYWxzZSwKCQkJCW9uTWl4RmFpbDogZmFsc2UsCgkJCQlfdXNlcjogZmFsc2UKCQkJfSwKCQkJCQoJCQljb250cm9sczogewoJCQkJZW5hYmxlOiB0cnVlLAoJCQkJbGl2ZTogZmFsc2UsCgkJCQl0b2dnbGVGaWx0ZXJCdXR0b25zOiBmYWxzZSwKCQkJCXRvZ2dsZUxvZ2ljOiAnb3InLAoJCQkJYWN0aXZlQ2xhc3M6ICdhY3RpdmUnCgkJCX0sCgoJCQlsYXlvdXQ6IHsKCQkJCWRpc3BsYXk6ICdpbmxpbmUtYmxvY2snLAoJCQkJY29udGFpbmVyQ2xhc3M6ICcnLAoJCQkJY29udGFpbmVyQ2xhc3NGYWlsOiAnZmFpbCcKCQkJfSwKCQkJCgkJCWxvYWQ6IHsKCQkJCWZpbHRlcjogJ2FsbCcsCgkJCQlzb3J0OiBmYWxzZQoJCQl9LAoJCQkKCQkJLyogUHJpdmF0ZSBQcm9wZXJ0aWVzCgkJCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCQkJCQoJCQlfJGJvZHk6IG51bGwsCgkJCV8kY29udGFpbmVyOiBudWxsLAoJCQlfJHRhcmdldHM6IG51bGwsCgkJCV8kcGFyZW50OiBudWxsLAoJCQlfJHNvcnRCdXR0b25zOiBudWxsLAoJCQlfJGZpbHRlckJ1dHRvbnM6IG51bGwsCgkJCgkJCV9zdWNrTW9kZTogZmFsc2UsCgkJCV9taXhpbmc6IGZhbHNlLAoJCQlfc29ydGluZzogZmFsc2UsCgkJCV9jbGlja2luZzogZmFsc2UsCgkJCV9sb2FkaW5nOiB0cnVlLAoJCQlfY2hhbmdpbmdMYXlvdXQ6IGZhbHNlLAoJCQlfY2hhbmdpbmdDbGFzczogZmFsc2UsCgkJCV9jaGFuZ2luZ0Rpc3BsYXk6IGZhbHNlLAoJCQkKCQkJX29yaWdPcmRlcjogW10sCgkJCV9zdGFydE9yZGVyOiBbXSwKCQkJX25ld09yZGVyOiBbXSwKCQkJX2FjdGl2ZUZpbHRlcjogbnVsbCwKCQkJX3RvZ2dsZUFycmF5OiBbXSwKCQkJX3RvZ2dsZVN0cmluZzogJycsCgkJCV9hY3RpdmVTb3J0OiAnZGVmYXVsdDphc2MnLAoJCQlfbmV3U29ydDogbnVsbCwKCQkJX3N0YXJ0SGVpZ2h0OiBudWxsLAoJCQlfbmV3SGVpZ2h0OiBudWxsLAoJCQlfaW5jUGFkZGluZzogdHJ1ZSwKCQkJX25ld0Rpc3BsYXk6IG51bGwsCgkJCV9uZXdDbGFzczogbnVsbCwKCQkJX3RhcmdldHNCb3VuZDogMCwKCQkJX3RhcmdldHNEb25lOiAwLAoJCQlfcXVldWU6IFtdLAoJCQkJCgkJCV8kc2hvdzogJCgpLAoJCQlfJGhpZGU6ICQoKQoJCX0pOwoJCgkJc2VsZi5fZXhlY0FjdGlvbignX2NvbnN0cnVjdG9yJywgMSk7Cgl9OwoJCgkvKioKCSAqIE1peEl0VXAgUHJvdG90eXBlCgkgKiBAb3ZlcnJpZGUKCSAqLwoJCgkkLk1peEl0VXAucHJvdG90eXBlID0gewoJCWNvbnN0cnVjdG9yOiAkLk1peEl0VXAsCgkJCgkJLyogU3RhdGljIFByb3BlcnRpZXMKCQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgkJCgkJX2luc3RhbmNlczoge30sCgkJX2hhbmRsZWQ6IHsKCQkJX2ZpbHRlcjoge30sCgkJCV9zb3J0OiB7fQoJCX0sCgkJX2JvdW5kOiB7CgkJCV9maWx0ZXI6IHt9LAoJCQlfc29ydDoge30KCQl9LAoJCV9hY3Rpb25zOiB7fSwKCQlfZmlsdGVyczoge30sCgkJCgkJLyogU3RhdGljIE1ldGhvZHMKCQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgkJCgkJLyoqCgkJICogRXh0ZW5kCgkJICogQHNpbmNlIDIuMS4wCgkJICogQHBhcmFtIHtvYmplY3R9IG5ldyBwcm9wZXJ0aWVzL21ldGhvZHMKCQkgKiBAZXh0ZW5kcyB7b2JqZWN0fSBwcm90b3R5cGUKCQkgKi8KCQkKCQlleHRlbmQ6IGZ1bmN0aW9uKGV4dGVuc2lvbil7CgkJCWZvcih2YXIga2V5IGluIGV4dGVuc2lvbil7CgkJCQkkLk1peEl0VXAucHJvdG90eXBlW2tleV0gPSBleHRlbnNpb25ba2V5XTsKCQkJfQoJCX0sCgkJCgkJLyoqCgkJICogQWRkIEFjdGlvbgoJCSAqIEBzaW5jZSAyLjEuMAoJCSAqIEBwYXJhbSB7c3RyaW5nfSBob29rIG5hbWUKCQkgKiBAcGFyYW0ge3N0cmluZ30gbmFtZXNwYWNlCgkJICogQHBhcmFtIHtmdW5jdGlvbn0gZnVuY3Rpb24gdG8gZXhlY3V0ZQoJCSAqIEBwYXJhbSB7bnVtYmVyfSBwcmlvcml0eQoJCSAqIEBleHRlbmRzIHtvYmplY3R9ICQuTWl4SXRVcC5wcm90b3R5cGUuX2FjdGlvbnMKCQkgKi8KCQkKCQlhZGRBY3Rpb246IGZ1bmN0aW9uKGhvb2ssIG5hbWUsIGZ1bmMsIHByaW9yaXR5KXsKCQkJJC5NaXhJdFVwLnByb3RvdHlwZS5fYWRkSG9vaygnX2FjdGlvbnMnLCBob29rLCBuYW1lLCBmdW5jLCBwcmlvcml0eSk7CgkJfSwKCQkKCQkvKioKCQkgKiBBZGQgRmlsdGVyCgkJICogQHNpbmNlIDIuMS4wCgkJICogQHBhcmFtIHtzdHJpbmd9IGhvb2sgbmFtZQoJCSAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lc3BhY2UKCQkgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmdW5jdGlvbiB0byBleGVjdXRlCgkJICogQHBhcmFtIHtudW1iZXJ9IHByaW9yaXR5CgkJICogQGV4dGVuZHMge29iamVjdH0gJC5NaXhJdFVwLnByb3RvdHlwZS5fZmlsdGVycwoJCSAqLwoJCQoJCWFkZEZpbHRlcjogZnVuY3Rpb24oaG9vaywgbmFtZSwgZnVuYywgcHJpb3JpdHkpewoJCQkkLk1peEl0VXAucHJvdG90eXBlLl9hZGRIb29rKCdfZmlsdGVycycsIGhvb2ssIG5hbWUsIGZ1bmMsIHByaW9yaXR5KTsKCQl9LAoJCQoJCS8qKgoJCSAqIEFkZCBIb29rCgkJICogQHNpbmNlIDIuMS4wCgkJICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgb2YgaG9vawoJCSAqIEBwYXJhbSB7c3RyaW5nfSBob29rIG5hbWUKCQkgKiBAcGFyYW0ge2Z1bmN0aW9ufSBmdW5jdGlvbiB0byBleGVjdXRlCgkJICogQHBhcmFtIHtudW1iZXJ9IHByaW9yaXR5CgkJICogQGV4dGVuZHMge29iamVjdH0gJC5NaXhJdFVwLnByb3RvdHlwZS5fZmlsdGVycwoJCSAqLwoJCQoJCV9hZGRIb29rOiBmdW5jdGlvbih0eXBlLCBob29rLCBuYW1lLCBmdW5jLCBwcmlvcml0eSl7CgkJCXZhciBjb2xsZWN0aW9uID0gJC5NaXhJdFVwLnByb3RvdHlwZVt0eXBlXSwKCQkJCW9iaiA9IHt9OwoJCQkJCgkJCXByaW9yaXR5ID0gKHByaW9yaXR5ID09PSAxIHx8IHByaW9yaXR5ID09PSAncG9zdCcpID8gJ3Bvc3QnIDogJ3ByZSc7CgkJCQkKCQkJb2JqW2hvb2tdID0ge307CgkJCW9ialtob29rXVtwcmlvcml0eV0gPSB7fTsKCQkJb2JqW2hvb2tdW3ByaW9yaXR5XVtuYW1lXSA9IGZ1bmM7CgoJCQkkLmV4dGVuZCh0cnVlLCBjb2xsZWN0aW9uLCBvYmopOwoJCX0sCgkJCgkJCgkJLyogUHJpdmF0ZSBNZXRob2RzCgkJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoJCQoJCS8qKgoJCSAqIEluaXRpYWxpc2UKCQkgKiBAc2luY2UgMi4wLjAKCQkgKiBAcGFyYW0ge29iamVjdH0gZG9tTm9kZQoJCSAqIEBwYXJhbSB7b2JqZWN0fSBjb25maWcKCQkgKi8KCQkKCQlfaW5pdDogZnVuY3Rpb24oZG9tTm9kZSwgY29uZmlnKXsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2luaXQnLCAwLCBhcmd1bWVudHMpOwoJCQkKCQkJY29uZmlnICYmICQuZXh0ZW5kKHRydWUsIHNlbGYsIGNvbmZpZyk7CgkJCQoJCQlzZWxmLl8kYm9keSA9ICQoJ2JvZHknKTsKCQkJc2VsZi5fZG9tTm9kZSA9IGRvbU5vZGU7CgkJCXNlbGYuXyRjb250YWluZXIgPSAkKGRvbU5vZGUpOwoJCQlzZWxmLl8kY29udGFpbmVyLmFkZENsYXNzKHNlbGYubGF5b3V0LmNvbnRhaW5lckNsYXNzKTsKCQkJc2VsZi5faWQgPSBkb21Ob2RlLmlkOwoJCQkKCQkJc2VsZi5fcGxhdGZvcm1EZXRlY3QoKTsKCQkJCgkJCXNlbGYuX2JyYWtlID0gc2VsZi5fZ2V0UHJlZml4ZWRDU1MoJ3RyYW5zaXRpb24nLCAnbm9uZScpOwoJCQkKCQkJc2VsZi5fcmVmcmVzaCh0cnVlKTsKCQkJCgkJCXNlbGYuXyRwYXJlbnQgPSBzZWxmLl8kdGFyZ2V0cy5wYXJlbnQoKS5sZW5ndGggPyBzZWxmLl8kdGFyZ2V0cy5wYXJlbnQoKSA6IHNlbGYuXyRjb250YWluZXI7CgkJCQoJCQlpZihzZWxmLmxvYWQuc29ydCl7CgkJCQlzZWxmLl9uZXdTb3J0ID0gc2VsZi5fcGFyc2VTb3J0KHNlbGYubG9hZC5zb3J0KTsKCQkJCXNlbGYuX25ld1NvcnRTdHJpbmcgPSBzZWxmLmxvYWQuc29ydDsKCQkJCXNlbGYuX2FjdGl2ZVNvcnQgPSBzZWxmLmxvYWQuc29ydDsKCQkJCXNlbGYuX3NvcnQoKTsKCQkJCXNlbGYuX3ByaW50U29ydCgpOwoJCQl9CgkJCQoJCQlzZWxmLl9hY3RpdmVGaWx0ZXIgPSBzZWxmLmxvYWQuZmlsdGVyID09PSAnYWxsJyA/IAoJCQkJc2VsZi5zZWxlY3RvcnMudGFyZ2V0IDogCgkJCQlzZWxmLmxvYWQuZmlsdGVyID09PSAnbm9uZScgPwoJCQkJCScnIDoKCQkJCQlzZWxmLmxvYWQuZmlsdGVyOwoJCQkKCQkJc2VsZi5jb250cm9scy5lbmFibGUgJiYgc2VsZi5fYmluZEhhbmRsZXJzKCk7CgkJCQoJCQlpZihzZWxmLmNvbnRyb2xzLnRvZ2dsZUZpbHRlckJ1dHRvbnMpewoJCQkJc2VsZi5fYnVpbGRUb2dnbGVBcnJheSgpOwoJCQkJCgkJCQlmb3IodmFyIGkgPSAwOyBpIDwgc2VsZi5fdG9nZ2xlQXJyYXkubGVuZ3RoOyBpKyspewoJCQkJCXNlbGYuX3VwZGF0ZUNvbnRyb2xzKHtmaWx0ZXI6IHNlbGYuX3RvZ2dsZUFycmF5W2ldLCBzb3J0OiBzZWxmLl9hY3RpdmVTb3J0fSwgdHJ1ZSk7CgkJCQl9OwoJCQl9IGVsc2UgaWYoc2VsZi5jb250cm9scy5lbmFibGUpewoJCQkJc2VsZi5fdXBkYXRlQ29udHJvbHMoe2ZpbHRlcjogc2VsZi5fYWN0aXZlRmlsdGVyLCBzb3J0OiBzZWxmLl9hY3RpdmVTb3J0fSk7CgkJCX0KCQkJCgkJCXNlbGYuX2ZpbHRlcigpOwoJCQkKCQkJc2VsZi5faW5pdCA9IHRydWU7CgkJCQoJCQlzZWxmLl8kY29udGFpbmVyLmRhdGEoJ21peEl0VXAnLHNlbGYpOwoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2luaXQnLCAxLCBhcmd1bWVudHMpOwoJCQkKCQkJc2VsZi5fYnVpbGRTdGF0ZSgpOwoJCQkKCQkJc2VsZi5fJHRhcmdldHMuY3NzKHNlbGYuX2JyYWtlKTsKCQkKCQkJc2VsZi5fZ29NaXgoc2VsZi5hbmltYXRpb24uZW5hYmxlKTsKCQl9LAoJCQoJCS8qKgoJCSAqIFBsYXRmb3JtIERldGVjdAoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqLwoJCQoJCV9wbGF0Zm9ybURldGVjdDogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJdmVuZG9yc1RyYW5zID0gWydXZWJraXQnLCAnTW96JywgJ08nLCAnbXMnXSwKCQkJCXZlbmRvcnNSQUYgPSBbJ3dlYmtpdCcsICdtb3onXSwKCQkJCWNocm9tZSA9IHdpbmRvdy5uYXZpZ2F0b3IuYXBwVmVyc2lvbi5tYXRjaCgvQ2hyb21lXC8oXGQrKVwuLykgfHwgZmFsc2UsCgkJCQlmZiA9IHR5cGVvZiBJbnN0YWxsVHJpZ2dlciAhPT0gJ3VuZGVmaW5lZCcsCgkJCQlwcmVmaXggPSBmdW5jdGlvbihlbCl7CgkJCQkJZm9yICh2YXIgaSA9IDA7IGkgPCB2ZW5kb3JzVHJhbnMubGVuZ3RoOyBpKyspewoJCQkJCQlpZiAodmVuZG9yc1RyYW5zW2ldICsgJ1RyYW5zaXRpb24nIGluIGVsLnN0eWxlKXsKCQkJCQkJCXJldHVybiB7CgkJCQkJCQkJcHJlZml4OiAnLScrdmVuZG9yc1RyYW5zW2ldLnRvTG93ZXJDYXNlKCkrJy0nLAoJCQkJCQkJCXZlbmRvcjogdmVuZG9yc1RyYW5zW2ldCgkJCQkJCQl9OwoJCQkJCQl9OwoJCQkJCX07IAoJCQkJCXJldHVybiAndHJhbnNpdGlvbicgaW4gZWwuc3R5bGUgPyAnJyA6IGZhbHNlOwoJCQkJfSwKCQkJCXRyYW5zUHJlZml4ID0gcHJlZml4KHNlbGYuX2RvbU5vZGUpOwoJCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19wbGF0Zm9ybURldGVjdCcsIDApOwoJCQkKCQkJc2VsZi5fY2hyb21lID0gY2hyb21lID8gcGFyc2VJbnQoY2hyb21lWzFdLCAxMCkgOiBmYWxzZTsKCQkJc2VsZi5fZmYgPSBmZiA/IHBhcnNlSW50KHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9ydjooW14pXSspXCkvKVsxXSkgOiBmYWxzZTsKCQkJc2VsZi5fcHJlZml4ID0gdHJhbnNQcmVmaXgucHJlZml4OwoJCQlzZWxmLl92ZW5kb3IgPSB0cmFuc1ByZWZpeC52ZW5kb3I7CgkJCXNlbGYuX3N1Y2tNb2RlID0gd2luZG93LmF0b2IgJiYgc2VsZi5fcHJlZml4ID8gZmFsc2UgOiB0cnVlOwoKCQkJc2VsZi5fc3Vja01vZGUgJiYgKHNlbGYuYW5pbWF0aW9uLmVuYWJsZSA9IGZhbHNlKTsKCQkJKHNlbGYuX2ZmICYmIHNlbGYuX2ZmIDw9IDQpICYmIChzZWxmLmFuaW1hdGlvbi5lbmFibGUgPSBmYWxzZSk7CgkJCQoJCQkvKiBQb2x5ZmlsbHMKCQkJLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoJCQkKCQkJLyoqCgkJCSAqIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUKCQkJICovCgkJCQoJCQlmb3IodmFyIHggPSAwOyB4IDwgdmVuZG9yc1JBRi5sZW5ndGggJiYgIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7IHgrKyl7CgkJCQl3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lID0gd2luZG93W3ZlbmRvcnNSQUZbeF0rJ1JlcXVlc3RBbmltYXRpb25GcmFtZSddOwoJCQl9CgoJCQkvKioKCQkJICogT2JqZWN0LmdldFByb3RvdHlwZU9mCgkJCSAqLwoKCQkJaWYodHlwZW9mIE9iamVjdC5nZXRQcm90b3R5cGVPZiAhPT0gJ2Z1bmN0aW9uJyl7CgkJCQlpZih0eXBlb2YgJ3Rlc3QnLl9fcHJvdG9fXyA9PT0gJ29iamVjdCcpewoJCQkJCU9iamVjdC5nZXRQcm90b3R5cGVPZiA9IGZ1bmN0aW9uKG9iamVjdCl7CgkJCQkJCXJldHVybiBvYmplY3QuX19wcm90b19fOwoJCQkJCX07CgkJCQl9IGVsc2UgewoJCQkJCU9iamVjdC5nZXRQcm90b3R5cGVPZiA9IGZ1bmN0aW9uKG9iamVjdCl7CgkJCQkJCXJldHVybiBvYmplY3QuY29uc3RydWN0b3IucHJvdG90eXBlOwoJCQkJCX07CgkJCQl9CgkJCX0KCgkJCS8qKgoJCQkgKiBFbGVtZW50Lm5leHRFbGVtZW50U2libGluZwoJCQkgKi8KCQkJCgkJCWlmKHNlbGYuX2RvbU5vZGUubmV4dEVsZW1lbnRTaWJsaW5nID09PSB1bmRmKXsKCQkJCU9iamVjdC5kZWZpbmVQcm9wZXJ0eShFbGVtZW50LnByb3RvdHlwZSwgJ25leHRFbGVtZW50U2libGluZycsewoJCQkJCWdldDogZnVuY3Rpb24oKXsKCQkJCQkJdmFyIGVsID0gdGhpcy5uZXh0U2libGluZzsKCQkJCQkJCgkJCQkJCXdoaWxlKGVsKXsKCQkJCQkJCWlmKGVsLm5vZGVUeXBlID09PTEpewoJCQkJCQkJCXJldHVybiBlbDsKCQkJCQkJCX0KCQkJCQkJCWVsID0gZWwubmV4dFNpYmxpbmc7CgkJCQkJCX0KCQkJCQkJcmV0dXJuIG51bGw7CgkJCQkJfQoJCQkJfSk7CgkJCX0KCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19wbGF0Zm9ybURldGVjdCcsIDEpOwoJCX0sCgkJCgkJLyoqCgkJICogUmVmcmVzaAoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5pdAoJCSAqIEBwYXJhbSB7Ym9vbGVhbn0gZm9yY2UKCQkgKi8KCQkKCQlfcmVmcmVzaDogZnVuY3Rpb24oaW5pdCwgZm9yY2UpewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX3JlZnJlc2gnLCAwLCBhcmd1bWVudHMpOwoKCQkJc2VsZi5fJHRhcmdldHMgPSBzZWxmLl8kY29udGFpbmVyLmZpbmQoc2VsZi5zZWxlY3RvcnMudGFyZ2V0KTsKCQkJCgkJCWZvcih2YXIgaSA9IDA7IGkgPCBzZWxmLl8kdGFyZ2V0cy5sZW5ndGg7IGkrKyl7CgkJCQl2YXIgdGFyZ2V0ID0gc2VsZi5fJHRhcmdldHNbaV07CgkJCQkJCgkJCQlpZih0YXJnZXQuZGF0YXNldCA9PT0gdW5kZiB8fCBmb3JjZSl7CgkJCQkJCQoJCQkJCXRhcmdldC5kYXRhc2V0ID0ge307CgkJCQkJCgkJCQkJZm9yKHZhciBqID0gMDsgaiA8IHRhcmdldC5hdHRyaWJ1dGVzLmxlbmd0aDsgaisrKXsKCQkJCQkJCgkJCQkJCXZhciBhdHRyID0gdGFyZ2V0LmF0dHJpYnV0ZXNbal0sCgkJCQkJCQluYW1lID0gYXR0ci5uYW1lLAoJCQkJCQkJdmFsID0gYXR0ci52YWx1ZTsKCQkJCQkJCQoJCQkJCQlpZihuYW1lLmluZGV4T2YoJ2RhdGEtJykgPiAtMSl7CgkJCQkJCQl2YXIgZGF0YU5hbWUgPSBzZWxmLl9oZWxwZXJzLl9jYW1lbENhc2UobmFtZS5zdWJzdHJpbmcoNSxuYW1lLmxlbmd0aCkpOwoJCQkJCQkJdGFyZ2V0LmRhdGFzZXRbZGF0YU5hbWVdID0gdmFsOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlpZih0YXJnZXQubWl4UGFyZW50ID09PSB1bmRmKXsKCQkJCQl0YXJnZXQubWl4UGFyZW50ID0gc2VsZi5faWQ7CgkJCQl9CgkJCX0KCQkJCgkJCWlmKAoJCQkJKHNlbGYuXyR0YXJnZXRzLmxlbmd0aCAmJiBpbml0KSB8fAoJCQkJKCFzZWxmLl9vcmlnT3JkZXIubGVuZ3RoICYmIHNlbGYuXyR0YXJnZXRzLmxlbmd0aCkKCQkJKXsKCQkJCXNlbGYuX29yaWdPcmRlciA9IFtdOwoJCQkJCgkJCQlmb3IodmFyIGkgPSAwOyBpIDwgc2VsZi5fJHRhcmdldHMubGVuZ3RoOyBpKyspewoJCQkJCXZhciB0YXJnZXQgPSBzZWxmLl8kdGFyZ2V0c1tpXTsKCQkJCQkKCQkJCQlzZWxmLl9vcmlnT3JkZXIucHVzaCh0YXJnZXQpOwoJCQkJfQoJCQl9CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfcmVmcmVzaCcsIDEsIGFyZ3VtZW50cyk7CgkJfSwKCQkKCQkvKioKCQkgKiBCaW5kIEhhbmRsZXJzCgkJICogQHNpbmNlIDIuMC4wCgkJICovCgkJCgkJX2JpbmRIYW5kbGVyczogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJZmlsdGVycyA9ICQuTWl4SXRVcC5wcm90b3R5cGUuX2JvdW5kLl9maWx0ZXIsCgkJCQlzb3J0cyA9ICQuTWl4SXRVcC5wcm90b3R5cGUuX2JvdW5kLl9zb3J0OwoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2JpbmRIYW5kbGVycycsIDApOwoJCQkKCQkJaWYoc2VsZi5jb250cm9scy5saXZlKXsKCQkJCXNlbGYuXyRib2R5CgkJCQkJLm9uKCdjbGljay5taXhJdFVwLicrc2VsZi5faWQsIHNlbGYuc2VsZWN0b3JzLnNvcnQsIGZ1bmN0aW9uKCl7CgkJCQkJCXNlbGYuX3Byb2Nlc3NDbGljaygkKHRoaXMpLCAnc29ydCcpOwoJCQkJCX0pCgkJCQkJLm9uKCdjbGljay5taXhJdFVwLicrc2VsZi5faWQsIHNlbGYuc2VsZWN0b3JzLmZpbHRlciwgZnVuY3Rpb24oKXsKCQkJCQkJc2VsZi5fcHJvY2Vzc0NsaWNrKCQodGhpcyksICdmaWx0ZXInKTsKCQkJCQl9KTsKCQkJfSBlbHNlIHsKCQkJCXNlbGYuXyRzb3J0QnV0dG9ucyA9ICQoc2VsZi5zZWxlY3RvcnMuc29ydCk7CgkJCQlzZWxmLl8kZmlsdGVyQnV0dG9ucyA9ICQoc2VsZi5zZWxlY3RvcnMuZmlsdGVyKTsKCQkJCQoJCQkJc2VsZi5fJHNvcnRCdXR0b25zLm9uKCdjbGljay5taXhJdFVwLicrc2VsZi5faWQsIGZ1bmN0aW9uKCl7CgkJCQkJc2VsZi5fcHJvY2Vzc0NsaWNrKCQodGhpcyksICdzb3J0Jyk7CgkJCQl9KTsKCQkJCQoJCQkJc2VsZi5fJGZpbHRlckJ1dHRvbnMub24oJ2NsaWNrLm1peEl0VXAuJytzZWxmLl9pZCwgZnVuY3Rpb24oKXsKCQkJCQlzZWxmLl9wcm9jZXNzQ2xpY2soJCh0aGlzKSwgJ2ZpbHRlcicpOwoJCQkJfSk7CgkJCX0KCgkJCWZpbHRlcnNbc2VsZi5zZWxlY3RvcnMuZmlsdGVyXSA9IChmaWx0ZXJzW3NlbGYuc2VsZWN0b3JzLmZpbHRlcl0gPT09IHVuZGYpID8gMSA6IGZpbHRlcnNbc2VsZi5zZWxlY3RvcnMuZmlsdGVyXSArIDE7CgkJCXNvcnRzW3NlbGYuc2VsZWN0b3JzLnNvcnRdID0gKHNvcnRzW3NlbGYuc2VsZWN0b3JzLnNvcnRdID09PSB1bmRmKSA/IDEgOiBzb3J0c1tzZWxmLnNlbGVjdG9ycy5zb3J0XSArIDE7CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfYmluZEhhbmRsZXJzJywgMSk7CgkJfSwKCQkKCQkvKioKCQkgKiBQcm9jZXNzIENsaWNrCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtvYmplY3R9ICRidXR0b24KCQkgKiBAcGFyYW0ge3N0cmluZ30gdHlwZQoJCSAqLwoJCQoJCV9wcm9jZXNzQ2xpY2s6IGZ1bmN0aW9uKCRidXR0b24sIHR5cGUpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQl0cmFja0NsaWNrID0gZnVuY3Rpb24oJGJ1dHRvbiwgdHlwZSwgb2ZmKXsKCQkJCQl2YXIgcHJvdG8gPSAkLk1peEl0VXAucHJvdG90eXBlOwoJCQkJCQkKCQkJCQlwcm90by5faGFuZGxlZFsnXycrdHlwZV1bc2VsZi5zZWxlY3RvcnNbdHlwZV1dID0gKHByb3RvLl9oYW5kbGVkWydfJyt0eXBlXVtzZWxmLnNlbGVjdG9yc1t0eXBlXV0gPT09IHVuZGYpID8gCgkJCQkJCTEgOiAKCQkJCQkJcHJvdG8uX2hhbmRsZWRbJ18nK3R5cGVdW3NlbGYuc2VsZWN0b3JzW3R5cGVdXSArIDE7CgoJCQkJCWlmKHByb3RvLl9oYW5kbGVkWydfJyt0eXBlXVtzZWxmLnNlbGVjdG9yc1t0eXBlXV0gPT09IHByb3RvLl9ib3VuZFsnXycrdHlwZV1bc2VsZi5zZWxlY3RvcnNbdHlwZV1dKXsKCQkJCQkJJGJ1dHRvblsob2ZmID8gJ3JlbW92ZScgOiAnYWRkJykrJ0NsYXNzJ10oc2VsZi5jb250cm9scy5hY3RpdmVDbGFzcyk7CgkJCQkJCWRlbGV0ZSBwcm90by5faGFuZGxlZFsnXycrdHlwZV1bc2VsZi5zZWxlY3RvcnNbdHlwZV1dOwoJCQkJCX0KCQkJCX07CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfcHJvY2Vzc0NsaWNrJywgMCwgYXJndW1lbnRzKTsKCQkJCgkJCWlmKCFzZWxmLl9taXhpbmcgfHwgKHNlbGYuYW5pbWF0aW9uLnF1ZXVlICYmIHNlbGYuX3F1ZXVlLmxlbmd0aCA8IHNlbGYuYW5pbWF0aW9uLnF1ZXVlTGltaXQpKXsKCQkJCXNlbGYuX2NsaWNraW5nID0gdHJ1ZTsKCQkJCQoJCQkJaWYodHlwZSA9PT0gJ3NvcnQnKXsKCQkJCQl2YXIgc29ydCA9ICRidXR0b24uYXR0cignZGF0YS1zb3J0Jyk7CgkJCQkJCgkJCQkJaWYoISRidXR0b24uaGFzQ2xhc3Moc2VsZi5jb250cm9scy5hY3RpdmVDbGFzcykgfHwgc29ydC5pbmRleE9mKCdyYW5kb20nKSA+IC0xKXsKCQkJCQkJJChzZWxmLnNlbGVjdG9ycy5zb3J0KS5yZW1vdmVDbGFzcyhzZWxmLmNvbnRyb2xzLmFjdGl2ZUNsYXNzKTsKCQkJCQkJdHJhY2tDbGljaygkYnV0dG9uLCB0eXBlKTsKCQkJCQkJc2VsZi5zb3J0KHNvcnQpOwoJCQkJCX0KCQkJCX0KCQkJCQoJCQkJaWYodHlwZSA9PT0gJ2ZpbHRlcicpIHsKCQkJCQl2YXIgZmlsdGVyID0gJGJ1dHRvbi5hdHRyKCdkYXRhLWZpbHRlcicpLAoJCQkJCQluZHgsCgkJCQkJCXNlcGVyYXRvciA9IHNlbGYuY29udHJvbHMudG9nZ2xlTG9naWMgPT09ICdvcicgPyAnLCcgOiAnJzsKCQkJCQkKCQkJCQlpZighc2VsZi5jb250cm9scy50b2dnbGVGaWx0ZXJCdXR0b25zKXsKCQkJCQkJaWYoISRidXR0b24uaGFzQ2xhc3Moc2VsZi5jb250cm9scy5hY3RpdmVDbGFzcykpewoJCQkJCQkJJChzZWxmLnNlbGVjdG9ycy5maWx0ZXIpLnJlbW92ZUNsYXNzKHNlbGYuY29udHJvbHMuYWN0aXZlQ2xhc3MpOwoJCQkJCQkJdHJhY2tDbGljaygkYnV0dG9uLCB0eXBlKTsKCQkJCQkJCXNlbGYuZmlsdGVyKGZpbHRlcik7CgkJCQkJCX0KCQkJCQl9IGVsc2UgewoJCQkJCQlzZWxmLl9idWlsZFRvZ2dsZUFycmF5KCk7CgkJCQkJCQoJCQkJCQlpZighJGJ1dHRvbi5oYXNDbGFzcyhzZWxmLmNvbnRyb2xzLmFjdGl2ZUNsYXNzKSl7CgkJCQkJCQl0cmFja0NsaWNrKCRidXR0b24sIHR5cGUpOwoJCQkJCQkJCgkJCQkJCQlzZWxmLl90b2dnbGVBcnJheS5wdXNoKGZpbHRlcik7CgkJCQkJCX0gZWxzZSB7CgkJCQkJCQl0cmFja0NsaWNrKCRidXR0b24sIHR5cGUsIHRydWUpOwoJCQkJCQkJbmR4ID0gc2VsZi5fdG9nZ2xlQXJyYXkuaW5kZXhPZihmaWx0ZXIpOwoJCQkJCQkJc2VsZi5fdG9nZ2xlQXJyYXkuc3BsaWNlKG5keCwgMSk7CgkJCQkJCX0KCQkJCQkJCgkJCQkJCXNlbGYuX3RvZ2dsZUFycmF5ID0gJC5ncmVwKHNlbGYuX3RvZ2dsZUFycmF5LGZ1bmN0aW9uKG4pe3JldHVybihuKTt9KTsKCQkJCQkJCgkJCQkJCXNlbGYuX3RvZ2dsZVN0cmluZyA9IHNlbGYuX3RvZ2dsZUFycmF5LmpvaW4oc2VwZXJhdG9yKTsKCgkJCQkJCXNlbGYuZmlsdGVyKHNlbGYuX3RvZ2dsZVN0cmluZyk7CgkJCQkJfQoJCQkJfQoJCQkJCgkJCQlzZWxmLl9leGVjQWN0aW9uKCdfcHJvY2Vzc0NsaWNrJywgMSwgYXJndW1lbnRzKTsKCQkJfSBlbHNlIHsKCQkJCWlmKHR5cGVvZiBzZWxmLmNhbGxiYWNrcy5vbk1peEJ1c3kgPT09ICdmdW5jdGlvbicpewoJCQkJCXNlbGYuY2FsbGJhY2tzLm9uTWl4QnVzeS5jYWxsKHNlbGYuX2RvbU5vZGUsIHNlbGYuX3N0YXRlLCBzZWxmKTsKCQkJCX0KCQkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19wcm9jZXNzQ2xpY2tCdXN5JywgMSwgYXJndW1lbnRzKTsKCQkJfQoJCX0sCgkJCgkJLyoqCgkJICogQnVpbGQgVG9nZ2xlIEFycmF5CgkJICogQHNpbmNlIDIuMC4wCgkJICovCgkJCgkJX2J1aWxkVG9nZ2xlQXJyYXk6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWFjdGl2ZUZpbHRlciA9IHNlbGYuX2FjdGl2ZUZpbHRlci5yZXBsYWNlKC9ccy9nLCAnJyk7CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfYnVpbGRUb2dnbGVBcnJheScsIDAsIGFyZ3VtZW50cyk7CgkJCQoJCQlpZihzZWxmLmNvbnRyb2xzLnRvZ2dsZUxvZ2ljID09PSAnb3InKXsKCQkJCXNlbGYuX3RvZ2dsZUFycmF5ID0gYWN0aXZlRmlsdGVyLnNwbGl0KCcsJyk7CgkJCX0gZWxzZSB7CgkJCQlzZWxmLl90b2dnbGVBcnJheSA9IGFjdGl2ZUZpbHRlci5zcGxpdCgnLicpOwoJCQkJCgkJCQkhc2VsZi5fdG9nZ2xlQXJyYXlbMF0gJiYgc2VsZi5fdG9nZ2xlQXJyYXkuc2hpZnQoKTsKCQkJCQoJCQkJZm9yKHZhciBpID0gMCwgZmlsdGVyOyBmaWx0ZXIgPSBzZWxmLl90b2dnbGVBcnJheVtpXTsgaSsrKXsKCQkJCQlzZWxmLl90b2dnbGVBcnJheVtpXSA9ICcuJytmaWx0ZXI7CgkJCQl9CgkJCX0KCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19idWlsZFRvZ2dsZUFycmF5JywgMSwgYXJndW1lbnRzKTsKCQl9LAoJCQoJCS8qKgoJCSAqIFVwZGF0ZSBDb250cm9scwoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqIEBwYXJhbSB7b2JqZWN0fSBjb21tYW5kCgkJICogQHBhcmFtIHtib29sZWFufSBtdWx0aQoJCSAqLwoJCQoJCV91cGRhdGVDb250cm9sczogZnVuY3Rpb24oY29tbWFuZCwgbXVsdGkpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlvdXRwdXQgPSB7CgkJCQkJZmlsdGVyOiBjb21tYW5kLmZpbHRlciwKCQkJCQlzb3J0OiBjb21tYW5kLnNvcnQKCQkJCX0sCgkJCQl1cGRhdGUgPSBmdW5jdGlvbigkZWwsIGZpbHRlcil7CgkJCQkJdHJ5IHsKCQkJCQkJKG11bHRpICYmIHR5cGUgPT09ICdmaWx0ZXInICYmICEob3V0cHV0LmZpbHRlciA9PT0gJ25vbmUnIHx8IG91dHB1dC5maWx0ZXIgPT09ICcnKSkgPwoJCQkJCQkJCSRlbC5maWx0ZXIoZmlsdGVyKS5hZGRDbGFzcyhzZWxmLmNvbnRyb2xzLmFjdGl2ZUNsYXNzKSA6CgkJCQkJCQkJJGVsLnJlbW92ZUNsYXNzKHNlbGYuY29udHJvbHMuYWN0aXZlQ2xhc3MpLmZpbHRlcihmaWx0ZXIpLmFkZENsYXNzKHNlbGYuY29udHJvbHMuYWN0aXZlQ2xhc3MpOwoJCQkJCX0gY2F0Y2goZSkge30KCQkJCX0sCgkJCQl0eXBlID0gJ2ZpbHRlcicsCgkJCQkkZWwgPSBudWxsOwoJCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ191cGRhdGVDb250cm9scycsIDAsIGFyZ3VtZW50cyk7CgkJCQkKCQkJKGNvbW1hbmQuZmlsdGVyID09PSB1bmRmKSAmJiAob3V0cHV0LmZpbHRlciA9IHNlbGYuX2FjdGl2ZUZpbHRlcik7CgkJCShjb21tYW5kLnNvcnQgPT09IHVuZGYpICYmIChvdXRwdXQuc29ydCA9IHNlbGYuX2FjdGl2ZVNvcnQpOwoJCQkob3V0cHV0LmZpbHRlciA9PT0gc2VsZi5zZWxlY3RvcnMudGFyZ2V0KSAmJiAob3V0cHV0LmZpbHRlciA9ICdhbGwnKTsKCQkJCgkJCWZvcih2YXIgaSA9IDA7IGkgPCAyOyBpKyspewoJCQkJJGVsID0gc2VsZi5jb250cm9scy5saXZlID8gJChzZWxmLnNlbGVjdG9yc1t0eXBlXSkgOiBzZWxmWydfJCcrdHlwZSsnQnV0dG9ucyddOwoJCQkJJGVsICYmIHVwZGF0ZSgkZWwsICdbZGF0YS0nK3R5cGUrJz0iJytvdXRwdXRbdHlwZV0rJyJdJyk7CgkJCQl0eXBlID0gJ3NvcnQnOwoJCQl9CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfdXBkYXRlQ29udHJvbHMnLCAxLCBhcmd1bWVudHMpOwoJCX0sCgkJCgkJLyoqCgkJICogRmlsdGVyIChwcml2YXRlKQoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqLwoJCQoJCV9maWx0ZXI6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19maWx0ZXInLCAwKTsKCQkJCgkJCWZvcih2YXIgaSA9IDA7IGkgPCBzZWxmLl8kdGFyZ2V0cy5sZW5ndGg7IGkrKyl7CgkJCQl2YXIgJHRhcmdldCA9ICQoc2VsZi5fJHRhcmdldHNbaV0pOwoJCQkJCgkJCQlpZigkdGFyZ2V0LmlzKHNlbGYuX2FjdGl2ZUZpbHRlcikpewoJCQkJCXNlbGYuXyRzaG93ID0gc2VsZi5fJHNob3cuYWRkKCR0YXJnZXQpOwoJCQkJfSBlbHNlIHsKCQkJCQlzZWxmLl8kaGlkZSA9IHNlbGYuXyRoaWRlLmFkZCgkdGFyZ2V0KTsKCQkJCX0KCQkJfQoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2ZpbHRlcicsIDEpOwoJCX0sCgkJCgkJLyoqCgkJICogU29ydCAocHJpdmF0ZSkKCQkgKiBAc2luY2UgMi4wLjAKCQkgKi8KCQkKCQlfc29ydDogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJYXJyYXlTaHVmZmxlID0gZnVuY3Rpb24ob2xkQXJyYXkpewoJCQkJCXZhciBuZXdBcnJheSA9IG9sZEFycmF5LnNsaWNlKCksCgkJCQkJCWxlbiA9IG5ld0FycmF5Lmxlbmd0aCwKCQkJCQkJaSA9IGxlbjsKCgkJCQkJd2hpbGUoaS0tKXsKCQkJCQkJdmFyIHAgPSBwYXJzZUludChNYXRoLnJhbmRvbSgpKmxlbik7CgkJCQkJCXZhciB0ID0gbmV3QXJyYXlbaV07CgkJCQkJCW5ld0FycmF5W2ldID0gbmV3QXJyYXlbcF07CgkJCQkJCW5ld0FycmF5W3BdID0gdDsKCQkJCQl9OwoJCQkJCXJldHVybiBuZXdBcnJheTsgCgkJCQl9OwoJCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19zb3J0JywgMCk7CgkJCQoJCQlzZWxmLl9zdGFydE9yZGVyID0gW107CgkJCQoJCQlmb3IodmFyIGkgPSAwOyBpIDwgc2VsZi5fJHRhcmdldHMubGVuZ3RoOyBpKyspewoJCQkJdmFyIHRhcmdldCA9IHNlbGYuXyR0YXJnZXRzW2ldOwoJCQkJCgkJCQlzZWxmLl9zdGFydE9yZGVyLnB1c2godGFyZ2V0KTsKCQkJfQoJCQkKCQkJc3dpdGNoKHNlbGYuX25ld1NvcnRbMF0uc29ydEJ5KXsKCQkJCWNhc2UgJ2RlZmF1bHQnOgoJCQkJCXNlbGYuX25ld09yZGVyID0gc2VsZi5fb3JpZ09yZGVyOwoJCQkJCWJyZWFrOwoJCQkJY2FzZSAncmFuZG9tJzoKCQkJCQlzZWxmLl9uZXdPcmRlciA9IGFycmF5U2h1ZmZsZShzZWxmLl9zdGFydE9yZGVyKTsKCQkJCQlicmVhazsKCQkJCWNhc2UgJ2N1c3RvbSc6CgkJCQkJc2VsZi5fbmV3T3JkZXIgPSBzZWxmLl9uZXdTb3J0WzBdLm9yZGVyOwoJCQkJCWJyZWFrOwoJCQkJZGVmYXVsdDoKCQkJCQlzZWxmLl9uZXdPcmRlciA9IHNlbGYuX3N0YXJ0T3JkZXIuY29uY2F0KCkuc29ydChmdW5jdGlvbihhLCBiKXsKCQkJCQkJcmV0dXJuIHNlbGYuX2NvbXBhcmUoYSwgYik7CgkJCQkJfSk7CgkJCX0KCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19zb3J0JywgMSk7CgkJfSwKCQkKCQkvKioKCQkgKiBDb21wYXJlIEFsZ29yaXRobQoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gYQoJCSAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gYgoJCSAqIEBwYXJhbSB7bnVtYmVyfSBkZXB0aCAocmVjdXJzaW9uKQoJCSAqIEByZXR1cm4ge251bWJlcn0KCQkgKi8KCQkKCQlfY29tcGFyZTogZnVuY3Rpb24oYSwgYiwgZGVwdGgpewoJCQlkZXB0aCA9IGRlcHRoID8gZGVwdGggOiAwOwoJCQoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlvcmRlciA9IHNlbGYuX25ld1NvcnRbZGVwdGhdLm9yZGVyLAoJCQkJZ2V0RGF0YSA9IGZ1bmN0aW9uKGVsKXsKCQkJCQlyZXR1cm4gZWwuZGF0YXNldFtzZWxmLl9uZXdTb3J0W2RlcHRoXS5zb3J0QnldIHx8IDA7CgkJCQl9LAoJCQkJYXR0ckEgPSBpc05hTihnZXREYXRhKGEpICogMSkgPyBnZXREYXRhKGEpLnRvTG93ZXJDYXNlKCkgOiBnZXREYXRhKGEpICogMSwKCQkJCWF0dHJCID0gaXNOYU4oZ2V0RGF0YShiKSAqIDEpID8gZ2V0RGF0YShiKS50b0xvd2VyQ2FzZSgpIDogZ2V0RGF0YShiKSAqIDE7CgkJCQkKCQkJaWYoYXR0ckEgPCBhdHRyQikKCQkJCXJldHVybiBvcmRlciA9PT0gJ2FzYycgPyAtMSA6IDE7CgkJCWlmKGF0dHJBID4gYXR0ckIpCgkJCQlyZXR1cm4gb3JkZXIgPT09ICdhc2MnID8gMSA6IC0xOwoJCQlpZihhdHRyQSA9PT0gYXR0ckIgJiYgc2VsZi5fbmV3U29ydC5sZW5ndGggPiBkZXB0aCsxKQoJCQkJcmV0dXJuIHNlbGYuX2NvbXBhcmUoYSwgYiwgZGVwdGgrMSk7CgoJCQlyZXR1cm4gMDsKCQl9LAoJCQoJCS8qKgoJCSAqIFByaW50IFNvcnQKCQkgKiBAc2luY2UgMi4wLjAKCQkgKiBAcGFyYW0ge2Jvb2xlYW59IHJlc2V0CgkJICovCgkJCgkJX3ByaW50U29ydDogZnVuY3Rpb24ocmVzZXQpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlvcmRlciA9IHJlc2V0ID8gc2VsZi5fc3RhcnRPcmRlciA6IHNlbGYuX25ld09yZGVyLAoJCQkJdGFyZ2V0cyA9IHNlbGYuXyRwYXJlbnRbMF0ucXVlcnlTZWxlY3RvckFsbChzZWxmLnNlbGVjdG9ycy50YXJnZXQpLAoJCQkJbmV4dFNpYmxpbmcgPSB0YXJnZXRzLmxlbmd0aCA/IHRhcmdldHNbdGFyZ2V0cy5sZW5ndGggLTFdLm5leHRFbGVtZW50U2libGluZyA6IG51bGwsCgkJCQlmcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwoJCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19wcmludFNvcnQnLCAwLCBhcmd1bWVudHMpOwoJCQkKCQkJZm9yKHZhciBpID0gMDsgaSA8IHRhcmdldHMubGVuZ3RoOyBpKyspewoJCQkJdmFyIHRhcmdldCA9IHRhcmdldHNbaV0sCgkJCQkJd2hpdGVTcGFjZSA9IHRhcmdldC5uZXh0U2libGluZzsKCgkJCQlpZih0YXJnZXQuc3R5bGUucG9zaXRpb24gPT09ICdhYnNvbHV0ZScpIGNvbnRpbnVlOwoJCQkKCQkJCWlmKHdoaXRlU3BhY2UgJiYgd2hpdGVTcGFjZS5ub2RlTmFtZSA9PT0gJyN0ZXh0Jyl7CgkJCQkJc2VsZi5fJHBhcmVudFswXS5yZW1vdmVDaGlsZCh3aGl0ZVNwYWNlKTsKCQkJCX0KCQkJCQoJCQkJc2VsZi5fJHBhcmVudFswXS5yZW1vdmVDaGlsZCh0YXJnZXQpOwoJCQl9CgkJCQoJCQlmb3IodmFyIGkgPSAwOyBpIDwgb3JkZXIubGVuZ3RoOyBpKyspewoJCQkJdmFyIGVsID0gb3JkZXJbaV07CgoJCQkJaWYoc2VsZi5fbmV3U29ydFswXS5zb3J0QnkgPT09ICdkZWZhdWx0JyAmJiBzZWxmLl9uZXdTb3J0WzBdLm9yZGVyID09PSAnZGVzYycgJiYgIXJlc2V0KXsKCQkJCQl2YXIgZmlyc3RDaGlsZCA9IGZyYWcuZmlyc3RDaGlsZDsKCQkJCQlmcmFnLmluc2VydEJlZm9yZShlbCwgZmlyc3RDaGlsZCk7CgkJCQkJZnJhZy5pbnNlcnRCZWZvcmUoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJyAnKSwgZWwpOwoJCQkJfSBlbHNlIHsKCQkJCQlmcmFnLmFwcGVuZENoaWxkKGVsKTsKCQkJCQlmcmFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcgJykpOwoJCQkJfQoJCQl9CgkJCQoJCQluZXh0U2libGluZyA/IAoJCQkJc2VsZi5fJHBhcmVudFswXS5pbnNlcnRCZWZvcmUoZnJhZywgbmV4dFNpYmxpbmcpIDoKCQkJCXNlbGYuXyRwYXJlbnRbMF0uYXBwZW5kQ2hpbGQoZnJhZyk7CgkJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX3ByaW50U29ydCcsIDEsIGFyZ3VtZW50cyk7CgkJfSwKCQkKCQkvKioKCQkgKiBQYXJzZSBTb3J0CgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtzdHJpbmd9IHNvcnRTdHJpbmcKCQkgKiBAcmV0dXJuIHthcnJheX0gbmV3U29ydAoJCSAqLwoJCQoJCV9wYXJzZVNvcnQ6IGZ1bmN0aW9uKHNvcnRTdHJpbmcpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlydWxlcyA9IHR5cGVvZiBzb3J0U3RyaW5nID09PSAnc3RyaW5nJyA/IHNvcnRTdHJpbmcuc3BsaXQoJyAnKSA6IFtzb3J0U3RyaW5nXSwKCQkJCW5ld1NvcnQgPSBbXTsKCQkJCQoJCQlmb3IodmFyIGkgPSAwOyBpIDwgcnVsZXMubGVuZ3RoOyBpKyspewoJCQkJdmFyIHJ1bGUgPSB0eXBlb2Ygc29ydFN0cmluZyA9PT0gJ3N0cmluZycgPyBydWxlc1tpXS5zcGxpdCgnOicpIDogWydjdXN0b20nLCBydWxlc1tpXV0sCgkJCQkJcnVsZU9iaiA9IHsKCQkJCQkJc29ydEJ5OiBzZWxmLl9oZWxwZXJzLl9jYW1lbENhc2UocnVsZVswXSksCgkJCQkJCW9yZGVyOiBydWxlWzFdIHx8ICdhc2MnCgkJCQkJfTsKCQkJCQkKCQkJCW5ld1NvcnQucHVzaChydWxlT2JqKTsKCQkJCQoJCQkJaWYocnVsZU9iai5zb3J0QnkgPT09ICdkZWZhdWx0JyB8fCBydWxlT2JqLnNvcnRCeSA9PT0gJ3JhbmRvbScpIGJyZWFrOwoJCQl9CgkJCQoJCQlyZXR1cm4gc2VsZi5fZXhlY0ZpbHRlcignX3BhcnNlU29ydCcsIG5ld1NvcnQsIGFyZ3VtZW50cyk7CgkJfSwKCQkKCQkvKioKCQkgKiBQYXJzZSBFZmZlY3RzCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHJldHVybiB7b2JqZWN0fSBlZmZlY3RzCgkJICovCgkJCgkJX3BhcnNlRWZmZWN0czogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJZWZmZWN0cyA9IHsKCQkJCQlvcGFjaXR5OiAnJywKCQkJCQl0cmFuc2Zvcm1JbjogJycsCgkJCQkJdHJhbnNmb3JtT3V0OiAnJywKCQkJCQlmaWx0ZXI6ICcnCgkJCQl9LAoJCQkJcGFyc2UgPSBmdW5jdGlvbihlZmZlY3QsIGV4dHJhY3QsIHJldmVyc2UpewoJCQkJCWlmKHNlbGYuYW5pbWF0aW9uLmVmZmVjdHMuaW5kZXhPZihlZmZlY3QpID4gLTEpewoJCQkJCQlpZihleHRyYWN0KXsKCQkJCQkJCXZhciBwcm9wSW5kZXggPSBzZWxmLmFuaW1hdGlvbi5lZmZlY3RzLmluZGV4T2YoZWZmZWN0KycoJyk7CgkJCQkJCQlpZihwcm9wSW5kZXggPiAtMSl7CgkJCQkJCQkJdmFyIHN0ciA9IHNlbGYuYW5pbWF0aW9uLmVmZmVjdHMuc3Vic3RyaW5nKHByb3BJbmRleCksCgkJCQkJCQkJCW1hdGNoID0gL1woKFteKV0rKVwpLy5leGVjKHN0ciksCgkJCQkJCQkJCXZhbCA9IG1hdGNoWzFdOwoKCQkJCQkJCQkJcmV0dXJuIHt2YWw6IHZhbH07CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQkJcmV0dXJuIHRydWU7CgkJCQkJfSBlbHNlIHsKCQkJCQkJcmV0dXJuIGZhbHNlOwoJCQkJCX0KCQkJCX0sCgkJCQluZWdhdGUgPSBmdW5jdGlvbih2YWx1ZSwgaW52ZXJ0KXsKCQkJCQlpZihpbnZlcnQpewoJCQkJCQlyZXR1cm4gdmFsdWUuY2hhckF0KDApID09PSAnLScgPyB2YWx1ZS5zdWJzdHIoMSwgdmFsdWUubGVuZ3RoKSA6ICctJyt2YWx1ZTsKCQkJCQl9IGVsc2UgewoJCQkJCQlyZXR1cm4gdmFsdWU7CgkJCQkJfQoJCQkJfSwKCQkJCWJ1aWxkVHJhbnNmb3JtID0gZnVuY3Rpb24oa2V5LCBpbnZlcnQpewoJCQkJCXZhciB0cmFuc2Zvcm1zID0gWwoJCQkJCQlbJ3NjYWxlJywgJy4wMSddLAoJCQkJCQlbJ3RyYW5zbGF0ZVgnLCAnMjBweCddLAoJCQkJCQlbJ3RyYW5zbGF0ZVknLCAnMjBweCddLAoJCQkJCQlbJ3RyYW5zbGF0ZVonLCAnMjBweCddLAoJCQkJCQlbJ3JvdGF0ZVgnLCAnOTBkZWcnXSwKCQkJCQkJWydyb3RhdGVZJywgJzkwZGVnJ10sCgkJCQkJCVsncm90YXRlWicsICcxODBkZWcnXSwKCQkJCQldOwoJCQkJCQoJCQkJCWZvcih2YXIgaSA9IDA7IGkgPCB0cmFuc2Zvcm1zLmxlbmd0aDsgaSsrKXsKCQkJCQkJdmFyIHByb3AgPSB0cmFuc2Zvcm1zW2ldWzBdLAoJCQkJCQkJZGVmID0gdHJhbnNmb3Jtc1tpXVsxXSwKCQkJCQkJCWludmVydGVkID0gaW52ZXJ0ICYmIHByb3AgIT09ICdzY2FsZSc7CgkJCQkJCQkKCQkJCQkJZWZmZWN0c1trZXldICs9IHBhcnNlKHByb3ApID8gcHJvcCsnKCcrbmVnYXRlKHBhcnNlKHByb3AsIHRydWUpLnZhbCB8fCBkZWYsIGludmVydGVkKSsnKSAnIDogJyc7CgkJCQkJfQoJCQkJfTsKCQkJCgkJCWVmZmVjdHMub3BhY2l0eSA9IHBhcnNlKCdmYWRlJykgPyBwYXJzZSgnZmFkZScsdHJ1ZSkudmFsIHx8ICcwJyA6ICcxJzsKCQkJCgkJCWJ1aWxkVHJhbnNmb3JtKCd0cmFuc2Zvcm1JbicpOwoJCQkKCQkJc2VsZi5hbmltYXRpb24ucmV2ZXJzZU91dCA/IGJ1aWxkVHJhbnNmb3JtKCd0cmFuc2Zvcm1PdXQnLCB0cnVlKSA6IChlZmZlY3RzLnRyYW5zZm9ybU91dCA9IGVmZmVjdHMudHJhbnNmb3JtSW4pOwoKCQkJZWZmZWN0cy50cmFuc2l0aW9uID0ge307CgkJCQoJCQllZmZlY3RzLnRyYW5zaXRpb24gPSBzZWxmLl9nZXRQcmVmaXhlZENTUygndHJhbnNpdGlvbicsJ2FsbCAnK3NlbGYuYW5pbWF0aW9uLmR1cmF0aW9uKydtcyAnK3NlbGYuYW5pbWF0aW9uLmVhc2luZysnLCBvcGFjaXR5ICcrc2VsZi5hbmltYXRpb24uZHVyYXRpb24rJ21zIGxpbmVhcicpOwoJCQoJCQlzZWxmLmFuaW1hdGlvbi5zdGFnZ2VyID0gcGFyc2UoJ3N0YWdnZXInKSA/IHRydWUgOiBmYWxzZTsKCQkJc2VsZi5hbmltYXRpb24uc3RhZ2dlckR1cmF0aW9uID0gcGFyc2VJbnQocGFyc2UoJ3N0YWdnZXInKSA/IChwYXJzZSgnc3RhZ2dlcicsdHJ1ZSkudmFsID8gcGFyc2UoJ3N0YWdnZXInLHRydWUpLnZhbCA6IDEwMCkgOiAxMDApOwoKCQkJcmV0dXJuIHNlbGYuX2V4ZWNGaWx0ZXIoJ19wYXJzZUVmZmVjdHMnLCBlZmZlY3RzKTsKCQl9LAoJCQoJCS8qKgoJCSAqIEJ1aWxkIFN0YXRlCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtib29sZWFufSBmdXR1cmUKCQkgKiBAcmV0dXJuIHtvYmplY3R9IGZ1dHVyZVN0YXRlCgkJICovCgkJCgkJX2J1aWxkU3RhdGU6IGZ1bmN0aW9uKGZ1dHVyZSl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCXN0YXRlID0ge307CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfYnVpbGRTdGF0ZScsIDApOwoJCQkKCQkJc3RhdGUgPSB7CgkJCQlhY3RpdmVGaWx0ZXI6IHNlbGYuX2FjdGl2ZUZpbHRlciA9PT0gJycgPyAnbm9uZScgOiBzZWxmLl9hY3RpdmVGaWx0ZXIsCgkJCQlhY3RpdmVTb3J0OiBmdXR1cmUgJiYgc2VsZi5fbmV3U29ydFN0cmluZyA/IHNlbGYuX25ld1NvcnRTdHJpbmcgOiBzZWxmLl9hY3RpdmVTb3J0LAoJCQkJZmFpbDogIXNlbGYuXyRzaG93Lmxlbmd0aCAmJiBzZWxmLl9hY3RpdmVGaWx0ZXIgIT09ICcnLAoJCQkJJHRhcmdldHM6IHNlbGYuXyR0YXJnZXRzLAoJCQkJJHNob3c6IHNlbGYuXyRzaG93LAoJCQkJJGhpZGU6IHNlbGYuXyRoaWRlLAoJCQkJdG90YWxUYXJnZXRzOiBzZWxmLl8kdGFyZ2V0cy5sZW5ndGgsCgkJCQl0b3RhbFNob3c6IHNlbGYuXyRzaG93Lmxlbmd0aCwKCQkJCXRvdGFsSGlkZTogc2VsZi5fJGhpZGUubGVuZ3RoLAoJCQkJZGlzcGxheTogZnV0dXJlICYmIHNlbGYuX25ld0Rpc3BsYXkgPyBzZWxmLl9uZXdEaXNwbGF5IDogc2VsZi5sYXlvdXQuZGlzcGxheQoJCQl9OwoJCQkKCQkJaWYoZnV0dXJlKXsKCQkJCXJldHVybiBzZWxmLl9leGVjRmlsdGVyKCdfYnVpbGRTdGF0ZScsIHN0YXRlKTsKCQkJfSBlbHNlIHsKCQkJCXNlbGYuX3N0YXRlID0gc3RhdGU7CgkJCQkKCQkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19idWlsZFN0YXRlJywgMSk7CgkJCX0KCQl9LAoJCQoJCS8qKgoJCSAqIEdvIE1peAoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqIEBwYXJhbSB7Ym9vbGVhbn0gYW5pbWF0ZQoJCSAqLwoJCQoJCV9nb01peDogZnVuY3Rpb24oYW5pbWF0ZSl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCXBoYXNlMSA9IGZ1bmN0aW9uKCl7CgkJCQkJaWYoc2VsZi5fY2hyb21lICYmIChzZWxmLl9jaHJvbWUgPT09IDMxKSl7CgkJCQkJCWNocm9tZUZpeChzZWxmLl8kcGFyZW50WzBdKTsKCQkJCQl9CgkJCQkJCgkJCQkJc2VsZi5fc2V0SW50ZXIoKTsKCQkJCQkKCQkJCQlwaGFzZTIoKTsKCQkJCX0sCgkJCQlwaGFzZTIgPSBmdW5jdGlvbigpewoJCQkJCXZhciBzY3JvbGxUb3AgPSB3aW5kb3cucGFnZVlPZmZzZXQsCgkJCQkJCXNjcm9sbExlZnQgPSB3aW5kb3cucGFnZVhPZmZzZXQsCgkJCQkJCWRvY0hlaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQ7CgoJCQkJCXNlbGYuX2dldEludGVyTWl4RGF0YSgpOwoJCQkJCQoJCQkJCXNlbGYuX3NldEZpbmFsKCk7CgoJCQkJCXNlbGYuX2dldEZpbmFsTWl4RGF0YSgpOwoKCQkJCQkod2luZG93LnBhZ2VZT2Zmc2V0ICE9PSBzY3JvbGxUb3ApICYmIHdpbmRvdy5zY3JvbGxUbyhzY3JvbGxMZWZ0LCBzY3JvbGxUb3ApOwoKCQkJCQlzZWxmLl9wcmVwVGFyZ2V0cygpOwoJCQkJCQoJCQkJCWlmKHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpewoJCQkJCQlyZXF1ZXN0QW5pbWF0aW9uRnJhbWUocGhhc2UzKTsKCQkJCQl9IGVsc2UgewoJCQkJCQlzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7CgkJCQkJCQlwaGFzZTMoKTsKCQkJCQkJfSwyMCk7CgkJCQkJfQoJCQkJfSwKCQkJCXBoYXNlMyA9IGZ1bmN0aW9uKCl7CgkJCQkJc2VsZi5fYW5pbWF0ZVRhcmdldHMoKTsKCgkJCQkJaWYoc2VsZi5fdGFyZ2V0c0JvdW5kID09PSAwKXsKCQkJCQkJc2VsZi5fY2xlYW5VcCgpOwoJCQkJCX0KCQkJCX0sCgkJCQljaHJvbWVGaXggPSBmdW5jdGlvbihncmlkKXsKCQkJCQl2YXIgcGFyZW50ID0gZ3JpZC5wYXJlbnRFbGVtZW50LAoJCQkJCQlwbGFjZWhvbGRlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLAoJCQkJCQlmcmFnID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwoKCQkJCQlwYXJlbnQuaW5zZXJ0QmVmb3JlKHBsYWNlaG9sZGVyLCBncmlkKTsKCQkJCQlmcmFnLmFwcGVuZENoaWxkKGdyaWQpOwoJCQkJCXBhcmVudC5yZXBsYWNlQ2hpbGQoZ3JpZCwgcGxhY2Vob2xkZXIpOwoJCQkJfSwKCQkJCWZ1dHVyZVN0YXRlID0gc2VsZi5fYnVpbGRTdGF0ZSh0cnVlKTsKCQkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfZ29NaXgnLCAwLCBhcmd1bWVudHMpOwoJCQkJCgkJCSFzZWxmLmFuaW1hdGlvbi5kdXJhdGlvbiAmJiAoYW5pbWF0ZSA9IGZhbHNlKTsKCgkJCXNlbGYuX21peGluZyA9IHRydWU7CgkJCQoJCQlzZWxmLl8kY29udGFpbmVyLnJlbW92ZUNsYXNzKHNlbGYubGF5b3V0LmNvbnRhaW5lckNsYXNzRmFpbCk7CgkJCQoJCQlpZih0eXBlb2Ygc2VsZi5jYWxsYmFja3Mub25NaXhTdGFydCA9PT0gJ2Z1bmN0aW9uJyl7CgkJCQlzZWxmLmNhbGxiYWNrcy5vbk1peFN0YXJ0LmNhbGwoc2VsZi5fZG9tTm9kZSwgc2VsZi5fc3RhdGUsIGZ1dHVyZVN0YXRlLCBzZWxmKTsKCQkJfQoJCQkKCQkJc2VsZi5fJGNvbnRhaW5lci50cmlnZ2VyKCdtaXhTdGFydCcsIFtzZWxmLl9zdGF0ZSwgZnV0dXJlU3RhdGUsIHNlbGZdKTsKCQkJCgkJCXNlbGYuX2dldE9yaWdNaXhEYXRhKCk7CgkJCQoJCQlpZihhbmltYXRlICYmICFzZWxmLl9zdWNrTW9kZSl7CgkJCQoJCQkJd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA/CgkJCQkJcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHBoYXNlMSkgOgoJCQkJCXBoYXNlMSgpOwoJCQkKCQkJfSBlbHNlIHsKCQkJCXNlbGYuX2NsZWFuVXAoKTsKCQkJfQoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2dvTWl4JywgMSwgYXJndW1lbnRzKTsKCQl9LAoJCQoJCS8qKgoJCSAqIEdldCBUYXJnZXQgRGF0YQoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqLwoJCQoJCV9nZXRUYXJnZXREYXRhOiBmdW5jdGlvbihlbCwgc3RhZ2UpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQllbFN0eWxlOwoJCQkKCQkJZWwuZGF0YXNldFtzdGFnZSsnUG9zWCddID0gZWwub2Zmc2V0TGVmdDsKCQkJZWwuZGF0YXNldFtzdGFnZSsnUG9zWSddID0gZWwub2Zmc2V0VG9wOwoKCQkJaWYoc2VsZi5hbmltYXRpb24uYW5pbWF0ZVJlc2l6ZVRhcmdldHMpewoJCQkJZWxTdHlsZSA9ICFzZWxmLl9zdWNrTW9kZSA/IAoJCQkJCXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsKSA6IAoJCQkJCXsKCQkJCQkJbWFyZ2luQm90dG9tOiAnJywKCQkJCQkJbWFyZ2luUmlnaHQ6ICcnCgkJCQkJfTsKCQkJCgkJCQllbC5kYXRhc2V0W3N0YWdlKydNYXJnaW5Cb3R0b20nXSA9IHBhcnNlSW50KGVsU3R5bGUubWFyZ2luQm90dG9tKTsKCQkJCWVsLmRhdGFzZXRbc3RhZ2UrJ01hcmdpblJpZ2h0J10gPSBwYXJzZUludChlbFN0eWxlLm1hcmdpblJpZ2h0KTsKCQkJCWVsLmRhdGFzZXRbc3RhZ2UrJ1dpZHRoJ10gPSBlbC5vZmZzZXRXaWR0aDsKCQkJCWVsLmRhdGFzZXRbc3RhZ2UrJ0hlaWdodCddID0gZWwub2Zmc2V0SGVpZ2h0OwoJCQl9CgkJfSwKCQkKCQkvKioKCQkgKiBHZXQgT3JpZ2luYWwgTWl4IERhdGEKCQkgKiBAc2luY2UgMi4wLjAKCQkgKi8KCQkKCQlfZ2V0T3JpZ01peERhdGE6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCXBhcmVudFN0eWxlID0gIXNlbGYuX3N1Y2tNb2RlID8gd2luZG93LmdldENvbXB1dGVkU3R5bGUoc2VsZi5fJHBhcmVudFswXSkgOiB7Ym94U2l6aW5nOiAnJ30sCgkJCQlwYXJlbnRCUyA9IHBhcmVudFN0eWxlLmJveFNpemluZyB8fCBwYXJlbnRTdHlsZVtzZWxmLl92ZW5kb3IrJ0JveFNpemluZyddOwoJCgkJCXNlbGYuX2luY1BhZGRpbmcgPSAocGFyZW50QlMgPT09ICdib3JkZXItYm94Jyk7CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfZ2V0T3JpZ01peERhdGEnLCAwKTsKCQkJCgkJCSFzZWxmLl9zdWNrTW9kZSAmJiAoc2VsZi5lZmZlY3RzID0gc2VsZi5fcGFyc2VFZmZlY3RzKCkpOwoJCQoJCQlzZWxmLl8kdG9IaWRlID0gc2VsZi5fJGhpZGUuZmlsdGVyKCc6dmlzaWJsZScpOwoJCQlzZWxmLl8kdG9TaG93ID0gc2VsZi5fJHNob3cuZmlsdGVyKCc6aGlkZGVuJyk7CgkJCXNlbGYuXyRwcmUgPSBzZWxmLl8kdGFyZ2V0cy5maWx0ZXIoJzp2aXNpYmxlJyk7CgoJCQlzZWxmLl9zdGFydEhlaWdodCA9IHNlbGYuX2luY1BhZGRpbmcgPyAKCQkJCXNlbGYuXyRwYXJlbnQub3V0ZXJIZWlnaHQoKSA6IAoJCQkJc2VsZi5fJHBhcmVudC5oZWlnaHQoKTsKCQkJCQoJCQlmb3IodmFyIGkgPSAwOyBpIDwgc2VsZi5fJHByZS5sZW5ndGg7IGkrKyl7CgkJCQl2YXIgZWwgPSBzZWxmLl8kcHJlW2ldOwoJCQkJCgkJCQlzZWxmLl9nZXRUYXJnZXREYXRhKGVsLCAnb3JpZycpOwoJCQl9CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfZ2V0T3JpZ01peERhdGEnLCAxKTsKCQl9LAoJCQoJCS8qKgoJCSAqIFNldCBJbnRlcm1lZGlhdGUgUG9zaXRpb25zCgkJICogQHNpbmNlIDIuMC4wCgkJICovCgkJCgkJX3NldEludGVyOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfc2V0SW50ZXInLCAwKTsKCQkJCgkJCWlmKHNlbGYuX2NoYW5naW5nTGF5b3V0ICYmIHNlbGYuYW5pbWF0aW9uLmFuaW1hdGVDaGFuZ2VMYXlvdXQpewoJCQkJc2VsZi5fJHRvU2hvdy5jc3MoJ2Rpc3BsYXknLHNlbGYuX25ld0Rpc3BsYXkpOwoKCQkJCWlmKHNlbGYuX2NoYW5naW5nQ2xhc3MpewoJCQkJCXNlbGYuXyRjb250YWluZXIKCQkJCQkJLnJlbW92ZUNsYXNzKHNlbGYubGF5b3V0LmNvbnRhaW5lckNsYXNzKQoJCQkJCQkuYWRkQ2xhc3Moc2VsZi5fbmV3Q2xhc3MpOwoJCQkJfQoJCQl9IGVsc2UgewoJCQkJc2VsZi5fJHRvU2hvdy5jc3MoJ2Rpc3BsYXknLCBzZWxmLmxheW91dC5kaXNwbGF5KTsKCQkJfQoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX3NldEludGVyJywgMSk7CgkJfSwKCQkKCQkvKioKCQkgKiBHZXQgSW50ZXJtZWRpYXRlIE1peCBEYXRhCgkJICogQHNpbmNlIDIuMC4wCgkJICovCgkJCgkJX2dldEludGVyTWl4RGF0YTogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2dldEludGVyTWl4RGF0YScsIDApOwoJCQkKCQkJZm9yKHZhciBpID0gMDsgaSA8IHNlbGYuXyR0b1Nob3cubGVuZ3RoOyBpKyspewoJCQkJdmFyIGVsID0gc2VsZi5fJHRvU2hvd1tpXTsKCQkJCQkKCQkJCXNlbGYuX2dldFRhcmdldERhdGEoZWwsICdpbnRlcicpOwoJCQl9CgkJCQoJCQlmb3IodmFyIGkgPSAwOyBpIDwgc2VsZi5fJHByZS5sZW5ndGg7IGkrKyl7CgkJCQl2YXIgZWwgPSBzZWxmLl8kcHJlW2ldOwoJCQkJCQoJCQkJc2VsZi5fZ2V0VGFyZ2V0RGF0YShlbCwgJ2ludGVyJyk7CgkJCX0KCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19nZXRJbnRlck1peERhdGEnLCAxKTsKCQl9LAoJCQoJCS8qKgoJCSAqIFNldCBGaW5hbCBQb3NpdGlvbnMKCQkgKiBAc2luY2UgMi4wLjAKCQkgKi8KCQkKCQlfc2V0RmluYWw6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19zZXRGaW5hbCcsIDApOwoJCQkKCQkJc2VsZi5fc29ydGluZyAmJiBzZWxmLl9wcmludFNvcnQoKTsKCgkJCXNlbGYuXyR0b0hpZGUucmVtb3ZlU3R5bGUoJ2Rpc3BsYXknKTsKCQkJCgkJCWlmKHNlbGYuX2NoYW5naW5nTGF5b3V0ICYmIHNlbGYuYW5pbWF0aW9uLmFuaW1hdGVDaGFuZ2VMYXlvdXQpewoJCQkJc2VsZi5fJHByZS5jc3MoJ2Rpc3BsYXknLHNlbGYuX25ld0Rpc3BsYXkpOwoJCQl9CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfc2V0RmluYWwnLCAxKTsKCQl9LAoJCQoJCS8qKgoJCSAqIEdldCBGaW5hbCBNaXggRGF0YQoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqLwoJCQoJCV9nZXRGaW5hbE1peERhdGE6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19nZXRGaW5hbE1peERhdGEnLCAwKTsKCQoJCQlmb3IodmFyIGkgPSAwOyBpIDwgc2VsZi5fJHRvU2hvdy5sZW5ndGg7IGkrKyl7CgkJCQl2YXIgZWwgPSBzZWxmLl8kdG9TaG93W2ldOwoJCQkJCQoJCQkJc2VsZi5fZ2V0VGFyZ2V0RGF0YShlbCwgJ2ZpbmFsJyk7CgkJCX0KCQkJCgkJCWZvcih2YXIgaSA9IDA7IGkgPCBzZWxmLl8kcHJlLmxlbmd0aDsgaSsrKXsKCQkJCXZhciBlbCA9IHNlbGYuXyRwcmVbaV07CgkJCQkJCgkJCQlzZWxmLl9nZXRUYXJnZXREYXRhKGVsLCAnZmluYWwnKTsKCQkJfQoJCQkKCQkJc2VsZi5fbmV3SGVpZ2h0ID0gc2VsZi5faW5jUGFkZGluZyA/IAoJCQkJc2VsZi5fJHBhcmVudC5vdXRlckhlaWdodCgpIDogCgkJCQlzZWxmLl8kcGFyZW50LmhlaWdodCgpOwoKCQkJc2VsZi5fc29ydGluZyAmJiBzZWxmLl9wcmludFNvcnQodHJ1ZSk7CgkKCQkJc2VsZi5fJHRvU2hvdy5yZW1vdmVTdHlsZSgnZGlzcGxheScpOwoJCQkKCQkJc2VsZi5fJHByZS5jc3MoJ2Rpc3BsYXknLHNlbGYubGF5b3V0LmRpc3BsYXkpOwoJCQkKCQkJaWYoc2VsZi5fY2hhbmdpbmdDbGFzcyAmJiBzZWxmLmFuaW1hdGlvbi5hbmltYXRlQ2hhbmdlTGF5b3V0KXsKCQkJCXNlbGYuXyRjb250YWluZXIKCQkJCQkucmVtb3ZlQ2xhc3Moc2VsZi5fbmV3Q2xhc3MpCgkJCQkJLmFkZENsYXNzKHNlbGYubGF5b3V0LmNvbnRhaW5lckNsYXNzKTsKCQkJfQoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2dldEZpbmFsTWl4RGF0YScsIDEpOwoJCX0sCgkJCgkJLyoqCgkJICogUHJlcGFyZSBUYXJnZXRzCgkJICogQHNpbmNlIDIuMC4wCgkJICovCgkJCgkJX3ByZXBUYXJnZXRzOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQl0cmFuc2Zvcm1DU1MgPSB7CgkJCQkJX2luOiBzZWxmLl9nZXRQcmVmaXhlZENTUygndHJhbnNmb3JtJywgc2VsZi5lZmZlY3RzLnRyYW5zZm9ybUluKSwKCQkJCQlfb3V0OiBzZWxmLl9nZXRQcmVmaXhlZENTUygndHJhbnNmb3JtJywgc2VsZi5lZmZlY3RzLnRyYW5zZm9ybU91dCkKCQkJCX07CgoJCQlzZWxmLl9leGVjQWN0aW9uKCdfcHJlcFRhcmdldHMnLCAwKTsKCQkJCgkJCWlmKHNlbGYuYW5pbWF0aW9uLmFuaW1hdGVSZXNpemVDb250YWluZXIpewoJCQkJc2VsZi5fJHBhcmVudC5jc3MoJ2hlaWdodCcsc2VsZi5fc3RhcnRIZWlnaHQrJ3B4Jyk7CgkJCX0KCQkJCgkJCWZvcih2YXIgaSA9IDA7IGkgPCBzZWxmLl8kdG9TaG93Lmxlbmd0aDsgaSsrKXsKCQkJCXZhciBlbCA9IHNlbGYuXyR0b1Nob3dbaV0sCgkJCQkJJGVsID0gJChlbCk7CgkJCQkKCQkJCWVsLnN0eWxlLm9wYWNpdHkgPSBzZWxmLmVmZmVjdHMub3BhY2l0eTsKCQkJCWVsLnN0eWxlLmRpc3BsYXkgPSAoc2VsZi5fY2hhbmdpbmdMYXlvdXQgJiYgc2VsZi5hbmltYXRpb24uYW5pbWF0ZUNoYW5nZUxheW91dCkgPwoJCQkJCXNlbGYuX25ld0Rpc3BsYXkgOgoJCQkJCXNlbGYubGF5b3V0LmRpc3BsYXk7CgkJCQkJCgkJCQkkZWwuY3NzKHRyYW5zZm9ybUNTUy5faW4pOwoJCQkJCgkJCQlpZihzZWxmLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplVGFyZ2V0cyl7CgkJCQkJZWwuc3R5bGUud2lkdGggPSBlbC5kYXRhc2V0LmZpbmFsV2lkdGgrJ3B4JzsKCQkJCQllbC5zdHlsZS5oZWlnaHQgPSBlbC5kYXRhc2V0LmZpbmFsSGVpZ2h0KydweCc7CgkJCQkJZWwuc3R5bGUubWFyZ2luUmlnaHQgPSAtKGVsLmRhdGFzZXQuZmluYWxXaWR0aCAtIGVsLmRhdGFzZXQuaW50ZXJXaWR0aCkgKyAoZWwuZGF0YXNldC5maW5hbE1hcmdpblJpZ2h0ICogMSkrJ3B4JzsKCQkJCQllbC5zdHlsZS5tYXJnaW5Cb3R0b20gPSAtKGVsLmRhdGFzZXQuZmluYWxIZWlnaHQgLSBlbC5kYXRhc2V0LmludGVySGVpZ2h0KSArIChlbC5kYXRhc2V0LmZpbmFsTWFyZ2luQm90dG9tICogMSkrJ3B4JzsKCQkJCX0KCQkJfQoKCQkJZm9yKHZhciBpID0gMDsgaSA8IHNlbGYuXyRwcmUubGVuZ3RoOyBpKyspewoJCQkJdmFyIGVsID0gc2VsZi5fJHByZVtpXSwKCQkJCQkkZWwgPSAkKGVsKSwKCQkJCQl0cmFuc2xhdGUgPSB7CgkJCQkJCXg6IGVsLmRhdGFzZXQub3JpZ1Bvc1ggLSBlbC5kYXRhc2V0LmludGVyUG9zWCwKCQkJCQkJeTogZWwuZGF0YXNldC5vcmlnUG9zWSAtIGVsLmRhdGFzZXQuaW50ZXJQb3NZCgkJCQkJfSwKCQkJCQl0cmFuc2Zvcm1DU1MgPSBzZWxmLl9nZXRQcmVmaXhlZENTUygndHJhbnNmb3JtJywndHJhbnNsYXRlKCcrdHJhbnNsYXRlLngrJ3B4LCcrdHJhbnNsYXRlLnkrJ3B4KScpOwoKCQkJCSRlbC5jc3ModHJhbnNmb3JtQ1NTKTsKCQkJCQoJCQkJaWYoc2VsZi5hbmltYXRpb24uYW5pbWF0ZVJlc2l6ZVRhcmdldHMpewoJCQkJCWVsLnN0eWxlLndpZHRoID0gZWwuZGF0YXNldC5vcmlnV2lkdGgrJ3B4JzsKCQkJCQllbC5zdHlsZS5oZWlnaHQgPSBlbC5kYXRhc2V0Lm9yaWdIZWlnaHQrJ3B4JzsKCQkJCQkKCQkJCQlpZihlbC5kYXRhc2V0Lm9yaWdXaWR0aCAtIGVsLmRhdGFzZXQuZmluYWxXaWR0aCl7CgkJCQkJCWVsLnN0eWxlLm1hcmdpblJpZ2h0ID0gLShlbC5kYXRhc2V0Lm9yaWdXaWR0aCAtIGVsLmRhdGFzZXQuaW50ZXJXaWR0aCkgKyAoZWwuZGF0YXNldC5vcmlnTWFyZ2luUmlnaHQgKiAxKSsncHgnOwoJCQkJCX0KCQkJCQkKCQkJCQlpZihlbC5kYXRhc2V0Lm9yaWdIZWlnaHQgLSBlbC5kYXRhc2V0LmZpbmFsSGVpZ2h0KXsKCQkJCQkJZWwuc3R5bGUubWFyZ2luQm90dG9tID0gLShlbC5kYXRhc2V0Lm9yaWdIZWlnaHQgLSBlbC5kYXRhc2V0LmludGVySGVpZ2h0KSArIChlbC5kYXRhc2V0Lm9yaWdNYXJnaW5Cb3R0b20gKiAxKSArJ3B4JzsKCQkJCQl9CgkJCQl9CgkJCX0KCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19wcmVwVGFyZ2V0cycsIDEpOwoJCX0sCgkJCgkJLyoqCgkJICogQW5pbWF0ZSBUYXJnZXRzCgkJICogQHNpbmNlIDIuMC4wCgkJICovCgkJCgkJX2FuaW1hdGVUYXJnZXRzOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXM7CgoJCQlzZWxmLl9leGVjQWN0aW9uKCdfYW5pbWF0ZVRhcmdldHMnLCAwKTsKCQkJCgkJCXNlbGYuX3RhcmdldHNEb25lID0gMDsKCQkJc2VsZi5fdGFyZ2V0c0JvdW5kID0gMDsKCQkJCgkJCXNlbGYuXyRwYXJlbnQKCQkJCS5jc3Moc2VsZi5fZ2V0UHJlZml4ZWRDU1MoJ3BlcnNwZWN0aXZlJywgc2VsZi5hbmltYXRpb24ucGVyc3BlY3RpdmVEaXN0YW5jZSsncHgnKSkKCQkJCS5jc3Moc2VsZi5fZ2V0UHJlZml4ZWRDU1MoJ3BlcnNwZWN0aXZlLW9yaWdpbicsIHNlbGYuYW5pbWF0aW9uLnBlcnNwZWN0aXZlT3JpZ2luKSk7CgkJCQoJCQlpZihzZWxmLmFuaW1hdGlvbi5hbmltYXRlUmVzaXplQ29udGFpbmVyKXsKCQkJCXNlbGYuXyRwYXJlbnQKCQkJCQkuY3NzKHNlbGYuX2dldFByZWZpeGVkQ1NTKCd0cmFuc2l0aW9uJywnaGVpZ2h0ICcrc2VsZi5hbmltYXRpb24uZHVyYXRpb24rJ21zIGVhc2UnKSkKCQkJCQkuY3NzKCdoZWlnaHQnLHNlbGYuX25ld0hlaWdodCsncHgnKTsKCQkJfQoJCQkKCQkJZm9yKHZhciBpID0gMDsgaSA8IHNlbGYuXyR0b1Nob3cubGVuZ3RoOyBpKyspewoJCQkJdmFyIGVsID0gc2VsZi5fJHRvU2hvd1tpXSwKCQkJCQkkZWwgPSAkKGVsKSwKCQkJCQl0cmFuc2xhdGUgPSB7CgkJCQkJCXg6IGVsLmRhdGFzZXQuZmluYWxQb3NYIC0gZWwuZGF0YXNldC5pbnRlclBvc1gsCgkJCQkJCXk6IGVsLmRhdGFzZXQuZmluYWxQb3NZIC0gZWwuZGF0YXNldC5pbnRlclBvc1kKCQkJCQl9LAoJCQkJCWRlbGF5ID0gc2VsZi5fZ2V0RGVsYXkoaSksCgkJCQkJdG9TaG93Q1NTID0ge307CgkJCQkKCQkJCWVsLnN0eWxlLm9wYWNpdHkgPSAnJzsKCQkJCQoJCQkJZm9yKHZhciBqID0gMDsgaiA8IDI7IGorKyl7CgkJCQkJdmFyIGEgPSBqID09PSAwID8gYSA9IHNlbGYuX3ByZWZpeCA6ICcnOwoJCQkJCQoJCQkJCWlmKHNlbGYuX2ZmICYmIHNlbGYuX2ZmIDw9IDIwKXsKCQkJCQkJdG9TaG93Q1NTW2ErJ3RyYW5zaXRpb24tcHJvcGVydHknXSA9ICdhbGwnOwoJCQkJCQl0b1Nob3dDU1NbYSsndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nXSA9IHNlbGYuYW5pbWF0aW9uLmVhc2luZysnbXMnOwoJCQkJCQl0b1Nob3dDU1NbYSsndHJhbnNpdGlvbi1kdXJhdGlvbiddID0gc2VsZi5hbmltYXRpb24uZHVyYXRpb24rJ21zJzsKCQkJCQl9CgkJCQkJCgkJCQkJdG9TaG93Q1NTW2ErJ3RyYW5zaXRpb24tZGVsYXknXSA9IGRlbGF5Kydtcyc7CgkJCQkJdG9TaG93Q1NTW2ErJ3RyYW5zZm9ybSddID0gJ3RyYW5zbGF0ZSgnK3RyYW5zbGF0ZS54KydweCwnK3RyYW5zbGF0ZS55KydweCknOwoJCQkJfQoJCQkJCgkJCQlpZihzZWxmLmVmZmVjdHMudHJhbnNmb3JtIHx8IHNlbGYuZWZmZWN0cy5vcGFjaXR5KXsKCQkJCQlzZWxmLl9iaW5kVGFyZ2V0RG9uZSgkZWwpOwoJCQkJfQoJCQkJCgkJCQkoc2VsZi5fZmYgJiYgc2VsZi5fZmYgPD0gMjApID8gCgkJCQkJJGVsLmNzcyh0b1Nob3dDU1MpIDogCgkJCQkJJGVsLmNzcyhzZWxmLmVmZmVjdHMudHJhbnNpdGlvbikuY3NzKHRvU2hvd0NTUyk7CgkJCX0KCQkJCgkJCWZvcih2YXIgaSA9IDA7IGkgPCBzZWxmLl8kcHJlLmxlbmd0aDsgaSsrKXsKCQkJCXZhciBlbCA9IHNlbGYuXyRwcmVbaV0sCgkJCQkJJGVsID0gJChlbCksCgkJCQkJdHJhbnNsYXRlID0gewoJCQkJCQl4OiBlbC5kYXRhc2V0LmZpbmFsUG9zWCAtIGVsLmRhdGFzZXQuaW50ZXJQb3NYLAoJCQkJCQl5OiBlbC5kYXRhc2V0LmZpbmFsUG9zWSAtIGVsLmRhdGFzZXQuaW50ZXJQb3NZCgkJCQkJfSwKCQkJCQlkZWxheSA9IHNlbGYuX2dldERlbGF5KGkpOwoJCQkJCQoJCQkJaWYoISgKCQkJCQllbC5kYXRhc2V0LmZpbmFsUG9zWCA9PT0gZWwuZGF0YXNldC5vcmlnUG9zWCAmJgoJCQkJCWVsLmRhdGFzZXQuZmluYWxQb3NZID09PSBlbC5kYXRhc2V0Lm9yaWdQb3NZCgkJCQkpKXsKCQkJCQlzZWxmLl9iaW5kVGFyZ2V0RG9uZSgkZWwpOwoJCQkJfQoJCQkJCgkJCQkkZWwuY3NzKHNlbGYuX2dldFByZWZpeGVkQ1NTKCd0cmFuc2l0aW9uJywgJ2FsbCAnK3NlbGYuYW5pbWF0aW9uLmR1cmF0aW9uKydtcyAnK3NlbGYuYW5pbWF0aW9uLmVhc2luZysnICcrZGVsYXkrJ21zJykpOwoJCQkJJGVsLmNzcyhzZWxmLl9nZXRQcmVmaXhlZENTUygndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZSgnK3RyYW5zbGF0ZS54KydweCwnK3RyYW5zbGF0ZS55KydweCknKSk7CgkJCQkKCQkJCWlmKHNlbGYuYW5pbWF0aW9uLmFuaW1hdGVSZXNpemVUYXJnZXRzKXsKCQkJCQlpZihlbC5kYXRhc2V0Lm9yaWdXaWR0aCAtIGVsLmRhdGFzZXQuZmluYWxXaWR0aCAmJiBlbC5kYXRhc2V0LmZpbmFsV2lkdGggKiAxKXsKCQkJCQkJZWwuc3R5bGUud2lkdGggPSBlbC5kYXRhc2V0LmZpbmFsV2lkdGgrJ3B4JzsKCQkJCQkJZWwuc3R5bGUubWFyZ2luUmlnaHQgPSAtKGVsLmRhdGFzZXQuZmluYWxXaWR0aCAtIGVsLmRhdGFzZXQuaW50ZXJXaWR0aCkrKGVsLmRhdGFzZXQuZmluYWxNYXJnaW5SaWdodCAqIDEpKydweCc7CgkJCQkJfQoJCQkJCQoJCQkJCWlmKGVsLmRhdGFzZXQub3JpZ0hlaWdodCAtIGVsLmRhdGFzZXQuZmluYWxIZWlnaHQgJiYgZWwuZGF0YXNldC5maW5hbEhlaWdodCAqIDEpewoJCQkJCQllbC5zdHlsZS5oZWlnaHQgPSBlbC5kYXRhc2V0LmZpbmFsSGVpZ2h0KydweCc7CgkJCQkJCWVsLnN0eWxlLm1hcmdpbkJvdHRvbSA9IC0oZWwuZGF0YXNldC5maW5hbEhlaWdodCAtIGVsLmRhdGFzZXQuaW50ZXJIZWlnaHQpKyhlbC5kYXRhc2V0LmZpbmFsTWFyZ2luQm90dG9tICogMSkgKydweCc7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCQoJCQlpZihzZWxmLl9jaGFuZ2luZ0NsYXNzKXsKCQkJCXNlbGYuXyRjb250YWluZXIKCQkJCQkucmVtb3ZlQ2xhc3Moc2VsZi5sYXlvdXQuY29udGFpbmVyQ2xhc3MpCgkJCQkJLmFkZENsYXNzKHNlbGYuX25ld0NsYXNzKTsKCQkJfQoJCQkKCQkJZm9yKHZhciBpID0gMDsgaSA8IHNlbGYuXyR0b0hpZGUubGVuZ3RoOyBpKyspewoJCQkJdmFyIGVsID0gc2VsZi5fJHRvSGlkZVtpXSwKCQkJCQkkZWwgPSAkKGVsKSwKCQkJCQlkZWxheSA9IHNlbGYuX2dldERlbGF5KGkpLAoJCQkJCXRvSGlkZUNTUyA9IHt9OwoKCQkJCWZvcih2YXIgaiA9IDA7IGo8MjsgaisrKXsKCQkJCQl2YXIgYSA9IGogPT09IDAgPyBhID0gc2VsZi5fcHJlZml4IDogJyc7CgoJCQkJCXRvSGlkZUNTU1thKyd0cmFuc2l0aW9uLWRlbGF5J10gPSBkZWxheSsnbXMnOwoJCQkJCXRvSGlkZUNTU1thKyd0cmFuc2Zvcm0nXSA9IHNlbGYuZWZmZWN0cy50cmFuc2Zvcm1PdXQ7CgkJCQkJdG9IaWRlQ1NTLm9wYWNpdHkgPSBzZWxmLmVmZmVjdHMub3BhY2l0eTsKCQkJCX0KCQkJCQoJCQkJJGVsLmNzcyhzZWxmLmVmZmVjdHMudHJhbnNpdGlvbikuY3NzKHRvSGlkZUNTUyk7CgkJCQoJCQkJaWYoc2VsZi5lZmZlY3RzLnRyYW5zZm9ybSB8fCBzZWxmLmVmZmVjdHMub3BhY2l0eSl7CgkJCQkJc2VsZi5fYmluZFRhcmdldERvbmUoJGVsKTsKCQkJCX07CgkJCX0KCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19hbmltYXRlVGFyZ2V0cycsIDEpOwoKCQl9LAoJCQoJCS8qKgoJCSAqIEJpbmQgVGFyZ2V0cyBUcmFuc2l0aW9uRW5kCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtvYmplY3R9ICRlbAoJCSAqLwoJCQoJCV9iaW5kVGFyZ2V0RG9uZTogZnVuY3Rpb24oJGVsKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJZWwgPSAkZWxbMF07CgkJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX2JpbmRUYXJnZXREb25lJywgMCwgYXJndW1lbnRzKTsKCQkJCgkJCWlmKCFlbC5kYXRhc2V0LmJvdW5kKXsKCQkJCQoJCQkJZWwuZGF0YXNldC5ib3VuZCA9IHRydWU7CgkJCQlzZWxmLl90YXJnZXRzQm91bmQrKzsKCQkJCgkJCQkkZWwub24oJ3dlYmtpdFRyYW5zaXRpb25FbmQubWl4SXRVcCB0cmFuc2l0aW9uZW5kLm1peEl0VXAnLGZ1bmN0aW9uKGUpewoJCQkJCWlmKAoJCQkJCQkoZS5vcmlnaW5hbEV2ZW50LnByb3BlcnR5TmFtZS5pbmRleE9mKCd0cmFuc2Zvcm0nKSA+IC0xIHx8IAoJCQkJCQllLm9yaWdpbmFsRXZlbnQucHJvcGVydHlOYW1lLmluZGV4T2YoJ29wYWNpdHknKSA+IC0xKSAmJgoJCQkJCQkkKGUub3JpZ2luYWxFdmVudC50YXJnZXQpLmlzKHNlbGYuc2VsZWN0b3JzLnRhcmdldCkKCQkJCQkpewoJCQkJCQkkZWwub2ZmKCcubWl4SXRVcCcpOwoJCQkJCQlkZWxldGUgZWwuZGF0YXNldC5ib3VuZDsKCQkJCQkJc2VsZi5fdGFyZ2V0RG9uZSgpOwoJCQkJCX0KCQkJCX0pOwoJCQl9CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdfYmluZFRhcmdldERvbmUnLCAxLCBhcmd1bWVudHMpOwoJCX0sCgkJCgkJLyoqCgkJICogVGFyZ2V0IERvbmUKCQkgKiBAc2luY2UgMi4wLjAKCQkgKi8KCQkKCQlfdGFyZ2V0RG9uZTogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzOwoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX3RhcmdldERvbmUnLCAwKTsKCQkJCgkJCXNlbGYuX3RhcmdldHNEb25lKys7CgkJCQoJCQkoc2VsZi5fdGFyZ2V0c0RvbmUgPT09IHNlbGYuX3RhcmdldHNCb3VuZCkgJiYgc2VsZi5fY2xlYW5VcCgpOwoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignX3RhcmdldERvbmUnLCAxKTsKCQl9LAoJCQoJCS8qKgoJCSAqIENsZWFuIFVwCgkJICogQHNpbmNlIDIuMC4wCgkJICovCgkJCgkJX2NsZWFuVXA6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCXRhcmdldFN0eWxlcyA9IHNlbGYuYW5pbWF0aW9uLmFuaW1hdGVSZXNpemVUYXJnZXRzID8gCgkJCQkJJ3RyYW5zZm9ybSBvcGFjaXR5IHdpZHRoIGhlaWdodCBtYXJnaW4tYm90dG9tIG1hcmdpbi1yaWdodCcgOgoJCQkJCSd0cmFuc2Zvcm0gb3BhY2l0eScsCgkJCQl1bkJyYWtlID0gZnVuY3Rpb24oKXsKCQkJCQlzZWxmLl8kdGFyZ2V0cy5yZW1vdmVTdHlsZSgndHJhbnNpdGlvbicsIHNlbGYuX3ByZWZpeCk7CgkJCQl9OwoJCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19jbGVhblVwJywgMCk7CgkJCQoJCQkhc2VsZi5fY2hhbmdpbmdMYXlvdXQgPwoJCQkJc2VsZi5fJHNob3cuY3NzKCdkaXNwbGF5JyxzZWxmLmxheW91dC5kaXNwbGF5KSA6CgkJCQlzZWxmLl8kc2hvdy5jc3MoJ2Rpc3BsYXknLHNlbGYuX25ld0Rpc3BsYXkpOwoJCQkKCQkJc2VsZi5fJHRhcmdldHMuY3NzKHNlbGYuX2JyYWtlKTsKCQkJCgkJCXNlbGYuXyR0YXJnZXRzCgkJCQkucmVtb3ZlU3R5bGUodGFyZ2V0U3R5bGVzLCBzZWxmLl9wcmVmaXgpCgkJCQkucmVtb3ZlQXR0cignZGF0YS1pbnRlci1wb3MteCBkYXRhLWludGVyLXBvcy15IGRhdGEtZmluYWwtcG9zLXggZGF0YS1maW5hbC1wb3MteSBkYXRhLW9yaWctcG9zLXggZGF0YS1vcmlnLXBvcy15IGRhdGEtb3JpZy1oZWlnaHQgZGF0YS1vcmlnLXdpZHRoIGRhdGEtZmluYWwtaGVpZ2h0IGRhdGEtZmluYWwtd2lkdGggZGF0YS1pbnRlci13aWR0aCBkYXRhLWludGVyLWhlaWdodCBkYXRhLW9yaWctbWFyZ2luLXJpZ2h0IGRhdGEtb3JpZy1tYXJnaW4tYm90dG9tIGRhdGEtaW50ZXItbWFyZ2luLXJpZ2h0IGRhdGEtaW50ZXItbWFyZ2luLWJvdHRvbSBkYXRhLWZpbmFsLW1hcmdpbi1yaWdodCBkYXRhLWZpbmFsLW1hcmdpbi1ib3R0b20nKTsKCQkJCQoJCQlzZWxmLl8kaGlkZS5yZW1vdmVTdHlsZSgnZGlzcGxheScpOwoJCQkKCQkJc2VsZi5fJHBhcmVudC5yZW1vdmVTdHlsZSgnaGVpZ2h0IHRyYW5zaXRpb24gcGVyc3BlY3RpdmUtZGlzdGFuY2UgcGVyc3BlY3RpdmUgcGVyc3BlY3RpdmUtb3JpZ2luLXggcGVyc3BlY3RpdmUtb3JpZ2luLXkgcGVyc3BlY3RpdmUtb3JpZ2luIHBlcnNwZWN0aXZlT3JpZ2luJywgc2VsZi5fcHJlZml4KTsKCQkJCgkJCWlmKHNlbGYuX3NvcnRpbmcpewoJCQkJc2VsZi5fcHJpbnRTb3J0KCk7CgkJCQlzZWxmLl9hY3RpdmVTb3J0ID0gc2VsZi5fbmV3U29ydFN0cmluZzsKCQkJCXNlbGYuX3NvcnRpbmcgPSBmYWxzZTsKCQkJfQoJCQkKCQkJaWYoc2VsZi5fY2hhbmdpbmdMYXlvdXQpewoJCQkJaWYoc2VsZi5fY2hhbmdpbmdEaXNwbGF5KXsKCQkJCQlzZWxmLmxheW91dC5kaXNwbGF5ID0gc2VsZi5fbmV3RGlzcGxheTsKCQkJCQlzZWxmLl9jaGFuZ2luZ0Rpc3BsYXkgPSBmYWxzZTsKCQkJCX0KCQkJCQoJCQkJaWYoc2VsZi5fY2hhbmdpbmdDbGFzcyl7CgkJCQkJc2VsZi5fJHBhcmVudC5yZW1vdmVDbGFzcyhzZWxmLmxheW91dC5jb250YWluZXJDbGFzcykuYWRkQ2xhc3Moc2VsZi5fbmV3Q2xhc3MpOwoJCQkJCXNlbGYubGF5b3V0LmNvbnRhaW5lckNsYXNzID0gc2VsZi5fbmV3Q2xhc3M7CgkJCQkJc2VsZi5fY2hhbmdpbmdDbGFzcyA9IGZhbHNlOwoJCQkJfQoJCQkJCgkJCQlzZWxmLl9jaGFuZ2luZ0xheW91dCA9IGZhbHNlOwoJCQl9CgkJCQoJCQlzZWxmLl9yZWZyZXNoKCk7CgkJCQoJCQlzZWxmLl9idWlsZFN0YXRlKCk7CgkJCQoJCQlpZihzZWxmLl9zdGF0ZS5mYWlsKXsKCQkJCXNlbGYuXyRjb250YWluZXIuYWRkQ2xhc3Moc2VsZi5sYXlvdXQuY29udGFpbmVyQ2xhc3NGYWlsKTsKCQkJfQoJCQkKCQkJc2VsZi5fJHNob3cgPSAkKCk7CgkJCXNlbGYuXyRoaWRlID0gJCgpOwoJCQkKCQkJaWYod2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSl7CgkJCQlyZXF1ZXN0QW5pbWF0aW9uRnJhbWUodW5CcmFrZSk7CgkJCX0KCQkJCgkJCXNlbGYuX21peGluZyA9IGZhbHNlOwoJCQkKCQkJaWYodHlwZW9mIHNlbGYuY2FsbGJhY2tzLl91c2VyID09PSAnZnVuY3Rpb24nKXsKCQkJCXNlbGYuY2FsbGJhY2tzLl91c2VyLmNhbGwoc2VsZi5fZG9tTm9kZSwgc2VsZi5fc3RhdGUsIHNlbGYpOwoJCQl9CgkJCQoJCQlpZih0eXBlb2Ygc2VsZi5jYWxsYmFja3Mub25NaXhFbmQgPT09ICdmdW5jdGlvbicpewoJCQkJc2VsZi5jYWxsYmFja3Mub25NaXhFbmQuY2FsbChzZWxmLl9kb21Ob2RlLCBzZWxmLl9zdGF0ZSwgc2VsZik7CgkJCX0KCQkJCgkJCXNlbGYuXyRjb250YWluZXIudHJpZ2dlcignbWl4RW5kJywgW3NlbGYuX3N0YXRlLCBzZWxmXSk7CgkJCQoJCQlpZihzZWxmLl9zdGF0ZS5mYWlsKXsKCQkJCSh0eXBlb2Ygc2VsZi5jYWxsYmFja3Mub25NaXhGYWlsID09PSAnZnVuY3Rpb24nKSAmJiBzZWxmLmNhbGxiYWNrcy5vbk1peEZhaWwuY2FsbChzZWxmLl9kb21Ob2RlLCBzZWxmLl9zdGF0ZSwgc2VsZik7CgkJCQlzZWxmLl8kY29udGFpbmVyLnRyaWdnZXIoJ21peEZhaWwnLCBbc2VsZi5fc3RhdGUsIHNlbGZdKTsKCQkJfQoJCQkKCQkJaWYoc2VsZi5fbG9hZGluZyl7CgkJCQkodHlwZW9mIHNlbGYuY2FsbGJhY2tzLm9uTWl4TG9hZCA9PT0gJ2Z1bmN0aW9uJykgJiYgc2VsZi5jYWxsYmFja3Mub25NaXhMb2FkLmNhbGwoc2VsZi5fZG9tTm9kZSwgc2VsZi5fc3RhdGUsIHNlbGYpOwoJCQkJc2VsZi5fJGNvbnRhaW5lci50cmlnZ2VyKCdtaXhMb2FkJywgW3NlbGYuX3N0YXRlLCBzZWxmXSk7CgkJCX0KCQkJCgkJCWlmKHNlbGYuX3F1ZXVlLmxlbmd0aCl7CgkJCQlzZWxmLl9leGVjQWN0aW9uKCdfcXVldWUnLCAwKTsKCQkJCQoJCQkJc2VsZi5tdWx0aU1peChzZWxmLl9xdWV1ZVswXVswXSxzZWxmLl9xdWV1ZVswXVsxXSxzZWxmLl9xdWV1ZVswXVsyXSk7CgkJCQlzZWxmLl9xdWV1ZS5zcGxpY2UoMCwgMSk7CgkJCX0KCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ19jbGVhblVwJywgMSk7CgkJCQoJCQlzZWxmLl9sb2FkaW5nID0gZmFsc2U7CgkJfSwKCQkKCQkvKioKCQkgKiBHZXQgUHJlZml4ZWQgQ1NTCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5CgkJICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlCgkJICogQHBhcmFtIHtib29sZWFufSBwcmVmaXhWYWx1ZQoJCSAqIEByZXR1cm4ge29iamVjdH0gc3R5bGVzCgkJICovCgkJCgkJX2dldFByZWZpeGVkQ1NTOiBmdW5jdGlvbihwcm9wZXJ0eSwgdmFsdWUsIHByZWZpeFZhbHVlKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJc3R5bGVzID0ge30sCgkJCQlwcmVmaXggPSAnJywKCQkJCWkgPSAtMTsKCQkKCQkJZm9yKGkgPSAwOyBpIDwgMjsgaSsrKXsKCQkJCXByZWZpeCA9IGkgPT09IDAgPyBzZWxmLl9wcmVmaXggOiAnJzsKCQkJCXByZWZpeFZhbHVlID8gc3R5bGVzW3ByZWZpeCtwcm9wZXJ0eV0gPSBwcmVmaXgrdmFsdWUgOiBzdHlsZXNbcHJlZml4K3Byb3BlcnR5XSA9IHZhbHVlOwoJCQl9CgkJCQoJCQlyZXR1cm4gc2VsZi5fZXhlY0ZpbHRlcignX2dldFByZWZpeGVkQ1NTJywgc3R5bGVzLCBhcmd1bWVudHMpOwoJCX0sCgkJCgkJLyoqCgkJICogR2V0IERlbGF5CgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtudW1iZXJ9IGkKCQkgKiBAcmV0dXJuIHtudW1iZXJ9IGRlbGF5CgkJICovCgkJCgkJX2dldERlbGF5OiBmdW5jdGlvbihpKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJbiA9IHR5cGVvZiBzZWxmLmFuaW1hdGlvbi5zdGFnZ2VyU2VxdWVuY2UgPT09ICdmdW5jdGlvbicgPyBzZWxmLmFuaW1hdGlvbi5zdGFnZ2VyU2VxdWVuY2UuY2FsbChzZWxmLl9kb21Ob2RlLCBpLCBzZWxmLl9zdGF0ZSkgOiBpLAoJCQkJZGVsYXkgPSBzZWxmLmFuaW1hdGlvbi5zdGFnZ2VyID8gbiAqIHNlbGYuYW5pbWF0aW9uLnN0YWdnZXJEdXJhdGlvbiA6IDA7CgkJCQkKCQkJcmV0dXJuIHNlbGYuX2V4ZWNGaWx0ZXIoJ19nZXREZWxheScsIGRlbGF5LCBhcmd1bWVudHMpOwoJCX0sCgkJCgkJLyoqCgkJICogUGFyc2UgTXVsdGlNaXggQXJndW1lbnRzCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHthcnJheX0gYXJncwoJCSAqIEByZXR1cm4ge29iamVjdH0gb3V0cHV0CgkJICovCgkJCgkJX3BhcnNlTXVsdGlNaXhBcmdzOiBmdW5jdGlvbihhcmdzKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJb3V0cHV0ID0gewoJCQkJCWNvbW1hbmQ6IG51bGwsCgkJCQkJYW5pbWF0ZTogc2VsZi5hbmltYXRpb24uZW5hYmxlLAoJCQkJCWNhbGxiYWNrOiBudWxsCgkJCQl9OwoJCQkJCgkJCWZvcih2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKXsKCQkJCXZhciBhcmcgPSBhcmdzW2ldOwoKCQkJCWlmKGFyZyAhPT0gbnVsbCl7CgkJCQkJaWYodHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIGFyZyA9PT0gJ3N0cmluZycpewoJCQkJCQlvdXRwdXQuY29tbWFuZCA9IGFyZzsKCQkJCQl9IGVsc2UgaWYodHlwZW9mIGFyZyA9PT0gJ2Jvb2xlYW4nKXsKCQkJCQkJb3V0cHV0LmFuaW1hdGUgPSBhcmc7CgkJCQkJfSBlbHNlIGlmKHR5cGVvZiBhcmcgPT09ICdmdW5jdGlvbicpewoJCQkJCQlvdXRwdXQuY2FsbGJhY2sgPSBhcmc7CgkJCQkJfQoJCQkJfQoJCQl9CgkJCQoJCQlyZXR1cm4gc2VsZi5fZXhlY0ZpbHRlcignX3BhcnNlTXVsdGlNaXhBcmdzJywgb3V0cHV0LCBhcmd1bWVudHMpOwoJCX0sCgkJCgkJLyoqCgkJICogUGFyc2UgSW5zZXJ0IEFyZ3VtZW50cwoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqIEBwYXJhbSB7YXJyYXl9IGFyZ3MKCQkgKiBAcmV0dXJuIHtvYmplY3R9IG91dHB1dAoJCSAqLwoJCQoJCV9wYXJzZUluc2VydEFyZ3M6IGZ1bmN0aW9uKGFyZ3MpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlvdXRwdXQgPSB7CgkJCQkJaW5kZXg6IDAsCgkJCQkJJG9iamVjdDogJCgpLAoJCQkJCW11bHRpTWl4OiB7ZmlsdGVyOiBzZWxmLl9zdGF0ZS5hY3RpdmVGaWx0ZXJ9LAoJCQkJCWNhbGxiYWNrOiBudWxsCgkJCQl9OwoJCQkKCQkJZm9yKHZhciBpID0gMDsgaSA8IGFyZ3MubGVuZ3RoOyBpKyspewoJCQkJdmFyIGFyZyA9IGFyZ3NbaV07CgkJCQkKCQkJCWlmKHR5cGVvZiBhcmcgPT09ICdudW1iZXInKXsKCQkJCQlvdXRwdXQuaW5kZXggPSBhcmc7CgkJCQl9IGVsc2UgaWYodHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgYXJnIGluc3RhbmNlb2YgJCl7CgkJCQkJb3V0cHV0LiRvYmplY3QgPSBhcmc7CgkJCQl9IGVsc2UgaWYodHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgJiYgc2VsZi5faGVscGVycy5faXNFbGVtZW50KGFyZykpewoJCQkJCW91dHB1dC4kb2JqZWN0ID0gJChhcmcpOwoJCQkJfSBlbHNlIGlmKHR5cGVvZiBhcmcgPT09ICdvYmplY3QnICYmIGFyZyAhPT0gbnVsbCl7CgkJCQkJb3V0cHV0Lm11bHRpTWl4ID0gYXJnOwoJCQkJfSBlbHNlIGlmKHR5cGVvZiBhcmcgPT09ICdib29sZWFuJyAmJiAhYXJnKXsKCQkJCQlvdXRwdXQubXVsdGlNaXggPSBmYWxzZTsKCQkJCX0gZWxzZSBpZih0eXBlb2YgYXJnID09PSAnZnVuY3Rpb24nKXsKCQkJCQlvdXRwdXQuY2FsbGJhY2sgPSBhcmc7CgkJCQl9CgkJCX0KCQkJCgkJCXJldHVybiBzZWxmLl9leGVjRmlsdGVyKCdfcGFyc2VJbnNlcnRBcmdzJywgb3V0cHV0LCBhcmd1bWVudHMpOwoJCX0sCgkJCgkJLyoqCgkJICogRXhlY3V0ZSBBY3Rpb24KCQkgKiBAc2luY2UgMi4wLjAKCQkgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZQoJCSAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNQb3N0CgkJICogQHBhcmFtIHthcnJheX0gYXJncwoJCSAqLwoJCQoJCV9leGVjQWN0aW9uOiBmdW5jdGlvbihtZXRob2ROYW1lLCBpc1Bvc3QsIGFyZ3MpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQljb250ZXh0ID0gaXNQb3N0ID8gJ3Bvc3QnIDogJ3ByZSc7CgoJCQlpZighc2VsZi5fYWN0aW9ucy5pc0VtcHR5T2JqZWN0ICYmIHNlbGYuX2FjdGlvbnMuaGFzT3duUHJvcGVydHkobWV0aG9kTmFtZSkpewoJCQkJZm9yKHZhciBrZXkgaW4gc2VsZi5fYWN0aW9uc1ttZXRob2ROYW1lXVtjb250ZXh0XSl7CgkJCQkJc2VsZi5fYWN0aW9uc1ttZXRob2ROYW1lXVtjb250ZXh0XVtrZXldLmNhbGwoc2VsZiwgYXJncyk7CgkJCQl9CgkJCX0KCQl9LAoJCQoJCS8qKgoJCSAqIEV4ZWN1dGUgRmlsdGVyCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtzdHJpbmd9IG1ldGhvZE5hbWUKCQkgKiBAcGFyYW0ge21peGVkfSB2YWx1ZQoJCSAqIEByZXR1cm4ge21peGVkfSB2YWx1ZQoJCSAqLwoJCQoJCV9leGVjRmlsdGVyOiBmdW5jdGlvbihtZXRob2ROYW1lLCB2YWx1ZSwgYXJncyl7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJCgkJCWlmKCFzZWxmLl9maWx0ZXJzLmlzRW1wdHlPYmplY3QgJiYgc2VsZi5fZmlsdGVycy5oYXNPd25Qcm9wZXJ0eShtZXRob2ROYW1lKSl7CgkJCQlmb3IodmFyIGtleSBpbiBzZWxmLl9maWx0ZXJzW21ldGhvZE5hbWVdKXsKCQkJCQlyZXR1cm4gc2VsZi5fZmlsdGVyc1ttZXRob2ROYW1lXVtrZXldLmNhbGwoc2VsZiwgYXJncyk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlyZXR1cm4gdmFsdWU7CgkJCX0KCQl9LAoJCQoJCS8qIEhlbHBlcnMKCQktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCgoJCV9oZWxwZXJzOiB7CgkJCQoJCQkvKioKCQkJICogQ2FtZWxDYXNlCgkJCSAqIEBzaW5jZSAyLjAuMAoJCQkgKiBAcGFyYW0ge3N0cmluZ30KCQkJICogQHJldHVybiB7c3RyaW5nfQoJCQkgKi8KCgkJCV9jYW1lbENhc2U6IGZ1bmN0aW9uKHN0cmluZyl7CgkJCQlyZXR1cm4gc3RyaW5nLnJlcGxhY2UoLy0oW2Etel0pL2csIGZ1bmN0aW9uKGcpewoJCQkJCQlyZXR1cm4gZ1sxXS50b1VwcGVyQ2FzZSgpOwoJCQkJfSk7CgkJCX0sCgkJCQoJCQkvKioKCQkJICogSXMgRWxlbWVudAoJCQkgKiBAc2luY2UgMi4xLjMKCQkJICogQHBhcmFtIHtvYmplY3R9IGVsZW1lbnQgdG8gdGVzdAoJCQkgKiBAcmV0dXJuIHtib29sZWFufQoJCQkgKi8KCQkJCgkJCV9pc0VsZW1lbnQ6IGZ1bmN0aW9uKGVsKXsKCQkJCWlmKHdpbmRvdy5IVE1MRWxlbWVudCl7CgkJCQkJcmV0dXJuIGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7CgkJCQl9IGVsc2UgewoJCQkJCXJldHVybiAoCgkJCQkJCWVsICE9PSBudWxsICYmIAoJCQkJCQllbC5ub2RlVHlwZSA9PT0gMSAmJgoJCQkJCQllbC5ub2RlTmFtZSA9PT0gJ3N0cmluZycKCQkJCQkpOwoJCQkJfQoJCQl9CgkJfSwKCQkKCQkvKiBQdWJsaWMgTWV0aG9kcwoJCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCQkKCQkvKioKCQkgKiBJcyBNaXhpbmcKCQkgKiBAc2luY2UgMi4wLjAKCQkgKiBAcmV0dXJuIHtib29sZWFufQoJCSAqLwoJCQoJCWlzTWl4aW5nOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCQoJCQlyZXR1cm4gc2VsZi5fZXhlY0ZpbHRlcignaXNNaXhpbmcnLCBzZWxmLl9taXhpbmcpOwoJCX0sCgkJCgkJLyoqCgkJICogRmlsdGVyIChwdWJsaWMpCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHthcnJheX0gYXJndW1lbnRzCgkJICovCgkJCgkJZmlsdGVyOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlhcmdzID0gc2VsZi5fcGFyc2VNdWx0aU1peEFyZ3MoYXJndW1lbnRzKTsKCgkJCXNlbGYuX2NsaWNraW5nICYmIChzZWxmLl90b2dnbGVTdHJpbmcgPSAnJyk7CgkJCQoJCQlzZWxmLm11bHRpTWl4KHtmaWx0ZXI6IGFyZ3MuY29tbWFuZH0sIGFyZ3MuYW5pbWF0ZSwgYXJncy5jYWxsYmFjayk7CgkJfSwKCQkKCQkvKioKCQkgKiBTb3J0IChwdWJsaWMpCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHthcnJheX0gYXJndW1lbnRzCgkJICovCgkJCgkJc29ydDogZnVuY3Rpb24oKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJYXJncyA9IHNlbGYuX3BhcnNlTXVsdGlNaXhBcmdzKGFyZ3VtZW50cyk7CgoJCQlzZWxmLm11bHRpTWl4KHtzb3J0OiBhcmdzLmNvbW1hbmR9LCBhcmdzLmFuaW1hdGUsIGFyZ3MuY2FsbGJhY2spOwoJCX0sCgoJCS8qKgoJCSAqIENoYW5nZSBMYXlvdXQgKHB1YmxpYykKCQkgKiBAc2luY2UgMi4wLjAKCQkgKiBAcGFyYW0ge2FycmF5fSBhcmd1bWVudHMKCQkgKi8KCQkKCQljaGFuZ2VMYXlvdXQ6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWFyZ3MgPSBzZWxmLl9wYXJzZU11bHRpTWl4QXJncyhhcmd1bWVudHMpOwoJCQkJCgkJCXNlbGYubXVsdGlNaXgoe2NoYW5nZUxheW91dDogYXJncy5jb21tYW5kfSwgYXJncy5hbmltYXRlLCBhcmdzLmNhbGxiYWNrKTsKCQl9LAoJCQoJCS8qKgoJCSAqIE11bHRpTWl4CgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHthcnJheX0gYXJndW1lbnRzCgkJICovCgkJCgkJbXVsdGlNaXg6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWFyZ3MgPSBzZWxmLl9wYXJzZU11bHRpTWl4QXJncyhhcmd1bWVudHMpOwoKCQkJc2VsZi5fZXhlY0FjdGlvbignbXVsdGlNaXgnLCAwLCBhcmd1bWVudHMpOwoKCQkJaWYoIXNlbGYuX21peGluZyl7CgkJCQlpZihzZWxmLmNvbnRyb2xzLmVuYWJsZSAmJiAhc2VsZi5fY2xpY2tpbmcpewoJCQkJCXNlbGYuY29udHJvbHMudG9nZ2xlRmlsdGVyQnV0dG9ucyAmJiBzZWxmLl9idWlsZFRvZ2dsZUFycmF5KCk7CgkJCQkJc2VsZi5fdXBkYXRlQ29udHJvbHMoYXJncy5jb21tYW5kLCBzZWxmLmNvbnRyb2xzLnRvZ2dsZUZpbHRlckJ1dHRvbnMpOwoJCQkJfQoJCQkJCgkJCQkoc2VsZi5fcXVldWUubGVuZ3RoIDwgMikgJiYgKHNlbGYuX2NsaWNraW5nID0gZmFsc2UpOwoJCQkKCQkJCWRlbGV0ZSBzZWxmLmNhbGxiYWNrcy5fdXNlcjsKCQkJCWlmKGFyZ3MuY2FsbGJhY2spIHNlbGYuY2FsbGJhY2tzLl91c2VyID0gYXJncy5jYWxsYmFjazsKCQkJCgkJCQl2YXIgc29ydCA9IGFyZ3MuY29tbWFuZC5zb3J0LAoJCQkJCWZpbHRlciA9IGFyZ3MuY29tbWFuZC5maWx0ZXIsCgkJCQkJY2hhbmdlTGF5b3V0ID0gYXJncy5jb21tYW5kLmNoYW5nZUxheW91dDsKCgkJCQlzZWxmLl9yZWZyZXNoKCk7CgoJCQkJaWYoc29ydCl7CgkJCQkJc2VsZi5fbmV3U29ydCA9IHNlbGYuX3BhcnNlU29ydChzb3J0KTsKCQkJCQlzZWxmLl9uZXdTb3J0U3RyaW5nID0gc29ydDsKCQkJCQkKCQkJCQlzZWxmLl9zb3J0aW5nID0gdHJ1ZTsKCQkJCQlzZWxmLl9zb3J0KCk7CgkJCQl9CgkJCQkKCQkJCWlmKGZpbHRlciAhPT0gdW5kZil7CgkJCQkJZmlsdGVyID0gKGZpbHRlciA9PT0gJ2FsbCcpID8gc2VsZi5zZWxlY3RvcnMudGFyZ2V0IDogZmlsdGVyOwoJCgkJCQkJc2VsZi5fYWN0aXZlRmlsdGVyID0gZmlsdGVyOwoJCQkJfQoJCQkJCgkJCQlzZWxmLl9maWx0ZXIoKTsKCQkJCQoJCQkJaWYoY2hhbmdlTGF5b3V0KXsKCQkJCQlzZWxmLl9uZXdEaXNwbGF5ID0gKHR5cGVvZiBjaGFuZ2VMYXlvdXQgPT09ICdzdHJpbmcnKSA/IGNoYW5nZUxheW91dCA6IGNoYW5nZUxheW91dC5kaXNwbGF5IHx8IHNlbGYubGF5b3V0LmRpc3BsYXk7CgkJCQkJc2VsZi5fbmV3Q2xhc3MgPSBjaGFuZ2VMYXlvdXQuY29udGFpbmVyQ2xhc3MgfHwgJyc7CgoJCQkJCWlmKAoJCQkJCQlzZWxmLl9uZXdEaXNwbGF5ICE9PSBzZWxmLmxheW91dC5kaXNwbGF5IHx8CgkJCQkJCXNlbGYuX25ld0NsYXNzICE9PSBzZWxmLmxheW91dC5jb250YWluZXJDbGFzcwoJCQkJCSl7CgkJCQkJCXNlbGYuX2NoYW5naW5nTGF5b3V0ID0gdHJ1ZTsKCQkJCQkJCgkJCQkJCXNlbGYuX2NoYW5naW5nQ2xhc3MgPSAoc2VsZi5fbmV3Q2xhc3MgIT09IHNlbGYubGF5b3V0LmNvbnRhaW5lckNsYXNzKTsKCQkJCQkJc2VsZi5fY2hhbmdpbmdEaXNwbGF5ID0gKHNlbGYuX25ld0Rpc3BsYXkgIT09IHNlbGYubGF5b3V0LmRpc3BsYXkpOwoJCQkJCX0KCQkJCX0KCQkJCQoJCQkJc2VsZi5fJHRhcmdldHMuY3NzKHNlbGYuX2JyYWtlKTsKCQkJCQoJCQkJc2VsZi5fZ29NaXgoYXJncy5hbmltYXRlIF4gc2VsZi5hbmltYXRpb24uZW5hYmxlID8gYXJncy5hbmltYXRlIDogc2VsZi5hbmltYXRpb24uZW5hYmxlKTsKCQkJCQoJCQkJc2VsZi5fZXhlY0FjdGlvbignbXVsdGlNaXgnLCAxLCBhcmd1bWVudHMpOwoJCQkJCgkJCX0gZWxzZSB7CgkJCQlpZihzZWxmLmFuaW1hdGlvbi5xdWV1ZSAmJiBzZWxmLl9xdWV1ZS5sZW5ndGggPCBzZWxmLmFuaW1hdGlvbi5xdWV1ZUxpbWl0KXsKCQkJCQlzZWxmLl9xdWV1ZS5wdXNoKGFyZ3VtZW50cyk7CgkJCQkJCgkJCQkJKHNlbGYuY29udHJvbHMuZW5hYmxlICYmICFzZWxmLl9jbGlja2luZykgJiYgc2VsZi5fdXBkYXRlQ29udHJvbHMoYXJncy5jb21tYW5kKTsKCQkJCQkKCQkJCQlzZWxmLl9leGVjQWN0aW9uKCdtdWx0aU1peFF1ZXVlJywgMSwgYXJndW1lbnRzKTsKCQkJCQkKCQkJCX0gZWxzZSB7CgkJCQkJaWYodHlwZW9mIHNlbGYuY2FsbGJhY2tzLm9uTWl4QnVzeSA9PT0gJ2Z1bmN0aW9uJyl7CgkJCQkJCXNlbGYuY2FsbGJhY2tzLm9uTWl4QnVzeS5jYWxsKHNlbGYuX2RvbU5vZGUsIHNlbGYuX3N0YXRlLCBzZWxmKTsKCQkJCQl9CgkJCQkJc2VsZi5fJGNvbnRhaW5lci50cmlnZ2VyKCdtaXhCdXN5JywgW3NlbGYuX3N0YXRlLCBzZWxmXSk7CgkJCQkJCgkJCQkJc2VsZi5fZXhlY0FjdGlvbignbXVsdGlNaXhCdXN5JywgMSwgYXJndW1lbnRzKTsKCQkJCX0KCQkJfQoJCX0sCgkJCgkJLyoqCgkJICogSW5zZXJ0CgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHthcnJheX0gYXJndW1lbnRzCgkJICovCgkJCgkJaW5zZXJ0OiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlhcmdzID0gc2VsZi5fcGFyc2VJbnNlcnRBcmdzKGFyZ3VtZW50cyksCgkJCQljYWxsYmFjayA9ICh0eXBlb2YgYXJncy5jYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgPyBhcmdzLmNhbGxiYWNrIDogbnVsbCwKCQkJCWZyYWcgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksCgkJCQl0YXJnZXQgPSAoZnVuY3Rpb24oKXsKCQkJCQlzZWxmLl9yZWZyZXNoKCk7CgkJCQkJCgkJCQkJaWYoc2VsZi5fJHRhcmdldHMubGVuZ3RoKXsKCQkJCQkJcmV0dXJuIChhcmdzLmluZGV4IDwgc2VsZi5fJHRhcmdldHMubGVuZ3RoIHx8ICFzZWxmLl8kdGFyZ2V0cy5sZW5ndGgpID8gCgkJCQkJCQlzZWxmLl8kdGFyZ2V0c1thcmdzLmluZGV4XSA6CgkJCQkJCQlzZWxmLl8kdGFyZ2V0c1tzZWxmLl8kdGFyZ2V0cy5sZW5ndGgtMV0ubmV4dEVsZW1lbnRTaWJsaW5nOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXJldHVybiBzZWxmLl8kcGFyZW50WzBdLmNoaWxkcmVuWzBdOwoJCQkJCX0KCQkJCX0pKCk7CgkJCQkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdpbnNlcnQnLCAwLCBhcmd1bWVudHMpOwoJCQkJCgkJCWlmKGFyZ3MuJG9iamVjdCl7CgkJCQlmb3IodmFyIGkgPSAwOyBpIDwgYXJncy4kb2JqZWN0Lmxlbmd0aDsgaSsrKXsKCQkJCQl2YXIgZWwgPSBhcmdzLiRvYmplY3RbaV07CgkJCQkJCgkJCQkJZnJhZy5hcHBlbmRDaGlsZChlbCk7CgkJCQkJZnJhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnICcpKTsKCQkJCX0KCgkJCQlzZWxmLl8kcGFyZW50WzBdLmluc2VydEJlZm9yZShmcmFnLCB0YXJnZXQpOwoJCQl9CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdpbnNlcnQnLCAxLCBhcmd1bWVudHMpOwoJCQkKCQkJaWYodHlwZW9mIGFyZ3MubXVsdGlNaXggPT09ICdvYmplY3QnKXsKCQkJCXNlbGYubXVsdGlNaXgoYXJncy5tdWx0aU1peCwgY2FsbGJhY2spOwoJCQl9CgkJfSwKCgkJLyoqCgkJICogUHJlcGVuZAoJCSAqIEBzaW5jZSAyLjAuMAoJCSAqIEBwYXJhbSB7YXJyYXl9IGFyZ3VtZW50cwoJCSAqLwoJCQoJCXByZXBlbmQ6IGZ1bmN0aW9uKCl7CgkJCXZhciBzZWxmID0gdGhpcywKCQkJCWFyZ3MgPSBzZWxmLl9wYXJzZUluc2VydEFyZ3MoYXJndW1lbnRzKTsKCQkJCQoJCQlzZWxmLmluc2VydCgwLCBhcmdzLiRvYmplY3QsIGFyZ3MubXVsdGlNaXgsIGFyZ3MuY2FsbGJhY2spOwoJCX0sCgkJCgkJLyoqCgkJICogQXBwZW5kCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHthcnJheX0gYXJndW1lbnRzCgkJICovCgkJCgkJYXBwZW5kOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlhcmdzID0gc2VsZi5fcGFyc2VJbnNlcnRBcmdzKGFyZ3VtZW50cyk7CgkJCgkJCXNlbGYuaW5zZXJ0KHNlbGYuX3N0YXRlLnRvdGFsVGFyZ2V0cywgYXJncy4kb2JqZWN0LCBhcmdzLm11bHRpTWl4LCBhcmdzLmNhbGxiYWNrKTsKCQl9LAoJCQoJCS8qKgoJCSAqIEdldCBPcHRpb24KCQkgKiBAc2luY2UgMi4wLjAKCQkgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nCgkJICogQHJldHVybiB7bWl4ZWR9IHZhbHVlCgkJICovCgkJCgkJZ2V0T3B0aW9uOiBmdW5jdGlvbihzdHJpbmcpewoJCQl2YXIgc2VsZiA9IHRoaXMsCgkJCQlnZXRQcm9wZXJ0eSA9IGZ1bmN0aW9uKG9iaiwgcHJvcCl7CgkJCQkJdmFyIHBhcnRzID0gcHJvcC5zcGxpdCgnLicpLAoJCQkJCQlsYXN0ID0gcGFydHMucG9wKCksCgkJCQkJCWwgPSBwYXJ0cy5sZW5ndGgsCgkJCQkJCWkgPSAxLAoJCQkJCQljdXJyZW50ID0gcGFydHNbMF0gfHwgcHJvcDsKCgkJCQkJd2hpbGUoKG9iaiA9IG9ialtjdXJyZW50XSkgJiYgaSA8IGwpewoJCQkJCQljdXJyZW50ID0gcGFydHNbaV07CgkJCQkJCWkrKzsKCQkJCQl9CgoJCQkJCWlmKG9iaiAhPT0gdW5kZil7CgkJCQkJCXJldHVybiBvYmpbbGFzdF0gIT09IHVuZGYgPyBvYmpbbGFzdF0gOiBvYmo7CgkJCQkJfQoJCQkJfTsKCgkJCXJldHVybiBzdHJpbmcgPyBzZWxmLl9leGVjRmlsdGVyKCdnZXRPcHRpb24nLCBnZXRQcm9wZXJ0eShzZWxmLCBzdHJpbmcpLCBhcmd1bWVudHMpIDogc2VsZjsKCQl9LAoJCQoJCS8qKgoJCSAqIFNldCBPcHRpb25zCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHBhcmFtIHtvYmplY3R9IGNvbmZpZwoJCSAqLwoJCQoJCXNldE9wdGlvbnM6IGZ1bmN0aW9uKGNvbmZpZyl7CgkJCXZhciBzZWxmID0gdGhpczsKCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ3NldE9wdGlvbnMnLCAwLCBhcmd1bWVudHMpOwoJCQkKCQkJdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgJC5leHRlbmQodHJ1ZSwgc2VsZiwgY29uZmlnKTsKCQkJCgkJCXNlbGYuX2V4ZWNBY3Rpb24oJ3NldE9wdGlvbnMnLCAxLCBhcmd1bWVudHMpOwoJCX0sCgkJCgkJLyoqCgkJICogR2V0IFN0YXRlCgkJICogQHNpbmNlIDIuMC4wCgkJICogQHJldHVybiB7b2JqZWN0fSBzdGF0ZQoJCSAqLwoJCQoJCWdldFN0YXRlOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCQoJCQlyZXR1cm4gc2VsZi5fZXhlY0ZpbHRlcignZ2V0U3RhdGUnLCBzZWxmLl9zdGF0ZSwgc2VsZik7CgkJfSwKCQkKCQkvKioKCQkgKiBGb3JjZSBSZWZyZXNoCgkJICogQHNpbmNlIDIuMS4yCgkJICovCgkJCgkJZm9yY2VSZWZyZXNoOiBmdW5jdGlvbigpewoJCQl2YXIgc2VsZiA9IHRoaXM7CgkJCQoJCQlzZWxmLl9yZWZyZXNoKGZhbHNlLCB0cnVlKTsKCQl9LAoJCQoJCS8qKgoJCSAqIERlc3Ryb3kKCQkgKiBAc2luY2UgMi4wLjAKCQkgKiBAcGFyYW0ge2Jvb2xlYW59IGhpZGVBbGwKCQkgKi8KCQkKCQlkZXN0cm95OiBmdW5jdGlvbihoaWRlQWxsKXsKCQkJdmFyIHNlbGYgPSB0aGlzLAoJCQkJZmlsdGVycyA9ICQuTWl4SXRVcC5wcm90b3R5cGUuX2JvdW5kLl9maWx0ZXIsCgkJCQlzb3J0cyA9ICQuTWl4SXRVcC5wcm90b3R5cGUuX2JvdW5kLl9zb3J0OwoJCQkKCQkJc2VsZi5fZXhlY0FjdGlvbignZGVzdHJveScsIDAsIGFyZ3VtZW50cyk7CgkJCgkJCXNlbGYuXyRib2R5CgkJCQkuYWRkKCQoc2VsZi5zZWxlY3RvcnMuc29ydCkpCgkJCQkuYWRkKCQoc2VsZi5zZWxlY3RvcnMuZmlsdGVyKSkKCQkJCS5vZmYoJy5taXhJdFVwJyk7CgkJCQoJCQlmb3IodmFyIGkgPSAwOyBpIDwgc2VsZi5fJHRhcmdldHMubGVuZ3RoOyBpKyspewoJCQkJdmFyIHRhcmdldCA9IHNlbGYuXyR0YXJnZXRzW2ldOwoKCQkJCWhpZGVBbGwgJiYgKHRhcmdldC5zdHlsZS5kaXNwbGF5ID0gJycpOwoKCQkJCWRlbGV0ZSB0YXJnZXQubWl4UGFyZW50OwoJCQl9CgkJCQoJCQlzZWxmLl9leGVjQWN0aW9uKCdkZXN0cm95JywgMSwgYXJndW1lbnRzKTsKCgkJCWlmKGZpbHRlcnNbc2VsZi5zZWxlY3RvcnMuZmlsdGVyXSAmJiBmaWx0ZXJzW3NlbGYuc2VsZWN0b3JzLmZpbHRlcl0gPiAxKSB7CgkJCQlmaWx0ZXJzW3NlbGYuc2VsZWN0b3JzLmZpbHRlcl0tLTsKCQkJfSBlbHNlIGlmKGZpbHRlcnNbc2VsZi5zZWxlY3RvcnMuZmlsdGVyXSA9PT0gMSkgewoJCQkJZGVsZXRlIGZpbHRlcnNbc2VsZi5zZWxlY3RvcnMuZmlsdGVyXTsKCQkJfQoKCQkJaWYoc29ydHNbc2VsZi5zZWxlY3RvcnMuc29ydF0gJiYgc29ydHNbc2VsZi5zZWxlY3RvcnMuc29ydF0gPiAxKSB7CgkJCQlzb3J0c1tzZWxmLnNlbGVjdG9ycy5zb3J0XS0tOwoJCQl9IGVsc2UgaWYoc29ydHNbc2VsZi5zZWxlY3RvcnMuc29ydF0gPT09IDEpIHsKCQkJCWRlbGV0ZSBzb3J0c1tzZWxmLnNlbGVjdG9ycy5zb3J0XTsKCQkJfQoKCQkJZGVsZXRlICQuTWl4SXRVcC5wcm90b3R5cGUuX2luc3RhbmNlc1tzZWxmLl9pZF07CgkJfQoJCQoJfTsKCQoJLyogalF1ZXJ5IE1ldGhvZHMKCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KCQoJLyoqCgkgKiBqUXVlcnkgLm1peEl0VXAoKSBtZXRob2QKCSAqIEBzaW5jZSAyLjAuMAoJICogQGV4dGVuZHMgJC5mbgoJICovCgkKCSQuZm4ubWl4SXRVcCA9IGZ1bmN0aW9uKCl7CgkJdmFyIGFyZ3MgPSBhcmd1bWVudHMsCgkJCWRhdGFSZXR1cm4gPSBbXSwKCQkJZWFjaFJldHVybiwKCQkJX2luc3RhbnRpYXRlID0gZnVuY3Rpb24oZG9tTm9kZSwgc2V0dGluZ3MpewoJCQkJdmFyIGluc3RhbmNlID0gbmV3ICQuTWl4SXRVcCgpLAoJCQkJCXJhbmQgPSBmdW5jdGlvbigpewoJCQkJCQlyZXR1cm4gKCcwMDAwMCcrKE1hdGgucmFuZG9tKCkqMTY3NzcyMTY8PDApLnRvU3RyaW5nKDE2KSkuc3Vic3RyKC02KS50b1VwcGVyQ2FzZSgpOwoJCQkJCX07CgkJCQkJCgkJCQlpbnN0YW5jZS5fZXhlY0FjdGlvbignX2luc3RhbnRpYXRlJywgMCwgYXJndW1lbnRzKTsKCgkJCQlkb21Ob2RlLmlkID0gIWRvbU5vZGUuaWQgPyAnTWl4SXRVcCcrcmFuZCgpIDogZG9tTm9kZS5pZDsKCQkJCQoJCQkJaWYoIWluc3RhbmNlLl9pbnN0YW5jZXNbZG9tTm9kZS5pZF0pewoJCQkJCWluc3RhbmNlLl9pbnN0YW5jZXNbZG9tTm9kZS5pZF0gPSBpbnN0YW5jZTsKCQkJCQlpbnN0YW5jZS5faW5pdChkb21Ob2RlLCBzZXR0aW5ncyk7CgkJCQl9CgkJCQkKCQkJCWluc3RhbmNlLl9leGVjQWN0aW9uKCdfaW5zdGFudGlhdGUnLCAxLCBhcmd1bWVudHMpOwoJCQl9OwoJCQkKCQllYWNoUmV0dXJuID0gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7CgkJCWlmKGFyZ3MgJiYgdHlwZW9mIGFyZ3NbMF0gPT09ICdzdHJpbmcnKXsKCQkJCXZhciBpbnN0YW5jZSA9ICQuTWl4SXRVcC5wcm90b3R5cGUuX2luc3RhbmNlc1t0aGlzLmlkXTsKCQkJCWlmKGFyZ3NbMF0gPT09ICdpc0xvYWRlZCcpewoJCQkJCWRhdGFSZXR1cm4ucHVzaChpbnN0YW5jZSA/IHRydWUgOiBmYWxzZSk7CgkJCQl9IGVsc2UgewoJCQkJCXZhciBkYXRhID0gaW5zdGFuY2VbYXJnc1swXV0oYXJnc1sxXSwgYXJnc1syXSwgYXJnc1szXSk7CgkJCQkJaWYoZGF0YSAhPT0gdW5kZilkYXRhUmV0dXJuLnB1c2goZGF0YSk7CgkJCQl9CgkJCX0gZWxzZSB7CgkJCQlfaW5zdGFudGlhdGUodGhpcywgYXJnc1swXSk7CgkJCX0KCQl9KTsKCQkKCQlpZihkYXRhUmV0dXJuLmxlbmd0aCl7CgkJCXJldHVybiBkYXRhUmV0dXJuLmxlbmd0aCA+IDEgPyBkYXRhUmV0dXJuIDogZGF0YVJldHVyblswXTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gZWFjaFJldHVybjsKCQl9Cgl9OwoJCgkvKioKCSAqIGpRdWVyeSAucmVtb3ZlU3R5bGUoKSBtZXRob2QKCSAqIEBzaW5jZSAyLjAuMAoJICogQGV4dGVuZHMgJC5mbgoJICovCgkKCSQuZm4ucmVtb3ZlU3R5bGUgPSBmdW5jdGlvbihzdHlsZSwgcHJlZml4KXsKCQlwcmVmaXggPSBwcmVmaXggPyBwcmVmaXggOiAnJzsKCQoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsKCQkJdmFyIGVsID0gdGhpcywKCQkJCXN0eWxlcyA9IHN0eWxlLnNwbGl0KCcgJyk7CgkJCQkKCQkJZm9yKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKyl7CgkJCQlmb3IodmFyIGogPSAwOyBqIDwgNDsgaisrKXsKCQkJCQlzd2l0Y2ggKGopIHsKCQkJCQkJY2FzZSAwOgoJCQkJCQkJdmFyIHByb3AgPSBzdHlsZXNbaV07CgkJCQkJCQlicmVhazsKCQkJCQkJY2FzZSAxOgoJCQkJCQkJdmFyIHByb3AgPSAkLk1peEl0VXAucHJvdG90eXBlLl9oZWxwZXJzLl9jYW1lbENhc2UocHJvcCk7CgkJCQkJCQlicmVhazsKCQkJCQkJY2FzZSAyOgoJCQkJCQkJdmFyIHByb3AgPSBwcmVmaXgrc3R5bGVzW2ldOwoJCQkJCQkJYnJlYWs7CgkJCQkJCWNhc2UgMzoKCQkJCQkJCXZhciBwcm9wID0gJC5NaXhJdFVwLnByb3RvdHlwZS5faGVscGVycy5fY2FtZWxDYXNlKHByZWZpeCtzdHlsZXNbaV0pOwoJCQkJCX0KCQkJCQkKCQkJCQlpZigKCQkJCQkJZWwuc3R5bGVbcHJvcF0gIT09IHVuZGYgJiYgCgkJCQkJCXR5cGVvZiBlbC5zdHlsZVtwcm9wXSAhPT0gJ3Vua25vd24nICYmCgkJCQkJCWVsLnN0eWxlW3Byb3BdLmxlbmd0aCA+IDAKCQkJCQkpewoJCQkJCQllbC5zdHlsZVtwcm9wXSA9ICcnOwoJCQkJCX0KCQkJCQkKCQkJCQlpZighcHJlZml4ICYmIGogPT09IDEpYnJlYWs7CgkJCQl9CgkJCX0KCQkJCgkJCWlmKGVsLmF0dHJpYnV0ZXMgJiYgZWwuYXR0cmlidXRlcy5zdHlsZSAmJiBlbC5hdHRyaWJ1dGVzLnN0eWxlICE9PSB1bmRmICYmIGVsLmF0dHJpYnV0ZXMuc3R5bGUudmFsdWUgPT09ICcnKXsKCQkJCWVsLmF0dHJpYnV0ZXMucmVtb3ZlTmFtZWRJdGVtKCdzdHlsZScpOwoJCQl9CgkJfSk7Cgl9OwoJCn0pKGpRdWVyeSk7"}},"time_used":69,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":66,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/animate.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.854Z","timestamp":1785135591854,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/animate.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 4167\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"13541-68bf75d4-1994824e087285b1;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: abe198888227c635ad43015f6f4e6d32-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":79169,"size_decoded":4760,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"57fb9e2cfb317959f7824f4fbe950dbe","sha1":"378aaa5cd626d05d5a45f21a5629bbb5c09bf534","sha256":"75a917eda5c7d388adaa10a684b5468d51dd043ed1c517bec76b4ae0a6a4995d","sha512":"5b0371267fe722041c014f22c86a43bfd0c35f2826b6e918cc71bd7aa9b37ca85820d55d0a1409f37eff4dcce85fae8aea98eab8f40fe2a1d36e0e3fb279d6f7","ssdeep":"768:I1A1vYyY21f1NYtY7XXYzYtYOYrVDV5YMYw:dYyYaYtY7XXYzYtYOY9YMYw","tlshash":"8c732c5e1d40118447724b29d7de8f68eb3d917318222eee72c2588b8fb6fa853c9d47","first_seen":"2023-04-05T08:09:08Z","last_seen":"2026-08-17T16:26:47.112437Z","times_seen":2376,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsNCg0KLyohDQpBbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUNCkxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQNCg0KQ29weXJpZ2h0IChjKSAyMDE1IERhbmllbCBFZGVuDQoqLw0KDQouYW5pbWF0ZWQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCn0NCg0KLmFuaW1hdGVkLmluZmluaXRlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7DQp9DQoNCi5hbmltYXRlZC5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCn0NCg0KLmFuaW1hdGVkLmJvdW5jZUluLA0KLmFuaW1hdGVkLmJvdW5jZU91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7DQp9DQoNCi5hbmltYXRlZC5mbGlwT3V0WCwNCi5hbmltYXRlZC5mbGlwT3V0WSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOw0KICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Ugew0KICAwJSwgMjAlLCA1MyUsIDgwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTsNCiAgfQ0KDQogIDQwJSwgNDMlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOw0KICB9DQoNCiAgNzAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApOw0KICB9DQoNCiAgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlIHsNCiAgMCUsIDIwJSwgNTMlLCA4MCUsIDEwMCUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7DQogIH0NCg0KICA0MCUsIDQzJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTsNCiAgfQ0KDQogIDcwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTsNCiAgfQ0KfQ0KDQouYm91bmNlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlOw0KICBhbmltYXRpb24tbmFtZTogYm91bmNlOw0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7DQogIDAlLCA1MCUsIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAyNSUsIDc1JSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsYXNoIHsNCiAgMCUsIDUwJSwgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDI1JSwgNzUlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5mbGFzaCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoOw0KICBhbmltYXRpb24tbmFtZTogZmxhc2g7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Ugew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBwdWxzZSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQoucHVsc2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAzMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7DQogIH0NCg0KICA2NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBydWJiZXJCYW5kIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsNCiAgfQ0KDQogIDY1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQoucnViYmVyQmFuZCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7DQogIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Ugew0KICAwJSwgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDIwJSwgNDAlLCA2MCUsIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzaGFrZSB7DQogIDAlLCAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICB9DQoNCiAgMjAlLCA0MCUsIDYwJSwgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2hha2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcgew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHN3aW5nIHsNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7DQogIH0NCg0KICA2MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7DQogIH0NCn0NCg0KLnN3aW5nIHsNCiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOw0KICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOw0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZzsNCiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAxMCUsIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7DQogIH0NCg0KICAzMCUsIDUwJSwgNzAlLCA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsNCiAgfQ0KDQogIDQwJSwgNjAlLCA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgdGFkYSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAxMCUsIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7DQogIH0NCg0KICAzMCUsIDUwJSwgNzAlLCA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsNCiAgfQ0KDQogIDQwJSwgNjAlLCA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQp9DQoNCi50YWRhIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTsNCiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KDQogIDE1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICB9DQoNCiAgNDUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KDQogIDE1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOw0KICB9DQoNCiAgNDUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCi53b2JibGUgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQogIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7DQogIDExLjElIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZQ0KICB9DQoNCiAgMjIuMiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpDQogIH0NCiAgMzMuMyUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZykNCiAgfQ0KICA0NC40JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpDQogIH0NCiAgNTUuNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKQ0KICB9DQogIDY2LjYlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKQ0KICB9DQogIDc3LjclIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKQ0KICB9DQogIDg4LjglIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpDQogIH0NCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmUNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGplbGxvIHsNCiAgMTEuMSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lDQogIH0NCg0KICAyMi4yJSB7DQoNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsNCiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKQ0KICB9DQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpDQogIH0NCiAgNDQuNCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKQ0KICB9DQogIDU1LjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZykNCiAgfQ0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZykNCiAgfQ0KICA3Ny43JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7DQogICAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZykNCiAgfQ0KICA4OC44JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKQ0KICB9DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lDQogIH0NCn0NCg0KDQoNCi5qZWxsb3sNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOmplbGxvOw0KICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6amVsbG87DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQoNCiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcg0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4gew0KICAwJSwgMjAlLCA0MCUsIDYwJSwgODAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUsIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KLmJvdW5jZUluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7DQogIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICB9DQoNCiAgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCi5ib3VuY2VJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsNCiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICB9DQoNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogIH0NCg0KICA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KfQ0KDQouYm91bmNlSW5MZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7DQogIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgMCUsIDYwJSwgNzUlLCA5MCUsIDEwMCUgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICB9DQoNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICB9DQoNCiAgOTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KfQ0KDQouYm91bmNlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlLCA2MCUsIDc1JSwgOTAlLCAxMDAlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTsNCiAgfQ0KDQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgfQ0KDQogIDkwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluVXAgew0KICAwJSwgNjAlLCA3NSUsIDkwJSwgMTAwJSB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7DQogIH0NCg0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgfQ0KDQogIDc1JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7DQogIH0NCg0KICA5MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KLmJvdW5jZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOw0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7DQogIDIwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOw0KICB9DQoNCiAgNTAlLCA1NSUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXQgew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTsNCiAgfQ0KDQogIDUwJSwgNTUlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQp9DQoNCi5ib3VuY2VPdXQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHsNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgfQ0KDQogIDQwJSwgNDUlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOw0KICB9DQoNCiAgNDAlLCA0NSUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICB9DQp9DQoNCi5ib3VuY2VPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHsNCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgew0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOw0KICB9DQp9DQoNCi5ib3VuY2VPdXRMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7DQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7DQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogIH0NCn0NCg0KLmJvdW5jZU91dFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsNCiAgMjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOw0KICB9DQoNCiAgNDAlLCA0NSUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0VXAgew0KICAyMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7DQogIH0NCg0KICA0MCUsIDQ1JSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogIH0NCn0NCg0KLmJvdW5jZU91dFVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsNCn0NCg0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5mYWRlSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJbkRvd25CaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouZmFkZUluTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouZmFkZUluTGVmdEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5mYWRlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5mYWRlSW5SaWdodEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJblVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluVXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmZhZGVJblVwQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5mYWRlT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dERvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dERvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXREb3duQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXRMZWZ0QmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXRSaWdodEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCg0KLmZhZGVPdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCi5mYWRlT3V0VXBCaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCg0KICA1MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcCB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwSW5YIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA4MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7DQogIH0NCn0NCg0KLmZsaXBJblggew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOw0KICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsaXBJblkgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQoNCiAgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KfQ0KDQouZmxpcEluWSB7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFggew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmxpcE91dFggew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsNCiAgfQ0KDQogIDMwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5mbGlwT3V0WCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOw0KICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7DQogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmbGlwT3V0WSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmZsaXBPdXRZIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoubGlnaHRTcGVlZEluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOw0KICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOw0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoubGlnaHRTcGVlZE91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0Ow0KICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5yb3RhdGVJbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOw0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoucm90YXRlSW5Eb3duTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnJvdGF0ZUluRG93blJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQoucm90YXRlSW5VcExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTsNCiAgICB0cmFuc2Zvcm06IG5vbmU7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnJvdGF0ZUluVXBSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoucm90YXRlT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQoucm90YXRlT3V0RG93bkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXREb3duUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXRVcExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5yb3RhdGVPdXRVcFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICAyMCUsIDYwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogIH0NCg0KICA0MCUsIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Ow0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGhpbmdlIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDIwJSwgNjAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgfQ0KDQogIDQwJSwgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlOw0KICBhbmltYXRpb24tbmFtZTogaGluZ2U7DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMTIwZGVnKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQp9DQoNCi5yb2xsSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQp9DQoNCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb2xsT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsNCiAgfQ0KfQ0KDQoucm9sbE91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi56b29tSW4gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5TdGFibGUgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICAzMy4zMzMlIHsNCiAgICBvcGFjaXR5OiAxOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTsNCiAgfQ0KICANCiAgNjYuNjY2NjY2JSB7DQogICAgb3BhY2l0eTogMTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5TdGFibGUgew0KIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIDMzLjMzMyUgew0KICAgIG9wYWNpdHk6IDE7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOw0KICB9DQogIA0KICA2Ni42NjY2NjYlIHsNCiAgICBvcGFjaXR5OiAxOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQouem9vbUluU3RhYmxlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluU3RhYmxlOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluRG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tSW5Eb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21JbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tT3V0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCg0KICA1MCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouem9vbU91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24gew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dERvd24gew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tT3V0RG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duOw0KICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICB9DQp9DQoNCi56b29tT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOw0KICB9DQp9DQoNCi56b29tT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dFVwIHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbU91dFVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwOw0KICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluRG93biB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZUluVXAgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7DQogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dERvd24gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0RG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIDEwMCUgew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICAxMDAlIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZU91dFJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dFVwIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgMTAwJSB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0VXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDsNCn0NCg0KQGtleWZyYW1lcyBhbmltZSB7DQpmcm9tIHsNCglvcGFjaXR5OiAwOw0KCXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQp9DQp0byB7DQoJb3BhY2l0eTogMTsNCgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWUgew0KZnJvbSB7DQoJb3BhY2l0eTogMDsNCgl0cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS1tb3otdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1zLXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS1vLXRyYW5zZm9ybTogc2NhbGVZKDApOw0KfQ0KdG8gew0KCW9wYWNpdHk6IDE7DQoJdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCn0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGFuaW1lIHsNCmZyb20gew0KCW9wYWNpdHk6IDA7DQoJdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCn0NCnRvIHsNCglvcGFjaXR5OiAxOw0KCXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQoJLW1zLXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1vLXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tb3otdHJhbnNmb3JtOiBzY2FsZVkoMSk7DQp9DQoNCn0NCg0KQC1vLWtleWZyYW1lcyBhbmltZSB7DQpmcm9tIHsNCglvcGFjaXR5OiAwOw0KCXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQp9DQp0byB7DQoJb3BhY2l0eTogMTsNCgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBhbmltZSB7DQpmcm9tIHsNCglvcGFjaXR5OiAwOw0KCXRyYW5zZm9ybTogc2NhbGVZKDApOw0KCS13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW1vei10cmFuc2Zvcm06IHNjYWxlWSgwKTsNCgktbXMtdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQoJLW8tdHJhbnNmb3JtOiBzY2FsZVkoMCk7DQp9DQp0byB7DQoJb3BhY2l0eTogMTsNCgl0cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktd2Via2l0LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KCS1tcy10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktby10cmFuc2Zvcm06IHNjYWxlWSgxKTsNCgktbW96LXRyYW5zZm9ybTogc2NhbGVZKDEpOw0KfQ0KDQp9DQo="}},"time_used":57,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":56,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:59.551Z","timestamp":1785135599551,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nContent-Type: text/plain\r\nOrigin: https://goldenprofitstock.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:59 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a4cb803-891\"\r\nexpires: Tue, 07 Jul 2026 08:35:15 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k04yztLSry6R0XVuGwTagvp3+X0LkfGF3RBy7KabEibMGBJxuBCxKn7h8ND1pZ70alaV0Ks\r\nx-77-nzt-ray: e2f75420e3e72d83ef01676a5b3d8e24\r\nx-77-cache: HIT\r\nx-77-age: 58\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":2193,"size_decoded":1034,"mime_type":"application/json","magic":"JSON text data","md5":"88bd6816d4679ef7a63e1e6b61490804","sha1":"a592c82f8688d81c4ff12ddda0f42d842dbcf079","sha256":"1147d96bffe9abe8aa663c63cca281edbff049e2211f810da089a1dd90051df8","sha512":"e583bebb86335657d7cca5065967a4e281280f0b4ab1fe0457de1dee47f12f84922daf5fe938c39bfb8f03e086d706f2b0fd1d86a6e79c4cce053f0943dcb762","ssdeep":"","tlshash":"d9414593c0b80e5317cc262bb89545515d5083c7e88a3d0d366d9a7f2f4cea920e6b7e","first_seen":"2026-07-07T11:50:17.724469Z","last_seen":"2026-07-27T07:27:47.909394Z","times_seen":1802,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1DMFhIUHhldi5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1xZXV3a2NCbi5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tdDZXeExBQkEuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1DZ01DQWZvci5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":70,"timings":{"blocked":-1,"dns":33,"connect":8,"send":0,"wait":8,"receive":0,"ssl":20},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/css/download%20(5).jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.804Z","timestamp":1785135591804,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/css/download%20(5).jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 12318\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: da62df877e695682665849df1fe097fe-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":12318,"size_decoded":12661,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"b0c54583ba24adcc3df1fc507ab3d1f6","sha1":"d346cc9c5fe524215c93f93d7a9b9aac05980e14","sha256":"7b632f96cd5e817001881e461b30b3a3807f70161b27325b834cf9cdd5ef6a4b","sha512":"bb70439d1b806971d818ea3707bdc28fb468579206b7ad067d23f14f6deabee2c00915b80cc3fff1604d4521a776c758c795a2a850186a692ebb3c59fd602652","ssdeep":"192:NtvRMeovxk45eVSyo0W6L5MwXm01wbb30M2JajhtOd0Z7o+ntQfZ2:NtvR1jsyo0Wu5MwzSe6Od0xoGQw","tlshash":"fd42c024a0409e66a47594ba1a4c872e810315fe8b17737bd7e41bfb1ce838a5072f93","first_seen":"2026-07-27T05:44:01.814894Z","last_seen":"2026-07-27T11:04:25.226547Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":85,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":62,"receive":23,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/first.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.807Z","timestamp":1785135591807,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/first.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 63676\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: d04208f72ec72f5ec208099aff55d472-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":63676,"size_decoded":64019,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"9124efbd3c0c6df0ba6497cc2c57af77","sha1":"4bca703b4a8ae9f06dcf804a91bd39d188972b99","sha256":"9ea6bed6556cb0efdf84f25979b7a203810dfb09c08847198f57fac79b9e1077","sha512":"48704083ad601d577331d132e14d7c6fd6b2a7e9502b949941be14004743ac2f1f83a5c930164afae25325d5db64e7237d8f042511679ac2d289ba9c77ae1eff","ssdeep":"1536:YUQwSWuUE6Kxa5fYlrOIXfc7U0QYxjv/O++EXt1+N:PSWuDLoYJ07p5UEXtM","tlshash":"e353f16321f85d2f832cb87343b803aaa8656172dad4cea192ccfdfcb515e34a546357","first_seen":"2026-07-27T05:44:01.799426Z","last_seen":"2026-07-27T11:04:25.216621Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":111,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":59,"receive":52,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/third_man.jpg","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.809Z","timestamp":1785135591809,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/third_man.jpg HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 30224\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 9b8c7c6cc91233a243d408dbad366888-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.022\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":30224,"size_decoded":30567,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"20c399aea31dc20ba39a32a604b259e8","sha1":"c3e7ea40a498e9ce164be045c95bb2c68b6de512","sha256":"9113f17963aac38bad3ca1d21e075efd8c631c4903d3071c100bdaec355dc171","sha512":"ff9dc8d622b8b8b154e2e9e17b0266c1307609f909d9c7f791f4d49d87fb29ab83cafed5964794ecfa1b39396c575ccba8e8ec042fb8262f8b8e9fe996128a25","ssdeep":"768:jmhDwNJMTIAuzRpykaPClIMqZqT5cDGnC:jmhuJMT/AylgIMqoT5i","tlshash":"afd2e1630b1ee574f0f3b2ac4574b70da578e85dea9b16ed86a5051c44dc3c6c94c0ea","first_seen":"2026-07-27T05:44:01.820954Z","last_seen":"2026-07-27T11:04:25.221435Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":113,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":69,"receive":44,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/uploads/binance.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.117Z","timestamp":1785135592117,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/uploads/binance.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: a46ad8fc3566fcfe6d7008d44a703cea-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]}],"data":{"size":4511,"size_decoded":2173,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":30,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/background/pattern-9.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.170Z","timestamp":1785135592170,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/background/pattern-9.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 7066\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 5088d595ebe4b00aec6890fbf86f5181-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.015\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":7066,"size_decoded":7408,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"b30147d09813880b6ac1bbe57e33d4d1","sha1":"e7267ab86ab519f4b195eb61fd91e7a77cd33bc0","sha256":"2f73369eecd860ef2d2db5f2ff46de6ca81abef8414fceaa69d5a69ecb2fb1c2","sha512":"edc8d7a7c82c2f9843ffa1f79faa1add219e0fb68a5fa3ae1750fd99810d99fe76b8757f14c53d202848365c6221a519c6e9cbeecd1113a085d6e15b517e87f5","ssdeep":"192:9GYo41Ub0rhJOYnPFag8pccDhUIR8Q7l1:9BoeUb0VJlPXIXhUIR8gl1","tlshash":"bfe17ca9cf24b46ff9323a7e5292e761d2671815f72594dcf310c82c34058584eace84","first_seen":"2026-03-04T14:04:41.783796Z","last_seen":"2026-07-27T11:04:25.197074Z","times_seen":20,"resource_available":false,"data":"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AsBYCwFgLAWAsBYCwFgLAWAsBYCwFfh6GoCAro5LSPpZ9oJESIkRIiREiJESIkRIiREiJESIkRIiREiJESIkRIiREiJESIkRIiQHFFgORmpQ3IrQQpenp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp6enp5PAAP7+YgAAJL6uz//sYP/9ie//+w5eWUpO/sPsxrPt2/G7vCfGy9aNmP9OVqhymX/NePwB5vmNDemltsFymiyfFdItMfYhx7l+eOoTptdjoteggu9wAEl/oUE+ItXFptYtxXFgtePBLbeoX2NdxaBCJRYv4tqdW3JaFX34oXGg2qozanx6AAAEGsHE3//xU1Cnd8mCH62+f7nejrXLvxz6YP/SKEIXZORbQYn3obwl1ya1qgjLTb4GPV52/nzqo1kdMpu6UQ9TUf/36Ev/8jO8AAPjA+6zc2nAfDkAhzQoDXDwADa533V8AAd+W91fAAGbysMAZVRm9F7q+AAM3nfdXwABm8rDAAHIpjQAAf1inAACYPDcAAXX2Af//ZF//7Hp//9hy//01L3dGrdqWtHtfb0TKZ6gHDirDevY7lmJ9ntaYjF+8wVnac6rhwrOiEf/os0Peacin7hyekcIL6mRs2wR6y724g55lwerWgQIAA3vVt9rSIHcvDpisKtuPjIV4HkaORvq6AAAAABFWElGugAAAEV4aWYAAElJKgAIAAAABgASAQMAAQAAAAEAAAAaAQUAAQAAAFYAAAAbAQUAAQAAAF4AAAAoAQMAAQAAAAIAAAATAgMAAQAAAAEAAABphwQAAQAAAGYAAAAAAAAASAAAAAEAAABIAAAAAQAAAAYAAJAHAAQAAAAwMjEwAZEHAAQAAAABAgMAAKAHAAQAAAAwMTAwAaADAAEAAAD//wAAAqAEAAEAAADSBQAAA6AEAAEAAAAHAQAAAAAAAA=="}},"time_used":49,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":49,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/translate.yandex.net/website-widget/v1/widget5d1f.js?widgetId=ytWidget\u0026pageLang=en\u0026widgetTheme=dark\u0026autoMode=true","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.580Z","timestamp":1785135591580,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /translate.yandex.net/website-widget/v1/widget5d1f.js?widgetId=ytWidget\u0026pageLang=en\u0026widgetTheme=dark\u0026autoMode=true HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/html\r\ncontent-length: 1626\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\netag: \"119f-68416ca6-bb1cd3e5385ca183;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 20300030f9e0aa2ddd5cae55a673e987-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":4511,"size_decoded":1999,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":78,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":72,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/appear.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.788Z","timestamp":1785135591788,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/appear.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 1231\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"111b-68bf75d4-9961c02087eb4856;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 95c9a9045b2388f353024343d9b8acd3-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":4379,"size_decoded":1839,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"5a457d262e3c32d25c003ca412ee7fe6","sha1":"b08e23c986259073419a7068fcd36296a91b1ae4","sha256":"46fb2235bcf84086a9b939ae509ecacc01bb31c68ba94e6473e31d8adebec3eb","sha512":"826945d028efc7a9f95c22c5f4d34dfab6704b75f45e7d6fc2e93e2b42f7078aaf7b8508f9155b36dd15ca759a765fff3b4550f17e3b187e79285f63de455d53","ssdeep":"48:3l3Xwqhd24ayV+zFLAPftUIeohhR9zIreFfFoBSxMEh1u1cq6KjD4W7j9:V3XWz1zFkmDo7R9cr+YSpTocqBksj9","tlshash":"7391db4a759b2ab54877722a9f2fa20cd721513b1202c21138eede6c2f71c50a197fdc","first_seen":"2023-03-07T12:02:41Z","last_seen":"2026-08-17T16:43:19.247022Z","times_seen":4236,"resource_available":true,"data":"LyoNCiAqIGpRdWVyeS5hcHBlYXINCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9iYXMyay9qcXVlcnkuYXBwZWFyLw0KICogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2pxdWVyeS1hcHBlYXIvDQogKiBodHRwOi8vYmFzMmsucnUvDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDA5IE1pY2hhZWwgSGl4c29uDQogKiBDb3B5cmlnaHQgKGMpIDIwMTItMjAxNCBBbGV4YW5kZXIgQnJvdmlrb3YNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAoaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHApDQogKi8NCihmdW5jdGlvbigkKSB7DQogICAgJC5mbi5hcHBlYXIgPSBmdW5jdGlvbihmbiwgb3B0aW9ucykgew0KDQogICAgICAgIHZhciBzZXR0aW5ncyA9ICQuZXh0ZW5kKHsNCg0KICAgICAgICAgICAgLy9hcmJpdHJhcnkgZGF0YSB0byBwYXNzIHRvIGZuDQogICAgICAgICAgICBkYXRhOiB1bmRlZmluZWQsDQoNCiAgICAgICAgICAgIC8vY2FsbCBmbiBvbmx5IG9uIHRoZSBmaXJzdCBhcHBlYXI/DQogICAgICAgICAgICBvbmU6IHRydWUsDQoNCiAgICAgICAgICAgIC8vIFggJiBZIGFjY3VyYWN5DQogICAgICAgICAgICBhY2NYOiAwLA0KICAgICAgICAgICAgYWNjWTogMA0KDQogICAgICAgIH0sIG9wdGlvbnMpOw0KDQogICAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgIHZhciB0ID0gJCh0aGlzKTsNCg0KICAgICAgICAgICAgLy93aGV0aGVyIHRoZSBlbGVtZW50IGlzIGN1cnJlbnRseSB2aXNpYmxlDQogICAgICAgICAgICB0LmFwcGVhcmVkID0gZmFsc2U7DQoNCiAgICAgICAgICAgIGlmICghZm4pIHsNCg0KICAgICAgICAgICAgICAgIC8vdHJpZ2dlciB0aGUgY3VzdG9tIGV2ZW50DQogICAgICAgICAgICAgICAgdC50cmlnZ2VyKCdhcHBlYXInLCBzZXR0aW5ncy5kYXRhKTsNCiAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciB3ID0gJCh3aW5kb3cpOw0KDQogICAgICAgICAgICAvL2ZpcmVzIHRoZSBhcHBlYXIgZXZlbnQgd2hlbiBhcHByb3ByaWF0ZQ0KICAgICAgICAgICAgdmFyIGNoZWNrID0gZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgICAgICAvL2lzIHRoZSBlbGVtZW50IGhpZGRlbj8NCiAgICAgICAgICAgICAgICBpZiAoIXQuaXMoJzp2aXNpYmxlJykpIHsNCg0KICAgICAgICAgICAgICAgICAgICAvL2l0IGJlY2FtZSBoaWRkZW4NCiAgICAgICAgICAgICAgICAgICAgdC5hcHBlYXJlZCA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy9pcyB0aGUgZWxlbWVudCBpbnNpZGUgdGhlIHZpc2libGUgd2luZG93Pw0KICAgICAgICAgICAgICAgIHZhciBhID0gdy5zY3JvbGxMZWZ0KCk7DQogICAgICAgICAgICAgICAgdmFyIGIgPSB3LnNjcm9sbFRvcCgpOw0KICAgICAgICAgICAgICAgIHZhciBvID0gdC5vZmZzZXQoKTsNCiAgICAgICAgICAgICAgICB2YXIgeCA9IG8ubGVmdDsNCiAgICAgICAgICAgICAgICB2YXIgeSA9IG8udG9wOw0KDQogICAgICAgICAgICAgICAgdmFyIGF4ID0gc2V0dGluZ3MuYWNjWDsNCiAgICAgICAgICAgICAgICB2YXIgYXkgPSBzZXR0aW5ncy5hY2NZOw0KICAgICAgICAgICAgICAgIHZhciB0aCA9IHQuaGVpZ2h0KCk7DQogICAgICAgICAgICAgICAgdmFyIHdoID0gdy5oZWlnaHQoKTsNCiAgICAgICAgICAgICAgICB2YXIgdHcgPSB0LndpZHRoKCk7DQogICAgICAgICAgICAgICAgdmFyIHd3ID0gdy53aWR0aCgpOw0KDQogICAgICAgICAgICAgICAgaWYgKHkgKyB0aCArIGF5ID49IGIgJiYNCiAgICAgICAgICAgICAgICAgICAgeSA8PSBiICsgd2ggKyBheSAmJg0KICAgICAgICAgICAgICAgICAgICB4ICsgdHcgKyBheCA+PSBhICYmDQogICAgICAgICAgICAgICAgICAgIHggPD0gYSArIHd3ICsgYXgpIHsNCg0KICAgICAgICAgICAgICAgICAgICAvL3RyaWdnZXIgdGhlIGN1c3RvbSBldmVudA0KICAgICAgICAgICAgICAgICAgICBpZiAoIXQuYXBwZWFyZWQpIHQudHJpZ2dlcignYXBwZWFyJywgc2V0dGluZ3MuZGF0YSk7DQoNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KDQogICAgICAgICAgICAgICAgICAgIC8vaXQgc2Nyb2xsZWQgb3V0IG9mIHZpZXcNCiAgICAgICAgICAgICAgICAgICAgdC5hcHBlYXJlZCA9IGZhbHNlOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIC8vY3JlYXRlIGEgbW9kaWZpZWQgZm4gd2l0aCBzb21lIGFkZGl0aW9uYWwgbG9naWMNCiAgICAgICAgICAgIHZhciBtb2RpZmllZEZuID0gZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgICAgICAvL21hcmsgdGhlIGVsZW1lbnQgYXMgdmlzaWJsZQ0KICAgICAgICAgICAgICAgIHQuYXBwZWFyZWQgPSB0cnVlOw0KDQogICAgICAgICAgICAgICAgLy9pcyB0aGlzIHN1cHBvc2VkIHRvIGhhcHBlbiBvbmx5IG9uY2U/DQogICAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLm9uZSkgew0KDQogICAgICAgICAgICAgICAgICAgIC8vcmVtb3ZlIHRoZSBjaGVjaw0KICAgICAgICAgICAgICAgICAgICB3LnVuYmluZCgnc2Nyb2xsJywgY2hlY2spOw0KICAgICAgICAgICAgICAgICAgICB2YXIgaSA9ICQuaW5BcnJheShjaGVjaywgJC5mbi5hcHBlYXIuY2hlY2tzKTsNCiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPj0gMCkgJC5mbi5hcHBlYXIuY2hlY2tzLnNwbGljZShpLCAxKTsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAvL3RyaWdnZXIgdGhlIG9yaWdpbmFsIGZuDQogICAgICAgICAgICAgICAgZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgIC8vYmluZCB0aGUgbW9kaWZpZWQgZm4gdG8gdGhlIGVsZW1lbnQNCiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5vbmUpIHQub25lKCdhcHBlYXInLCBzZXR0aW5ncy5kYXRhLCBtb2RpZmllZEZuKTsNCiAgICAgICAgICAgIGVsc2UgdC5iaW5kKCdhcHBlYXInLCBzZXR0aW5ncy5kYXRhLCBtb2RpZmllZEZuKTsNCg0KICAgICAgICAgICAgLy9jaGVjayB3aGVuZXZlciB0aGUgd2luZG93IHNjcm9sbHMNCiAgICAgICAgICAgIHcuc2Nyb2xsKGNoZWNrKTsNCg0KICAgICAgICAgICAgLy9jaGVjayB3aGVuZXZlciB0aGUgZG9tIGNoYW5nZXMNCiAgICAgICAgICAgICQuZm4uYXBwZWFyLmNoZWNrcy5wdXNoKGNoZWNrKTsNCg0KICAgICAgICAgICAgLy9jaGVjayBub3cNCiAgICAgICAgICAgIChjaGVjaykoKTsNCiAgICAgICAgfSk7DQogICAgfTsNCg0KICAgIC8va2VlcCBhIHF1ZXVlIG9mIGFwcGVhcmFuY2UgY2hlY2tzDQogICAgJC5leHRlbmQoJC5mbi5hcHBlYXIsIHsNCg0KICAgICAgICBjaGVja3M6IFtdLA0KICAgICAgICB0aW1lb3V0OiBudWxsLA0KDQogICAgICAgIC8vcHJvY2VzcyB0aGUgcXVldWUNCiAgICAgICAgY2hlY2tBbGw6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGxlbmd0aCA9ICQuZm4uYXBwZWFyLmNoZWNrcy5sZW5ndGg7DQogICAgICAgICAgICBpZiAobGVuZ3RoID4gMCkgd2hpbGUgKGxlbmd0aC0tKSAoJC5mbi5hcHBlYXIuY2hlY2tzW2xlbmd0aF0pKCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLy9jaGVjayB0aGUgcXVldWUgYXN5bmNocm9ub3VzbHkNCiAgICAgICAgcnVuOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIGlmICgkLmZuLmFwcGVhci50aW1lb3V0KSBjbGVhclRpbWVvdXQoJC5mbi5hcHBlYXIudGltZW91dCk7DQogICAgICAgICAgICAkLmZuLmFwcGVhci50aW1lb3V0ID0gc2V0VGltZW91dCgkLmZuLmFwcGVhci5jaGVja0FsbCwgMjApOw0KICAgICAgICB9DQogICAgfSk7DQoNCiAgICAvL3J1biBjaGVja3Mgd2hlbiB0aGVzZSBtZXRob2RzIGFyZSBjYWxsZWQNCiAgICAkLmVhY2goWydhcHBlbmQnLCAncHJlcGVuZCcsICdhZnRlcicsICdiZWZvcmUnLCAnYXR0cicsDQogICAgICAgICdyZW1vdmVBdHRyJywgJ2FkZENsYXNzJywgJ3JlbW92ZUNsYXNzJywgJ3RvZ2dsZUNsYXNzJywNCiAgICAgICAgJ3JlbW92ZScsICdjc3MnLCAnc2hvdycsICdoaWRlJ10sIGZ1bmN0aW9uKGksIG4pIHsNCiAgICAgICAgdmFyIG9sZCA9ICQuZm5bbl07DQogICAgICAgIGlmIChvbGQpIHsNCiAgICAgICAgICAgICQuZm5bbl0gPSBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgciA9IG9sZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpOw0KICAgICAgICAgICAgICAgICQuZm4uYXBwZWFyLnJ1bigpOw0KICAgICAgICAgICAgICAgIHJldHVybiByOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfSk7DQoNCn0pKGpRdWVyeSk7DQo="}},"time_used":69,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":67,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/js/owl.js","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.791Z","timestamp":1785135591791,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/js/owl.js HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: application/x-javascript\r\ncontent-length: 17512\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:51:13 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"14d37-68bf75d4-39fedc7275576f75;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389318\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: af1439b68b2cb7768af8b75d33e2cafe-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.017\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":85303,"size_decoded":18122,"mime_type":"application/x-javascript","magic":"JavaScript source, ASCII text, with very long lines (360)","md5":"54428880ec8df798ac3d666f5113c7ff","sha1":"9e43e74b8677f39e87f1b11be4d536c618b14bb3","sha256":"0402874ff311f284b18af9e4c453ee5bf0916a3b7335f0be52dcb54a1a31338b","sha512":"abceb872c8942d366a533c0c572e0e6e31d1b428ad2bc6fa1e746fd31811b6f8dfcd77814723adf44e1a8585436b511097576159b8eab40706b025e3158eda24","ssdeep":"1536:/PLoreUScogMjVNPP8aLMBJk8u9hKt1o619IYj1oJ0SQIOZ:/fHNPP/qJ9BoC9XplIOZ","tlshash":"e48383c5f36c261b422a31785e9e23ce713d412ad91118af7ca4e9dc28d546c836eff9","first_seen":"2023-03-07T01:10:42Z","last_seen":"2026-08-18T01:56:00.806668Z","times_seen":4767,"resource_available":true,"data":"LyoqCiAqIE93bCBDYXJvdXNlbCB2Mi4yLjAKICogQ29weXJpZ2h0IDIwMTMtMjAxNiBEYXZpZCBEZXV0c2NoCiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRSkKICovCi8qKgogKiBPd2wgY2Fyb3VzZWwKICogQHZlcnNpb24gMi4xLjYKICogQGF1dGhvciBCYXJ0b3N6IFdvamNpZWNob3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKiBAdG9kbyBMYXp5IExvYWQgSWNvbgogKiBAdG9kbyBwcmV2ZW50IGFuaW1hdGlvbmVuZCBidWJsaW5nCiAqIEB0b2RvIGl0ZW1zU2NhbGVVcAogKiBAdG9kbyBUZXN0IFplcHRvCiAqIEB0b2RvIHN0YWdlUGFkZGluZyBjYWxjdWxhdGUgd3JvbmcgYWN0aXZlIGNsYXNzZXMKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIGEgY2Fyb3VzZWwuCgkgKiBAY2xhc3MgVGhlIE93bCBDYXJvdXNlbC4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8alF1ZXJ5fSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gY3JlYXRlIHRoZSBjYXJvdXNlbCBmb3IuCgkgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnNdIC0gVGhlIG9wdGlvbnMKCSAqLwoJZnVuY3Rpb24gT3dsKGVsZW1lbnQsIG9wdGlvbnMpIHsKCgkJLyoqCgkJICogQ3VycmVudCBzZXR0aW5ncyBmb3IgdGhlIGNhcm91c2VsLgoJCSAqIEBwdWJsaWMKCQkgKi8KCQl0aGlzLnNldHRpbmdzID0gbnVsbDsKCgkJLyoqCgkJICogQ3VycmVudCBvcHRpb25zIHNldCBieSB0aGUgY2FsbGVyIGluY2x1ZGluZyBkZWZhdWx0cy4KCQkgKiBAcHVibGljCgkJICovCgkJdGhpcy5vcHRpb25zID0gJC5leHRlbmQoe30sIE93bC5EZWZhdWx0cywgb3B0aW9ucyk7CgoJCS8qKgoJCSAqIFBsdWdpbiBlbGVtZW50LgoJCSAqIEBwdWJsaWMKCQkgKi8KCQl0aGlzLiRlbGVtZW50ID0gJChlbGVtZW50KTsKCgkJLyoqCgkJICogUHJveGllZCBldmVudCBoYW5kbGVycy4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7fTsKCgkJLyoqCgkJICogUmVmZXJlbmNlcyB0byB0aGUgcnVubmluZyBwbHVnaW5zIG9mIHRoaXMgY2Fyb3VzZWwuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX3BsdWdpbnMgPSB7fTsKCgkJLyoqCgkJICogQ3VycmVudGx5IHN1cHByZXNzZWQgZXZlbnRzIHRvIHByZXZlbnQgdGhlbSBmcm9tIGJlZWluZyByZXRyaWdnZXJlZC4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fc3VwcmVzcyA9IHt9OwoKCQkvKioKCQkgKiBBYnNvbHV0ZSBjdXJyZW50IHBvc2l0aW9uLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9jdXJyZW50ID0gbnVsbDsKCgkJLyoqCgkJICogQW5pbWF0aW9uIHNwZWVkIGluIG1pbGxpc2Vjb25kcy4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fc3BlZWQgPSBudWxsOwoKCQkvKioKCQkgKiBDb29yZGluYXRlcyBvZiBhbGwgaXRlbXMgaW4gcGl4ZWwuCgkJICogQHRvZG8gVGhlIG5hbWUgb2YgdGhpcyBtZW1iZXIgaXMgbWlzc2xlYWRpbmcuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2Nvb3JkaW5hdGVzID0gW107CgoJCS8qKgoJCSAqIEN1cnJlbnQgYnJlYWtwb2ludC4KCQkgKiBAdG9kbyBSZWFsIG1lZGlhIHF1ZXJpZXMgd291bGQgYmUgbmljZS4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fYnJlYWtwb2ludCA9IG51bGw7CgoJCS8qKgoJCSAqIEN1cnJlbnQgd2lkdGggb2YgdGhlIHBsdWdpbiBlbGVtZW50LgoJCSAqLwoJCXRoaXMuX3dpZHRoID0gbnVsbDsKCgkJLyoqCgkJICogQWxsIHJlYWwgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2l0ZW1zID0gW107CgoJCS8qKgoJCSAqIEFsbCBjbG9uZWQgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2Nsb25lcyA9IFtdOwoKCQkvKioKCQkgKiBNZXJnZSB2YWx1ZXMgb2YgYWxsIGl0ZW1zLgoJCSAqIEB0b2RvIE1heWJlIHRoaXMgY291bGQgYmUgcGFydCBvZiBhIHBsdWdpbi4KCQkgKiBAcHJvdGVjdGVkCgkJICovCgkJdGhpcy5fbWVyZ2VycyA9IFtdOwoKCQkvKioKCQkgKiBXaWR0aHMgb2YgYWxsIGl0ZW1zLgoJCSAqLwoJCXRoaXMuX3dpZHRocyA9IFtdOwoKCQkvKioKCQkgKiBJbnZhbGlkYXRlZCBwYXJ0cyB3aXRoaW4gdGhlIHVwZGF0ZSBwcm9jZXNzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9pbnZhbGlkYXRlZCA9IHt9OwoKCQkvKioKCQkgKiBPcmRlcmVkIGxpc3Qgb2Ygd29ya2VycyBmb3IgdGhlIHVwZGF0ZSBwcm9jZXNzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKi8KCQl0aGlzLl9waXBlID0gW107CgoJCS8qKgoJCSAqIEN1cnJlbnQgc3RhdGUgaW5mb3JtYXRpb24gZm9yIHRoZSBkcmFnIG9wZXJhdGlvbi4KCQkgKiBAdG9kbyAjMjYxCgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX2RyYWcgPSB7CgkJCXRpbWU6IG51bGwsCgkJCXRhcmdldDogbnVsbCwKCQkJcG9pbnRlcjogbnVsbCwKCQkJc3RhZ2U6IHsKCQkJCXN0YXJ0OiBudWxsLAoJCQkJY3VycmVudDogbnVsbAoJCQl9LAoJCQlkaXJlY3Rpb246IG51bGwKCQl9OwoKCQkvKioKCQkgKiBDdXJyZW50IHN0YXRlIGluZm9ybWF0aW9uIGFuZCB0aGVpciB0YWdzLgoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICogQHByb3RlY3RlZAoJCSAqLwoJCXRoaXMuX3N0YXRlcyA9IHsKCQkJY3VycmVudDoge30sCgkJCXRhZ3M6IHsKCQkJCSdpbml0aWFsaXppbmcnOiBbICdidXN5JyBdLAoJCQkJJ2FuaW1hdGluZyc6IFsgJ2J1c3knIF0sCgkJCQknZHJhZ2dpbmcnOiBbICdpbnRlcmFjdGluZycgXQoJCQl9CgkJfTsKCgkJJC5lYWNoKFsgJ29uUmVzaXplJywgJ29uVGhyb3R0bGVkUmVzaXplJyBdLCAkLnByb3h5KGZ1bmN0aW9uKGksIGhhbmRsZXIpIHsKCQkJdGhpcy5faGFuZGxlcnNbaGFuZGxlcl0gPSAkLnByb3h5KHRoaXNbaGFuZGxlcl0sIHRoaXMpOwoJCX0sIHRoaXMpKTsKCgkJJC5lYWNoKE93bC5QbHVnaW5zLCAkLnByb3h5KGZ1bmN0aW9uKGtleSwgcGx1Z2luKSB7CgkJCXRoaXMuX3BsdWdpbnNba2V5LmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsga2V5LnNsaWNlKDEpXQoJCQkJPSBuZXcgcGx1Z2luKHRoaXMpOwoJCX0sIHRoaXMpKTsKCgkJJC5lYWNoKE93bC5Xb3JrZXJzLCAkLnByb3h5KGZ1bmN0aW9uKHByaW9yaXR5LCB3b3JrZXIpIHsKCQkJdGhpcy5fcGlwZS5wdXNoKHsKCQkJCSdmaWx0ZXInOiB3b3JrZXIuZmlsdGVyLAoJCQkJJ3J1bic6ICQucHJveHkod29ya2VyLnJ1biwgdGhpcykKCQkJfSk7CgkJfSwgdGhpcykpOwoKCQl0aGlzLnNldHVwKCk7CgkJdGhpcy5pbml0aWFsaXplKCk7Cgl9CgoJLyoqCgkgKiBEZWZhdWx0IG9wdGlvbnMgZm9yIHRoZSBjYXJvdXNlbC4KCSAqIEBwdWJsaWMKCSAqLwoJT3dsLkRlZmF1bHRzID0gewoJCWl0ZW1zOiAzLAoJCWxvb3A6IGZhbHNlLAoJCWNlbnRlcjogZmFsc2UsCgkJcmV3aW5kOiBmYWxzZSwKCgkJbW91c2VEcmFnOiB0cnVlLAoJCXRvdWNoRHJhZzogdHJ1ZSwKCQlwdWxsRHJhZzogdHJ1ZSwKCQlmcmVlRHJhZzogZmFsc2UsCgoJCW1hcmdpbjogMCwKCQlzdGFnZVBhZGRpbmc6IDAsCgoJCW1lcmdlOiBmYWxzZSwKCQltZXJnZUZpdDogdHJ1ZSwKCQlhdXRvV2lkdGg6IGZhbHNlLAoKCQlzdGFydFBvc2l0aW9uOiAwLAoJCXJ0bDogZmFsc2UsCgoJCXNtYXJ0U3BlZWQ6IDI1MCwKCQlmbHVpZFNwZWVkOiBmYWxzZSwKCQlkcmFnRW5kU3BlZWQ6IGZhbHNlLAoKCQlyZXNwb25zaXZlOiB7fSwKCQlyZXNwb25zaXZlUmVmcmVzaFJhdGU6IDIwMCwKCQlyZXNwb25zaXZlQmFzZUVsZW1lbnQ6IHdpbmRvdywKCgkJZmFsbGJhY2tFYXNpbmc6ICdzd2luZycsCgoJCWluZm86IGZhbHNlLAoKCQluZXN0ZWRJdGVtU2VsZWN0b3I6IGZhbHNlLAoJCWl0ZW1FbGVtZW50OiAnZGl2JywKCQlzdGFnZUVsZW1lbnQ6ICdkaXYnLAoKCQlyZWZyZXNoQ2xhc3M6ICdvd2wtcmVmcmVzaCcsCgkJbG9hZGVkQ2xhc3M6ICdvd2wtbG9hZGVkJywKCQlsb2FkaW5nQ2xhc3M6ICdvd2wtbG9hZGluZycsCgkJcnRsQ2xhc3M6ICdvd2wtcnRsJywKCQlyZXNwb25zaXZlQ2xhc3M6ICdvd2wtcmVzcG9uc2l2ZScsCgkJZHJhZ0NsYXNzOiAnb3dsLWRyYWcnLAoJCWl0ZW1DbGFzczogJ293bC1pdGVtJywKCQlzdGFnZUNsYXNzOiAnb3dsLXN0YWdlJywKCQlzdGFnZU91dGVyQ2xhc3M6ICdvd2wtc3RhZ2Utb3V0ZXInLAoJCWdyYWJDbGFzczogJ293bC1ncmFiJwoJfTsKCgkvKioKCSAqIEVudW1lcmF0aW9uIGZvciB3aWR0aC4KCSAqIEBwdWJsaWMKCSAqIEByZWFkb25seQoJICogQGVudW0ge1N0cmluZ30KCSAqLwoJT3dsLldpZHRoID0gewoJCURlZmF1bHQ6ICdkZWZhdWx0JywKCQlJbm5lcjogJ2lubmVyJywKCQlPdXRlcjogJ291dGVyJwoJfTsKCgkvKioKCSAqIEVudW1lcmF0aW9uIGZvciB0eXBlcy4KCSAqIEBwdWJsaWMKCSAqIEByZWFkb25seQoJICogQGVudW0ge1N0cmluZ30KCSAqLwoJT3dsLlR5cGUgPSB7CgkJRXZlbnQ6ICdldmVudCcsCgkJU3RhdGU6ICdzdGF0ZScKCX07CgoJLyoqCgkgKiBDb250YWlucyBhbGwgcmVnaXN0ZXJlZCBwbHVnaW5zLgoJICogQHB1YmxpYwoJICovCglPd2wuUGx1Z2lucyA9IHt9OwoKCS8qKgoJICogTGlzdCBvZiB3b3JrZXJzIGludm9sdmVkIGluIHRoZSB1cGRhdGUgcHJvY2Vzcy4KCSAqLwoJT3dsLldvcmtlcnMgPSBbIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX3dpZHRoID0gdGhpcy4kZWxlbWVudC53aWR0aCgpOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oY2FjaGUpIHsKCQkJY2FjaGUuY3VycmVudCA9IHRoaXMuX2l0ZW1zICYmIHRoaXMuX2l0ZW1zW3RoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCldOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCcuY2xvbmVkJykucmVtb3ZlKCk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgbWFyZ2luID0gdGhpcy5zZXR0aW5ncy5tYXJnaW4gfHwgJycsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJcnRsID0gdGhpcy5zZXR0aW5ncy5ydGwsCgkJCQljc3MgPSB7CgkJCQkJJ3dpZHRoJzogJ2F1dG8nLAoJCQkJCSdtYXJnaW4tbGVmdCc6IHJ0bCA/IG1hcmdpbiA6ICcnLAoJCQkJCSdtYXJnaW4tcmlnaHQnOiBydGwgPyAnJyA6IG1hcmdpbgoJCQkJfTsKCgkJCSFncmlkICYmIHRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuY3NzKGNzcyk7CgoJCQljYWNoZS5jc3MgPSBjc3M7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgd2lkdGggPSAodGhpcy53aWR0aCgpIC8gdGhpcy5zZXR0aW5ncy5pdGVtcykudG9GaXhlZCgzKSAtIHRoaXMuc2V0dGluZ3MubWFyZ2luLAoJCQkJbWVyZ2UgPSBudWxsLAoJCQkJaXRlcmF0b3IgPSB0aGlzLl9pdGVtcy5sZW5ndGgsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJd2lkdGhzID0gW107CgoJCQljYWNoZS5pdGVtcyA9IHsKCQkJCW1lcmdlOiBmYWxzZSwKCQkJCXdpZHRoOiB3aWR0aAoJCQl9OwoKCQkJd2hpbGUgKGl0ZXJhdG9yLS0pIHsKCQkJCW1lcmdlID0gdGhpcy5fbWVyZ2Vyc1tpdGVyYXRvcl07CgkJCQltZXJnZSA9IHRoaXMuc2V0dGluZ3MubWVyZ2VGaXQgJiYgTWF0aC5taW4obWVyZ2UsIHRoaXMuc2V0dGluZ3MuaXRlbXMpIHx8IG1lcmdlOwoKCQkJCWNhY2hlLml0ZW1zLm1lcmdlID0gbWVyZ2UgPiAxIHx8IGNhY2hlLml0ZW1zLm1lcmdlOwoKCQkJCXdpZHRoc1tpdGVyYXRvcl0gPSAhZ3JpZCA/IHRoaXMuX2l0ZW1zW2l0ZXJhdG9yXS53aWR0aCgpIDogd2lkdGggKiBtZXJnZTsKCQkJfQoKCQkJdGhpcy5fd2lkdGhzID0gd2lkdGhzOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBjbG9uZXMgPSBbXSwKCQkJCWl0ZW1zID0gdGhpcy5faXRlbXMsCgkJCQlzZXR0aW5ncyA9IHRoaXMuc2V0dGluZ3MsCgkJCQl2aWV3ID0gTWF0aC5tYXgoc2V0dGluZ3MuaXRlbXMgKiAyLCA0KSwKCQkJCXNpemUgPSBNYXRoLmNlaWwoaXRlbXMubGVuZ3RoIC8gMikgKiAyLAoJCQkJcmVwZWF0ID0gc2V0dGluZ3MubG9vcCAmJiBpdGVtcy5sZW5ndGggPyBzZXR0aW5ncy5yZXdpbmQgPyB2aWV3IDogTWF0aC5tYXgodmlldywgc2l6ZSkgOiAwLAoJCQkJYXBwZW5kID0gJycsCgkJCQlwcmVwZW5kID0gJyc7CgoJCQlyZXBlYXQgLz0gMjsKCgkJCXdoaWxlIChyZXBlYXQtLSkgewoJCQkJY2xvbmVzLnB1c2godGhpcy5ub3JtYWxpemUoY2xvbmVzLmxlbmd0aCAvIDIsIHRydWUpKTsKCQkJCWFwcGVuZCA9IGFwcGVuZCArIGl0ZW1zW2Nsb25lc1tjbG9uZXMubGVuZ3RoIC0gMV1dWzBdLm91dGVySFRNTDsKCQkJCWNsb25lcy5wdXNoKHRoaXMubm9ybWFsaXplKGl0ZW1zLmxlbmd0aCAtIDEgLSAoY2xvbmVzLmxlbmd0aCAtIDEpIC8gMiwgdHJ1ZSkpOwoJCQkJcHJlcGVuZCA9IGl0ZW1zW2Nsb25lc1tjbG9uZXMubGVuZ3RoIC0gMV1dWzBdLm91dGVySFRNTCArIHByZXBlbmQ7CgkJCX0KCgkJCXRoaXMuX2Nsb25lcyA9IGNsb25lczsKCgkJCSQoYXBwZW5kKS5hZGRDbGFzcygnY2xvbmVkJykuYXBwZW5kVG8odGhpcy4kc3RhZ2UpOwoJCQkkKHByZXBlbmQpLmFkZENsYXNzKCdjbG9uZWQnKS5wcmVwZW5kVG8odGhpcy4kc3RhZ2UpOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBydGwgPSB0aGlzLnNldHRpbmdzLnJ0bCA/IDEgOiAtMSwKCQkJCXNpemUgPSB0aGlzLl9jbG9uZXMubGVuZ3RoICsgdGhpcy5faXRlbXMubGVuZ3RoLAoJCQkJaXRlcmF0b3IgPSAtMSwKCQkJCXByZXZpb3VzID0gMCwKCQkJCWN1cnJlbnQgPSAwLAoJCQkJY29vcmRpbmF0ZXMgPSBbXTsKCgkJCXdoaWxlICgrK2l0ZXJhdG9yIDwgc2l6ZSkgewoJCQkJcHJldmlvdXMgPSBjb29yZGluYXRlc1tpdGVyYXRvciAtIDFdIHx8IDA7CgkJCQljdXJyZW50ID0gdGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoaXRlcmF0b3IpXSArIHRoaXMuc2V0dGluZ3MubWFyZ2luOwoJCQkJY29vcmRpbmF0ZXMucHVzaChwcmV2aW91cyArIGN1cnJlbnQgKiBydGwpOwoJCQl9CgoJCQl0aGlzLl9jb29yZGluYXRlcyA9IGNvb3JkaW5hdGVzOwoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ3dpZHRoJywgJ2l0ZW1zJywgJ3NldHRpbmdzJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXZhciBwYWRkaW5nID0gdGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcsCgkJCQljb29yZGluYXRlcyA9IHRoaXMuX2Nvb3JkaW5hdGVzLAoJCQkJY3NzID0gewoJCQkJCSd3aWR0aCc6IE1hdGguY2VpbChNYXRoLmFicyhjb29yZGluYXRlc1tjb29yZGluYXRlcy5sZW5ndGggLSAxXSkpICsgcGFkZGluZyAqIDIsCgkJCQkJJ3BhZGRpbmctbGVmdCc6IHBhZGRpbmcgfHwgJycsCgkJCQkJJ3BhZGRpbmctcmlnaHQnOiBwYWRkaW5nIHx8ICcnCgkJCQl9OwoKCQkJdGhpcy4kc3RhZ2UuY3NzKGNzcyk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbihjYWNoZSkgewoJCQl2YXIgaXRlcmF0b3IgPSB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGgsCgkJCQlncmlkID0gIXRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoLAoJCQkJaXRlbXMgPSB0aGlzLiRzdGFnZS5jaGlsZHJlbigpOwoKCQkJaWYgKGdyaWQgJiYgY2FjaGUuaXRlbXMubWVyZ2UpIHsKCQkJCXdoaWxlIChpdGVyYXRvci0tKSB7CgkJCQkJY2FjaGUuY3NzLndpZHRoID0gdGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoaXRlcmF0b3IpXTsKCQkJCQlpdGVtcy5lcShpdGVyYXRvcikuY3NzKGNhY2hlLmNzcyk7CgkJCQl9CgkJCX0gZWxzZSBpZiAoZ3JpZCkgewoJCQkJY2FjaGUuY3NzLndpZHRoID0gY2FjaGUuaXRlbXMud2lkdGg7CgkJCQlpdGVtcy5jc3MoY2FjaGUuY3NzKTsKCQkJfQoJCX0KCX0sIHsKCQlmaWx0ZXI6IFsgJ2l0ZW1zJyBdLAoJCXJ1bjogZnVuY3Rpb24oKSB7CgkJCXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aCA8IDEgJiYgdGhpcy4kc3RhZ2UucmVtb3ZlQXR0cignc3R5bGUnKTsKCQl9Cgl9LCB7CgkJZmlsdGVyOiBbICd3aWR0aCcsICdpdGVtcycsICdzZXR0aW5ncycgXSwKCQlydW46IGZ1bmN0aW9uKGNhY2hlKSB7CgkJCWNhY2hlLmN1cnJlbnQgPSBjYWNoZS5jdXJyZW50ID8gdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5pbmRleChjYWNoZS5jdXJyZW50KSA6IDA7CgkJCWNhY2hlLmN1cnJlbnQgPSBNYXRoLm1heCh0aGlzLm1pbmltdW0oKSwgTWF0aC5taW4odGhpcy5tYXhpbXVtKCksIGNhY2hlLmN1cnJlbnQpKTsKCQkJdGhpcy5yZXNldChjYWNoZS5jdXJyZW50KTsKCQl9Cgl9LCB7CgkJZmlsdGVyOiBbICdwb3NpdGlvbicgXSwKCQlydW46IGZ1bmN0aW9uKCkgewoJCQl0aGlzLmFuaW1hdGUodGhpcy5jb29yZGluYXRlcyh0aGlzLl9jdXJyZW50KSk7CgkJfQoJfSwgewoJCWZpbHRlcjogWyAnd2lkdGgnLCAncG9zaXRpb24nLCAnaXRlbXMnLCAnc2V0dGluZ3MnIF0sCgkJcnVuOiBmdW5jdGlvbigpIHsKCQkJdmFyIHJ0bCA9IHRoaXMuc2V0dGluZ3MucnRsID8gMSA6IC0xLAoJCQkJcGFkZGluZyA9IHRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nICogMiwKCQkJCWJlZ2luID0gdGhpcy5jb29yZGluYXRlcyh0aGlzLmN1cnJlbnQoKSkgKyBwYWRkaW5nLAoJCQkJZW5kID0gYmVnaW4gKyB0aGlzLndpZHRoKCkgKiBydGwsCgkJCQlpbm5lciwgb3V0ZXIsIG1hdGNoZXMgPSBbXSwgaSwgbjsKCgkJCWZvciAoaSA9IDAsIG4gPSB0aGlzLl9jb29yZGluYXRlcy5sZW5ndGg7IGkgPCBuOyBpKyspIHsKCQkJCWlubmVyID0gdGhpcy5fY29vcmRpbmF0ZXNbaSAtIDFdIHx8IDA7CgkJCQlvdXRlciA9IE1hdGguYWJzKHRoaXMuX2Nvb3JkaW5hdGVzW2ldKSArIHBhZGRpbmcgKiBydGw7CgoJCQkJaWYgKCh0aGlzLm9wKGlubmVyLCAnPD0nLCBiZWdpbikgJiYgKHRoaXMub3AoaW5uZXIsICc+JywgZW5kKSkpCgkJCQkJfHwgKHRoaXMub3Aob3V0ZXIsICc8JywgYmVnaW4pICYmIHRoaXMub3Aob3V0ZXIsICc+JywgZW5kKSkpIHsKCQkJCQltYXRjaGVzLnB1c2goaSk7CgkJCQl9CgkJCX0KCgkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCcuYWN0aXZlJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOwoJCQl0aGlzLiRzdGFnZS5jaGlsZHJlbignOmVxKCcgKyBtYXRjaGVzLmpvaW4oJyksIDplcSgnKSArICcpJykuYWRkQ2xhc3MoJ2FjdGl2ZScpOwoKCQkJaWYgKHRoaXMuc2V0dGluZ3MuY2VudGVyKSB7CgkJCQl0aGlzLiRzdGFnZS5jaGlsZHJlbignLmNlbnRlcicpLnJlbW92ZUNsYXNzKCdjZW50ZXInKTsKCQkJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCkuZXEodGhpcy5jdXJyZW50KCkpLmFkZENsYXNzKCdjZW50ZXInKTsKCQkJfQoJCX0KCX0gXTsKCgkvKioKCSAqIEluaXRpYWxpemVzIHRoZSBjYXJvdXNlbC4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJT3dsLnByb3RvdHlwZS5pbml0aWFsaXplID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5lbnRlcignaW5pdGlhbGl6aW5nJyk7CgkJdGhpcy50cmlnZ2VyKCdpbml0aWFsaXplJyk7CgoJCXRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3ModGhpcy5zZXR0aW5ncy5ydGxDbGFzcywgdGhpcy5zZXR0aW5ncy5ydGwpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5hdXRvV2lkdGggJiYgIXRoaXMuaXMoJ3ByZS1sb2FkaW5nJykpIHsKCQkJdmFyIGltZ3MsIG5lc3RlZFNlbGVjdG9yLCB3aWR0aDsKCQkJaW1ncyA9IHRoaXMuJGVsZW1lbnQuZmluZCgnaW1nJyk7CgkJCW5lc3RlZFNlbGVjdG9yID0gdGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IgPyAnLicgKyB0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvciA6IHVuZGVmaW5lZDsKCQkJd2lkdGggPSB0aGlzLiRlbGVtZW50LmNoaWxkcmVuKG5lc3RlZFNlbGVjdG9yKS53aWR0aCgpOwoKCQkJaWYgKGltZ3MubGVuZ3RoICYmIHdpZHRoIDw9IDApIHsKCQkJCXRoaXMucHJlbG9hZEF1dG9XaWR0aEltYWdlcyhpbWdzKTsKCQkJfQoJCX0KCgkJdGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKTsKCgkJLy8gY3JlYXRlIHN0YWdlCgkJdGhpcy4kc3RhZ2UgPSAkKCc8JyArIHRoaXMuc2V0dGluZ3Muc3RhZ2VFbGVtZW50ICsgJyBjbGFzcz0iJyArIHRoaXMuc2V0dGluZ3Muc3RhZ2VDbGFzcyArICciLz4nKQoJCQkud3JhcCgnPGRpdiBjbGFzcz0iJyArIHRoaXMuc2V0dGluZ3Muc3RhZ2VPdXRlckNsYXNzICsgJyIvPicpOwoKCQkvLyBhcHBlbmQgc3RhZ2UKCQl0aGlzLiRlbGVtZW50LmFwcGVuZCh0aGlzLiRzdGFnZS5wYXJlbnQoKSk7CgoJCS8vIGFwcGVuZCBjb250ZW50CgkJdGhpcy5yZXBsYWNlKHRoaXMuJGVsZW1lbnQuY2hpbGRyZW4oKS5ub3QodGhpcy4kc3RhZ2UucGFyZW50KCkpKTsKCgkJLy8gY2hlY2sgdmlzaWJpbGl0eQoJCWlmICh0aGlzLiRlbGVtZW50LmlzKCc6dmlzaWJsZScpKSB7CgkJCS8vIHVwZGF0ZSB2aWV3CgkJCXRoaXMucmVmcmVzaCgpOwoJCX0gZWxzZSB7CgkJCS8vIGludmFsaWRhdGUgd2lkdGgKCQkJdGhpcy5pbnZhbGlkYXRlKCd3aWR0aCcpOwoJCX0KCgkJdGhpcy4kZWxlbWVudAoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRpbmdDbGFzcykKCQkJLmFkZENsYXNzKHRoaXMub3B0aW9ucy5sb2FkZWRDbGFzcyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy5yZWdpc3RlckV2ZW50SGFuZGxlcnMoKTsKCgkJdGhpcy5sZWF2ZSgnaW5pdGlhbGl6aW5nJyk7CgkJdGhpcy50cmlnZ2VyKCdpbml0aWFsaXplZCcpOwoJfTsKCgkvKioKCSAqIFNldHVwcyB0aGUgY3VycmVudCBzZXR0aW5ncy4KCSAqIEB0b2RvIFJlbW92ZSByZXNwb25zaXZlIGNsYXNzZXMuIFdoeSBzaG91bGQgYWRhcHRpdmUgZGVzaWducyBiZSBicm91Z2h0IGludG8gSUU4PwoJICogQHRvZG8gU3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBieSB1c2luZyBgbWF0Y2hNZWRpYWAgd291bGQgYmUgbmljZS4KCSAqIEBwdWJsaWMKCSAqLwoJT3dsLnByb3RvdHlwZS5zZXR1cCA9IGZ1bmN0aW9uKCkgewoJCXZhciB2aWV3cG9ydCA9IHRoaXMudmlld3BvcnQoKSwKCQkJb3ZlcndyaXRlcyA9IHRoaXMub3B0aW9ucy5yZXNwb25zaXZlLAoJCQltYXRjaCA9IC0xLAoJCQlzZXR0aW5ncyA9IG51bGw7CgoJCWlmICghb3ZlcndyaXRlcykgewoJCQlzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnMpOwoJCX0gZWxzZSB7CgkJCSQuZWFjaChvdmVyd3JpdGVzLCBmdW5jdGlvbihicmVha3BvaW50KSB7CgkJCQlpZiAoYnJlYWtwb2ludCA8PSB2aWV3cG9ydCAmJiBicmVha3BvaW50ID4gbWF0Y2gpIHsKCQkJCQltYXRjaCA9IE51bWJlcihicmVha3BvaW50KTsKCQkJCX0KCQkJfSk7CgoJCQlzZXR0aW5ncyA9ICQuZXh0ZW5kKHt9LCB0aGlzLm9wdGlvbnMsIG92ZXJ3cml0ZXNbbWF0Y2hdKTsKCQkJaWYgKHR5cGVvZiBzZXR0aW5ncy5zdGFnZVBhZGRpbmcgPT09ICdmdW5jdGlvbicpIHsKCQkJCXNldHRpbmdzLnN0YWdlUGFkZGluZyA9IHNldHRpbmdzLnN0YWdlUGFkZGluZygpOwoJCQl9CgkJCWRlbGV0ZSBzZXR0aW5ncy5yZXNwb25zaXZlOwoKCQkJLy8gcmVzcG9uc2l2ZSBjbGFzcwoJCQlpZiAoc2V0dGluZ3MucmVzcG9uc2l2ZUNsYXNzKSB7CgkJCQl0aGlzLiRlbGVtZW50LmF0dHIoJ2NsYXNzJywKCQkJCQl0aGlzLiRlbGVtZW50LmF0dHIoJ2NsYXNzJykucmVwbGFjZShuZXcgUmVnRXhwKCcoJyArIHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MgKyAnLSlcXFMrXFxzJywgJ2cnKSwgJyQxJyArIG1hdGNoKQoJCQkJKTsKCQkJfQoJCX0KCgkJdGhpcy50cmlnZ2VyKCdjaGFuZ2UnLCB7IHByb3BlcnR5OiB7IG5hbWU6ICdzZXR0aW5ncycsIHZhbHVlOiBzZXR0aW5ncyB9IH0pOwoJCXRoaXMuX2JyZWFrcG9pbnQgPSBtYXRjaDsKCQl0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7CgkJdGhpcy5pbnZhbGlkYXRlKCdzZXR0aW5ncycpOwoJCXRoaXMudHJpZ2dlcignY2hhbmdlZCcsIHsgcHJvcGVydHk6IHsgbmFtZTogJ3NldHRpbmdzJywgdmFsdWU6IHRoaXMuc2V0dGluZ3MgfSB9KTsKCX07CgoJLyoqCgkgKiBVcGRhdGVzIG9wdGlvbiBsb2dpYyBpZiBuZWNlc3NlcnkuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUub3B0aW9uc0xvZ2ljID0gZnVuY3Rpb24oKSB7CgkJaWYgKHRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoKSB7CgkJCXRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nID0gZmFsc2U7CgkJCXRoaXMuc2V0dGluZ3MubWVyZ2UgPSBmYWxzZTsKCQl9Cgl9OwoKCS8qKgoJICogUHJlcGFyZXMgYW4gaXRlbSBiZWZvcmUgYWRkLgoJICogQHRvZG8gUmVuYW1lIGV2ZW50IHBhcmFtZXRlciBgY29udGVudGAgdG8gYGl0ZW1gLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybnMge2pRdWVyeXxIVE1MRWxlbWVudH0gLSBUaGUgaXRlbSBjb250YWluZXIuCgkgKi8KCU93bC5wcm90b3R5cGUucHJlcGFyZSA9IGZ1bmN0aW9uKGl0ZW0pIHsKCQl2YXIgZXZlbnQgPSB0aGlzLnRyaWdnZXIoJ3ByZXBhcmUnLCB7IGNvbnRlbnQ6IGl0ZW0gfSk7CgoJCWlmICghZXZlbnQuZGF0YSkgewoJCQlldmVudC5kYXRhID0gJCgnPCcgKyB0aGlzLnNldHRpbmdzLml0ZW1FbGVtZW50ICsgJy8+JykKCQkJCS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMuaXRlbUNsYXNzKS5hcHBlbmQoaXRlbSkKCQl9CgoJCXRoaXMudHJpZ2dlcigncHJlcGFyZWQnLCB7IGNvbnRlbnQ6IGV2ZW50LmRhdGEgfSk7CgoJCXJldHVybiBldmVudC5kYXRhOwoJfTsKCgkvKioKCSAqIFVwZGF0ZXMgdGhlIHZpZXcuCgkgKiBAcHVibGljCgkgKi8KCU93bC5wcm90b3R5cGUudXBkYXRlID0gZnVuY3Rpb24oKSB7CgkJdmFyIGkgPSAwLAoJCQluID0gdGhpcy5fcGlwZS5sZW5ndGgsCgkJCWZpbHRlciA9ICQucHJveHkoZnVuY3Rpb24ocCkgeyByZXR1cm4gdGhpc1twXSB9LCB0aGlzLl9pbnZhbGlkYXRlZCksCgkJCWNhY2hlID0ge307CgoJCXdoaWxlIChpIDwgbikgewoJCQlpZiAodGhpcy5faW52YWxpZGF0ZWQuYWxsIHx8ICQuZ3JlcCh0aGlzLl9waXBlW2ldLmZpbHRlciwgZmlsdGVyKS5sZW5ndGggPiAwKSB7CgkJCQl0aGlzLl9waXBlW2ldLnJ1bihjYWNoZSk7CgkJCX0KCQkJaSsrOwoJCX0KCgkJdGhpcy5faW52YWxpZGF0ZWQgPSB7fTsKCgkJIXRoaXMuaXMoJ3ZhbGlkJykgJiYgdGhpcy5lbnRlcigndmFsaWQnKTsKCX07CgoJLyoqCgkgKiBHZXRzIHRoZSB3aWR0aCBvZiB0aGUgdmlldy4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7T3dsLldpZHRofSBbZGltZW5zaW9uPU93bC5XaWR0aC5EZWZhdWx0XSAtIFRoZSBkaW1lbnNpb24gdG8gcmV0dXJuLgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgd2lkdGggb2YgdGhlIHZpZXcgaW4gcGl4ZWwuCgkgKi8KCU93bC5wcm90b3R5cGUud2lkdGggPSBmdW5jdGlvbihkaW1lbnNpb24pIHsKCQlkaW1lbnNpb24gPSBkaW1lbnNpb24gfHwgT3dsLldpZHRoLkRlZmF1bHQ7CgkJc3dpdGNoIChkaW1lbnNpb24pIHsKCQkJY2FzZSBPd2wuV2lkdGguSW5uZXI6CgkJCWNhc2UgT3dsLldpZHRoLk91dGVyOgoJCQkJcmV0dXJuIHRoaXMuX3dpZHRoOwoJCQlkZWZhdWx0OgoJCQkJcmV0dXJuIHRoaXMuX3dpZHRoIC0gdGhpcy5zZXR0aW5ncy5zdGFnZVBhZGRpbmcgKiAyICsgdGhpcy5zZXR0aW5ncy5tYXJnaW47CgkJfQoJfTsKCgkvKioKCSAqIFJlZnJlc2hlcyB0aGUgY2Fyb3VzZWwgcHJpbWFyaWx5IGZvciBhZGFwdGl2ZSBwdXJwb3Nlcy4KCSAqIEBwdWJsaWMKCSAqLwoJT3dsLnByb3RvdHlwZS5yZWZyZXNoID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5lbnRlcigncmVmcmVzaGluZycpOwoJCXRoaXMudHJpZ2dlcigncmVmcmVzaCcpOwoKCQl0aGlzLnNldHVwKCk7CgoJCXRoaXMub3B0aW9uc0xvZ2ljKCk7CgoJCXRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyk7CgoJCXRoaXMudXBkYXRlKCk7CgoJCXRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJlZnJlc2hDbGFzcyk7CgoJCXRoaXMubGVhdmUoJ3JlZnJlc2hpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3JlZnJlc2hlZCcpOwoJfTsKCgkvKioKCSAqIENoZWNrcyB3aW5kb3cgYHJlc2l6ZWAgZXZlbnQuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUub25UaHJvdHRsZWRSZXNpemUgPSBmdW5jdGlvbigpIHsKCQl3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZXIpOwoJCXRoaXMucmVzaXplVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCh0aGlzLl9oYW5kbGVycy5vblJlc2l6ZSwgdGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlUmVmcmVzaFJhdGUpOwoJfTsKCgkvKioKCSAqIENoZWNrcyB3aW5kb3cgYHJlc2l6ZWAgZXZlbnQuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU93bC5wcm90b3R5cGUub25SZXNpemUgPSBmdW5jdGlvbigpIHsKCQlpZiAoIXRoaXMuX2l0ZW1zLmxlbmd0aCkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiAodGhpcy5fd2lkdGggPT09IHRoaXMuJGVsZW1lbnQud2lkdGgoKSkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiAoIXRoaXMuJGVsZW1lbnQuaXMoJzp2aXNpYmxlJykpIHsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJdGhpcy5lbnRlcigncmVzaXppbmcnKTsKCgkJaWYgKHRoaXMudHJpZ2dlcigncmVzaXplJykuaXNEZWZhdWx0UHJldmVudGVkKCkpIHsKCQkJdGhpcy5sZWF2ZSgncmVzaXppbmcnKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJdGhpcy5pbnZhbGlkYXRlKCd3aWR0aCcpOwoKCQl0aGlzLnJlZnJlc2goKTsKCgkJdGhpcy5sZWF2ZSgncmVzaXppbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3Jlc2l6ZWQnKTsKCX07CgoJLyoqCgkgKiBSZWdpc3RlcnMgZXZlbnQgaGFuZGxlcnMuCgkgKiBAdG9kbyBDaGVjayBgbXNQb2ludGVyRW5hYmxlZGAKCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqLwoJT3dsLnByb3RvdHlwZS5yZWdpc3RlckV2ZW50SGFuZGxlcnMgPSBmdW5jdGlvbigpIHsKCQlpZiAoJC5zdXBwb3J0LnRyYW5zaXRpb24pIHsKCQkJdGhpcy4kc3RhZ2Uub24oJC5zdXBwb3J0LnRyYW5zaXRpb24uZW5kICsgJy5vd2wuY29yZScsICQucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsIHRoaXMpKTsKCQl9CgoJCWlmICh0aGlzLnNldHRpbmdzLnJlc3BvbnNpdmUgIT09IGZhbHNlKSB7CgkJCXRoaXMub24od2luZG93LCAncmVzaXplJywgdGhpcy5faGFuZGxlcnMub25UaHJvdHRsZWRSZXNpemUpOwoJCX0KCgkJaWYgKHRoaXMuc2V0dGluZ3MubW91c2VEcmFnKSB7CgkJCXRoaXMuJGVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcyk7CgkJCXRoaXMuJHN0YWdlLm9uKCdtb3VzZWRvd24ub3dsLmNvcmUnLCAkLnByb3h5KHRoaXMub25EcmFnU3RhcnQsIHRoaXMpKTsKCQkJdGhpcy4kc3RhZ2Uub24oJ2RyYWdzdGFydC5vd2wuY29yZSBzZWxlY3RzdGFydC5vd2wuY29yZScsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2UgfSk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy50b3VjaERyYWcpewoJCQl0aGlzLiRzdGFnZS5vbigndG91Y2hzdGFydC5vd2wuY29yZScsICQucHJveHkodGhpcy5vbkRyYWdTdGFydCwgdGhpcykpOwoJCQl0aGlzLiRzdGFnZS5vbigndG91Y2hjYW5jZWwub3dsLmNvcmUnLCAkLnByb3h5KHRoaXMub25EcmFnRW5kLCB0aGlzKSk7CgkJfQoJfTsKCgkvKioKCSAqIEhhbmRsZXMgYHRvdWNoc3RhcnRgIGFuZCBgbW91c2Vkb3duYCBldmVudHMuCgkgKiBAdG9kbyBIb3Jpem9udGFsIHN3aXBlIHRocmVzaG9sZCBhcyBvcHRpb24KCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS5vbkRyYWdTdGFydCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIHN0YWdlID0gbnVsbDsKCgkJaWYgKGV2ZW50LndoaWNoID09PSAzKSB7CgkJCXJldHVybjsKCQl9CgoJCWlmICgkLnN1cHBvcnQudHJhbnNmb3JtKSB7CgkJCXN0YWdlID0gdGhpcy4kc3RhZ2UuY3NzKCd0cmFuc2Zvcm0nKS5yZXBsYWNlKC8uKlwofFwpfCAvZywgJycpLnNwbGl0KCcsJyk7CgkJCXN0YWdlID0gewoJCQkJeDogc3RhZ2Vbc3RhZ2UubGVuZ3RoID09PSAxNiA/IDEyIDogNF0sCgkJCQl5OiBzdGFnZVtzdGFnZS5sZW5ndGggPT09IDE2ID8gMTMgOiA1XQoJCQl9OwoJCX0gZWxzZSB7CgkJCXN0YWdlID0gdGhpcy4kc3RhZ2UucG9zaXRpb24oKTsKCQkJc3RhZ2UgPSB7CgkJCQl4OiB0aGlzLnNldHRpbmdzLnJ0bCA/CgkJCQkJc3RhZ2UubGVmdCArIHRoaXMuJHN0YWdlLndpZHRoKCkgLSB0aGlzLndpZHRoKCkgKyB0aGlzLnNldHRpbmdzLm1hcmdpbiA6CgkJCQkJc3RhZ2UubGVmdCwKCQkJCXk6IHN0YWdlLnRvcAoJCQl9OwoJCX0KCgkJaWYgKHRoaXMuaXMoJ2FuaW1hdGluZycpKSB7CgkJCSQuc3VwcG9ydC50cmFuc2Zvcm0gPyB0aGlzLmFuaW1hdGUoc3RhZ2UueCkgOiB0aGlzLiRzdGFnZS5zdG9wKCkKCQkJdGhpcy5pbnZhbGlkYXRlKCdwb3NpdGlvbicpOwoJCX0KCgkJdGhpcy4kZWxlbWVudC50b2dnbGVDbGFzcyh0aGlzLm9wdGlvbnMuZ3JhYkNsYXNzLCBldmVudC50eXBlID09PSAnbW91c2Vkb3duJyk7CgoJCXRoaXMuc3BlZWQoMCk7CgoJCXRoaXMuX2RyYWcudGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpOwoJCXRoaXMuX2RyYWcudGFyZ2V0ID0gJChldmVudC50YXJnZXQpOwoJCXRoaXMuX2RyYWcuc3RhZ2Uuc3RhcnQgPSBzdGFnZTsKCQl0aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQgPSBzdGFnZTsKCQl0aGlzLl9kcmFnLnBvaW50ZXIgPSB0aGlzLnBvaW50ZXIoZXZlbnQpOwoKCQkkKGRvY3VtZW50KS5vbignbW91c2V1cC5vd2wuY29yZSB0b3VjaGVuZC5vd2wuY29yZScsICQucHJveHkodGhpcy5vbkRyYWdFbmQsIHRoaXMpKTsKCgkJJChkb2N1bWVudCkub25lKCdtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlJywgJC5wcm94eShmdW5jdGlvbihldmVudCkgewoJCQl2YXIgZGVsdGEgPSB0aGlzLmRpZmZlcmVuY2UodGhpcy5fZHJhZy5wb2ludGVyLCB0aGlzLnBvaW50ZXIoZXZlbnQpKTsKCgkJCSQoZG9jdW1lbnQpLm9uKCdtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlJywgJC5wcm94eSh0aGlzLm9uRHJhZ01vdmUsIHRoaXMpKTsKCgkJCWlmIChNYXRoLmFicyhkZWx0YS54KSA8IE1hdGguYWJzKGRlbHRhLnkpICYmIHRoaXMuaXMoJ3ZhbGlkJykpIHsKCQkJCXJldHVybjsKCQkJfQoKCQkJZXZlbnQucHJldmVudERlZmF1bHQoKTsKCgkJCXRoaXMuZW50ZXIoJ2RyYWdnaW5nJyk7CgkJCXRoaXMudHJpZ2dlcignZHJhZycpOwoJCX0sIHRoaXMpKTsKCX07CgoJLyoqCgkgKiBIYW5kbGVzIHRoZSBgdG91Y2htb3ZlYCBhbmQgYG1vdXNlbW92ZWAgZXZlbnRzLgoJICogQHRvZG8gIzI2MQoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgYXJndW1lbnRzLgoJICovCglPd2wucHJvdG90eXBlLm9uRHJhZ01vdmUgPSBmdW5jdGlvbihldmVudCkgewoJCXZhciBtaW5pbXVtID0gbnVsbCwKCQkJbWF4aW11bSA9IG51bGwsCgkJCXB1bGwgPSBudWxsLAoJCQlkZWx0YSA9IHRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsIHRoaXMucG9pbnRlcihldmVudCkpLAoJCQlzdGFnZSA9IHRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnN0YWdlLnN0YXJ0LCBkZWx0YSk7CgoJCWlmICghdGhpcy5pcygnZHJhZ2dpbmcnKSkgewoJCQlyZXR1cm47CgkJfQoKCQlldmVudC5wcmV2ZW50RGVmYXVsdCgpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCW1pbmltdW0gPSB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKTsKCQkJbWF4aW11bSA9IHRoaXMuY29vcmRpbmF0ZXModGhpcy5tYXhpbXVtKCkgKyAxKSAtIG1pbmltdW07CgkJCXN0YWdlLnggPSAoKChzdGFnZS54IC0gbWluaW11bSkgJSBtYXhpbXVtICsgbWF4aW11bSkgJSBtYXhpbXVtKSArIG1pbmltdW07CgkJfSBlbHNlIHsKCQkJbWluaW11bSA9IHRoaXMuc2V0dGluZ3MucnRsID8gdGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSkgOiB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKTsKCQkJbWF4aW11bSA9IHRoaXMuc2V0dGluZ3MucnRsID8gdGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSkgOiB0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpKTsKCQkJcHVsbCA9IHRoaXMuc2V0dGluZ3MucHVsbERyYWcgPyAtMSAqIGRlbHRhLnggLyA1IDogMDsKCQkJc3RhZ2UueCA9IE1hdGgubWF4KE1hdGgubWluKHN0YWdlLngsIG1pbmltdW0gKyBwdWxsKSwgbWF4aW11bSArIHB1bGwpOwoJCX0KCgkJdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50ID0gc3RhZ2U7CgoJCXRoaXMuYW5pbWF0ZShzdGFnZS54KTsKCX07CgoJLyoqCgkgKiBIYW5kbGVzIHRoZSBgdG91Y2hlbmRgIGFuZCBgbW91c2V1cGAgZXZlbnRzLgoJICogQHRvZG8gIzI2MQoJICogQHRvZG8gVGhyZXNob2xkIGZvciBjbGljayBldmVudAoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgYXJndW1lbnRzLgoJICovCglPd2wucHJvdG90eXBlLm9uRHJhZ0VuZCA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIGRlbHRhID0gdGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlciwgdGhpcy5wb2ludGVyKGV2ZW50KSksCgkJCXN0YWdlID0gdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50LAoJCQlkaXJlY3Rpb24gPSBkZWx0YS54ID4gMCBeIHRoaXMuc2V0dGluZ3MucnRsID8gJ2xlZnQnIDogJ3JpZ2h0JzsKCgkJJChkb2N1bWVudCkub2ZmKCcub3dsLmNvcmUnKTsKCgkJdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuZ3JhYkNsYXNzKTsKCgkJaWYgKGRlbHRhLnggIT09IDAgJiYgdGhpcy5pcygnZHJhZ2dpbmcnKSB8fCAhdGhpcy5pcygndmFsaWQnKSkgewoJCQl0aGlzLnNwZWVkKHRoaXMuc2V0dGluZ3MuZHJhZ0VuZFNwZWVkIHx8IHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCk7CgkJCXRoaXMuY3VycmVudCh0aGlzLmNsb3Nlc3Qoc3RhZ2UueCwgZGVsdGEueCAhPT0gMCA/IGRpcmVjdGlvbiA6IHRoaXMuX2RyYWcuZGlyZWN0aW9uKSk7CgkJCXRoaXMuaW52YWxpZGF0ZSgncG9zaXRpb24nKTsKCQkJdGhpcy51cGRhdGUoKTsKCgkJCXRoaXMuX2RyYWcuZGlyZWN0aW9uID0gZGlyZWN0aW9uOwoKCQkJaWYgKE1hdGguYWJzKGRlbHRhLngpID4gMyB8fCBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMuX2RyYWcudGltZSA+IDMwMCkgewoJCQkJdGhpcy5fZHJhZy50YXJnZXQub25lKCdjbGljay5vd2wuY29yZScsIGZ1bmN0aW9uKCkgeyByZXR1cm4gZmFsc2U7IH0pOwoJCQl9CgkJfQoKCQlpZiAoIXRoaXMuaXMoJ2RyYWdnaW5nJykpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5sZWF2ZSgnZHJhZ2dpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ2RyYWdnZWQnKTsKCX07CgoJLyoqCgkgKiBHZXRzIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBjbG9zZXN0IGl0ZW0gZm9yIGEgY29vcmRpbmF0ZS4KCSAqIEB0b2RvIFNldHRpbmcgYGZyZWVEcmFnYCBtYWtlcyBgY2xvc2VzdGAgbm90IHJldXNhYmxlLiBTZWUgIzE2NS4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7TnVtYmVyfSBjb29yZGluYXRlIC0gVGhlIGNvb3JkaW5hdGUgaW4gcGl4ZWwuCgkgKiBAcGFyYW0ge1N0cmluZ30gZGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiB0byBjaGVjayBmb3IgdGhlIGNsb3Nlc3QgaXRlbS4gRXRoZXIgYGxlZnRgIG9yIGByaWdodGAuCgkgKiBAcmV0dXJuIHtOdW1iZXJ9IC0gVGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBjbG9zZXN0IGl0ZW0uCgkgKi8KCU93bC5wcm90b3R5cGUuY2xvc2VzdCA9IGZ1bmN0aW9uKGNvb3JkaW5hdGUsIGRpcmVjdGlvbikgewoJCXZhciBwb3NpdGlvbiA9IC0xLAoJCQlwdWxsID0gMzAsCgkJCXdpZHRoID0gdGhpcy53aWR0aCgpLAoJCQljb29yZGluYXRlcyA9IHRoaXMuY29vcmRpbmF0ZXMoKTsKCgkJaWYgKCF0aGlzLnNldHRpbmdzLmZyZWVEcmFnKSB7CgkJCS8vIGNoZWNrIGNsb3Nlc3QgaXRlbQoJCQkkLmVhY2goY29vcmRpbmF0ZXMsICQucHJveHkoZnVuY3Rpb24oaW5kZXgsIHZhbHVlKSB7CgkJCQkvLyBvbiBhIGxlZnQgcHVsbCwgY2hlY2sgb24gY3VycmVudCBpbmRleAoJCQkJaWYgKGRpcmVjdGlvbiA9PT0gJ2xlZnQnICYmIGNvb3JkaW5hdGUgPiB2YWx1ZSAtIHB1bGwgJiYgY29vcmRpbmF0ZSA8IHZhbHVlICsgcHVsbCkgewoJCQkJCXBvc2l0aW9uID0gaW5kZXg7CgkJCQkvLyBvbiBhIHJpZ2h0IHB1bGwsIGNoZWNrIG9uIHByZXZpb3VzIGluZGV4CgkJCQkvLyB0byBkbyBzbywgc3VidHJhY3Qgd2lkdGggZnJvbSB2YWx1ZSBhbmQgc2V0IHBvc2l0aW9uID0gaW5kZXggKyAxCgkJCQl9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gJ3JpZ2h0JyAmJiBjb29yZGluYXRlID4gdmFsdWUgLSB3aWR0aCAtIHB1bGwgJiYgY29vcmRpbmF0ZSA8IHZhbHVlIC0gd2lkdGggKyBwdWxsKSB7CgkJCQkJcG9zaXRpb24gPSBpbmRleCArIDE7CgkJCQl9IGVsc2UgaWYgKHRoaXMub3AoY29vcmRpbmF0ZSwgJzwnLCB2YWx1ZSkKCQkJCQkmJiB0aGlzLm9wKGNvb3JkaW5hdGUsICc+JywgY29vcmRpbmF0ZXNbaW5kZXggKyAxXSB8fCB2YWx1ZSAtIHdpZHRoKSkgewoJCQkJCXBvc2l0aW9uID0gZGlyZWN0aW9uID09PSAnbGVmdCcgPyBpbmRleCArIDEgOiBpbmRleDsKCQkJCX0KCQkJCXJldHVybiBwb3NpdGlvbiA9PT0gLTE7CgkJCX0sIHRoaXMpKTsKCQl9CgoJCWlmICghdGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCS8vIG5vbiBsb29wIGJvdW5kcmllcwoJCQlpZiAodGhpcy5vcChjb29yZGluYXRlLCAnPicsIGNvb3JkaW5hdGVzW3RoaXMubWluaW11bSgpXSkpIHsKCQkJCXBvc2l0aW9uID0gY29vcmRpbmF0ZSA9IHRoaXMubWluaW11bSgpOwoJCQl9IGVsc2UgaWYgKHRoaXMub3AoY29vcmRpbmF0ZSwgJzwnLCBjb29yZGluYXRlc1t0aGlzLm1heGltdW0oKV0pKSB7CgkJCQlwb3NpdGlvbiA9IGNvb3JkaW5hdGUgPSB0aGlzLm1heGltdW0oKTsKCQkJfQoJCX0KCgkJcmV0dXJuIHBvc2l0aW9uOwoJfTsKCgkvKioKCSAqIEFuaW1hdGVzIHRoZSBzdGFnZS4KCSAqIEB0b2RvICMyNzAKCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBjb29yZGluYXRlIC0gVGhlIGNvb3JkaW5hdGUgaW4gcGl4ZWxzLgoJICovCglPd2wucHJvdG90eXBlLmFuaW1hdGUgPSBmdW5jdGlvbihjb29yZGluYXRlKSB7CgkJdmFyIGFuaW1hdGUgPSB0aGlzLnNwZWVkKCkgPiAwOwoKCQl0aGlzLmlzKCdhbmltYXRpbmcnKSAmJiB0aGlzLm9uVHJhbnNpdGlvbkVuZCgpOwoKCQlpZiAoYW5pbWF0ZSkgewoJCQl0aGlzLmVudGVyKCdhbmltYXRpbmcnKTsKCQkJdGhpcy50cmlnZ2VyKCd0cmFuc2xhdGUnKTsKCQl9CgoJCWlmICgkLnN1cHBvcnQudHJhbnNmb3JtM2QgJiYgJC5zdXBwb3J0LnRyYW5zaXRpb24pIHsKCQkJdGhpcy4kc3RhZ2UuY3NzKHsKCQkJCXRyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKCcgKyBjb29yZGluYXRlICsgJ3B4LDBweCwwcHgpJywKCQkJCXRyYW5zaXRpb246ICh0aGlzLnNwZWVkKCkgLyAxMDAwKSArICdzJwoJCQl9KTsKCQl9IGVsc2UgaWYgKGFuaW1hdGUpIHsKCQkJdGhpcy4kc3RhZ2UuYW5pbWF0ZSh7CgkJCQlsZWZ0OiBjb29yZGluYXRlICsgJ3B4JwoJCQl9LCB0aGlzLnNwZWVkKCksIHRoaXMuc2V0dGluZ3MuZmFsbGJhY2tFYXNpbmcsICQucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsIHRoaXMpKTsKCQl9IGVsc2UgewoJCQl0aGlzLiRzdGFnZS5jc3MoewoJCQkJbGVmdDogY29vcmRpbmF0ZSArICdweCcKCQkJfSk7CgkJfQoJfTsKCgkvKioKCSAqIENoZWNrcyB3aGV0aGVyIHRoZSBjYXJvdXNlbCBpcyBpbiBhIHNwZWNpZmljIHN0YXRlIG9yIG5vdC4KCSAqIEBwYXJhbSB7U3RyaW5nfSBzdGF0ZSAtIFRoZSBzdGF0ZSB0byBjaGVjay4KCSAqIEByZXR1cm5zIHtCb29sZWFufSAtIFRoZSBmbGFnIHdoaWNoIGluZGljYXRlcyBpZiB0aGUgY2Fyb3VzZWwgaXMgYnVzeS4KCSAqLwoJT3dsLnByb3RvdHlwZS5pcyA9IGZ1bmN0aW9uKHN0YXRlKSB7CgkJcmV0dXJuIHRoaXMuX3N0YXRlcy5jdXJyZW50W3N0YXRlXSAmJiB0aGlzLl9zdGF0ZXMuY3VycmVudFtzdGF0ZV0gPiAwOwoJfTsKCgkvKioKCSAqIFNldHMgdGhlIGFic29sdXRlIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3Bvc2l0aW9uXSAtIFRoZSBuZXcgYWJzb2x1dGUgcG9zaXRpb24gb3Igbm90aGluZyB0byBsZWF2ZSBpdCB1bmNoYW5nZWQuCgkgKiBAcmV0dXJucyB7TnVtYmVyfSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgY3VycmVudCBpdGVtLgoJICovCglPd2wucHJvdG90eXBlLmN1cnJlbnQgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9jdXJyZW50OwoJCX0KCgkJaWYgKHRoaXMuX2l0ZW1zLmxlbmd0aCA9PT0gMCkgewoJCQlyZXR1cm4gdW5kZWZpbmVkOwoJCX0KCgkJcG9zaXRpb24gPSB0aGlzLm5vcm1hbGl6ZShwb3NpdGlvbik7CgoJCWlmICh0aGlzLl9jdXJyZW50ICE9PSBwb3NpdGlvbikgewoJCQl2YXIgZXZlbnQgPSB0aGlzLnRyaWdnZXIoJ2NoYW5nZScsIHsgcHJvcGVydHk6IHsgbmFtZTogJ3Bvc2l0aW9uJywgdmFsdWU6IHBvc2l0aW9uIH0gfSk7CgoJCQlpZiAoZXZlbnQuZGF0YSAhPT0gdW5kZWZpbmVkKSB7CgkJCQlwb3NpdGlvbiA9IHRoaXMubm9ybWFsaXplKGV2ZW50LmRhdGEpOwoJCQl9CgoJCQl0aGlzLl9jdXJyZW50ID0gcG9zaXRpb247CgoJCQl0aGlzLmludmFsaWRhdGUoJ3Bvc2l0aW9uJyk7CgoJCQl0aGlzLnRyaWdnZXIoJ2NoYW5nZWQnLCB7IHByb3BlcnR5OiB7IG5hbWU6ICdwb3NpdGlvbicsIHZhbHVlOiB0aGlzLl9jdXJyZW50IH0gfSk7CgkJfQoKCQlyZXR1cm4gdGhpcy5fY3VycmVudDsKCX07CgoJLyoqCgkgKiBJbnZhbGlkYXRlcyB0aGUgZ2l2ZW4gcGFydCBvZiB0aGUgdXBkYXRlIHJvdXRpbmUuCgkgKiBAcGFyYW0ge1N0cmluZ30gW3BhcnRdIC0gVGhlIHBhcnQgdG8gaW52YWxpZGF0ZS4KCSAqIEByZXR1cm5zIHtBcnJheS48U3RyaW5nPn0gLSBUaGUgaW52YWxpZGF0ZWQgcGFydHMuCgkgKi8KCU93bC5wcm90b3R5cGUuaW52YWxpZGF0ZSA9IGZ1bmN0aW9uKHBhcnQpIHsKCQlpZiAoJC50eXBlKHBhcnQpID09PSAnc3RyaW5nJykgewoJCQl0aGlzLl9pbnZhbGlkYXRlZFtwYXJ0XSA9IHRydWU7CgkJCXRoaXMuaXMoJ3ZhbGlkJykgJiYgdGhpcy5sZWF2ZSgndmFsaWQnKTsKCQl9CgkJcmV0dXJuICQubWFwKHRoaXMuX2ludmFsaWRhdGVkLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiBpIH0pOwoJfTsKCgkvKioKCSAqIFJlc2V0cyB0aGUgYWJzb2x1dGUgcG9zaXRpb24gb2YgdGhlIGN1cnJlbnQgaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgbmV3IGl0ZW0uCgkgKi8KCU93bC5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXBvc2l0aW9uID0gdGhpcy5ub3JtYWxpemUocG9zaXRpb24pOwoKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLl9zcGVlZCA9IDA7CgkJdGhpcy5fY3VycmVudCA9IHBvc2l0aW9uOwoKCQl0aGlzLnN1cHByZXNzKFsgJ3RyYW5zbGF0ZScsICd0cmFuc2xhdGVkJyBdKTsKCgkJdGhpcy5hbmltYXRlKHRoaXMuY29vcmRpbmF0ZXMocG9zaXRpb24pKTsKCgkJdGhpcy5yZWxlYXNlKFsgJ3RyYW5zbGF0ZScsICd0cmFuc2xhdGVkJyBdKTsKCX07CgoJLyoqCgkgKiBOb3JtYWxpemVzIGFuIGFic29sdXRlIG9yIGEgcmVsYXRpdmUgcG9zaXRpb24gb2YgYW4gaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBvciByZWxhdGl2ZSBwb3NpdGlvbiB0byBub3JtYWxpemUuCgkgKiBAcGFyYW0ge0Jvb2xlYW59IFtyZWxhdGl2ZT1mYWxzZV0gLSBXaGV0aGVyIHRoZSBnaXZlbiBwb3NpdGlvbiBpcyByZWxhdGl2ZSBvciBub3QuCgkgKiBAcmV0dXJucyB7TnVtYmVyfSAtIFRoZSBub3JtYWxpemVkIHBvc2l0aW9uLgoJICovCglPd2wucHJvdG90eXBlLm5vcm1hbGl6ZSA9IGZ1bmN0aW9uKHBvc2l0aW9uLCByZWxhdGl2ZSkgewoJCXZhciBuID0gdGhpcy5faXRlbXMubGVuZ3RoLAoJCQltID0gcmVsYXRpdmUgPyAwIDogdGhpcy5fY2xvbmVzLmxlbmd0aDsKCgkJaWYgKCF0aGlzLmlzTnVtZXJpYyhwb3NpdGlvbikgfHwgbiA8IDEpIHsKCQkJcG9zaXRpb24gPSB1bmRlZmluZWQ7CgkJfSBlbHNlIGlmIChwb3NpdGlvbiA8IDAgfHwgcG9zaXRpb24gPj0gbiArIG0pIHsKCQkJcG9zaXRpb24gPSAoKHBvc2l0aW9uIC0gbSAvIDIpICUgbiArIG4pICUgbiArIG0gLyAyOwoJCX0KCgkJcmV0dXJuIHBvc2l0aW9uOwoJfTsKCgkvKioKCSAqIENvbnZlcnRzIGFuIGFic29sdXRlIHBvc2l0aW9uIG9mIGFuIGl0ZW0gaW50byBhIHJlbGF0aXZlIG9uZS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiB0byBjb252ZXJ0LgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgY29udmVydGVkIHBvc2l0aW9uLgoJICovCglPd2wucHJvdG90eXBlLnJlbGF0aXZlID0gZnVuY3Rpb24ocG9zaXRpb24pIHsKCQlwb3NpdGlvbiAtPSB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMjsKCQlyZXR1cm4gdGhpcy5ub3JtYWxpemUocG9zaXRpb24sIHRydWUpOwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIG1heGltdW0gcG9zaXRpb24gZm9yIHRoZSBjdXJyZW50IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge0Jvb2xlYW59IFtyZWxhdGl2ZT1mYWxzZV0gLSBXaGV0aGVyIHRvIHJldHVybiBhbiBhYnNvbHV0ZSBwb3NpdGlvbiBvciBhIHJlbGF0aXZlIHBvc2l0aW9uLgoJICogQHJldHVybnMge051bWJlcn0KCSAqLwoJT3dsLnByb3RvdHlwZS5tYXhpbXVtID0gZnVuY3Rpb24ocmVsYXRpdmUpIHsKCQl2YXIgc2V0dGluZ3MgPSB0aGlzLnNldHRpbmdzLAoJCQltYXhpbXVtID0gdGhpcy5fY29vcmRpbmF0ZXMubGVuZ3RoLAoJCQlpdGVyYXRvciwKCQkJcmVjaXByb2NhbEl0ZW1zV2lkdGgsCgkJCWVsZW1lbnRXaWR0aDsKCgkJaWYgKHNldHRpbmdzLmxvb3ApIHsKCQkJbWF4aW11bSA9IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyICsgdGhpcy5faXRlbXMubGVuZ3RoIC0gMTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLmF1dG9XaWR0aCB8fCBzZXR0aW5ncy5tZXJnZSkgewoJCQlpdGVyYXRvciA9IHRoaXMuX2l0ZW1zLmxlbmd0aDsKCQkJcmVjaXByb2NhbEl0ZW1zV2lkdGggPSB0aGlzLl9pdGVtc1stLWl0ZXJhdG9yXS53aWR0aCgpOwoJCQllbGVtZW50V2lkdGggPSB0aGlzLiRlbGVtZW50LndpZHRoKCk7CgkJCXdoaWxlIChpdGVyYXRvci0tKSB7CgkJCQlyZWNpcHJvY2FsSXRlbXNXaWR0aCArPSB0aGlzLl9pdGVtc1tpdGVyYXRvcl0ud2lkdGgoKSArIHRoaXMuc2V0dGluZ3MubWFyZ2luOwoJCQkJaWYgKHJlY2lwcm9jYWxJdGVtc1dpZHRoID4gZWxlbWVudFdpZHRoKSB7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQkJbWF4aW11bSA9IGl0ZXJhdG9yICsgMTsKCQl9IGVsc2UgaWYgKHNldHRpbmdzLmNlbnRlcikgewoJCQltYXhpbXVtID0gdGhpcy5faXRlbXMubGVuZ3RoIC0gMTsKCQl9IGVsc2UgewoJCQltYXhpbXVtID0gdGhpcy5faXRlbXMubGVuZ3RoIC0gc2V0dGluZ3MuaXRlbXM7CgkJfQoKCQlpZiAocmVsYXRpdmUpIHsKCQkJbWF4aW11bSAtPSB0aGlzLl9jbG9uZXMubGVuZ3RoIC8gMjsKCQl9CgoJCXJldHVybiBNYXRoLm1heChtYXhpbXVtLCAwKTsKCX07CgoJLyoqCgkgKiBHZXRzIHRoZSBtaW5pbXVtIHBvc2l0aW9uIGZvciB0aGUgY3VycmVudCBpdGVtLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtCb29sZWFufSBbcmVsYXRpdmU9ZmFsc2VdIC0gV2hldGhlciB0byByZXR1cm4gYW4gYWJzb2x1dGUgcG9zaXRpb24gb3IgYSByZWxhdGl2ZSBwb3NpdGlvbi4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKi8KCU93bC5wcm90b3R5cGUubWluaW11bSA9IGZ1bmN0aW9uKHJlbGF0aXZlKSB7CgkJcmV0dXJuIHJlbGF0aXZlID8gMCA6IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyOwoJfTsKCgkvKioKCSAqIEdldHMgYW4gaXRlbSBhdCB0aGUgc3BlY2lmaWVkIHJlbGF0aXZlIHBvc2l0aW9uLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtwb3NpdGlvbl0gLSBUaGUgcmVsYXRpdmUgcG9zaXRpb24gb2YgdGhlIGl0ZW0uCgkgKiBAcmV0dXJuIHtqUXVlcnl8QXJyYXkuPGpRdWVyeT59IC0gVGhlIGl0ZW0gYXQgdGhlIGdpdmVuIHBvc2l0aW9uIG9yIGFsbCBpdGVtcyBpZiBubyBwb3NpdGlvbiB3YXMgZ2l2ZW4uCgkgKi8KCU93bC5wcm90b3R5cGUuaXRlbXMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9pdGVtcy5zbGljZSgpOwoJCX0KCgkJcG9zaXRpb24gPSB0aGlzLm5vcm1hbGl6ZShwb3NpdGlvbiwgdHJ1ZSk7CgkJcmV0dXJuIHRoaXMuX2l0ZW1zW3Bvc2l0aW9uXTsKCX07CgoJLyoqCgkgKiBHZXRzIGFuIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCByZWxhdGl2ZSBwb3NpdGlvbi4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbcG9zaXRpb25dIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtLgoJICogQHJldHVybiB7alF1ZXJ5fEFycmF5LjxqUXVlcnk+fSAtIFRoZSBpdGVtIGF0IHRoZSBnaXZlbiBwb3NpdGlvbiBvciBhbGwgaXRlbXMgaWYgbm8gcG9zaXRpb24gd2FzIGdpdmVuLgoJICovCglPd2wucHJvdG90eXBlLm1lcmdlcnMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiB0aGlzLl9tZXJnZXJzLnNsaWNlKCk7CgkJfQoKCQlwb3NpdGlvbiA9IHRoaXMubm9ybWFsaXplKHBvc2l0aW9uLCB0cnVlKTsKCQlyZXR1cm4gdGhpcy5fbWVyZ2Vyc1twb3NpdGlvbl07Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgYWJzb2x1dGUgcG9zaXRpb25zIG9mIGNsb25lcyBmb3IgYW4gaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbcG9zaXRpb25dIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtLgoJICogQHJldHVybnMge0FycmF5LjxOdW1iZXI+fSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbnMgb2YgY2xvbmVzIGZvciB0aGUgaXRlbSBvciBhbGwgaWYgbm8gcG9zaXRpb24gd2FzIGdpdmVuLgoJICovCglPd2wucHJvdG90eXBlLmNsb25lcyA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgkJdmFyIG9kZCA9IHRoaXMuX2Nsb25lcy5sZW5ndGggLyAyLAoJCQlldmVuID0gb2RkICsgdGhpcy5faXRlbXMubGVuZ3RoLAoJCQltYXAgPSBmdW5jdGlvbihpbmRleCkgeyByZXR1cm4gaW5kZXggJSAyID09PSAwID8gZXZlbiArIGluZGV4IC8gMiA6IG9kZCAtIChpbmRleCArIDEpIC8gMiB9OwoKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm4gJC5tYXAodGhpcy5fY2xvbmVzLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiBtYXAoaSkgfSk7CgkJfQoKCQlyZXR1cm4gJC5tYXAodGhpcy5fY2xvbmVzLCBmdW5jdGlvbih2LCBpKSB7IHJldHVybiB2ID09PSBwb3NpdGlvbiA/IG1hcChpKSA6IG51bGwgfSk7Cgl9OwoKCS8qKgoJICogU2V0cyB0aGUgY3VycmVudCBhbmltYXRpb24gc3BlZWQuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSBhbmltYXRpb24gc3BlZWQgaW4gbWlsbGlzZWNvbmRzIG9yIG5vdGhpbmcgdG8gbGVhdmUgaXQgdW5jaGFuZ2VkLgoJICogQHJldHVybnMge051bWJlcn0gLSBUaGUgY3VycmVudCBhbmltYXRpb24gc3BlZWQgaW4gbWlsbGlzZWNvbmRzLgoJICovCglPd2wucHJvdG90eXBlLnNwZWVkID0gZnVuY3Rpb24oc3BlZWQpIHsKCQlpZiAoc3BlZWQgIT09IHVuZGVmaW5lZCkgewoJCQl0aGlzLl9zcGVlZCA9IHNwZWVkOwoJCX0KCgkJcmV0dXJuIHRoaXMuX3NwZWVkOwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIGNvb3JkaW5hdGUgb2YgYW4gaXRlbS4KCSAqIEB0b2RvIFRoZSBuYW1lIG9mIHRoaXMgbWV0aG9kIGlzIG1pc3NsZWFuZGluZy4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgaXRlbSB3aXRoaW4gYG1pbmltdW0oKWAgYW5kIGBtYXhpbXVtKClgLgoJICogQHJldHVybnMge051bWJlcnxBcnJheS48TnVtYmVyPn0gLSBUaGUgY29vcmRpbmF0ZSBvZiB0aGUgaXRlbSBpbiBwaXhlbCBvciBhbGwgY29vcmRpbmF0ZXMuCgkgKi8KCU93bC5wcm90b3R5cGUuY29vcmRpbmF0ZXMgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXZhciBtdWx0aXBsaWVyID0gMSwKCQkJbmV3UG9zaXRpb24gPSBwb3NpdGlvbiAtIDEsCgkJCWNvb3JkaW5hdGU7CgoJCWlmIChwb3NpdGlvbiA9PT0gdW5kZWZpbmVkKSB7CgkJCXJldHVybiAkLm1hcCh0aGlzLl9jb29yZGluYXRlcywgJC5wcm94eShmdW5jdGlvbihjb29yZGluYXRlLCBpbmRleCkgewoJCQkJcmV0dXJuIHRoaXMuY29vcmRpbmF0ZXMoaW5kZXgpOwoJCQl9LCB0aGlzKSk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy5jZW50ZXIpIHsKCQkJaWYgKHRoaXMuc2V0dGluZ3MucnRsKSB7CgkJCQltdWx0aXBsaWVyID0gLTE7CgkJCQluZXdQb3NpdGlvbiA9IHBvc2l0aW9uICsgMTsKCQkJfQoKCQkJY29vcmRpbmF0ZSA9IHRoaXMuX2Nvb3JkaW5hdGVzW3Bvc2l0aW9uXTsKCQkJY29vcmRpbmF0ZSArPSAodGhpcy53aWR0aCgpIC0gY29vcmRpbmF0ZSArICh0aGlzLl9jb29yZGluYXRlc1tuZXdQb3NpdGlvbl0gfHwgMCkpIC8gMiAqIG11bHRpcGxpZXI7CgkJfSBlbHNlIHsKCQkJY29vcmRpbmF0ZSA9IHRoaXMuX2Nvb3JkaW5hdGVzW25ld1Bvc2l0aW9uXSB8fCAwOwoJCX0KCgkJY29vcmRpbmF0ZSA9IE1hdGguY2VpbChjb29yZGluYXRlKTsKCgkJcmV0dXJuIGNvb3JkaW5hdGU7Cgl9OwoKCS8qKgoJICogQ2FsY3VsYXRlcyB0aGUgc3BlZWQgZm9yIGEgdHJhbnNsYXRpb24uCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge051bWJlcn0gZnJvbSAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgaXRlbS4KCSAqIEBwYXJhbSB7TnVtYmVyfSB0byAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgdGFyZ2V0IGl0ZW0uCgkgKiBAcGFyYW0ge051bWJlcn0gW2ZhY3Rvcj11bmRlZmluZWRdIC0gVGhlIHRpbWUgZmFjdG9yIGluIG1pbGxpc2Vjb25kcy4KCSAqIEByZXR1cm5zIHtOdW1iZXJ9IC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNsYXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUuZHVyYXRpb24gPSBmdW5jdGlvbihmcm9tLCB0bywgZmFjdG9yKSB7CgkJaWYgKGZhY3RvciA9PT0gMCkgewoJCQlyZXR1cm4gMDsKCQl9CgoJCXJldHVybiBNYXRoLm1pbihNYXRoLm1heChNYXRoLmFicyh0byAtIGZyb20pLCAxKSwgNikgKiBNYXRoLmFicygoZmFjdG9yIHx8IHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCkpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgc3BlY2lmaWVkIGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgcG9zaXRpb24gb2YgdGhlIGl0ZW0uCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgdGhlIHRyYW5zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUudG8gPSBmdW5jdGlvbihwb3NpdGlvbiwgc3BlZWQpIHsKCQl2YXIgY3VycmVudCA9IHRoaXMuY3VycmVudCgpLAoJCQlyZXZlcnQgPSBudWxsLAoJCQlkaXN0YW5jZSA9IHBvc2l0aW9uIC0gdGhpcy5yZWxhdGl2ZShjdXJyZW50KSwKCQkJZGlyZWN0aW9uID0gKGRpc3RhbmNlID4gMCkgLSAoZGlzdGFuY2UgPCAwKSwKCQkJaXRlbXMgPSB0aGlzLl9pdGVtcy5sZW5ndGgsCgkJCW1pbmltdW0gPSB0aGlzLm1pbmltdW0oKSwKCQkJbWF4aW11bSA9IHRoaXMubWF4aW11bSgpOwoKCQlpZiAodGhpcy5zZXR0aW5ncy5sb29wKSB7CgkJCWlmICghdGhpcy5zZXR0aW5ncy5yZXdpbmQgJiYgTWF0aC5hYnMoZGlzdGFuY2UpID4gaXRlbXMgLyAyKSB7CgkJCQlkaXN0YW5jZSArPSBkaXJlY3Rpb24gKiAtMSAqIGl0ZW1zOwoJCQl9CgoJCQlwb3NpdGlvbiA9IGN1cnJlbnQgKyBkaXN0YW5jZTsKCQkJcmV2ZXJ0ID0gKChwb3NpdGlvbiAtIG1pbmltdW0pICUgaXRlbXMgKyBpdGVtcykgJSBpdGVtcyArIG1pbmltdW07CgoJCQlpZiAocmV2ZXJ0ICE9PSBwb3NpdGlvbiAmJiByZXZlcnQgLSBkaXN0YW5jZSA8PSBtYXhpbXVtICYmIHJldmVydCAtIGRpc3RhbmNlID4gMCkgewoJCQkJY3VycmVudCA9IHJldmVydCAtIGRpc3RhbmNlOwoJCQkJcG9zaXRpb24gPSByZXZlcnQ7CgkJCQl0aGlzLnJlc2V0KGN1cnJlbnQpOwoJCQl9CgkJfSBlbHNlIGlmICh0aGlzLnNldHRpbmdzLnJld2luZCkgewoJCQltYXhpbXVtICs9IDE7CgkJCXBvc2l0aW9uID0gKHBvc2l0aW9uICUgbWF4aW11bSArIG1heGltdW0pICUgbWF4aW11bTsKCQl9IGVsc2UgewoJCQlwb3NpdGlvbiA9IE1hdGgubWF4KG1pbmltdW0sIE1hdGgubWluKG1heGltdW0sIHBvc2l0aW9uKSk7CgkJfQoKCQl0aGlzLnNwZWVkKHRoaXMuZHVyYXRpb24oY3VycmVudCwgcG9zaXRpb24sIHNwZWVkKSk7CgkJdGhpcy5jdXJyZW50KHBvc2l0aW9uKTsKCgkJaWYgKHRoaXMuJGVsZW1lbnQuaXMoJzp2aXNpYmxlJykpIHsKCQkJdGhpcy51cGRhdGUoKTsKCQl9Cgl9OwoKCS8qKgoJICogU2xpZGVzIHRvIHRoZSBuZXh0IGl0ZW0uCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyBmb3IgdGhlIHRyYW5zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUubmV4dCA9IGZ1bmN0aW9uKHNwZWVkKSB7CgkJc3BlZWQgPSBzcGVlZCB8fCBmYWxzZTsKCQl0aGlzLnRvKHRoaXMucmVsYXRpdmUodGhpcy5jdXJyZW50KCkpICsgMSwgc3BlZWQpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgcHJldmlvdXMgaXRlbS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbc3BlZWRdIC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNpdGlvbi4KCSAqLwoJT3dsLnByb3RvdHlwZS5wcmV2ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQlzcGVlZCA9IHNwZWVkIHx8IGZhbHNlOwoJCXRoaXMudG8odGhpcy5yZWxhdGl2ZSh0aGlzLmN1cnJlbnQoKSkgLSAxLCBzcGVlZCk7Cgl9OwoKCS8qKgoJICogSGFuZGxlcyB0aGUgZW5kIG9mIGFuIGFuaW1hdGlvbi4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS5vblRyYW5zaXRpb25FbmQgPSBmdW5jdGlvbihldmVudCkgewoKCQkvLyBpZiBjc3MyIGFuaW1hdGlvbiB0aGVuIGV2ZW50IG9iamVjdCBpcyB1bmRlZmluZWQKCQlpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkgewoJCQlldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKCgkJCS8vIENhdGNoIG9ubHkgb3dsLXN0YWdlIHRyYW5zaXRpb25FbmQgZXZlbnQKCQkJaWYgKChldmVudC50YXJnZXQgfHwgZXZlbnQuc3JjRWxlbWVudCB8fCBldmVudC5vcmlnaW5hbFRhcmdldCkgIT09IHRoaXMuJHN0YWdlLmdldCgwKSkgewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfQoKCQl0aGlzLmxlYXZlKCdhbmltYXRpbmcnKTsKCQl0aGlzLnRyaWdnZXIoJ3RyYW5zbGF0ZWQnKTsKCX07CgoJLyoqCgkgKiBHZXRzIHZpZXdwb3J0IHdpZHRoLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybiB7TnVtYmVyfSAtIFRoZSB3aWR0aCBpbiBwaXhlbC4KCSAqLwoJT3dsLnByb3RvdHlwZS52aWV3cG9ydCA9IGZ1bmN0aW9uKCkgewoJCXZhciB3aWR0aDsKCQlpZiAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCAhPT0gd2luZG93KSB7CgkJCXdpZHRoID0gJCh0aGlzLm9wdGlvbnMucmVzcG9uc2l2ZUJhc2VFbGVtZW50KS53aWR0aCgpOwoJCX0gZWxzZSBpZiAod2luZG93LmlubmVyV2lkdGgpIHsKCQkJd2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDsKCQl9IGVsc2UgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpIHsKCQkJd2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7CgkJfSBlbHNlIHsKCQkJdGhyb3cgJ0NhbiBub3QgZGV0ZWN0IHZpZXdwb3J0IHdpZHRoLic7CgkJfQoJCXJldHVybiB3aWR0aDsKCX07CgoJLyoqCgkgKiBSZXBsYWNlcyB0aGUgY3VycmVudCBjb250ZW50LgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtIVE1MRWxlbWVudHxqUXVlcnl8U3RyaW5nfSBjb250ZW50IC0gVGhlIG5ldyBjb250ZW50LgoJICovCglPd2wucHJvdG90eXBlLnJlcGxhY2UgPSBmdW5jdGlvbihjb250ZW50KSB7CgkJdGhpcy4kc3RhZ2UuZW1wdHkoKTsKCQl0aGlzLl9pdGVtcyA9IFtdOwoKCQlpZiAoY29udGVudCkgewoJCQljb250ZW50ID0gKGNvbnRlbnQgaW5zdGFuY2VvZiBqUXVlcnkpID8gY29udGVudCA6ICQoY29udGVudCk7CgkJfQoKCQlpZiAodGhpcy5zZXR0aW5ncy5uZXN0ZWRJdGVtU2VsZWN0b3IpIHsKCQkJY29udGVudCA9IGNvbnRlbnQuZmluZCgnLicgKyB0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3Rvcik7CgkJfQoKCQljb250ZW50LmZpbHRlcihmdW5jdGlvbigpIHsKCQkJcmV0dXJuIHRoaXMubm9kZVR5cGUgPT09IDE7CgkJfSkuZWFjaCgkLnByb3h5KGZ1bmN0aW9uKGluZGV4LCBpdGVtKSB7CgkJCWl0ZW0gPSB0aGlzLnByZXBhcmUoaXRlbSk7CgkJCXRoaXMuJHN0YWdlLmFwcGVuZChpdGVtKTsKCQkJdGhpcy5faXRlbXMucHVzaChpdGVtKTsKCQkJdGhpcy5fbWVyZ2Vycy5wdXNoKGl0ZW0uZmluZCgnW2RhdGEtbWVyZ2VdJykuYWRkQmFjaygnW2RhdGEtbWVyZ2VdJykuYXR0cignZGF0YS1tZXJnZScpICogMSB8fCAxKTsKCQl9LCB0aGlzKSk7CgoJCXRoaXMucmVzZXQodGhpcy5pc051bWVyaWModGhpcy5zZXR0aW5ncy5zdGFydFBvc2l0aW9uKSA/IHRoaXMuc2V0dGluZ3Muc3RhcnRQb3NpdGlvbiA6IDApOwoKCQl0aGlzLmludmFsaWRhdGUoJ2l0ZW1zJyk7Cgl9OwoKCS8qKgoJICogQWRkcyBhbiBpdGVtLgoJICogQHRvZG8gVXNlIGBpdGVtYCBpbnN0ZWFkIG9mIGBjb250ZW50YCBmb3IgdGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7SFRNTEVsZW1lbnR8alF1ZXJ5fFN0cmluZ30gY29udGVudCAtIFRoZSBpdGVtIGNvbnRlbnQgdG8gYWRkLgoJICogQHBhcmFtIHtOdW1iZXJ9IFtwb3NpdGlvbl0gLSBUaGUgcmVsYXRpdmUgcG9zaXRpb24gYXQgd2hpY2ggdG8gaW5zZXJ0IHRoZSBpdGVtIG90aGVyd2lzZSB0aGUgaXRlbSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBlbmQuCgkgKi8KCU93bC5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24oY29udGVudCwgcG9zaXRpb24pIHsKCQl2YXIgY3VycmVudCA9IHRoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCk7CgoJCXBvc2l0aW9uID0gcG9zaXRpb24gPT09IHVuZGVmaW5lZCA/IHRoaXMuX2l0ZW1zLmxlbmd0aCA6IHRoaXMubm9ybWFsaXplKHBvc2l0aW9uLCB0cnVlKTsKCQljb250ZW50ID0gY29udGVudCBpbnN0YW5jZW9mIGpRdWVyeSA/IGNvbnRlbnQgOiAkKGNvbnRlbnQpOwoKCQl0aGlzLnRyaWdnZXIoJ2FkZCcsIHsgY29udGVudDogY29udGVudCwgcG9zaXRpb246IHBvc2l0aW9uIH0pOwoKCQljb250ZW50ID0gdGhpcy5wcmVwYXJlKGNvbnRlbnQpOwoKCQlpZiAodGhpcy5faXRlbXMubGVuZ3RoID09PSAwIHx8IHBvc2l0aW9uID09PSB0aGlzLl9pdGVtcy5sZW5ndGgpIHsKCQkJdGhpcy5faXRlbXMubGVuZ3RoID09PSAwICYmIHRoaXMuJHN0YWdlLmFwcGVuZChjb250ZW50KTsKCQkJdGhpcy5faXRlbXMubGVuZ3RoICE9PSAwICYmIHRoaXMuX2l0ZW1zW3Bvc2l0aW9uIC0gMV0uYWZ0ZXIoY29udGVudCk7CgkJCXRoaXMuX2l0ZW1zLnB1c2goY29udGVudCk7CgkJCXRoaXMuX21lcmdlcnMucHVzaChjb250ZW50LmZpbmQoJ1tkYXRhLW1lcmdlXScpLmFkZEJhY2soJ1tkYXRhLW1lcmdlXScpLmF0dHIoJ2RhdGEtbWVyZ2UnKSAqIDEgfHwgMSk7CgkJfSBlbHNlIHsKCQkJdGhpcy5faXRlbXNbcG9zaXRpb25dLmJlZm9yZShjb250ZW50KTsKCQkJdGhpcy5faXRlbXMuc3BsaWNlKHBvc2l0aW9uLCAwLCBjb250ZW50KTsKCQkJdGhpcy5fbWVyZ2Vycy5zcGxpY2UocG9zaXRpb24sIDAsIGNvbnRlbnQuZmluZCgnW2RhdGEtbWVyZ2VdJykuYWRkQmFjaygnW2RhdGEtbWVyZ2VdJykuYXR0cignZGF0YS1tZXJnZScpICogMSB8fCAxKTsKCQl9CgoJCXRoaXMuX2l0ZW1zW2N1cnJlbnRdICYmIHRoaXMucmVzZXQodGhpcy5faXRlbXNbY3VycmVudF0uaW5kZXgoKSk7CgoJCXRoaXMuaW52YWxpZGF0ZSgnaXRlbXMnKTsKCgkJdGhpcy50cmlnZ2VyKCdhZGRlZCcsIHsgY29udGVudDogY29udGVudCwgcG9zaXRpb246IHBvc2l0aW9uIH0pOwoJfTsKCgkvKioKCSAqIFJlbW92ZXMgYW4gaXRlbSBieSBpdHMgcG9zaXRpb24uCgkgKiBAdG9kbyBVc2UgYGl0ZW1gIGluc3RlYWQgb2YgYGNvbnRlbnRgIGZvciB0aGUgZXZlbnQgYXJndW1lbnRzLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IHBvc2l0aW9uIC0gVGhlIHJlbGF0aXZlIHBvc2l0aW9uIG9mIHRoZSBpdGVtIHRvIHJlbW92ZS4KCSAqLwoJT3dsLnByb3RvdHlwZS5yZW1vdmUgPSBmdW5jdGlvbihwb3NpdGlvbikgewoJCXBvc2l0aW9uID0gdGhpcy5ub3JtYWxpemUocG9zaXRpb24sIHRydWUpOwoKCQlpZiAocG9zaXRpb24gPT09IHVuZGVmaW5lZCkgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLnRyaWdnZXIoJ3JlbW92ZScsIHsgY29udGVudDogdGhpcy5faXRlbXNbcG9zaXRpb25dLCBwb3NpdGlvbjogcG9zaXRpb24gfSk7CgoJCXRoaXMuX2l0ZW1zW3Bvc2l0aW9uXS5yZW1vdmUoKTsKCQl0aGlzLl9pdGVtcy5zcGxpY2UocG9zaXRpb24sIDEpOwoJCXRoaXMuX21lcmdlcnMuc3BsaWNlKHBvc2l0aW9uLCAxKTsKCgkJdGhpcy5pbnZhbGlkYXRlKCdpdGVtcycpOwoKCQl0aGlzLnRyaWdnZXIoJ3JlbW92ZWQnLCB7IGNvbnRlbnQ6IG51bGwsIHBvc2l0aW9uOiBwb3NpdGlvbiB9KTsKCX07CgoJLyoqCgkgKiBQcmVsb2FkcyBpbWFnZXMgd2l0aCBhdXRvIHdpZHRoLgoJICogQHRvZG8gUmVwbGFjZSBieSBhIG1vcmUgZ2VuZXJpYyBhcHByb2FjaAoJICogQHByb3RlY3RlZAoJICovCglPd2wucHJvdG90eXBlLnByZWxvYWRBdXRvV2lkdGhJbWFnZXMgPSBmdW5jdGlvbihpbWFnZXMpIHsKCQlpbWFnZXMuZWFjaCgkLnByb3h5KGZ1bmN0aW9uKGksIGVsZW1lbnQpIHsKCQkJdGhpcy5lbnRlcigncHJlLWxvYWRpbmcnKTsKCQkJZWxlbWVudCA9ICQoZWxlbWVudCk7CgkJCSQobmV3IEltYWdlKCkpLm9uZSgnbG9hZCcsICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJZWxlbWVudC5hdHRyKCdzcmMnLCBlLnRhcmdldC5zcmMpOwoJCQkJZWxlbWVudC5jc3MoJ29wYWNpdHknLCAxKTsKCQkJCXRoaXMubGVhdmUoJ3ByZS1sb2FkaW5nJyk7CgkJCQkhdGhpcy5pcygncHJlLWxvYWRpbmcnKSAmJiAhdGhpcy5pcygnaW5pdGlhbGl6aW5nJykgJiYgdGhpcy5yZWZyZXNoKCk7CgkJCX0sIHRoaXMpKS5hdHRyKCdzcmMnLCBlbGVtZW50LmF0dHIoJ3NyYycpIHx8IGVsZW1lbnQuYXR0cignZGF0YS1zcmMnKSB8fCBlbGVtZW50LmF0dHIoJ2RhdGEtc3JjLXJldGluYScpKTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIGNhcm91c2VsLgoJICogQHB1YmxpYwoJICovCglPd2wucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCgkJdGhpcy4kZWxlbWVudC5vZmYoJy5vd2wuY29yZScpOwoJCXRoaXMuJHN0YWdlLm9mZignLm93bC5jb3JlJyk7CgkJJChkb2N1bWVudCkub2ZmKCcub3dsLmNvcmUnKTsKCgkJaWYgKHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSAhPT0gZmFsc2UpIHsKCQkJd2luZG93LmNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVyKTsKCQkJdGhpcy5vZmYod2luZG93LCAncmVzaXplJywgdGhpcy5faGFuZGxlcnMub25UaHJvdHRsZWRSZXNpemUpOwoJCX0KCgkJZm9yICh2YXIgaSBpbiB0aGlzLl9wbHVnaW5zKSB7CgkJCXRoaXMuX3BsdWdpbnNbaV0uZGVzdHJveSgpOwoJCX0KCgkJdGhpcy4kc3RhZ2UuY2hpbGRyZW4oJy5jbG9uZWQnKS5yZW1vdmUoKTsKCgkJdGhpcy4kc3RhZ2UudW53cmFwKCk7CgkJdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jb250ZW50cygpLnVud3JhcCgpOwoJCXRoaXMuJHN0YWdlLmNoaWxkcmVuKCkudW53cmFwKCk7CgoJCXRoaXMuJGVsZW1lbnQKCQkJLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5yZWZyZXNoQ2xhc3MpCgkJCS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmxvYWRlZENsYXNzKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLnJ0bENsYXNzKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcykKCQkJLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MpCgkJCS5hdHRyKCdjbGFzcycsIHRoaXMuJGVsZW1lbnQuYXR0cignY2xhc3MnKS5yZXBsYWNlKG5ldyBSZWdFeHAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVDbGFzcyArICctXFxTK1xccycsICdnJyksICcnKSkKCQkJLnJlbW92ZURhdGEoJ293bC5jYXJvdXNlbCcpOwoJfTsKCgkvKioKCSAqIE9wZXJhdG9ycyB0byBjYWxjdWxhdGUgcmlnaHQtdG8tbGVmdCBhbmQgbGVmdC10by1yaWdodC4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7TnVtYmVyfSBbYV0gLSBUaGUgbGVmdCBzaWRlIG9wZXJhbmQuCgkgKiBAcGFyYW0ge1N0cmluZ30gW29dIC0gVGhlIG9wZXJhdG9yLgoJICogQHBhcmFtIHtOdW1iZXJ9IFtiXSAtIFRoZSByaWdodCBzaWRlIG9wZXJhbmQuCgkgKi8KCU93bC5wcm90b3R5cGUub3AgPSBmdW5jdGlvbihhLCBvLCBiKSB7CgkJdmFyIHJ0bCA9IHRoaXMuc2V0dGluZ3MucnRsOwoJCXN3aXRjaCAobykgewoJCQljYXNlICc8JzoKCQkJCXJldHVybiBydGwgPyBhID4gYiA6IGEgPCBiOwoJCQljYXNlICc+JzoKCQkJCXJldHVybiBydGwgPyBhIDwgYiA6IGEgPiBiOwoJCQljYXNlICc+PSc6CgkJCQlyZXR1cm4gcnRsID8gYSA8PSBiIDogYSA+PSBiOwoJCQljYXNlICc8PSc6CgkJCQlyZXR1cm4gcnRsID8gYSA+PSBiIDogYSA8PSBiOwoJCQlkZWZhdWx0OgoJCQkJYnJlYWs7CgkJfQoJfTsKCgkvKioKCSAqIEF0dGFjaGVzIHRvIGFuIGludGVybmFsIGV2ZW50LgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFRoZSBldmVudCBzb3VyY2UuCgkgKiBAcGFyYW0ge1N0cmluZ30gZXZlbnQgLSBUaGUgZXZlbnQgbmFtZS4KCSAqIEBwYXJhbSB7RnVuY3Rpb259IGxpc3RlbmVyIC0gVGhlIGV2ZW50IGhhbmRsZXIgdG8gYXR0YWNoLgoJICogQHBhcmFtIHtCb29sZWFufSBjYXB0dXJlIC0gV2V0aGVyIHRoZSBldmVudCBzaG91bGQgYmUgaGFuZGxlZCBhdCB0aGUgY2FwdHVyaW5nIHBoYXNlIG9yIG5vdC4KCSAqLwoJT3dsLnByb3RvdHlwZS5vbiA9IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSkgewoJCWlmIChlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIpIHsKCQkJZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSk7CgkJfSBlbHNlIGlmIChlbGVtZW50LmF0dGFjaEV2ZW50KSB7CgkJCWVsZW1lbnQuYXR0YWNoRXZlbnQoJ29uJyArIGV2ZW50LCBsaXN0ZW5lcik7CgkJfQoJfTsKCgkvKioKCSAqIERldGFjaGVzIGZyb20gYW4gaW50ZXJuYWwgZXZlbnQuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gVGhlIGV2ZW50IHNvdXJjZS4KCSAqIEBwYXJhbSB7U3RyaW5nfSBldmVudCAtIFRoZSBldmVudCBuYW1lLgoJICogQHBhcmFtIHtGdW5jdGlvbn0gbGlzdGVuZXIgLSBUaGUgYXR0YWNoZWQgZXZlbnQgaGFuZGxlciB0byBkZXRhY2guCgkgKiBAcGFyYW0ge0Jvb2xlYW59IGNhcHR1cmUgLSBXZXRoZXIgdGhlIGF0dGFjaGVkIGV2ZW50IGhhbmRsZXIgd2FzIHJlZ2lzdGVyZWQgYXMgYSBjYXB0dXJpbmcgbGlzdGVuZXIgb3Igbm90LgoJICovCglPd2wucHJvdG90eXBlLm9mZiA9IGZ1bmN0aW9uKGVsZW1lbnQsIGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSkgewoJCWlmIChlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHsKCQkJZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBsaXN0ZW5lciwgY2FwdHVyZSk7CgkJfSBlbHNlIGlmIChlbGVtZW50LmRldGFjaEV2ZW50KSB7CgkJCWVsZW1lbnQuZGV0YWNoRXZlbnQoJ29uJyArIGV2ZW50LCBsaXN0ZW5lcik7CgkJfQoJfTsKCgkvKioKCSAqIFRyaWdnZXJzIGEgcHVibGljIGV2ZW50LgoJICogQHRvZG8gUmVtb3ZlIGBzdGF0dXNgLCBgcmVsYXRlZFRhcmdldGAgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZC4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIC0gVGhlIGV2ZW50IG5hbWUuCgkgKiBAcGFyYW0geyp9IFtkYXRhPW51bGxdIC0gVGhlIGV2ZW50IGRhdGEuCgkgKiBAcGFyYW0ge1N0cmluZ30gW25hbWVzcGFjZT1jYXJvdXNlbF0gLSBUaGUgZXZlbnQgbmFtZXNwYWNlLgoJICogQHBhcmFtIHtTdHJpbmd9IFtzdGF0ZV0gLSBUaGUgc3RhdGUgd2hpY2ggaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBldmVudC4KCSAqIEBwYXJhbSB7Qm9vbGVhbn0gW2VudGVyPWZhbHNlXSAtIEluZGljYXRlcyBpZiB0aGUgY2FsbCBlbnRlcnMgdGhlIHNwZWNpZmllZCBzdGF0ZSBvciBub3QuCgkgKiBAcmV0dXJucyB7RXZlbnR9IC0gVGhlIGV2ZW50IGFyZ3VtZW50cy4KCSAqLwoJT3dsLnByb3RvdHlwZS50cmlnZ2VyID0gZnVuY3Rpb24obmFtZSwgZGF0YSwgbmFtZXNwYWNlLCBzdGF0ZSwgZW50ZXIpIHsKCQl2YXIgc3RhdHVzID0gewoJCQlpdGVtOiB7IGNvdW50OiB0aGlzLl9pdGVtcy5sZW5ndGgsIGluZGV4OiB0aGlzLmN1cnJlbnQoKSB9CgkJfSwgaGFuZGxlciA9ICQuY2FtZWxDYXNlKAoJCQkkLmdyZXAoWyAnb24nLCBuYW1lLCBuYW1lc3BhY2UgXSwgZnVuY3Rpb24odikgeyByZXR1cm4gdiB9KQoJCQkJLmpvaW4oJy0nKS50b0xvd2VyQ2FzZSgpCgkJKSwgZXZlbnQgPSAkLkV2ZW50KAoJCQlbIG5hbWUsICdvd2wnLCBuYW1lc3BhY2UgfHwgJ2Nhcm91c2VsJyBdLmpvaW4oJy4nKS50b0xvd2VyQ2FzZSgpLAoJCQkkLmV4dGVuZCh7IHJlbGF0ZWRUYXJnZXQ6IHRoaXMgfSwgc3RhdHVzLCBkYXRhKQoJCSk7CgoJCWlmICghdGhpcy5fc3VwcmVzc1tuYW1lXSkgewoJCQkkLmVhY2godGhpcy5fcGx1Z2lucywgZnVuY3Rpb24obmFtZSwgcGx1Z2luKSB7CgkJCQlpZiAocGx1Z2luLm9uVHJpZ2dlcikgewoJCQkJCXBsdWdpbi5vblRyaWdnZXIoZXZlbnQpOwoJCQkJfQoJCQl9KTsKCgkJCXRoaXMucmVnaXN0ZXIoeyB0eXBlOiBPd2wuVHlwZS5FdmVudCwgbmFtZTogbmFtZSB9KTsKCQkJdGhpcy4kZWxlbWVudC50cmlnZ2VyKGV2ZW50KTsKCgkJCWlmICh0aGlzLnNldHRpbmdzICYmIHR5cGVvZiB0aGlzLnNldHRpbmdzW2hhbmRsZXJdID09PSAnZnVuY3Rpb24nKSB7CgkJCQl0aGlzLnNldHRpbmdzW2hhbmRsZXJdLmNhbGwodGhpcywgZXZlbnQpOwoJCQl9CgkJfQoKCQlyZXR1cm4gZXZlbnQ7Cgl9OwoKCS8qKgoJICogRW50ZXJzIGEgc3RhdGUuCgkgKiBAcGFyYW0gbmFtZSAtIFRoZSBzdGF0ZSBuYW1lLgoJICovCglPd2wucHJvdG90eXBlLmVudGVyID0gZnVuY3Rpb24obmFtZSkgewoJCSQuZWFjaChbIG5hbWUgXS5jb25jYXQodGhpcy5fc3RhdGVzLnRhZ3NbbmFtZV0gfHwgW10pLCAkLnByb3h5KGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJaWYgKHRoaXMuX3N0YXRlcy5jdXJyZW50W25hbWVdID09PSB1bmRlZmluZWQpIHsKCQkJCXRoaXMuX3N0YXRlcy5jdXJyZW50W25hbWVdID0gMDsKCQkJfQoKCQkJdGhpcy5fc3RhdGVzLmN1cnJlbnRbbmFtZV0rKzsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogTGVhdmVzIGEgc3RhdGUuCgkgKiBAcGFyYW0gbmFtZSAtIFRoZSBzdGF0ZSBuYW1lLgoJICovCglPd2wucHJvdG90eXBlLmxlYXZlID0gZnVuY3Rpb24obmFtZSkgewoJCSQuZWFjaChbIG5hbWUgXS5jb25jYXQodGhpcy5fc3RhdGVzLnRhZ3NbbmFtZV0gfHwgW10pLCAkLnByb3h5KGZ1bmN0aW9uKGksIG5hbWUpIHsKCQkJdGhpcy5fc3RhdGVzLmN1cnJlbnRbbmFtZV0tLTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogUmVnaXN0ZXJzIGFuIGV2ZW50IG9yIHN0YXRlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCAtIFRoZSBldmVudCBvciBzdGF0ZSB0byByZWdpc3Rlci4KCSAqLwoJT3dsLnByb3RvdHlwZS5yZWdpc3RlciA9IGZ1bmN0aW9uKG9iamVjdCkgewoJCWlmIChvYmplY3QudHlwZSA9PT0gT3dsLlR5cGUuRXZlbnQpIHsKCQkJaWYgKCEkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdKSB7CgkJCQkkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdID0ge307CgkJCX0KCgkJCWlmICghJC5ldmVudC5zcGVjaWFsW29iamVjdC5uYW1lXS5vd2wpIHsKCQkJCXZhciBfZGVmYXVsdCA9ICQuZXZlbnQuc3BlY2lhbFtvYmplY3QubmFtZV0uX2RlZmF1bHQ7CgkJCQkkLmV2ZW50LnNwZWNpYWxbb2JqZWN0Lm5hbWVdLl9kZWZhdWx0ID0gZnVuY3Rpb24oZSkgewoJCQkJCWlmIChfZGVmYXVsdCAmJiBfZGVmYXVsdC5hcHBseSAmJiAoIWUubmFtZXNwYWNlIHx8IGUubmFtZXNwYWNlLmluZGV4T2YoJ293bCcpID09PSAtMSkpIHsKCQkJCQkJcmV0dXJuIF9kZWZhdWx0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CgkJCQkJfQoJCQkJCXJldHVybiBlLm5hbWVzcGFjZSAmJiBlLm5hbWVzcGFjZS5pbmRleE9mKCdvd2wnKSA+IC0xOwoJCQkJfTsKCQkJCSQuZXZlbnQuc3BlY2lhbFtvYmplY3QubmFtZV0ub3dsID0gdHJ1ZTsKCQkJfQoJCX0gZWxzZSBpZiAob2JqZWN0LnR5cGUgPT09IE93bC5UeXBlLlN0YXRlKSB7CgkJCWlmICghdGhpcy5fc3RhdGVzLnRhZ3Nbb2JqZWN0Lm5hbWVdKSB7CgkJCQl0aGlzLl9zdGF0ZXMudGFnc1tvYmplY3QubmFtZV0gPSBvYmplY3QudGFnczsKCQkJfSBlbHNlIHsKCQkJCXRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXSA9IHRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXS5jb25jYXQob2JqZWN0LnRhZ3MpOwoJCQl9CgoJCQl0aGlzLl9zdGF0ZXMudGFnc1tvYmplY3QubmFtZV0gPSAkLmdyZXAodGhpcy5fc3RhdGVzLnRhZ3Nbb2JqZWN0Lm5hbWVdLCAkLnByb3h5KGZ1bmN0aW9uKHRhZywgaSkgewoJCQkJcmV0dXJuICQuaW5BcnJheSh0YWcsIHRoaXMuX3N0YXRlcy50YWdzW29iamVjdC5uYW1lXSkgPT09IGk7CgkJCX0sIHRoaXMpKTsKCQl9Cgl9OwoKCS8qKgoJICogU3VwcHJlc3NlcyBldmVudHMuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcGFyYW0ge0FycmF5LjxTdHJpbmc+fSBldmVudHMgLSBUaGUgZXZlbnRzIHRvIHN1cHByZXNzLgoJICovCglPd2wucHJvdG90eXBlLnN1cHByZXNzID0gZnVuY3Rpb24oZXZlbnRzKSB7CgkJJC5lYWNoKGV2ZW50cywgJC5wcm94eShmdW5jdGlvbihpbmRleCwgZXZlbnQpIHsKCQkJdGhpcy5fc3VwcmVzc1tldmVudF0gPSB0cnVlOwoJCX0sIHRoaXMpKTsKCX07CgoJLyoqCgkgKiBSZWxlYXNlcyBzdXBwcmVzc2VkIGV2ZW50cy4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7QXJyYXkuPFN0cmluZz59IGV2ZW50cyAtIFRoZSBldmVudHMgdG8gcmVsZWFzZS4KCSAqLwoJT3dsLnByb3RvdHlwZS5yZWxlYXNlID0gZnVuY3Rpb24oZXZlbnRzKSB7CgkJJC5lYWNoKGV2ZW50cywgJC5wcm94eShmdW5jdGlvbihpbmRleCwgZXZlbnQpIHsKCQkJZGVsZXRlIHRoaXMuX3N1cHJlc3NbZXZlbnRdOwoJCX0sIHRoaXMpKTsKCX07CgoJLyoqCgkgKiBHZXRzIHVuaWZpZWQgcG9pbnRlciBjb29yZGluYXRlcyBmcm9tIGV2ZW50LgoJICogQHRvZG8gIzI2MQoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtFdmVudH0gLSBUaGUgYG1vdXNlZG93bmAgb3IgYHRvdWNoc3RhcnRgIGV2ZW50LgoJICogQHJldHVybnMge09iamVjdH0gLSBDb250YWlucyBgeGAgYW5kIGB5YCBjb29yZGluYXRlcyBvZiBjdXJyZW50IHBvaW50ZXIgcG9zaXRpb24uCgkgKi8KCU93bC5wcm90b3R5cGUucG9pbnRlciA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIHJlc3VsdCA9IHsgeDogbnVsbCwgeTogbnVsbCB9OwoKCQlldmVudCA9IGV2ZW50Lm9yaWdpbmFsRXZlbnQgfHwgZXZlbnQgfHwgd2luZG93LmV2ZW50OwoKCQlldmVudCA9IGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPwoJCQlldmVudC50b3VjaGVzWzBdIDogZXZlbnQuY2hhbmdlZFRvdWNoZXMgJiYgZXZlbnQuY2hhbmdlZFRvdWNoZXMubGVuZ3RoID8KCQkJCWV2ZW50LmNoYW5nZWRUb3VjaGVzWzBdIDogZXZlbnQ7CgoJCWlmIChldmVudC5wYWdlWCkgewoJCQlyZXN1bHQueCA9IGV2ZW50LnBhZ2VYOwoJCQlyZXN1bHQueSA9IGV2ZW50LnBhZ2VZOwoJCX0gZWxzZSB7CgkJCXJlc3VsdC54ID0gZXZlbnQuY2xpZW50WDsKCQkJcmVzdWx0LnkgPSBldmVudC5jbGllbnRZOwoJCX0KCgkJcmV0dXJuIHJlc3VsdDsKCX07CgoJLyoqCgkgKiBEZXRlcm1pbmVzIGlmIHRoZSBpbnB1dCBpcyBhIE51bWJlciBvciBzb21ldGhpbmcgdGhhdCBjYW4gYmUgY29lcmNlZCB0byBhIE51bWJlcgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtOdW1iZXJ8U3RyaW5nfE9iamVjdHxBcnJheXxCb29sZWFufFJlZ0V4cHxGdW5jdGlvbnxTeW1ib2x9IC0gVGhlIGlucHV0IHRvIGJlIHRlc3RlZAoJICogQHJldHVybnMge0Jvb2xlYW59IC0gQW4gaW5kaWNhdGlvbiBpZiB0aGUgaW5wdXQgaXMgYSBOdW1iZXIgb3IgY2FuIGJlIGNvZXJjZWQgdG8gYSBOdW1iZXIKCSAqLwoJT3dsLnByb3RvdHlwZS5pc051bWVyaWMgPSBmdW5jdGlvbihudW1iZXIpIHsKCQlyZXR1cm4gIWlzTmFOKHBhcnNlRmxvYXQobnVtYmVyKSk7Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgZGlmZmVyZW5jZSBvZiB0d28gdmVjdG9ycy4KCSAqIEB0b2RvICMyNjEKCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7T2JqZWN0fSAtIFRoZSBmaXJzdCB2ZWN0b3IuCgkgKiBAcGFyYW0ge09iamVjdH0gLSBUaGUgc2Vjb25kIHZlY3Rvci4KCSAqIEByZXR1cm5zIHtPYmplY3R9IC0gVGhlIGRpZmZlcmVuY2UuCgkgKi8KCU93bC5wcm90b3R5cGUuZGlmZmVyZW5jZSA9IGZ1bmN0aW9uKGZpcnN0LCBzZWNvbmQpIHsKCQlyZXR1cm4gewoJCQl4OiBmaXJzdC54IC0gc2Vjb25kLngsCgkJCXk6IGZpcnN0LnkgLSBzZWNvbmQueQoJCX07Cgl9OwoKCS8qKgoJICogVGhlIGpRdWVyeSBQbHVnaW4gZm9yIHRoZSBPd2wgQ2Fyb3VzZWwKCSAqIEB0b2RvIE5hdmlnYXRpb24gcGx1Z2luIGBuZXh0YCBhbmQgYHByZXZgCgkgKiBAcHVibGljCgkgKi8KCSQuZm4ub3dsQ2Fyb3VzZWwgPSBmdW5jdGlvbihvcHRpb24pIHsKCQl2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7CgoJCXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKSB7CgkJCXZhciAkdGhpcyA9ICQodGhpcyksCgkJCQlkYXRhID0gJHRoaXMuZGF0YSgnb3dsLmNhcm91c2VsJyk7CgoJCQlpZiAoIWRhdGEpIHsKCQkJCWRhdGEgPSBuZXcgT3dsKHRoaXMsIHR5cGVvZiBvcHRpb24gPT0gJ29iamVjdCcgJiYgb3B0aW9uKTsKCQkJCSR0aGlzLmRhdGEoJ293bC5jYXJvdXNlbCcsIGRhdGEpOwoKCQkJCSQuZWFjaChbCgkJCQkJJ25leHQnLCAncHJldicsICd0bycsICdkZXN0cm95JywgJ3JlZnJlc2gnLCAncmVwbGFjZScsICdhZGQnLCAncmVtb3ZlJwoJCQkJXSwgZnVuY3Rpb24oaSwgZXZlbnQpIHsKCQkJCQlkYXRhLnJlZ2lzdGVyKHsgdHlwZTogT3dsLlR5cGUuRXZlbnQsIG5hbWU6IGV2ZW50IH0pOwoJCQkJCWRhdGEuJGVsZW1lbnQub24oZXZlbnQgKyAnLm93bC5jYXJvdXNlbC5jb3JlJywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnJlbGF0ZWRUYXJnZXQgIT09IHRoaXMpIHsKCQkJCQkJCXRoaXMuc3VwcHJlc3MoWyBldmVudCBdKTsKCQkJCQkJCWRhdGFbZXZlbnRdLmFwcGx5KHRoaXMsIFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKSk7CgkJCQkJCQl0aGlzLnJlbGVhc2UoWyBldmVudCBdKTsKCQkJCQkJfQoJCQkJCX0sIGRhdGEpKTsKCQkJCX0pOwoJCQl9CgoJCQlpZiAodHlwZW9mIG9wdGlvbiA9PSAnc3RyaW5nJyAmJiBvcHRpb24uY2hhckF0KDApICE9PSAnXycpIHsKCQkJCWRhdGFbb3B0aW9uXS5hcHBseShkYXRhLCBhcmdzKTsKCQkJfQoJCX0pOwoJfTsKCgkvKioKCSAqIFRoZSBjb25zdHJ1Y3RvciBmb3IgdGhlIGpRdWVyeSBQbHVnaW4KCSAqIEBwdWJsaWMKCSAqLwoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3RvciA9IE93bDsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBBdXRvUmVmcmVzaCBQbHVnaW4KICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBBcnR1cyBLb2xhbm93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhdXRvIHJlZnJlc2ggcGx1Z2luLgoJICogQGNsYXNzIFRoZSBBdXRvIFJlZnJlc2ggUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gY2Fyb3VzZWwgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBBdXRvUmVmcmVzaCA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogUmVmcmVzaCBpbnRlcnZhbC4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge251bWJlcn0KCQkgKi8KCQl0aGlzLl9pbnRlcnZhbCA9IG51bGw7CgoJCS8qKgoJCSAqIFdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgY3VycmVudGx5IHZpc2libGUgb3Igbm90LgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7Qm9vbGVhbn0KCQkgKi8KCQl0aGlzLl92aXNpYmxlID0gbnVsbDsKCgkJLyoqCgkJICogQWxsIGV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaCkgewoJCQkJCXRoaXMud2F0Y2goKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyBzZXQgZGVmYXVsdCBvcHRpb25zCgkJdGhpcy5fY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIEF1dG9SZWZyZXNoLkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVycwoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJQXV0b1JlZnJlc2guRGVmYXVsdHMgPSB7CgkJYXV0b1JlZnJlc2g6IHRydWUsCgkJYXV0b1JlZnJlc2hJbnRlcnZhbDogNTAwCgl9OwoKCS8qKgoJICogV2F0Y2hlcyB0aGUgZWxlbWVudC4KCSAqLwoJQXV0b1JlZnJlc2gucHJvdG90eXBlLndhdGNoID0gZnVuY3Rpb24oKSB7CgkJaWYgKHRoaXMuX2ludGVydmFsKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuX3Zpc2libGUgPSB0aGlzLl9jb3JlLiRlbGVtZW50LmlzKCc6dmlzaWJsZScpOwoJCXRoaXMuX2ludGVydmFsID0gd2luZG93LnNldEludGVydmFsKCQucHJveHkodGhpcy5yZWZyZXNoLCB0aGlzKSwgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaEludGVydmFsKTsKCX07CgoJLyoqCgkgKiBSZWZyZXNoZXMgdGhlIGVsZW1lbnQuCgkgKi8KCUF1dG9SZWZyZXNoLnByb3RvdHlwZS5yZWZyZXNoID0gZnVuY3Rpb24oKSB7CgkJaWYgKHRoaXMuX2NvcmUuJGVsZW1lbnQuaXMoJzp2aXNpYmxlJykgPT09IHRoaXMuX3Zpc2libGUpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5fdmlzaWJsZSA9ICF0aGlzLl92aXNpYmxlOwoKCQl0aGlzLl9jb3JlLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCdvd2wtaGlkZGVuJywgIXRoaXMuX3Zpc2libGUpOwoKCQl0aGlzLl92aXNpYmxlICYmICh0aGlzLl9jb3JlLmludmFsaWRhdGUoJ3dpZHRoJykgJiYgdGhpcy5fY29yZS5yZWZyZXNoKCkpOwoJfTsKCgkvKioKCSAqIERlc3Ryb3lzIHRoZSBwbHVnaW4uCgkgKi8KCUF1dG9SZWZyZXNoLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQl3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuQXV0b1JlZnJlc2ggPSBBdXRvUmVmcmVzaDsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBMYXp5IFBsdWdpbgogKiBAdmVyc2lvbiAyLjEuMAogKiBAYXV0aG9yIEJhcnRvc3ogV29qY2llY2hvd3NraQogKiBAYXV0aG9yIERhdmlkIERldXRzY2gKICogQGxpY2Vuc2UgVGhlIE1JVCBMaWNlbnNlIChNSVQpCiAqLwo7KGZ1bmN0aW9uKCQsIHdpbmRvdywgZG9jdW1lbnQsIHVuZGVmaW5lZCkgewoKCS8qKgoJICogQ3JlYXRlcyB0aGUgbGF6eSBwbHVnaW4uCgkgKiBAY2xhc3MgVGhlIExhenkgUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gY2Fyb3VzZWwgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBMYXp5ID0gZnVuY3Rpb24oY2Fyb3VzZWwpIHsKCgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogQWxyZWFkeSBsb2FkZWQgaXRlbXMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtBcnJheS48alF1ZXJ5Pn0KCQkgKi8KCQl0aGlzLl9sb2FkZWQgPSBbXTsKCgkJLyoqCgkJICogRXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwgY2hhbmdlLm93bC5jYXJvdXNlbCByZXNpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKCFlLm5hbWVzcGFjZSkgewoJCQkJCXJldHVybjsKCQkJCX0KCgkJCQlpZiAoIXRoaXMuX2NvcmUuc2V0dGluZ3MgfHwgIXRoaXMuX2NvcmUuc2V0dGluZ3MubGF6eUxvYWQpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJaWYgKChlLnByb3BlcnR5ICYmIGUucHJvcGVydHkubmFtZSA9PSAncG9zaXRpb24nKSB8fCBlLnR5cGUgPT0gJ2luaXRpYWxpemVkJykgewoJCQkJCXZhciBzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCQkJCW4gPSAoc2V0dGluZ3MuY2VudGVyICYmIE1hdGguY2VpbChzZXR0aW5ncy5pdGVtcyAvIDIpIHx8IHNldHRpbmdzLml0ZW1zKSwKCQkJCQkJaSA9ICgoc2V0dGluZ3MuY2VudGVyICYmIG4gKiAtMSkgfHwgMCksCgkJCQkJCXBvc2l0aW9uID0gKGUucHJvcGVydHkgJiYgZS5wcm9wZXJ0eS52YWx1ZSAhPT0gdW5kZWZpbmVkID8gZS5wcm9wZXJ0eS52YWx1ZSA6IHRoaXMuX2NvcmUuY3VycmVudCgpKSArIGksCgkJCQkJCWNsb25lcyA9IHRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoLAoJCQkJCQlsb2FkID0gJC5wcm94eShmdW5jdGlvbihpLCB2KSB7IHRoaXMubG9hZCh2KSB9LCB0aGlzKTsKCgkJCQkJd2hpbGUgKGkrKyA8IG4pIHsKCQkJCQkJdGhpcy5sb2FkKGNsb25lcyAvIDIgKyB0aGlzLl9jb3JlLnJlbGF0aXZlKHBvc2l0aW9uKSk7CgkJCQkJCWNsb25lcyAmJiAkLmVhY2godGhpcy5fY29yZS5jbG9uZXModGhpcy5fY29yZS5yZWxhdGl2ZShwb3NpdGlvbikpLCBsb2FkKTsKCQkJCQkJcG9zaXRpb24rKzsKCQkJCQl9CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gc2V0IHRoZSBkZWZhdWx0IG9wdGlvbnMKCQl0aGlzLl9jb3JlLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgTGF6eS5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCgkJLy8gcmVnaXN0ZXIgZXZlbnQgaGFuZGxlcgoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJTGF6eS5EZWZhdWx0cyA9IHsKCQlsYXp5TG9hZDogZmFsc2UKCX07CgoJLyoqCgkgKiBMb2FkcyBhbGwgcmVzb3VyY2VzIG9mIGFuIGl0ZW0gYXQgdGhlIHNwZWNpZmllZCBwb3NpdGlvbi4KCSAqIEBwYXJhbSB7TnVtYmVyfSBwb3NpdGlvbiAtIFRoZSBhYnNvbHV0ZSBwb3NpdGlvbiBvZiB0aGUgaXRlbS4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTGF6eS5wcm90b3R5cGUubG9hZCA9IGZ1bmN0aW9uKHBvc2l0aW9uKSB7CgkJdmFyICRpdGVtID0gdGhpcy5fY29yZS4kc3RhZ2UuY2hpbGRyZW4oKS5lcShwb3NpdGlvbiksCgkJCSRlbGVtZW50cyA9ICRpdGVtICYmICRpdGVtLmZpbmQoJy5vd2wtbGF6eScpOwoKCQlpZiAoISRlbGVtZW50cyB8fCAkLmluQXJyYXkoJGl0ZW0uZ2V0KDApLCB0aGlzLl9sb2FkZWQpID4gLTEpIHsKCQkJcmV0dXJuOwoJCX0KCgkJJGVsZW1lbnRzLmVhY2goJC5wcm94eShmdW5jdGlvbihpbmRleCwgZWxlbWVudCkgewoJCQl2YXIgJGVsZW1lbnQgPSAkKGVsZW1lbnQpLCBpbWFnZSwKCQkJCXVybCA9ICh3aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyA+IDEgJiYgJGVsZW1lbnQuYXR0cignZGF0YS1zcmMtcmV0aW5hJykpIHx8ICRlbGVtZW50LmF0dHIoJ2RhdGEtc3JjJyk7CgoJCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ2xvYWQnLCB7IGVsZW1lbnQ6ICRlbGVtZW50LCB1cmw6IHVybCB9LCAnbGF6eScpOwoKCQkJaWYgKCRlbGVtZW50LmlzKCdpbWcnKSkgewoJCQkJJGVsZW1lbnQub25lKCdsb2FkLm93bC5sYXp5JywgJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCQkkZWxlbWVudC5jc3MoJ29wYWNpdHknLCAxKTsKCQkJCQl0aGlzLl9jb3JlLnRyaWdnZXIoJ2xvYWRlZCcsIHsgZWxlbWVudDogJGVsZW1lbnQsIHVybDogdXJsIH0sICdsYXp5Jyk7CgkJCQl9LCB0aGlzKSkuYXR0cignc3JjJywgdXJsKTsKCQkJfSBlbHNlIHsKCQkJCWltYWdlID0gbmV3IEltYWdlKCk7CgkJCQlpbWFnZS5vbmxvYWQgPSAkLnByb3h5KGZ1bmN0aW9uKCkgewoJCQkJCSRlbGVtZW50LmNzcyh7CgkJCQkJCSdiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgdXJsICsgJyknLAoJCQkJCQknb3BhY2l0eSc6ICcxJwoJCQkJCX0pOwoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcignbG9hZGVkJywgeyBlbGVtZW50OiAkZWxlbWVudCwgdXJsOiB1cmwgfSwgJ2xhenknKTsKCQkJCX0sIHRoaXMpOwoJCQkJaW1hZ2Uuc3JjID0gdXJsOwoJCQl9CgkJfSwgdGhpcykpOwoKCQl0aGlzLl9sb2FkZWQucHVzaCgkaXRlbS5nZXQoMCkpOwoJfTsKCgkvKioKCSAqIERlc3Ryb3lzIHRoZSBwbHVnaW4uCgkgKiBAcHVibGljCgkgKi8KCUxhenkucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFuZGxlciwgcHJvcGVydHk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLmhhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuaGFuZGxlcnNbaGFuZGxlcl0pOwoJCX0KCQlmb3IgKHByb3BlcnR5IGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSB7CgkJCXR5cGVvZiB0aGlzW3Byb3BlcnR5XSAhPSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkxhenkgPSBMYXp5OwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEF1dG9IZWlnaHQgUGx1Z2luCiAqIEB2ZXJzaW9uIDIuMS4wCiAqIEBhdXRob3IgQmFydG9zeiBXb2pjaWVjaG93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhdXRvIGhlaWdodCBwbHVnaW4uCgkgKiBAY2xhc3MgVGhlIEF1dG8gSGVpZ2h0IFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbAoJICovCgl2YXIgQXV0b0hlaWdodCA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogQWxsIGV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIHJlZnJlc2hlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQpIHsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvSGVpZ2h0ICYmIGUucHJvcGVydHkubmFtZSA9PSAncG9zaXRpb24nKXsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2xvYWRlZC5vd2wubGF6eSc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodAoJCQkJCSYmIGUuZWxlbWVudC5jbG9zZXN0KCcuJyArIHRoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKS5pbmRleCgpID09PSB0aGlzLl9jb3JlLmN1cnJlbnQoKSkgewoJCQkJCXRoaXMudXBkYXRlKCk7CgkJCQl9CgkJCX0sIHRoaXMpCgkJfTsKCgkJLy8gc2V0IGRlZmF1bHQgb3B0aW9ucwoJCXRoaXMuX2NvcmUub3B0aW9ucyA9ICQuZXh0ZW5kKHt9LCBBdXRvSGVpZ2h0LkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVycwoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJQXV0b0hlaWdodC5EZWZhdWx0cyA9IHsKCQlhdXRvSGVpZ2h0OiBmYWxzZSwKCQlhdXRvSGVpZ2h0Q2xhc3M6ICdvd2wtaGVpZ2h0JwoJfTsKCgkvKioKCSAqIFVwZGF0ZXMgdGhlIHZpZXcuCgkgKi8KCUF1dG9IZWlnaHQucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewoJCXZhciBzdGFydCA9IHRoaXMuX2NvcmUuX2N1cnJlbnQsCgkJCWVuZCA9IHN0YXJ0ICsgdGhpcy5fY29yZS5zZXR0aW5ncy5pdGVtcywKCQkJdmlzaWJsZSA9IHRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCkudG9BcnJheSgpLnNsaWNlKHN0YXJ0LCBlbmQpLAoJCQloZWlnaHRzID0gW10sCgkJCW1heGhlaWdodCA9IDA7CgoJCSQuZWFjaCh2aXNpYmxlLCBmdW5jdGlvbihpbmRleCwgaXRlbSkgewoJCQloZWlnaHRzLnB1c2goJChpdGVtKS5oZWlnaHQoKSk7CgkJfSk7CgoJCW1heGhlaWdodCA9IE1hdGgubWF4LmFwcGx5KG51bGwsIGhlaWdodHMpOwoKCQl0aGlzLl9jb3JlLiRzdGFnZS5wYXJlbnQoKQoJCQkuaGVpZ2h0KG1heGhlaWdodCkKCQkJLmFkZENsYXNzKHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodENsYXNzKTsKCX07CgoJQXV0b0hlaWdodC5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBwcm9wZXJ0eTsKCgkJZm9yIChoYW5kbGVyIGluIHRoaXMuX2hhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuX2hhbmRsZXJzW2hhbmRsZXJdKTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCSQuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5BdXRvSGVpZ2h0ID0gQXV0b0hlaWdodDsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBWaWRlbyBQbHVnaW4KICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBCYXJ0b3N6IFdvamNpZWNob3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIHZpZGVvIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgVmlkZW8gUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gY2Fyb3VzZWwgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBWaWRlbyA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogQ2FjaGUgYWxsIHZpZGVvIFVSTHMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5fdmlkZW9zID0ge307CgoJCS8qKgoJCSAqIEN1cnJlbnQgcGxheWluZyBpdGVtLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7alF1ZXJ5fQoJCSAqLwoJCXRoaXMuX3BsYXlpbmcgPSBudWxsOwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHRvZG8gVGhlIGNsb25lZCBjb250ZW50IHJlbW92YWxlIGlzIHRvbyBsYXRlCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSkgewoJCQkJCXRoaXMuX2NvcmUucmVnaXN0ZXIoeyB0eXBlOiAnc3RhdGUnLCBuYW1lOiAncGxheWluZycsIHRhZ3M6IFsgJ2ludGVyYWN0aW5nJyBdIH0pOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3Jlc2l6ZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvICYmIHRoaXMuaXNJbkZ1bGxTY3JlZW4oKSkgewoJCQkJCWUucHJldmVudERlZmF1bHQoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdyZWZyZXNoZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5pcygncmVzaXppbmcnKSkgewoJCQkJCXRoaXMuX2NvcmUuJHN0YWdlLmZpbmQoJy5jbG9uZWQgLm93bC12aWRlby1mcmFtZScpLnJlbW92ZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nICYmIHRoaXMuX3BsYXlpbmcpIHsKCQkJCQl0aGlzLnN0b3AoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdwcmVwYXJlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmICghZS5uYW1lc3BhY2UpIHsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJdmFyICRlbGVtZW50ID0gJChlLmNvbnRlbnQpLmZpbmQoJy5vd2wtdmlkZW8nKTsKCgkJCQlpZiAoJGVsZW1lbnQubGVuZ3RoKSB7CgkJCQkJJGVsZW1lbnQuY3NzKCdkaXNwbGF5JywgJ25vbmUnKTsKCQkJCQl0aGlzLmZldGNoKCRlbGVtZW50LCAkKGUuY29udGVudCkpOwoJCQkJfQoJCQl9LCB0aGlzKQoJCX07CgoJCS8vIHNldCBkZWZhdWx0IG9wdGlvbnMKCQl0aGlzLl9jb3JlLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgVmlkZW8uRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7CgoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24oJ2NsaWNrLm93bC52aWRlbycsICcub3dsLXZpZGVvLXBsYXktaWNvbicsICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQl0aGlzLnBsYXkoZSk7CgkJfSwgdGhpcykpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJVmlkZW8uRGVmYXVsdHMgPSB7CgkJdmlkZW86IGZhbHNlLAoJCXZpZGVvSGVpZ2h0OiBmYWxzZSwKCQl2aWRlb1dpZHRoOiBmYWxzZQoJfTsKCgkvKioKCSAqIEdldHMgdGhlIHZpZGVvIElEIGFuZCB0aGUgdHlwZSAoWW91VHViZS9WaW1lby92emFhciBvbmx5KS4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7alF1ZXJ5fSB0YXJnZXQgLSBUaGUgdGFyZ2V0IGNvbnRhaW5pbmcgdGhlIHZpZGVvIGRhdGEuCgkgKiBAcGFyYW0ge2pRdWVyeX0gaXRlbSAtIFRoZSBpdGVtIGNvbnRhaW5pbmcgdGhlIHZpZGVvLgoJICovCglWaWRlby5wcm90b3R5cGUuZmV0Y2ggPSBmdW5jdGlvbih0YXJnZXQsIGl0ZW0pIHsKCQkJdmFyIHR5cGUgPSAoZnVuY3Rpb24oKSB7CgkJCQkJaWYgKHRhcmdldC5hdHRyKCdkYXRhLXZpbWVvLWlkJykpIHsKCQkJCQkJcmV0dXJuICd2aW1lbyc7CgkJCQkJfSBlbHNlIGlmICh0YXJnZXQuYXR0cignZGF0YS12emFhci1pZCcpKSB7CgkJCQkJCXJldHVybiAndnphYXInCgkJCQkJfSBlbHNlIHsKCQkJCQkJcmV0dXJuICd5b3V0dWJlJzsKCQkJCQl9CgkJCQl9KSgpLAoJCQkJaWQgPSB0YXJnZXQuYXR0cignZGF0YS12aW1lby1pZCcpIHx8IHRhcmdldC5hdHRyKCdkYXRhLXlvdXR1YmUtaWQnKSB8fCB0YXJnZXQuYXR0cignZGF0YS12emFhci1pZCcpLAoJCQkJd2lkdGggPSB0YXJnZXQuYXR0cignZGF0YS13aWR0aCcpIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MudmlkZW9XaWR0aCwKCQkJCWhlaWdodCA9IHRhcmdldC5hdHRyKCdkYXRhLWhlaWdodCcpIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MudmlkZW9IZWlnaHQsCgkJCQl1cmwgPSB0YXJnZXQuYXR0cignaHJlZicpOwoKCQlpZiAodXJsKSB7CgoJCQkvKgoJCQkJCVBhcnNlcyB0aGUgaWQncyBvdXQgb2YgdGhlIGZvbGxvd2luZyB1cmxzIChhbmQgcHJvYmFibHkgbW9yZSk6CgkJCQkJaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj06aWQKCQkJCQlodHRwczovL3lvdXR1LmJlLzppZAoJCQkJCWh0dHBzOi8vdmltZW8uY29tLzppZAoJCQkJCWh0dHBzOi8vdmltZW8uY29tL2NoYW5uZWxzLzpjaGFubmVsLzppZAoJCQkJCWh0dHBzOi8vdmltZW8uY29tL2dyb3Vwcy86Z3JvdXAvdmlkZW9zLzppZAoJCQkJCWh0dHBzOi8vYXBwLnZ6YWFyLmNvbS92aWRlb3MvOmlkCgoJCQkJCVZpc3VhbCBleGFtcGxlOiBodHRwczovL3JlZ2V4cGVyLmNvbS8jKGh0dHAlM0ElN0NodHRwcyUzQSU3QyklNUMlMkYlNUMlMkYocGxheWVyLiU3Q3d3dy4lN0NhcHAuKSUzRih2aW1lbyU1Qy5jb20lN0N5b3V0dShiZSU1Qy5jb20lN0MlNUMuYmUlN0NiZSU1Qy5nb29nbGVhcGlzJTVDLmNvbSklN0N2emFhciU1Qy5jb20pJTVDJTJGKHZpZGVvJTVDJTJGJTdDdmlkZW9zJTVDJTJGJTdDZW1iZWQlNUMlMkYlN0NjaGFubmVscyU1QyUyRi4lMkIlNUMlMkYlN0Nncm91cHMlNUMlMkYuJTJCJTVDJTJGJTdDd2F0Y2glNUMlM0Z2JTNEJTdDdiU1QyUyRiklM0YoJTVCQS1aYS16MC05Ll8lMjUtJTVEKikoJTVDJTI2JTVDUyUyQiklM0YKCQkJKi8KCgkJCWlkID0gdXJsLm1hdGNoKC8oaHR0cDp8aHR0cHM6fClcL1wvKHBsYXllci58d3d3LnxhcHAuKT8odmltZW9cLmNvbXx5b3V0dShiZVwuY29tfFwuYmV8YmVcLmdvb2dsZWFwaXNcLmNvbSl8dnphYXJcLmNvbSlcLyh2aWRlb1wvfHZpZGVvc1wvfGVtYmVkXC98Y2hhbm5lbHNcLy4rXC98Z3JvdXBzXC8uK1wvfHdhdGNoXD92PXx2XC8pPyhbQS1aYS16MC05Ll8lLV0qKShcJlxTKyk/Lyk7CgoJCQlpZiAoaWRbM10uaW5kZXhPZigneW91dHUnKSA+IC0xKSB7CgkJCQl0eXBlID0gJ3lvdXR1YmUnOwoJCQl9IGVsc2UgaWYgKGlkWzNdLmluZGV4T2YoJ3ZpbWVvJykgPiAtMSkgewoJCQkJdHlwZSA9ICd2aW1lbyc7CgkJCX0gZWxzZSBpZiAoaWRbM10uaW5kZXhPZigndnphYXInKSA+IC0xKSB7CgkJCQl0eXBlID0gJ3Z6YWFyJzsKCQkJfSBlbHNlIHsKCQkJCXRocm93IG5ldyBFcnJvcignVmlkZW8gVVJMIG5vdCBzdXBwb3J0ZWQuJyk7CgkJCX0KCQkJaWQgPSBpZFs2XTsKCQl9IGVsc2UgewoJCQl0aHJvdyBuZXcgRXJyb3IoJ01pc3NpbmcgdmlkZW8gVVJMLicpOwoJCX0KCgkJdGhpcy5fdmlkZW9zW3VybF0gPSB7CgkJCXR5cGU6IHR5cGUsCgkJCWlkOiBpZCwKCQkJd2lkdGg6IHdpZHRoLAoJCQloZWlnaHQ6IGhlaWdodAoJCX07CgoJCWl0ZW0uYXR0cignZGF0YS12aWRlbycsIHVybCk7CgoJCXRoaXMudGh1bWJuYWlsKHRhcmdldCwgdGhpcy5fdmlkZW9zW3VybF0pOwoJfTsKCgkvKioKCSAqIENyZWF0ZXMgdmlkZW8gdGh1bWJuYWlsLgoJICogQHByb3RlY3RlZAoJICogQHBhcmFtIHtqUXVlcnl9IHRhcmdldCAtIFRoZSB0YXJnZXQgY29udGFpbmluZyB0aGUgdmlkZW8gZGF0YS4KCSAqIEBwYXJhbSB7T2JqZWN0fSBpbmZvIC0gVGhlIHZpZGVvIGluZm8gb2JqZWN0LgoJICogQHNlZSBgZmV0Y2hgCgkgKi8KCVZpZGVvLnByb3RvdHlwZS50aHVtYm5haWwgPSBmdW5jdGlvbih0YXJnZXQsIHZpZGVvKSB7CgkJdmFyIHRuTGluaywKCQkJaWNvbiwKCQkJcGF0aCwKCQkJZGltZW5zaW9ucyA9IHZpZGVvLndpZHRoICYmIHZpZGVvLmhlaWdodCA/ICdzdHlsZT0id2lkdGg6JyArIHZpZGVvLndpZHRoICsgJ3B4O2hlaWdodDonICsgdmlkZW8uaGVpZ2h0ICsgJ3B4OyInIDogJycsCgkJCWN1c3RvbVRuID0gdGFyZ2V0LmZpbmQoJ2ltZycpLAoJCQlzcmNUeXBlID0gJ3NyYycsCgkJCWxhenlDbGFzcyA9ICcnLAoJCQlzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCWNyZWF0ZSA9IGZ1bmN0aW9uKHBhdGgpIHsKCQkJCWljb24gPSAnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXBsYXktaWNvbiI+PC9kaXY+JzsKCgkJCQlpZiAoc2V0dGluZ3MubGF6eUxvYWQpIHsKCQkJCQl0bkxpbmsgPSAnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXRuICcgKyBsYXp5Q2xhc3MgKyAnIiAnICsgc3JjVHlwZSArICc9IicgKyBwYXRoICsgJyI+PC9kaXY+JzsKCQkJCX0gZWxzZSB7CgkJCQkJdG5MaW5rID0gJzxkaXYgY2xhc3M9Im93bC12aWRlby10biIgc3R5bGU9Im9wYWNpdHk6MTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnICsgcGF0aCArICcpIj48L2Rpdj4nOwoJCQkJfQoJCQkJdGFyZ2V0LmFmdGVyKHRuTGluayk7CgkJCQl0YXJnZXQuYWZ0ZXIoaWNvbik7CgkJCX07CgoJCS8vIHdyYXAgdmlkZW8gY29udGVudCBpbnRvIG93bC12aWRlby13cmFwcGVyIGRpdgoJCXRhcmdldC53cmFwKCc8ZGl2IGNsYXNzPSJvd2wtdmlkZW8td3JhcHBlciInICsgZGltZW5zaW9ucyArICc+PC9kaXY+Jyk7CgoJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkKSB7CgkJCXNyY1R5cGUgPSAnZGF0YS1zcmMnOwoJCQlsYXp5Q2xhc3MgPSAnb3dsLWxhenknOwoJCX0KCgkJLy8gY3VzdG9tIHRodW1ibmFpbAoJCWlmIChjdXN0b21Ubi5sZW5ndGgpIHsKCQkJY3JlYXRlKGN1c3RvbVRuLmF0dHIoc3JjVHlwZSkpOwoJCQljdXN0b21Ubi5yZW1vdmUoKTsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYgKHZpZGVvLnR5cGUgPT09ICd5b3V0dWJlJykgewoJCQlwYXRoID0gIi8vaW1nLnlvdXR1YmUuY29tL3ZpLyIgKyB2aWRlby5pZCArICIvaHFkZWZhdWx0LmpwZyI7CgkJCWNyZWF0ZShwYXRoKTsKCQl9IGVsc2UgaWYgKHZpZGVvLnR5cGUgPT09ICd2aW1lbycpIHsKCQkJJC5hamF4KHsKCQkJCXR5cGU6ICdHRVQnLAoJCQkJdXJsOiAnLy92aW1lby5jb20vYXBpL3YyL3ZpZGVvLycgKyB2aWRlby5pZCArICcuanNvbicsCgkJCQlqc29ucDogJ2NhbGxiYWNrJywKCQkJCWRhdGFUeXBlOiAnanNvbnAnLAoJCQkJc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewoJCQkJCXBhdGggPSBkYXRhWzBdLnRodW1ibmFpbF9sYXJnZTsKCQkJCQljcmVhdGUocGF0aCk7CgkJCQl9CgkJCX0pOwoJCX0gZWxzZSBpZiAodmlkZW8udHlwZSA9PT0gJ3Z6YWFyJykgewoJCQkkLmFqYXgoewoJCQkJdHlwZTogJ0dFVCcsCgkJCQl1cmw6ICcvL3Z6YWFyLmNvbS9hcGkvdmlkZW9zLycgKyB2aWRlby5pZCArICcuanNvbicsCgkJCQlqc29ucDogJ2NhbGxiYWNrJywKCQkJCWRhdGFUeXBlOiAnanNvbnAnLAoJCQkJc3VjY2VzczogZnVuY3Rpb24oZGF0YSkgewoJCQkJCXBhdGggPSBkYXRhLmZyYW1lZ3JhYl91cmw7CgkJCQkJY3JlYXRlKHBhdGgpOwoJCQkJfQoJCQl9KTsKCQl9Cgl9OwoKCS8qKgoJICogU3RvcHMgdGhlIGN1cnJlbnQgdmlkZW8uCgkgKiBAcHVibGljCgkgKi8KCVZpZGVvLnByb3RvdHlwZS5zdG9wID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5fY29yZS50cmlnZ2VyKCdzdG9wJywgbnVsbCwgJ3ZpZGVvJyk7CgkJdGhpcy5fcGxheWluZy5maW5kKCcub3dsLXZpZGVvLWZyYW1lJykucmVtb3ZlKCk7CgkJdGhpcy5fcGxheWluZy5yZW1vdmVDbGFzcygnb3dsLXZpZGVvLXBsYXlpbmcnKTsKCQl0aGlzLl9wbGF5aW5nID0gbnVsbDsKCQl0aGlzLl9jb3JlLmxlYXZlKCdwbGF5aW5nJyk7CgkJdGhpcy5fY29yZS50cmlnZ2VyKCdzdG9wcGVkJywgbnVsbCwgJ3ZpZGVvJyk7Cgl9OwoKCS8qKgoJICogU3RhcnRzIHRoZSBjdXJyZW50IHZpZGVvLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtFdmVudH0gZXZlbnQgLSBUaGUgZXZlbnQgYXJndW1lbnRzLgoJICovCglWaWRlby5wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uKGV2ZW50KSB7CgkJdmFyIHRhcmdldCA9ICQoZXZlbnQudGFyZ2V0KSwKCQkJaXRlbSA9IHRhcmdldC5jbG9zZXN0KCcuJyArIHRoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKSwKCQkJdmlkZW8gPSB0aGlzLl92aWRlb3NbaXRlbS5hdHRyKCdkYXRhLXZpZGVvJyldLAoJCQl3aWR0aCA9IHZpZGVvLndpZHRoIHx8ICcxMDAlJywKCQkJaGVpZ2h0ID0gdmlkZW8uaGVpZ2h0IHx8IHRoaXMuX2NvcmUuJHN0YWdlLmhlaWdodCgpLAoJCQlodG1sOwoKCQlpZiAodGhpcy5fcGxheWluZykgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLl9jb3JlLmVudGVyKCdwbGF5aW5nJyk7CgkJdGhpcy5fY29yZS50cmlnZ2VyKCdwbGF5JywgbnVsbCwgJ3ZpZGVvJyk7CgoJCWl0ZW0gPSB0aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUoaXRlbS5pbmRleCgpKSk7CgoJCXRoaXMuX2NvcmUucmVzZXQoaXRlbS5pbmRleCgpKTsKCgkJaWYgKHZpZGVvLnR5cGUgPT09ICd5b3V0dWJlJykgewoJCQlodG1sID0gJzxpZnJhbWUgd2lkdGg9IicgKyB3aWR0aCArICciIGhlaWdodD0iJyArIGhlaWdodCArICciIHNyYz0iLy93d3cueW91dHViZS5jb20vZW1iZWQvJyArCgkJCQl2aWRlby5pZCArICc/YXV0b3BsYXk9MSZ2PScgKyB2aWRlby5pZCArICciIGZyYW1lYm9yZGVyPSIwIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+JzsKCQl9IGVsc2UgaWYgKHZpZGVvLnR5cGUgPT09ICd2aW1lbycpIHsKCQkJaHRtbCA9ICc8aWZyYW1lIHNyYz0iLy9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLycgKyB2aWRlby5pZCArCgkJCQknP2F1dG9wbGF5PTEiIHdpZHRoPSInICsgd2lkdGggKyAnIiBoZWlnaHQ9IicgKyBoZWlnaHQgKwoJCQkJJyIgZnJhbWVib3JkZXI9IjAiIHdlYmtpdGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPic7CgkJfSBlbHNlIGlmICh2aWRlby50eXBlID09PSAndnphYXInKSB7CgkJCWh0bWwgPSAnPGlmcmFtZSBmcmFtZWJvcmRlcj0iMCInICsgJ2hlaWdodD0iJyArIGhlaWdodCArICciJyArICd3aWR0aD0iJyArIHdpZHRoICsKCQkJCSciIGFsbG93ZnVsbHNjcmVlbiBtb3phbGxvd2Z1bGxzY3JlZW4gd2Via2l0QWxsb3dGdWxsU2NyZWVuICcgKwoJCQkJJ3NyYz0iLy92aWV3LnZ6YWFyLmNvbS8nICsgdmlkZW8uaWQgKyAnL3BsYXllcj9hdXRvcGxheT10cnVlIj48L2lmcmFtZT4nOwoJCX0KCgkJJCgnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLWZyYW1lIj4nICsgaHRtbCArICc8L2Rpdj4nKS5pbnNlcnRBZnRlcihpdGVtLmZpbmQoJy5vd2wtdmlkZW8nKSk7CgoJCXRoaXMuX3BsYXlpbmcgPSBpdGVtLmFkZENsYXNzKCdvd2wtdmlkZW8tcGxheWluZycpOwoJfTsKCgkvKioKCSAqIENoZWNrcyB3aGV0aGVyIGFuIHZpZGVvIGlzIGN1cnJlbnRseSBpbiBmdWxsIHNjcmVlbiBtb2RlIG9yIG5vdC4KCSAqIEB0b2RvIEJhZCBzdHlsZSBiZWNhdXNlIGxvb2tzIGxpa2UgYSByZWFkb25seSBtZXRob2QgYnV0IGNoYW5nZXMgbWVtYmVycy4KCSAqIEBwcm90ZWN0ZWQKCSAqIEByZXR1cm5zIHtCb29sZWFufQoJICovCglWaWRlby5wcm90b3R5cGUuaXNJbkZ1bGxTY3JlZW4gPSBmdW5jdGlvbigpIHsKCQl2YXIgZWxlbWVudCA9IGRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50IHx8IGRvY3VtZW50Lm1vekZ1bGxTY3JlZW5FbGVtZW50IHx8CgkJCQlkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRWxlbWVudDsKCgkJcmV0dXJuIGVsZW1lbnQgJiYgJChlbGVtZW50KS5wYXJlbnQoKS5oYXNDbGFzcygnb3dsLXZpZGVvLWZyYW1lJyk7Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIHBsdWdpbi4KCSAqLwoJVmlkZW8ucHJvdG90eXBlLmRlc3Ryb3kgPSBmdW5jdGlvbigpIHsKCQl2YXIgaGFuZGxlciwgcHJvcGVydHk7CgoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKCdjbGljay5vd2wudmlkZW8nKTsKCgkJZm9yIChoYW5kbGVyIGluIHRoaXMuX2hhbmRsZXJzKSB7CgkJCXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuX2hhbmRsZXJzW2hhbmRsZXJdKTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCSQuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5WaWRlbyA9IFZpZGVvOwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEFuaW1hdGUgUGx1Z2luCiAqIEB2ZXJzaW9uIDIuMS4wCiAqIEBhdXRob3IgQmFydG9zeiBXb2pjaWVjaG93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBhbmltYXRlIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgTmF2aWdhdGlvbiBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBzY29wZSAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIEFuaW1hdGUgPSBmdW5jdGlvbihzY29wZSkgewoJCXRoaXMuY29yZSA9IHNjb3BlOwoJCXRoaXMuY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIEFuaW1hdGUuRGVmYXVsdHMsIHRoaXMuY29yZS5vcHRpb25zKTsKCQl0aGlzLnN3YXBwaW5nID0gdHJ1ZTsKCQl0aGlzLnByZXZpb3VzID0gdW5kZWZpbmVkOwoJCXRoaXMubmV4dCA9IHVuZGVmaW5lZDsKCgkJdGhpcy5oYW5kbGVycyA9IHsKCQkJJ2NoYW5nZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT0gJ3Bvc2l0aW9uJykgewoJCQkJCXRoaXMucHJldmlvdXMgPSB0aGlzLmNvcmUuY3VycmVudCgpOwoJCQkJCXRoaXMubmV4dCA9IGUucHJvcGVydHkudmFsdWU7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknZHJhZy5vd2wuY2Fyb3VzZWwgZHJhZ2dlZC5vd2wuY2Fyb3VzZWwgdHJhbnNsYXRlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSkgewoJCQkJCXRoaXMuc3dhcHBpbmcgPSBlLnR5cGUgPT0gJ3RyYW5zbGF0ZWQnOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3RyYW5zbGF0ZS5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLnN3YXBwaW5nICYmICh0aGlzLmNvcmUub3B0aW9ucy5hbmltYXRlT3V0IHx8IHRoaXMuY29yZS5vcHRpb25zLmFuaW1hdGVJbikpIHsKCQkJCQl0aGlzLnN3YXAoKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQl0aGlzLmNvcmUuJGVsZW1lbnQub24odGhpcy5oYW5kbGVycyk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglBbmltYXRlLkRlZmF1bHRzID0gewoJCWFuaW1hdGVPdXQ6IGZhbHNlLAoJCWFuaW1hdGVJbjogZmFsc2UKCX07CgoJLyoqCgkgKiBUb2dnbGVzIHRoZSBhbmltYXRpb24gY2xhc3NlcyB3aGVuZXZlciBhbiB0cmFuc2xhdGlvbnMgc3RhcnRzLgoJICogQHByb3RlY3RlZAoJICogQHJldHVybnMge0Jvb2xlYW58dW5kZWZpbmVkfQoJICovCglBbmltYXRlLnByb3RvdHlwZS5zd2FwID0gZnVuY3Rpb24oKSB7CgoJCWlmICh0aGlzLmNvcmUuc2V0dGluZ3MuaXRlbXMgIT09IDEpIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKCEkLnN1cHBvcnQuYW5pbWF0aW9uIHx8ICEkLnN1cHBvcnQudHJhbnNpdGlvbikgewoJCQlyZXR1cm47CgkJfQoKCQl0aGlzLmNvcmUuc3BlZWQoMCk7CgoJCXZhciBsZWZ0LAoJCQljbGVhciA9ICQucHJveHkodGhpcy5jbGVhciwgdGhpcyksCgkJCXByZXZpb3VzID0gdGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMucHJldmlvdXMpLAoJCQluZXh0ID0gdGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMubmV4dCksCgkJCWluY29taW5nID0gdGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVJbiwKCQkJb3V0Z29pbmcgPSB0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZU91dDsKCgkJaWYgKHRoaXMuY29yZS5jdXJyZW50KCkgPT09IHRoaXMucHJldmlvdXMpIHsKCQkJcmV0dXJuOwoJCX0KCgkJaWYgKG91dGdvaW5nKSB7CgkJCWxlZnQgPSB0aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5wcmV2aW91cykgLSB0aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5uZXh0KTsKCQkJcHJldmlvdXMub25lKCQuc3VwcG9ydC5hbmltYXRpb24uZW5kLCBjbGVhcikKCQkJCS5jc3MoIHsgJ2xlZnQnOiBsZWZ0ICsgJ3B4JyB9ICkKCQkJCS5hZGRDbGFzcygnYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLW91dCcpCgkJCQkuYWRkQ2xhc3Mob3V0Z29pbmcpOwoJCX0KCgkJaWYgKGluY29taW5nKSB7CgkJCW5leHQub25lKCQuc3VwcG9ydC5hbmltYXRpb24uZW5kLCBjbGVhcikKCQkJCS5hZGRDbGFzcygnYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLWluJykKCQkJCS5hZGRDbGFzcyhpbmNvbWluZyk7CgkJfQoJfTsKCglBbmltYXRlLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uKGUpIHsKCQkkKGUudGFyZ2V0KS5jc3MoIHsgJ2xlZnQnOiAnJyB9ICkKCQkJLnJlbW92ZUNsYXNzKCdhbmltYXRlZCBvd2wtYW5pbWF0ZWQtb3V0IG93bC1hbmltYXRlZC1pbicpCgkJCS5yZW1vdmVDbGFzcyh0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZUluKQoJCQkucmVtb3ZlQ2xhc3ModGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVPdXQpOwoJCXRoaXMuY29yZS5vblRyYW5zaXRpb25FbmQoKTsKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICogQHB1YmxpYwoJICovCglBbmltYXRlLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQlmb3IgKGhhbmRsZXIgaW4gdGhpcy5oYW5kbGVycykgewoJCQl0aGlzLmNvcmUuJGVsZW1lbnQub2ZmKGhhbmRsZXIsIHRoaXMuaGFuZGxlcnNbaGFuZGxlcl0pOwoJCX0KCQlmb3IgKHByb3BlcnR5IGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSB7CgkJCXR5cGVvZiB0aGlzW3Byb3BlcnR5XSAhPSAnZnVuY3Rpb24nICYmICh0aGlzW3Byb3BlcnR5XSA9IG51bGwpOwoJCX0KCX07CgoJJC5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkFuaW1hdGUgPSBBbmltYXRlOwoKfSkod2luZG93LlplcHRvIHx8IHdpbmRvdy5qUXVlcnksIHdpbmRvdywgZG9jdW1lbnQpOwoKLyoqCiAqIEF1dG9wbGF5IFBsdWdpbgogKiBAdmVyc2lvbiAyLjEuMAogKiBAYXV0aG9yIEJhcnRvc3ogV29qY2llY2hvd3NraQogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIGF1dG9wbGF5IHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgQXV0b3BsYXkgUGx1Z2luCgkgKiBAcGFyYW0ge093bH0gc2NvcGUgLSBUaGUgT3dsIENhcm91c2VsCgkgKi8KCXZhciBBdXRvcGxheSA9IGZ1bmN0aW9uKGNhcm91c2VsKSB7CgkJLyoqCgkJICogUmVmZXJlbmNlIHRvIHRoZSBjb3JlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T3dsfQoJCSAqLwoJCXRoaXMuX2NvcmUgPSBjYXJvdXNlbDsKCgkJLyoqCgkJICogVGhlIGF1dG9wbGF5IHRpbWVvdXQuCgkJICogQHR5cGUge1RpbWVvdXR9CgkJICovCgkJdGhpcy5fdGltZW91dCA9IG51bGw7CgoJCS8qKgoJCSAqIEluZGljYXRlcyB3aGVuZXZlciB0aGUgYXV0b3BsYXkgaXMgcGF1c2VkLgoJCSAqIEB0eXBlIHtCb29sZWFufQoJCSAqLwoJCXRoaXMuX3BhdXNlZCA9IGZhbHNlOwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdjaGFuZ2VkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIGUucHJvcGVydHkubmFtZSA9PT0gJ3NldHRpbmdzJykgewoJCQkJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5KSB7CgkJCQkJCXRoaXMucGxheSgpOwoJCQkJCX0gZWxzZSB7CgkJCQkJCXRoaXMuc3RvcCgpOwoJCQkJCX0KCQkJCX0gZWxzZSBpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nKSB7CgkJCQkJLy9jb25zb2xlLmxvZygncGxheT8nLCBlKTsKCQkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheSkgewoJCQkJCQl0aGlzLl9zZXRBdXRvUGxheUludGVydmFsKCk7CgkJCQkJfQoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2luaXRpYWxpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXkpIHsKCQkJCQl0aGlzLnBsYXkoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdwbGF5Lm93bC5hdXRvcGxheSc6ICQucHJveHkoZnVuY3Rpb24oZSwgdCwgcykgewoJCQkJaWYgKGUubmFtZXNwYWNlKSB7CgkJCQkJdGhpcy5wbGF5KHQsIHMpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3N0b3Aub3dsLmF1dG9wbGF5JzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UpIHsKCQkJCQl0aGlzLnN0b3AoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdtb3VzZW92ZXIub3dsLmF1dG9wbGF5JzogJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSAmJiB0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpKSB7CgkJCQkJdGhpcy5wYXVzZSgpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ21vdXNlbGVhdmUub3dsLmF1dG9wbGF5JzogJC5wcm94eShmdW5jdGlvbigpIHsKCQkJCWlmICh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5SG92ZXJQYXVzZSAmJiB0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpKSB7CgkJCQkJdGhpcy5wbGF5KCk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkndG91Y2hzdGFydC5vd2wuY29yZSc6ICQucHJveHkoZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UgJiYgdGhpcy5fY29yZS5pcygncm90YXRpbmcnKSkgewoJCQkJCXRoaXMucGF1c2UoKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSd0b3VjaGVuZC5vd2wuY29yZSc6ICQucHJveHkoZnVuY3Rpb24oKSB7CgkJCQlpZiAodGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UpIHsKCQkJCQl0aGlzLnBsYXkoKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyByZWdpc3RlciBldmVudCBoYW5kbGVycwoJCXRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpOwoKCQkvLyBzZXQgZGVmYXVsdCBvcHRpb25zCgkJdGhpcy5fY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIEF1dG9wbGF5LkRlZmF1bHRzLCB0aGlzLl9jb3JlLm9wdGlvbnMpOwoJfTsKCgkvKioKCSAqIERlZmF1bHQgb3B0aW9ucy4KCSAqIEBwdWJsaWMKCSAqLwoJQXV0b3BsYXkuRGVmYXVsdHMgPSB7CgkJYXV0b3BsYXk6IGZhbHNlLAoJCWF1dG9wbGF5VGltZW91dDogNTAwMCwKCQlhdXRvcGxheUhvdmVyUGF1c2U6IGZhbHNlLAoJCWF1dG9wbGF5U3BlZWQ6IGZhbHNlCgl9OwoKCS8qKgoJICogU3RhcnRzIHRoZSBhdXRvcGxheS4KCSAqIEBwdWJsaWMKCSAqIEBwYXJhbSB7TnVtYmVyfSBbdGltZW91dF0gLSBUaGUgaW50ZXJ2YWwgYmVmb3JlIHRoZSBuZXh0IGFuaW1hdGlvbiBzdGFydHMuCgkgKiBAcGFyYW0ge051bWJlcn0gW3NwZWVkXSAtIFRoZSBhbmltYXRpb24gc3BlZWQgZm9yIHRoZSBhbmltYXRpb25zLgoJICovCglBdXRvcGxheS5wcm90b3R5cGUucGxheSA9IGZ1bmN0aW9uKHRpbWVvdXQsIHNwZWVkKSB7CgkJdGhpcy5fcGF1c2VkID0gZmFsc2U7CgoJCWlmICh0aGlzLl9jb3JlLmlzKCdyb3RhdGluZycpKSB7CgkJCXJldHVybjsKCQl9CgoJCXRoaXMuX2NvcmUuZW50ZXIoJ3JvdGF0aW5nJyk7CgoJCXRoaXMuX3NldEF1dG9QbGF5SW50ZXJ2YWwoKTsKCX07CgoJLyoqCgkgKiBHZXRzIGEgbmV3IHRpbWVvdXQKCSAqIEBwcml2YXRlCgkgKiBAcGFyYW0ge051bWJlcn0gW3RpbWVvdXRdIC0gVGhlIGludGVydmFsIGJlZm9yZSB0aGUgbmV4dCBhbmltYXRpb24gc3RhcnRzLgoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZF0gLSBUaGUgYW5pbWF0aW9uIHNwZWVkIGZvciB0aGUgYW5pbWF0aW9ucy4KCSAqIEByZXR1cm4ge1RpbWVvdXR9CgkgKi8KCUF1dG9wbGF5LnByb3RvdHlwZS5fZ2V0TmV4dFRpbWVvdXQgPSBmdW5jdGlvbih0aW1lb3V0LCBzcGVlZCkgewoJCWlmICggdGhpcy5fdGltZW91dCApIHsKCQkJd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl90aW1lb3V0KTsKCQl9CgkJcmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KCQucHJveHkoZnVuY3Rpb24oKSB7CgkJCWlmICh0aGlzLl9wYXVzZWQgfHwgdGhpcy5fY29yZS5pcygnYnVzeScpIHx8IHRoaXMuX2NvcmUuaXMoJ2ludGVyYWN0aW5nJykgfHwgZG9jdW1lbnQuaGlkZGVuKSB7CgkJCQlyZXR1cm47CgkJCX0KCQkJdGhpcy5fY29yZS5uZXh0KHNwZWVkIHx8IHRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlTcGVlZCk7CgkJfSwgdGhpcyksIHRpbWVvdXQgfHwgdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheVRpbWVvdXQpOwoJfTsKCgkvKioKCSAqIFNldHMgYXV0b3BsYXkgaW4gbW90aW9uLgoJICogQHByaXZhdGUKCSAqLwoJQXV0b3BsYXkucHJvdG90eXBlLl9zZXRBdXRvUGxheUludGVydmFsID0gZnVuY3Rpb24oKSB7CgkJdGhpcy5fdGltZW91dCA9IHRoaXMuX2dldE5leHRUaW1lb3V0KCk7Cgl9OwoKCS8qKgoJICogU3RvcHMgdGhlIGF1dG9wbGF5LgoJICogQHB1YmxpYwoJICovCglBdXRvcGxheS5wcm90b3R5cGUuc3RvcCA9IGZ1bmN0aW9uKCkgewoJCWlmICghdGhpcy5fY29yZS5pcygncm90YXRpbmcnKSkgewoJCQlyZXR1cm47CgkJfQoKCQl3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpOwoJCXRoaXMuX2NvcmUubGVhdmUoJ3JvdGF0aW5nJyk7Cgl9OwoKCS8qKgoJICogU3RvcHMgdGhlIGF1dG9wbGF5LgoJICogQHB1YmxpYwoJICovCglBdXRvcGxheS5wcm90b3R5cGUucGF1c2UgPSBmdW5jdGlvbigpIHsKCQlpZiAoIXRoaXMuX2NvcmUuaXMoJ3JvdGF0aW5nJykpIHsKCQkJcmV0dXJuOwoJCX0KCgkJdGhpcy5fcGF1c2VkID0gdHJ1ZTsKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICovCglBdXRvcGxheS5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBwcm9wZXJ0eTsKCgkJdGhpcy5zdG9wKCk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuYXV0b3BsYXkgPSBBdXRvcGxheTsKCn0pKHdpbmRvdy5aZXB0byB8fCB3aW5kb3cualF1ZXJ5LCB3aW5kb3csIGRvY3VtZW50KTsKCi8qKgogKiBOYXZpZ2F0aW9uIFBsdWdpbgogKiBAdmVyc2lvbiAyLjEuMAogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCSd1c2Ugc3RyaWN0JzsKCgkvKioKCSAqIENyZWF0ZXMgdGhlIG5hdmlnYXRpb24gcGx1Z2luLgoJICogQGNsYXNzIFRoZSBOYXZpZ2F0aW9uIFBsdWdpbgoJICogQHBhcmFtIHtPd2x9IGNhcm91c2VsIC0gVGhlIE93bCBDYXJvdXNlbC4KCSAqLwoJdmFyIE5hdmlnYXRpb24gPSBmdW5jdGlvbihjYXJvdXNlbCkgewoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwbHVnaW4gaXMgaW5pdGlhbGl6ZWQgb3Igbm90LgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7Qm9vbGVhbn0KCQkgKi8KCQl0aGlzLl9pbml0aWFsaXplZCA9IGZhbHNlOwoKCQkvKioKCQkgKiBUaGUgY3VycmVudCBwYWdpbmcgaW5kZXhlcy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge0FycmF5fQoJCSAqLwoJCXRoaXMuX3BhZ2VzID0gW107CgoJCS8qKgoJCSAqIEFsbCBET00gZWxlbWVudHMgb2YgdGhlIHVzZXIgaW50ZXJmYWNlLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2NvbnRyb2xzID0ge307CgoJCS8qKgoJCSAqIE1hcmt1cCBmb3IgYW4gaW5kaWNhdG9yLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7QXJyYXkuPFN0cmluZz59CgkJICovCgkJdGhpcy5fdGVtcGxhdGVzID0gW107CgoJCS8qKgoJCSAqIFRoZSBjYXJvdXNlbCBlbGVtZW50LgoJCSAqIEB0eXBlIHtqUXVlcnl9CgkJICovCgkJdGhpcy4kZWxlbWVudCA9IHRoaXMuX2NvcmUuJGVsZW1lbnQ7CgoJCS8qKgoJCSAqIE92ZXJyaWRkZW4gbWV0aG9kcyBvZiB0aGUgY2Fyb3VzZWwuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5fb3ZlcnJpZGVzID0gewoJCQluZXh0OiB0aGlzLl9jb3JlLm5leHQsCgkJCXByZXY6IHRoaXMuX2NvcmUucHJldiwKCQkJdG86IHRoaXMuX2NvcmUudG8KCQl9OwoKCQkvKioKCQkgKiBBbGwgZXZlbnQgaGFuZGxlcnMuCgkJICogQHByb3RlY3RlZAoJCSAqIEB0eXBlIHtPYmplY3R9CgkJICovCgkJdGhpcy5faGFuZGxlcnMgPSB7CgkJCSdwcmVwYXJlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiB0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhKSB7CgkJCQkJdGhpcy5fdGVtcGxhdGVzLnB1c2goJzxkaXYgY2xhc3M9IicgKyB0aGlzLl9jb3JlLnNldHRpbmdzLmRvdENsYXNzICsgJyI+JyArCgkJCQkJCSQoZS5jb250ZW50KS5maW5kKCdbZGF0YS1kb3RdJykuYWRkQmFjaygnW2RhdGEtZG90XScpLmF0dHIoJ2RhdGEtZG90JykgKyAnPC9kaXY+Jyk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknYWRkZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSkgewoJCQkJCXRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoZS5wb3NpdGlvbiwgMCwgdGhpcy5fdGVtcGxhdGVzLnBvcCgpKTsKCQkJCX0KCQkJfSwgdGhpcyksCgkJCSdyZW1vdmUub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5kb3RzRGF0YSkgewoJCQkJCXRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoZS5wb3NpdGlvbiwgMSk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQknY2hhbmdlZC5vd2wuY2Fyb3VzZWwnOiAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCWlmIChlLm5hbWVzcGFjZSAmJiBlLnByb3BlcnR5Lm5hbWUgPT0gJ3Bvc2l0aW9uJykgewoJCQkJCXRoaXMuZHJhdygpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2luaXRpYWxpemVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmICF0aGlzLl9pbml0aWFsaXplZCkgewoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcignaW5pdGlhbGl6ZScsIG51bGwsICduYXZpZ2F0aW9uJyk7CgkJCQkJdGhpcy5pbml0aWFsaXplKCk7CgkJCQkJdGhpcy51cGRhdGUoKTsKCQkJCQl0aGlzLmRyYXcoKTsKCQkJCQl0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7CgkJCQkJdGhpcy5fY29yZS50cmlnZ2VyKCdpbml0aWFsaXplZCcsIG51bGwsICduYXZpZ2F0aW9uJyk7CgkJCQl9CgkJCX0sIHRoaXMpLAoJCQkncmVmcmVzaGVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlICYmIHRoaXMuX2luaXRpYWxpemVkKSB7CgkJCQkJdGhpcy5fY29yZS50cmlnZ2VyKCdyZWZyZXNoJywgbnVsbCwgJ25hdmlnYXRpb24nKTsKCQkJCQl0aGlzLnVwZGF0ZSgpOwoJCQkJCXRoaXMuZHJhdygpOwoJCQkJCXRoaXMuX2NvcmUudHJpZ2dlcigncmVmcmVzaGVkJywgbnVsbCwgJ25hdmlnYXRpb24nKTsKCQkJCX0KCQkJfSwgdGhpcykKCQl9OwoKCQkvLyBzZXQgZGVmYXVsdCBvcHRpb25zCgkJdGhpcy5fY29yZS5vcHRpb25zID0gJC5leHRlbmQoe30sIE5hdmlnYXRpb24uRGVmYXVsdHMsIHRoaXMuX2NvcmUub3B0aW9ucyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICogQHRvZG8gUmVuYW1lIGBzbGlkZUJ5YCB0byBgbmF2QnlgCgkgKi8KCU5hdmlnYXRpb24uRGVmYXVsdHMgPSB7CgkJbmF2OiBmYWxzZSwKCQluYXZUZXh0OiBbICdwcmV2JywgJ25leHQnIF0sCgkJbmF2U3BlZWQ6IGZhbHNlLAoJCW5hdkVsZW1lbnQ6ICdkaXYnLAoJCW5hdkNvbnRhaW5lcjogZmFsc2UsCgkJbmF2Q29udGFpbmVyQ2xhc3M6ICdvd2wtbmF2JywKCQluYXZDbGFzczogWyAnb3dsLXByZXYnLCAnb3dsLW5leHQnIF0sCgkJc2xpZGVCeTogMSwKCQlkb3RDbGFzczogJ293bC1kb3QnLAoJCWRvdHNDbGFzczogJ293bC1kb3RzJywKCQlkb3RzOiB0cnVlLAoJCWRvdHNFYWNoOiBmYWxzZSwKCQlkb3RzRGF0YTogZmFsc2UsCgkJZG90c1NwZWVkOiBmYWxzZSwKCQlkb3RzQ29udGFpbmVyOiBmYWxzZQoJfTsKCgkvKioKCSAqIEluaXRpYWxpemVzIHRoZSBsYXlvdXQgb2YgdGhlIHBsdWdpbiBhbmQgZXh0ZW5kcyB0aGUgY2Fyb3VzZWwuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLmluaXRpYWxpemUgPSBmdW5jdGlvbigpIHsKCQl2YXIgb3ZlcnJpZGUsCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5nczsKCgkJLy8gY3JlYXRlIERPTSBzdHJ1Y3R1cmUgZm9yIHJlbGF0aXZlIG5hdmlnYXRpb24KCQl0aGlzLl9jb250cm9scy4kcmVsYXRpdmUgPSAoc2V0dGluZ3MubmF2Q29udGFpbmVyID8gJChzZXR0aW5ncy5uYXZDb250YWluZXIpCgkJCTogJCgnPGRpdj4nKS5hZGRDbGFzcyhzZXR0aW5ncy5uYXZDb250YWluZXJDbGFzcykuYXBwZW5kVG8odGhpcy4kZWxlbWVudCkpLmFkZENsYXNzKCdkaXNhYmxlZCcpOwoKCQl0aGlzLl9jb250cm9scy4kcHJldmlvdXMgPSAkKCc8JyArIHNldHRpbmdzLm5hdkVsZW1lbnQgKyAnPicpCgkJCS5hZGRDbGFzcyhzZXR0aW5ncy5uYXZDbGFzc1swXSkKCQkJLmh0bWwoc2V0dGluZ3MubmF2VGV4dFswXSkKCQkJLnByZXBlbmRUbyh0aGlzLl9jb250cm9scy4kcmVsYXRpdmUpCgkJCS5vbignY2xpY2snLCAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJCXRoaXMucHJldihzZXR0aW5ncy5uYXZTcGVlZCk7CgkJCX0sIHRoaXMpKTsKCQl0aGlzLl9jb250cm9scy4kbmV4dCA9ICQoJzwnICsgc2V0dGluZ3MubmF2RWxlbWVudCArICc+JykKCQkJLmFkZENsYXNzKHNldHRpbmdzLm5hdkNsYXNzWzFdKQoJCQkuaHRtbChzZXR0aW5ncy5uYXZUZXh0WzFdKQoJCQkuYXBwZW5kVG8odGhpcy5fY29udHJvbHMuJHJlbGF0aXZlKQoJCQkub24oJ2NsaWNrJywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQl0aGlzLm5leHQoc2V0dGluZ3MubmF2U3BlZWQpOwoJCQl9LCB0aGlzKSk7CgoJCS8vIGNyZWF0ZSBET00gc3RydWN0dXJlIGZvciBhYnNvbHV0ZSBuYXZpZ2F0aW9uCgkJaWYgKCFzZXR0aW5ncy5kb3RzRGF0YSkgewoJCQl0aGlzLl90ZW1wbGF0ZXMgPSBbICQoJzxkaXY+JykKCQkJCS5hZGRDbGFzcyhzZXR0aW5ncy5kb3RDbGFzcykKCQkJCS5hcHBlbmQoJCgnPHNwYW4+JykpCgkJCQkucHJvcCgnb3V0ZXJIVE1MJykgXTsKCQl9CgoJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZSA9IChzZXR0aW5ncy5kb3RzQ29udGFpbmVyID8gJChzZXR0aW5ncy5kb3RzQ29udGFpbmVyKQoJCQk6ICQoJzxkaXY+JykuYWRkQ2xhc3Moc2V0dGluZ3MuZG90c0NsYXNzKS5hcHBlbmRUbyh0aGlzLiRlbGVtZW50KSkuYWRkQ2xhc3MoJ2Rpc2FibGVkJyk7CgoJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5vbignY2xpY2snLCAnZGl2JywgJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCXZhciBpbmRleCA9ICQoZS50YXJnZXQpLnBhcmVudCgpLmlzKHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZSkKCQkJCT8gJChlLnRhcmdldCkuaW5kZXgoKSA6ICQoZS50YXJnZXQpLnBhcmVudCgpLmluZGV4KCk7CgoJCQllLnByZXZlbnREZWZhdWx0KCk7CgoJCQl0aGlzLnRvKGluZGV4LCBzZXR0aW5ncy5kb3RzU3BlZWQpOwoJCX0sIHRoaXMpKTsKCgkJLy8gb3ZlcnJpZGUgcHVibGljIG1ldGhvZHMgb2YgdGhlIGNhcm91c2VsCgkJZm9yIChvdmVycmlkZSBpbiB0aGlzLl9vdmVycmlkZXMpIHsKCQkJdGhpcy5fY29yZVtvdmVycmlkZV0gPSAkLnByb3h5KHRoaXNbb3ZlcnJpZGVdLCB0aGlzKTsKCQl9Cgl9OwoKCS8qKgoJICogRGVzdHJveXMgdGhlIHBsdWdpbi4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUuZGVzdHJveSA9IGZ1bmN0aW9uKCkgewoJCXZhciBoYW5kbGVyLCBjb250cm9sLCBwcm9wZXJ0eSwgb3ZlcnJpZGU7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAoY29udHJvbCBpbiB0aGlzLl9jb250cm9scykgewoJCQl0aGlzLl9jb250cm9sc1tjb250cm9sXS5yZW1vdmUoKTsKCQl9CgkJZm9yIChvdmVycmlkZSBpbiB0aGlzLm92ZXJpZGVzKSB7CgkJCXRoaXMuX2NvcmVbb3ZlcnJpZGVdID0gdGhpcy5fb3ZlcnJpZGVzW292ZXJyaWRlXTsKCQl9CgkJZm9yIChwcm9wZXJ0eSBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkgewoJCQl0eXBlb2YgdGhpc1twcm9wZXJ0eV0gIT0gJ2Z1bmN0aW9uJyAmJiAodGhpc1twcm9wZXJ0eV0gPSBudWxsKTsKCQl9Cgl9OwoKCS8qKgoJICogVXBkYXRlcyB0aGUgaW50ZXJuYWwgc3RhdGUuCgkgKiBAcHJvdGVjdGVkCgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLnVwZGF0ZSA9IGZ1bmN0aW9uKCkgewoJCXZhciBpLCBqLCBrLAoJCQlsb3dlciA9IHRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoIC8gMiwKCQkJdXBwZXIgPSBsb3dlciArIHRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsCgkJCW1heGltdW0gPSB0aGlzLl9jb3JlLm1heGltdW0odHJ1ZSksCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5ncywKCQkJc2l6ZSA9IHNldHRpbmdzLmNlbnRlciB8fCBzZXR0aW5ncy5hdXRvV2lkdGggfHwgc2V0dGluZ3MuZG90c0RhdGEKCQkJCT8gMSA6IHNldHRpbmdzLmRvdHNFYWNoIHx8IHNldHRpbmdzLml0ZW1zOwoKCQlpZiAoc2V0dGluZ3Muc2xpZGVCeSAhPT0gJ3BhZ2UnKSB7CgkJCXNldHRpbmdzLnNsaWRlQnkgPSBNYXRoLm1pbihzZXR0aW5ncy5zbGlkZUJ5LCBzZXR0aW5ncy5pdGVtcyk7CgkJfQoKCQlpZiAoc2V0dGluZ3MuZG90cyB8fCBzZXR0aW5ncy5zbGlkZUJ5ID09ICdwYWdlJykgewoJCQl0aGlzLl9wYWdlcyA9IFtdOwoKCQkJZm9yIChpID0gbG93ZXIsIGogPSAwLCBrID0gMDsgaSA8IHVwcGVyOyBpKyspIHsKCQkJCWlmIChqID49IHNpemUgfHwgaiA9PT0gMCkgewoJCQkJCXRoaXMuX3BhZ2VzLnB1c2goewoJCQkJCQlzdGFydDogTWF0aC5taW4obWF4aW11bSwgaSAtIGxvd2VyKSwKCQkJCQkJZW5kOiBpIC0gbG93ZXIgKyBzaXplIC0gMQoJCQkJCX0pOwoJCQkJCWlmIChNYXRoLm1pbihtYXhpbXVtLCBpIC0gbG93ZXIpID09PSBtYXhpbXVtKSB7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCQlqID0gMCwgKytrOwoJCQkJfQoJCQkJaiArPSB0aGlzLl9jb3JlLm1lcmdlcnModGhpcy5fY29yZS5yZWxhdGl2ZShpKSk7CgkJCX0KCQl9Cgl9OwoKCS8qKgoJICogRHJhd3MgdGhlIHVzZXIgaW50ZXJmYWNlLgoJICogQHRvZG8gVGhlIG9wdGlvbiBgZG90c0RhdGFgIHdvbnQgd29yay4KCSAqIEBwcm90ZWN0ZWQKCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUuZHJhdyA9IGZ1bmN0aW9uKCkgewoJCXZhciBkaWZmZXJlbmNlLAoJCQlzZXR0aW5ncyA9IHRoaXMuX2NvcmUuc2V0dGluZ3MsCgkJCWRpc2FibGVkID0gdGhpcy5fY29yZS5pdGVtcygpLmxlbmd0aCA8PSBzZXR0aW5ncy5pdGVtcywKCQkJaW5kZXggPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSwKCQkJbG9vcCA9IHNldHRpbmdzLmxvb3AgfHwgc2V0dGluZ3MucmV3aW5kOwoKCQl0aGlzLl9jb250cm9scy4kcmVsYXRpdmUudG9nZ2xlQ2xhc3MoJ2Rpc2FibGVkJywgIXNldHRpbmdzLm5hdiB8fCBkaXNhYmxlZCk7CgoJCWlmIChzZXR0aW5ncy5uYXYpIHsKCQkJdGhpcy5fY29udHJvbHMuJHByZXZpb3VzLnRvZ2dsZUNsYXNzKCdkaXNhYmxlZCcsICFsb29wICYmIGluZGV4IDw9IHRoaXMuX2NvcmUubWluaW11bSh0cnVlKSk7CgkJCXRoaXMuX2NvbnRyb2xzLiRuZXh0LnRvZ2dsZUNsYXNzKCdkaXNhYmxlZCcsICFsb29wICYmIGluZGV4ID49IHRoaXMuX2NvcmUubWF4aW11bSh0cnVlKSk7CgkJfQoKCQl0aGlzLl9jb250cm9scy4kYWJzb2x1dGUudG9nZ2xlQ2xhc3MoJ2Rpc2FibGVkJywgIXNldHRpbmdzLmRvdHMgfHwgZGlzYWJsZWQpOwoKCQlpZiAoc2V0dGluZ3MuZG90cykgewoJCQlkaWZmZXJlbmNlID0gdGhpcy5fcGFnZXMubGVuZ3RoIC0gdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkubGVuZ3RoOwoKCQkJaWYgKHNldHRpbmdzLmRvdHNEYXRhICYmIGRpZmZlcmVuY2UgIT09IDApIHsKCQkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5odG1sKHRoaXMuX3RlbXBsYXRlcy5qb2luKCcnKSk7CgkJCX0gZWxzZSBpZiAoZGlmZmVyZW5jZSA+IDApIHsKCQkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5hcHBlbmQobmV3IEFycmF5KGRpZmZlcmVuY2UgKyAxKS5qb2luKHRoaXMuX3RlbXBsYXRlc1swXSkpOwoJCQl9IGVsc2UgaWYgKGRpZmZlcmVuY2UgPCAwKSB7CgkJCQl0aGlzLl9jb250cm9scy4kYWJzb2x1dGUuY2hpbGRyZW4oKS5zbGljZShkaWZmZXJlbmNlKS5yZW1vdmUoKTsKCQkJfQoKCQkJdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmZpbmQoJy5hY3RpdmUnKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7CgkJCXRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZS5jaGlsZHJlbigpLmVxKCQuaW5BcnJheSh0aGlzLmN1cnJlbnQoKSwgdGhpcy5fcGFnZXMpKS5hZGRDbGFzcygnYWN0aXZlJyk7CgkJfQoJfTsKCgkvKioKCSAqIEV4dGVuZHMgZXZlbnQgZGF0YS4KCSAqIEBwcm90ZWN0ZWQKCSAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IC0gVGhlIGV2ZW50IG9iamVjdCB3aGljaCBnZXRzIHRocm93bi4KCSAqLwoJTmF2aWdhdGlvbi5wcm90b3R5cGUub25UcmlnZ2VyID0gZnVuY3Rpb24oZXZlbnQpIHsKCQl2YXIgc2V0dGluZ3MgPSB0aGlzLl9jb3JlLnNldHRpbmdzOwoKCQlldmVudC5wYWdlID0gewoJCQlpbmRleDogJC5pbkFycmF5KHRoaXMuY3VycmVudCgpLCB0aGlzLl9wYWdlcyksCgkJCWNvdW50OiB0aGlzLl9wYWdlcy5sZW5ndGgsCgkJCXNpemU6IHNldHRpbmdzICYmIChzZXR0aW5ncy5jZW50ZXIgfHwgc2V0dGluZ3MuYXV0b1dpZHRoIHx8IHNldHRpbmdzLmRvdHNEYXRhCgkJCQk/IDEgOiBzZXR0aW5ncy5kb3RzRWFjaCB8fCBzZXR0aW5ncy5pdGVtcykKCQl9OwoJfTsKCgkvKioKCSAqIEdldHMgdGhlIGN1cnJlbnQgcGFnZSBwb3NpdGlvbiBvZiB0aGUgY2Fyb3VzZWwuCgkgKiBAcHJvdGVjdGVkCgkgKiBAcmV0dXJucyB7TnVtYmVyfQoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5jdXJyZW50ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGN1cnJlbnQgPSB0aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKTsKCQlyZXR1cm4gJC5ncmVwKHRoaXMuX3BhZ2VzLCAkLnByb3h5KGZ1bmN0aW9uKHBhZ2UsIGluZGV4KSB7CgkJCXJldHVybiBwYWdlLnN0YXJ0IDw9IGN1cnJlbnQgJiYgcGFnZS5lbmQgPj0gY3VycmVudDsKCQl9LCB0aGlzKSkucG9wKCk7Cgl9OwoKCS8qKgoJICogR2V0cyB0aGUgY3VycmVudCBzdWNjZXNvci9wcmVkZWNlc3NvciBwb3NpdGlvbi4KCSAqIEBwcm90ZWN0ZWQKCSAqIEByZXR1cm5zIHtOdW1iZXJ9CgkgKi8KCU5hdmlnYXRpb24ucHJvdG90eXBlLmdldFBvc2l0aW9uID0gZnVuY3Rpb24oc3VjY2Vzc29yKSB7CgkJdmFyIHBvc2l0aW9uLCBsZW5ndGgsCgkJCXNldHRpbmdzID0gdGhpcy5fY29yZS5zZXR0aW5nczsKCgkJaWYgKHNldHRpbmdzLnNsaWRlQnkgPT0gJ3BhZ2UnKSB7CgkJCXBvc2l0aW9uID0gJC5pbkFycmF5KHRoaXMuY3VycmVudCgpLCB0aGlzLl9wYWdlcyk7CgkJCWxlbmd0aCA9IHRoaXMuX3BhZ2VzLmxlbmd0aDsKCQkJc3VjY2Vzc29yID8gKytwb3NpdGlvbiA6IC0tcG9zaXRpb247CgkJCXBvc2l0aW9uID0gdGhpcy5fcGFnZXNbKChwb3NpdGlvbiAlIGxlbmd0aCkgKyBsZW5ndGgpICUgbGVuZ3RoXS5zdGFydDsKCQl9IGVsc2UgewoJCQlwb3NpdGlvbiA9IHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpOwoJCQlsZW5ndGggPSB0aGlzLl9jb3JlLml0ZW1zKCkubGVuZ3RoOwoJCQlzdWNjZXNzb3IgPyBwb3NpdGlvbiArPSBzZXR0aW5ncy5zbGlkZUJ5IDogcG9zaXRpb24gLT0gc2V0dGluZ3Muc2xpZGVCeTsKCQl9CgoJCXJldHVybiBwb3NpdGlvbjsKCX07CgoJLyoqCgkgKiBTbGlkZXMgdG8gdGhlIG5leHQgaXRlbSBvciBwYWdlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZD1mYWxzZV0gLSBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHRoZSB0cmFuc2l0aW9uLgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5uZXh0ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQkkLnByb3h5KHRoaXMuX292ZXJyaWRlcy50bywgdGhpcy5fY29yZSkodGhpcy5nZXRQb3NpdGlvbih0cnVlKSwgc3BlZWQpOwoJfTsKCgkvKioKCSAqIFNsaWRlcyB0byB0aGUgcHJldmlvdXMgaXRlbSBvciBwYWdlLgoJICogQHB1YmxpYwoJICogQHBhcmFtIHtOdW1iZXJ9IFtzcGVlZD1mYWxzZV0gLSBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgZm9yIHRoZSB0cmFuc2l0aW9uLgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS5wcmV2ID0gZnVuY3Rpb24oc3BlZWQpIHsKCQkkLnByb3h5KHRoaXMuX292ZXJyaWRlcy50bywgdGhpcy5fY29yZSkodGhpcy5nZXRQb3NpdGlvbihmYWxzZSksIHNwZWVkKTsKCX07CgoJLyoqCgkgKiBTbGlkZXMgdG8gdGhlIHNwZWNpZmllZCBpdGVtIG9yIHBhZ2UuCgkgKiBAcHVibGljCgkgKiBAcGFyYW0ge051bWJlcn0gcG9zaXRpb24gLSBUaGUgcG9zaXRpb24gb2YgdGhlIGl0ZW0gb3IgcGFnZS4KCSAqIEBwYXJhbSB7TnVtYmVyfSBbc3BlZWRdIC0gVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciB0aGUgdHJhbnNpdGlvbi4KCSAqIEBwYXJhbSB7Qm9vbGVhbn0gW3N0YW5kYXJkPWZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRoZSBzdGFuZGFyZCBiZWhhdmlvdXIgb3Igbm90LgoJICovCglOYXZpZ2F0aW9uLnByb3RvdHlwZS50byA9IGZ1bmN0aW9uKHBvc2l0aW9uLCBzcGVlZCwgc3RhbmRhcmQpIHsKCQl2YXIgbGVuZ3RoOwoKCQlpZiAoIXN0YW5kYXJkICYmIHRoaXMuX3BhZ2VzLmxlbmd0aCkgewoJCQlsZW5ndGggPSB0aGlzLl9wYWdlcy5sZW5ndGg7CgkJCSQucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLCB0aGlzLl9jb3JlKSh0aGlzLl9wYWdlc1soKHBvc2l0aW9uICUgbGVuZ3RoKSArIGxlbmd0aCkgJSBsZW5ndGhdLnN0YXJ0LCBzcGVlZCk7CgkJfSBlbHNlIHsKCQkJJC5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sIHRoaXMuX2NvcmUpKHBvc2l0aW9uLCBzcGVlZCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuTmF2aWdhdGlvbiA9IE5hdmlnYXRpb247Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogSGFzaCBQbHVnaW4KICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBBcnR1cyBLb2xhbm93c2tpCiAqIEBhdXRob3IgRGF2aWQgRGV1dHNjaAogKiBAbGljZW5zZSBUaGUgTUlUIExpY2Vuc2UgKE1JVCkKICovCjsoZnVuY3Rpb24oJCwgd2luZG93LCBkb2N1bWVudCwgdW5kZWZpbmVkKSB7CgkndXNlIHN0cmljdCc7CgoJLyoqCgkgKiBDcmVhdGVzIHRoZSBoYXNoIHBsdWdpbi4KCSAqIEBjbGFzcyBUaGUgSGFzaCBQbHVnaW4KCSAqIEBwYXJhbSB7T3dsfSBjYXJvdXNlbCAtIFRoZSBPd2wgQ2Fyb3VzZWwKCSAqLwoJdmFyIEhhc2ggPSBmdW5jdGlvbihjYXJvdXNlbCkgewoJCS8qKgoJCSAqIFJlZmVyZW5jZSB0byB0aGUgY29yZS4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge093bH0KCQkgKi8KCQl0aGlzLl9jb3JlID0gY2Fyb3VzZWw7CgoJCS8qKgoJCSAqIEhhc2ggaW5kZXggZm9yIHRoZSBpdGVtcy4KCQkgKiBAcHJvdGVjdGVkCgkJICogQHR5cGUge09iamVjdH0KCQkgKi8KCQl0aGlzLl9oYXNoZXMgPSB7fTsKCgkJLyoqCgkJICogVGhlIGNhcm91c2VsIGVsZW1lbnQuCgkJICogQHR5cGUge2pRdWVyeX0KCQkgKi8KCQl0aGlzLiRlbGVtZW50ID0gdGhpcy5fY29yZS4kZWxlbWVudDsKCgkJLyoqCgkJICogQWxsIGV2ZW50IGhhbmRsZXJzLgoJCSAqIEBwcm90ZWN0ZWQKCQkgKiBAdHlwZSB7T2JqZWN0fQoJCSAqLwoJCXRoaXMuX2hhbmRsZXJzID0gewoJCQknaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgdGhpcy5fY29yZS5zZXR0aW5ncy5zdGFydFBvc2l0aW9uID09PSAnVVJMSGFzaCcpIHsKCQkJCQkkKHdpbmRvdykudHJpZ2dlcignaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbicpOwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ3ByZXBhcmVkLm93bC5jYXJvdXNlbCc6ICQucHJveHkoZnVuY3Rpb24oZSkgewoJCQkJaWYgKGUubmFtZXNwYWNlKSB7CgkJCQkJdmFyIGhhc2ggPSAkKGUuY29udGVudCkuZmluZCgnW2RhdGEtaGFzaF0nKS5hZGRCYWNrKCdbZGF0YS1oYXNoXScpLmF0dHIoJ2RhdGEtaGFzaCcpOwoKCQkJCQlpZiAoIWhhc2gpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJdGhpcy5faGFzaGVzW2hhc2hdID0gZS5jb250ZW50OwoJCQkJfQoJCQl9LCB0aGlzKSwKCQkJJ2NoYW5nZWQub3dsLmNhcm91c2VsJzogJC5wcm94eShmdW5jdGlvbihlKSB7CgkJCQlpZiAoZS5uYW1lc3BhY2UgJiYgZS5wcm9wZXJ0eS5uYW1lID09PSAncG9zaXRpb24nKSB7CgkJCQkJdmFyIGN1cnJlbnQgPSB0aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpKSwKCQkJCQkJaGFzaCA9ICQubWFwKHRoaXMuX2hhc2hlcywgZnVuY3Rpb24oaXRlbSwgaGFzaCkgewoJCQkJCQkJcmV0dXJuIGl0ZW0gPT09IGN1cnJlbnQgPyBoYXNoIDogbnVsbDsKCQkJCQkJfSkuam9pbigpOwoKCQkJCQlpZiAoIWhhc2ggfHwgd2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSkgPT09IGhhc2gpIHsKCQkJCQkJcmV0dXJuOwoJCQkJCX0KCgkJCQkJd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoOwoJCQkJfQoJCQl9LCB0aGlzKQoJCX07CgoJCS8vIHNldCBkZWZhdWx0IG9wdGlvbnMKCQl0aGlzLl9jb3JlLm9wdGlvbnMgPSAkLmV4dGVuZCh7fSwgSGFzaC5EZWZhdWx0cywgdGhpcy5fY29yZS5vcHRpb25zKTsKCgkJLy8gcmVnaXN0ZXIgdGhlIGV2ZW50IGhhbmRsZXJzCgkJdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyk7CgoJCS8vIHJlZ2lzdGVyIGV2ZW50IGxpc3RlbmVyIGZvciBoYXNoIG5hdmlnYXRpb24KCQkkKHdpbmRvdykub24oJ2hhc2hjaGFuZ2Uub3dsLm5hdmlnYXRpb24nLCAkLnByb3h5KGZ1bmN0aW9uKGUpIHsKCQkJdmFyIGhhc2ggPSB3aW5kb3cubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSksCgkJCQlpdGVtcyA9IHRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCksCgkJCQlwb3NpdGlvbiA9IHRoaXMuX2hhc2hlc1toYXNoXSAmJiBpdGVtcy5pbmRleCh0aGlzLl9oYXNoZXNbaGFzaF0pOwoKCQkJaWYgKHBvc2l0aW9uID09PSB1bmRlZmluZWQgfHwgcG9zaXRpb24gPT09IHRoaXMuX2NvcmUuY3VycmVudCgpKSB7CgkJCQlyZXR1cm47CgkJCX0KCgkJCXRoaXMuX2NvcmUudG8odGhpcy5fY29yZS5yZWxhdGl2ZShwb3NpdGlvbiksIGZhbHNlLCB0cnVlKTsKCQl9LCB0aGlzKSk7Cgl9OwoKCS8qKgoJICogRGVmYXVsdCBvcHRpb25zLgoJICogQHB1YmxpYwoJICovCglIYXNoLkRlZmF1bHRzID0gewoJCVVSTGhhc2hMaXN0ZW5lcjogZmFsc2UKCX07CgoJLyoqCgkgKiBEZXN0cm95cyB0aGUgcGx1Z2luLgoJICogQHB1YmxpYwoJICovCglIYXNoLnByb3RvdHlwZS5kZXN0cm95ID0gZnVuY3Rpb24oKSB7CgkJdmFyIGhhbmRsZXIsIHByb3BlcnR5OwoKCQkkKHdpbmRvdykub2ZmKCdoYXNoY2hhbmdlLm93bC5uYXZpZ2F0aW9uJyk7CgoJCWZvciAoaGFuZGxlciBpbiB0aGlzLl9oYW5kbGVycykgewoJCQl0aGlzLl9jb3JlLiRlbGVtZW50Lm9mZihoYW5kbGVyLCB0aGlzLl9oYW5kbGVyc1toYW5kbGVyXSk7CgkJfQoJCWZvciAocHJvcGVydHkgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpIHsKCQkJdHlwZW9mIHRoaXNbcHJvcGVydHldICE9ICdmdW5jdGlvbicgJiYgKHRoaXNbcHJvcGVydHldID0gbnVsbCk7CgkJfQoJfTsKCgkkLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuSGFzaCA9IEhhc2g7Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7CgovKioKICogU3VwcG9ydCBQbHVnaW4KICoKICogQHZlcnNpb24gMi4xLjAKICogQGF1dGhvciBWaXZpZCBQbGFuZXQgU29mdHdhcmUgR21iSAogKiBAYXV0aG9yIEFydHVzIEtvbGFub3dza2kKICogQGF1dGhvciBEYXZpZCBEZXV0c2NoCiAqIEBsaWNlbnNlIFRoZSBNSVQgTGljZW5zZSAoTUlUKQogKi8KOyhmdW5jdGlvbigkLCB3aW5kb3csIGRvY3VtZW50LCB1bmRlZmluZWQpIHsKCgl2YXIgc3R5bGUgPSAkKCc8c3VwcG9ydD4nKS5nZXQoMCkuc3R5bGUsCgkJcHJlZml4ZXMgPSAnV2Via2l0IE1veiBPIG1zJy5zcGxpdCgnICcpLAoJCWV2ZW50cyA9IHsKCQkJdHJhbnNpdGlvbjogewoJCQkJZW5kOiB7CgkJCQkJV2Via2l0VHJhbnNpdGlvbjogJ3dlYmtpdFRyYW5zaXRpb25FbmQnLAoJCQkJCU1velRyYW5zaXRpb246ICd0cmFuc2l0aW9uZW5kJywKCQkJCQlPVHJhbnNpdGlvbjogJ29UcmFuc2l0aW9uRW5kJywKCQkJCQl0cmFuc2l0aW9uOiAndHJhbnNpdGlvbmVuZCcKCQkJCX0KCQkJfSwKCQkJYW5pbWF0aW9uOiB7CgkJCQllbmQ6IHsKCQkJCQlXZWJraXRBbmltYXRpb246ICd3ZWJraXRBbmltYXRpb25FbmQnLAoJCQkJCU1vekFuaW1hdGlvbjogJ2FuaW1hdGlvbmVuZCcsCgkJCQkJT0FuaW1hdGlvbjogJ29BbmltYXRpb25FbmQnLAoJCQkJCWFuaW1hdGlvbjogJ2FuaW1hdGlvbmVuZCcKCQkJCX0KCQkJfQoJCX0sCgkJdGVzdHMgPSB7CgkJCWNzc3RyYW5zZm9ybXM6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICEhdGVzdCgndHJhbnNmb3JtJyk7CgkJCX0sCgkJCWNzc3RyYW5zZm9ybXMzZDogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gISF0ZXN0KCdwZXJzcGVjdGl2ZScpOwoJCQl9LAoJCQljc3N0cmFuc2l0aW9uczogZnVuY3Rpb24oKSB7CgkJCQlyZXR1cm4gISF0ZXN0KCd0cmFuc2l0aW9uJyk7CgkJCX0sCgkJCWNzc2FuaW1hdGlvbnM6IGZ1bmN0aW9uKCkgewoJCQkJcmV0dXJuICEhdGVzdCgnYW5pbWF0aW9uJyk7CgkJCX0KCQl9OwoKCWZ1bmN0aW9uIHRlc3QocHJvcGVydHksIHByZWZpeGVkKSB7CgkJdmFyIHJlc3VsdCA9IGZhbHNlLAoJCQl1cHBlciA9IHByb3BlcnR5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcHJvcGVydHkuc2xpY2UoMSk7CgoJCSQuZWFjaCgocHJvcGVydHkgKyAnICcgKyBwcmVmaXhlcy5qb2luKHVwcGVyICsgJyAnKSArIHVwcGVyKS5zcGxpdCgnICcpLCBmdW5jdGlvbihpLCBwcm9wZXJ0eSkgewoJCQlpZiAoc3R5bGVbcHJvcGVydHldICE9PSB1bmRlZmluZWQpIHsKCQkJCXJlc3VsdCA9IHByZWZpeGVkID8gcHJvcGVydHkgOiB0cnVlOwoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJfSk7CgoJCXJldHVybiByZXN1bHQ7Cgl9CgoJZnVuY3Rpb24gcHJlZml4ZWQocHJvcGVydHkpIHsKCQlyZXR1cm4gdGVzdChwcm9wZXJ0eSwgdHJ1ZSk7Cgl9CgoJaWYgKHRlc3RzLmNzc3RyYW5zaXRpb25zKCkpIHsKCQkvKiBqc2hpbnQgLVcwNTMgKi8KCQkkLnN1cHBvcnQudHJhbnNpdGlvbiA9IG5ldyBTdHJpbmcocHJlZml4ZWQoJ3RyYW5zaXRpb24nKSkKCQkkLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQgPSBldmVudHMudHJhbnNpdGlvbi5lbmRbICQuc3VwcG9ydC50cmFuc2l0aW9uIF07Cgl9CgoJaWYgKHRlc3RzLmNzc2FuaW1hdGlvbnMoKSkgewoJCS8qIGpzaGludCAtVzA1MyAqLwoJCSQuc3VwcG9ydC5hbmltYXRpb24gPSBuZXcgU3RyaW5nKHByZWZpeGVkKCdhbmltYXRpb24nKSkKCQkkLnN1cHBvcnQuYW5pbWF0aW9uLmVuZCA9IGV2ZW50cy5hbmltYXRpb24uZW5kWyAkLnN1cHBvcnQuYW5pbWF0aW9uIF07Cgl9CgoJaWYgKHRlc3RzLmNzc3RyYW5zZm9ybXMoKSkgewoJCS8qIGpzaGludCAtVzA1MyAqLwoJCSQuc3VwcG9ydC50cmFuc2Zvcm0gPSBuZXcgU3RyaW5nKHByZWZpeGVkKCd0cmFuc2Zvcm0nKSk7CgkJJC5zdXBwb3J0LnRyYW5zZm9ybTNkID0gdGVzdHMuY3NzdHJhbnNmb3JtczNkKCk7Cgl9Cgp9KSh3aW5kb3cuWmVwdG8gfHwgd2luZG93LmpRdWVyeSwgd2luZG93LCBkb2N1bWVudCk7Cg=="}},"time_used":72,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":65,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/uploads/Crypto.com-logo.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.118Z","timestamp":1785135592118,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/uploads/Crypto.com-logo.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 404 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: text/html\r\ncontent-length: 1759\r\ncontent-encoding: br\r\netag: W/\"119f-68416ca6-bb1cd3e5385ca183;;;\"\r\nlast-modified: Thu, 05 Jun 2025 10:08:38 GMT\r\npanel: hpanel\r\nplatform: hostinger\r\nx-turbo-charged-by: LiteSpeed\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: eb8784692f18dc40501776ee04dbcc60-srv-edge3\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Google Analytics","description":"Google Analytics is a free web analytics service that tracks and reports website traffic.","website":"https://google.com/analytics","common_platform_enumeration":"","icon":"Google Analytics.svg","categories":["Analytics"]},{"name":"LiteSpeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://www.litespeedtech.com/products/cache-plugins/wordpress-acceleration","common_platform_enumeration":"","icon":"LiteSpeed.svg","categories":["Caching","WordPress plugins"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]},{"name":"Bootstrap:3.3.7","description":"Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.","website":"https://getbootstrap.com","common_platform_enumeration":"cpe:2.3:a:getbootstrap:bootstrap:*:*:*:*:*:*:*:*","icon":"Bootstrap.svg","categories":["UI frameworks"]},{"name":"Litespeed Cache","description":"LiteSpeed Cache is an all-in-one site acceleration plugin for WordPress.","website":"https://wordpress.org/plugins/litespeed-cache/","common_platform_enumeration":"","icon":"litespeed-cache.png","categories":["Caching","WordPress plugins"]}],"data":{"size":4511,"size_decoded":2173,"mime_type":"text/html","magic":"HTML document, ASCII text, with very long lines (371)","md5":"b16e9097fc7d3af8ebfcfce7aba0a42d","sha1":"2af3c8408b8445fe81d9a7c8d7cc8e8a05bf80f5","sha256":"e7db95c97a5d45787cc3e40cbcb93b748fefc65bc14e162c746e37f979861729","sha512":"53a7a2c276fbc5159231c162eb863504448515f1a078832b81f1bffeedb1c82932810b66748fd4111d1b8fb866622a5cc63e79e497227b611c90886ba45d3f3b","ssdeep":"96:tr+ulojsBwJG8YqVcqHL/GSrrLc1VhrJuzeK:tyoasBwJG8nVjaSeVhrJgeK","tlshash":"0891f88f25f381452603c99037f9b61499554007f685eca8bdee9228cfc4b8a41e3bdc","first_seen":"2025-04-22T08:45:29.599713Z","last_seen":"2026-08-18T05:28:18.614152Z","times_seen":39377,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuLXVzIgogICAgcHJlZml4PSJjb250ZW50OiBodHRwOi8vcHVybC5vcmcvcnNzLzEuMC9tb2R1bGVzL2NvbnRlbnQvIGRjOiBodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvIGZvYWY6IGh0dHA6Ly94bWxucy5jb20vZm9hZi8wLjEvIG9nOiBodHRwOi8vb2dwLm1lL25zIyByZGZzOiBodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIHNpb2M6IGh0dHA6Ly9yZGZzLm9yZy9zaW9jL25zIyBzaW9jdDogaHR0cDovL3JkZnMub3JnL3Npb2MvdHlwZXMjIHNrb3M6IGh0dHA6Ly93d3cudzMub3JnLzIwMDQvMDIvc2tvcy9jb3JlIyB4c2Q6IGh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIyI+Cgo8aGVhZD4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKCiAgICAgICAgW25nXDpjbG9ha10sCiAgICAgICAgW25nLWNsb2FrXSwKICAgICAgICBbZGF0YS1uZy1jbG9ha10sCiAgICAgICAgW3gtbmctY2xvYWtdLAogICAgICAgIC5uZy1jbG9haywKICAgICAgICAueC1uZy1jbG9haywKICAgICAgICAubmctaGlkZTpub3QoLm5nLWhpZGUtYW5pbWF0ZSkgewogICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICBuZ1w6Zm9ybSB7CiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLm5nLWFuaW1hdGUtc2hpbSB7CiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC5uZy1hbmNob3IgewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxtZXRhIGh0dHAtZXF1aXY9IlgtVUEtQ29tcGF0aWJsZSIgY29udGVudD0iSUU9ZWRnZSI+CiAgICA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEiPgogICAgPHRpdGxlPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvdGl0bGU+CiAgICA8bWV0YSBuYW1lPSJkZXNjcmlwdGlvbiIgY29udGVudD0iT29wcywgbG9va3MgbGlrZSB0aGUgcGFnZSBpcyBsb3N0LiI+CiAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy43L2Nzcy9ib290c3RyYXAubWluLmNzcyI+CiAgICA8bGluayBocmVmPSJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9RE0rU2FuczozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgogICAgPGxpbmsgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90bzozMDAsMzAwaSw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSw4MDAsODAwaSIKICAgICAgICByZWw9InN0eWxlc2hlZXQiPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBhc3luYz0iIgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLTlRNkgwUUVUUkYmYW1wO2N4PWMmYW1wO19zbGM9MSI+PC9zY3JpcHQ+CiAgICA8c2NyaXB0IGFzeW5jPSIiIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xlLWFuYWx5dGljcy5jb20vYW5hbHl0aWNzLmpzIj48L3NjcmlwdD4KICAgIDxzY3JpcHQ+CiAgICAgICAgKGZ1bmN0aW9uIChpLCBzLCBvLCBnLCByLCBhLCBtKSB7CiAgICAgICAgICAgIGlbJ0dvb2dsZUFuYWx5dGljc09iamVjdCddID0gcjsgaVtyXSA9IGlbcl0gfHwgZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgKGlbcl0ucSA9IGlbcl0ucSB8fCBbXSkucHVzaChhcmd1bWVudHMpCiAgICAgICAgICAgIH0sIGlbcl0ubCA9IDEgKiBuZXcgRGF0ZSgpOyBhID0gcy5jcmVhdGVFbGVtZW50KG8pLAogICAgICAgICAgICAgICAgbSA9IHMuZ2V0RWxlbWVudHNCeVRhZ05hbWUobylbMF07IGEuYXN5bmMgPSAxOyBhLnNyYyA9IGc7IG0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoYSwgbSkKICAgICAgICB9KSh3aW5kb3csIGRvY3VtZW50LCAnc2NyaXB0JywgJ2h0dHBzOi8vd3d3Lmdvb2dsZS1hbmFseXRpY3MuY29tL2FuYWx5dGljcy5qcycsICdnYScpOwoKICAgICAgICBnYSgnY3JlYXRlJywgJ1VBLTI2NTc1OTg5LTQ2JywgJ2F1dG8nKTsKICAgICAgICBnYSgnc2VuZCcsICdwYWdldmlldycpOwoKICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keT4KICAgIDxpZnJhbWUgYWxsb3c9ImpvaW4tYWQtaW50ZXJlc3QtZ3JvdXAiIGRhdGEtdGFnZ2luZy1pZD0iRy05UTZIMFFFVFJGIiBkYXRhLWxvYWQtdGltZT0iMTc0NDcwOTQ2NDA5MyIgaGVpZ2h0PSIwIgogICAgICAgIHdpZHRoPSIwIgogICAgICAgIHNyYz0iaHR0cHM6Ly90ZC5kb3VibGVjbGljay5uZXQvdGQvZ2EvcnVsP3RpZD1HLTlRNkgwUUVUUkYmYW1wO2dhY2lkPTE2Njk1ODM0ODYuMTc0NDcwOTQ2MyZhbXA7Z3RtPTQ1amU1NGIwdjkxMjU5NTkxMTJ6YTIwMCZhbXA7ZG1hPTEmYW1wO2RtYV9jcHM9c3lwaGFtbyZhbXA7Z2NkPTEzbDNsUGwybDJsMSZhbXA7bnBhPTAmYW1wO3BzY2RsPW5vYXBpJmFtcDthaXA9MSZhbXA7ZmxlZGdlPTEmYW1wO2ZybT0wJmFtcDt0YWdfZXhwPTEwMjUwOTY4M34xMDI4MDMyNzl+MTAyODEzMTA5fjEwMjg4NzgwMH4xMDI5MjYwNjJ+MTAzMDIxODMwfjEwMzAyNzAxNn4xMDMwNTE5NTN+MTAzMDU1NDY1fjEwMzA3Nzk1MCZhbXA7ej0yMTA4NTA0Mzg5IgogICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyB2aXNpYmlsaXR5OiBoaWRkZW47Ij4KICAgIDwvaWZyYW1lPgogICAgPGRpdiBjbGFzcz0icGFnZS1ub3QtZm91bmQiPgogICAgICAgIDxpbWcgY2xhc3M9ImltYWdlIiBhbHQ9IlBhZ2UgTm90IEZvdW5kIiBzcmM9Ii9odGRvY3NfZXJyb3IvcGFnZV9ub3RfZm91bmQuc3ZnIiAvPgogICAgICAgIDxoMSBjbGFzcz0idGl0bGUiPlRoaXMgUGFnZSBEb2VzIE5vdCBFeGlzdDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InRleHQiPgogICAgICAgICAgICBTb3JyeSwgdGhlIHBhZ2UgeW91IGFyZSBsb29raW5nIGZvciBjb3VsZCBub3QgYmUgZm91bmQuIEl0J3MganVzdCBhbgogICAgICAgICAgICBhY2NpZGVudCB0aGF0IHdhcyBub3QgaW50ZW50aW9uYWwuCiAgICAgICAgPC9wPgogICAgPC9kaXY+Cgo8L2JvZHk+CjxzdHlsZT4KICAgIGJvZHkgewogICAgICAgIGNvbG9yOiAjMWQxZTIwOwogICAgICAgIGJhY2tncm91bmQ6ICNmNGY1ZmY7CgogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogIkRNIFNhbnMiLCAiUm9ib3RvIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7CiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKICAgIH0KCiAgICAucGFnZS1ub3QtZm91bmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwoKICAgICAgICBpbWcgewogICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UgewogICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIC50aXRsZSB7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIH0KCiAgICAgICAgLnRleHQgewogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1heC13aWR0aDogNjUwcHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICAgIGNvbG9yOiAjNkQ3MDgxOwogICAgICAgIH0KCgogICAgfQo8L3N0eWxlPgoKPC9odG1sPgo="}},"time_used":29,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/logo.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.658Z","timestamp":1785135592658,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /logo.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 8156\r\ncache-control: public, max-age=604800\r\nage: 1\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 1923b758168497fb97fb11ce9a42aaa0-srv-edge3\r\nx-hcdn-cache-status: HIT\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":8156,"size_decoded":8478,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"66184cb477c74c3c821a4de23fd07a92","sha1":"1655765f02801030e986b8eb06935445cf02664b","sha256":"869fd9c01b1d8a9f48d9f89c3410ad141ec8b651360b2bc0b404952ef41637f4","sha512":"2032643e972810ace237b108a15dd3cb1db9bfb229e9ed9b6c13523d541107847194c9ebe010b33d4d88d3da83f5454936ab9493b9aab58ea5f0c5bdadfd6b19","ssdeep":"192:zq0zpz+cGcr5NNeLEvQ3nRh7apweDkk+SV:zq0VNGcr5NNe/nn7swI1V","tlshash":"67f1bf01e7f8e9fdc83139be98990fd3c21f91c9624415a1c8915a877d6a3823e7838e","first_seen":"2026-07-27T05:44:01.852249Z","last_seen":"2026-07-27T11:04:25.211062Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":29,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/style-CliJwUTR.css","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.11","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:59.640Z","timestamp":1785135599640,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/style-CliJwUTR.css HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://goldenprofitstock.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:59 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-8d68\"\r\nexpires: Wed, 07 Jul 2027 08:30:01 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k4P8ucBzL13w0PPHy71x/t/Rp+Nh2y00xCYtxOpD619LcIlNN1MuNpFFw002fJHAW3+YUk8\r\nx-77-nzt-ray: e2f75420e3e72d83ef01676acedc2426\r\nx-77-cache: HIT\r\nx-77-age: 1722557\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":36200,"size_decoded":8208,"mime_type":"text/css","magic":"ASCII text, with very long lines (36187)","md5":"840dfdb09fc1a11a5c3a5b5f808e3160","sha1":"46140a50b100fa33b974027c13bb9f2de5c784b7","sha256":"b5b9a339413a55a0d828ab6be236e2a495594a19fb3283f846c607d7b6996ad7","sha512":"61e37700ee60ed584c8ae7b6313c5dddf6950c9664aa57f32bb4a70d775b1a1d5bfc249c6c1238495ef2cb7e12bae5f00c4ddb3df4dde44a01081117b74e2ba2","ssdeep":"384:F8fY2l091g7Tc6/WYtGLadKzSVX8Kj6+eZcrNSN56qB56YR9evZLLq51vZLLq5G:F8wM091gTcCWYtG4XqcrNSN56DwQ43","tlshash":"05f2966daad9093dac23c179e3f8e58c911af5d5df3226daf74239008ac17ff0986514","first_seen":"2026-07-07T11:50:17.712499Z","last_seen":"2026-08-17T23:41:13.419095Z","times_seen":3477,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":22,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/sec_man.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.808Z","timestamp":1785135591808,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/sec_man.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: image/webp\r\ncontent-length: 27944\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 76cfecbd087d447fca30eb18b07b6342-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.022\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":27944,"size_decoded":28287,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"4ce6ae0f50f1040005e29770f0ceb4f1","sha1":"191374881232106f68cbf0bb1b363a952ee2d20a","sha256":"70926fe10a4c4fa5f7eeac8be527c16eec9737da74acc13b18f6f20d89c654c8","sha512":"daa18c721e414a8a999ac6384c5ccb1ea4a514368816de18778c01f106e1e6a0798caf09af6fbc0dc6a2e49bb656e884aef352f1517babe7cb782ac39916c81e","ssdeep":"384:Eteev2mKhINmRP+QBd0nENjDI2kCsZaFIDyL0X8BAbW8QP8Ro/Nsm+FpaC/XSJe:E4yuiQQQr0ENjtjeXnW8QhNQaC/z","tlshash":"21c2f14094c17b7efd8eb3fd98c1b312aef20056b8e8c6c2bb414955ef1d895ca49a10","first_seen":"2026-07-27T05:44:01.829519Z","last_seen":"2026-07-27T11:04:25.220664Z","times_seen":4,"resource_available":false,"data":"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"}},"time_used":111,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":70,"receive":41,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/css/font-awesome.css","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:51.848Z","timestamp":1785135591848,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/css/font-awesome.css HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/style.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:51 GMT\r\ncontent-type: text/css\r\ncontent-length: 5390\r\ncache-control: public, max-age=604800\r\nexpires: Wed, 29 Jul 2026 18:40:17 GMT\r\nlast-modified: Tue, 09 Sep 2025 00:33:24 GMT\r\netag: \"7777-68bf75d4-79e12a282b62f0d8;br\"\r\ncontent-encoding: br\r\nplatform: hostinger\r\npanel: hpanel\r\ncontent-security-policy: upgrade-insecure-requests\r\nage: 389974\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 970ec790992d917341e237884804f30d-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.022\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]},{"name":"Hostinger","description":"Hostinger is an employee-owned Web hosting provider and internet domain registrar.","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["Hosting"]}],"data":{"size":30583,"size_decoded":5982,"mime_type":"text/css","magic":"troff or preprocessor input, ASCII text, with very long lines (379), with CRLF line terminators","md5":"8a23eb197f75d5fa920c9d931c45df12","sha1":"7e9c0e575b02747e2ad499a121d730048704e3b3","sha256":"c1e22f36cd2346f988a593425fadd1539fc7acf43167360b63c4152d060a1b9c","sha512":"e7412dade2e10e9c32b111e0c4a84ba126d23a7d0ab8f2a5d0baf831d8ba5a80c3bcd693df834786d47a9e7a59b68c1bd1f3986e457ef96340d52f6823e70725","ssdeep":"384:pNpFKmzFdDScWmbiCI6v9TURMNZJt/gSxbOve:BFKmzFdScWmbiC/9TUMNDthx6m","tlshash":"40d22afcd16e00d14b32daa1a3426a627b3db2bcfe421d55f2663d8c91c2654a1c6fcd","first_seen":"2025-08-05T21:54:24.264576Z","last_seen":"2026-07-27T11:34:25.565939Z","times_seen":47,"resource_available":false,"data":"LyohDQogKiAgRm9udCBBd2Vzb21lIDQuMy4wIGJ5IEBkYXZlZ2FuZHkgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8gLSBAZm9udGF3ZXNvbWUNCiAqICBMaWNlbnNlIC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvL2xpY2Vuc2UgKEZvbnQ6IFNJTCBPRkwgMS4xLCBDU1M6IE1JVCBMaWNlbnNlKQ0KICovDQovKiBGT05UIFBBVEgNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQpAZm9udC1mYWNlIHsNCiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7DQogIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250ZTBhNWUwYTUuZW90Jyk7DQogIHNyYzogdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250ZDQxZGQ0MWQuZW90I2llZml4JnY9NC4zLjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udGUwYTVlMGE1LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnRlMGE1ZTBhNS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udGUwYTVlMGE1LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250ZTBhNWUwYTUuc3ZnI2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCn0NCi5mYSB7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7DQogIGZvbnQtd2VpZ2h0OiBub3JtYWw7DQogIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgZm9udC1zaXplOiBpbmhlcml0Ow0KICB0ZXh0LXJlbmRlcmluZzogYXV0bzsNCiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7DQogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOw0KfQ0KLyogbWFrZXMgdGhlIGZvbnQgMzMlIGxhcmdlciByZWxhdGl2ZSB0byB0aGUgaWNvbiBjb250YWluZXIgKi8NCi5mYS1sZyB7DQogIGZvbnQtc2l6ZTogMS4zMzMzMzMzM2VtOw0KICBsaW5lLWhlaWdodDogMC43NWVtOw0KICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTsNCn0NCi5mYS0yeCB7DQogIGZvbnQtc2l6ZTogMmVtOw0KfQ0KLmZhLTN4IHsNCiAgZm9udC1zaXplOiAzZW07DQp9DQouZmEtNHggew0KICBmb250LXNpemU6IDRlbTsNCn0NCi5mYS01eCB7DQogIGZvbnQtc2l6ZTogNWVtOw0KfQ0KLmZhLWZ3IHsNCiAgd2lkdGg6IDEuMjg1NzE0MjllbTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLmZhLXVsIHsNCiAgcGFkZGluZy1sZWZ0OiAwOw0KICBtYXJnaW4tbGVmdDogMi4xNDI4NTcxNGVtOw0KICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7DQp9DQouZmEtdWwgPiBsaSB7DQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5mYS1saSB7DQogIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgbGVmdDogLTIuMTQyODU3MTRlbTsNCiAgd2lkdGg6IDIuMTQyODU3MTRlbTsNCiAgdG9wOiAwLjE0Mjg1NzE0ZW07DQogIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCi5mYS1saS5mYS1sZyB7DQogIGxlZnQ6IC0xLjg1NzE0Mjg2ZW07DQp9DQouZmEtYm9yZGVyIHsNCiAgcGFkZGluZzogLjJlbSAuMjVlbSAuMTVlbTsNCiAgYm9yZGVyOiBzb2xpZCAwLjA4ZW0gI2VlZWVlZTsNCiAgYm9yZGVyLXJhZGl1czogLjFlbTsNCn0NCi5wdWxsLXJpZ2h0IHsNCiAgZmxvYXQ6IHJpZ2h0Ow0KfQ0KLnB1bGwtbGVmdCB7DQogIGZsb2F0OiBsZWZ0Ow0KfQ0KLmZhLnB1bGwtbGVmdCB7DQogIG1hcmdpbi1yaWdodDogLjNlbTsNCn0NCi5mYS5wdWxsLXJpZ2h0IHsNCiAgbWFyZ2luLWxlZnQ6IC4zZW07DQp9DQouZmEtc3BpbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjsNCiAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjsNCn0NCi5mYS1wdWxzZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uOiBmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpOw0KICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbiB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOw0KICB9DQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOw0KICB9DQp9DQpAa2V5ZnJhbWVzIGZhLXNwaW4gew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsNCiAgfQ0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsNCiAgfQ0KfQ0KLmZhLXJvdGF0ZS05MCB7DQogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MSk7DQogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQp9DQouZmEtcm90YXRlLTE4MCB7DQogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Mik7DQogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsNCiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7DQogIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7DQp9DQouZmEtcm90YXRlLTI3MCB7DQogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7DQogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsNCiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7DQogIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7DQp9DQouZmEtZmxpcC1ob3Jpem9udGFsIHsNCiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0wLCBtaXJyb3I9MSk7DQogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7DQogIC1tcy10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsNCiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7DQp9DQouZmEtZmxpcC12ZXJ0aWNhbCB7DQogIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MiwgbWlycm9yPTEpOw0KICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOw0KICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7DQogIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOw0KfQ0KOnJvb3QgLmZhLXJvdGF0ZS05MCwNCjpyb290IC5mYS1yb3RhdGUtMTgwLA0KOnJvb3QgLmZhLXJvdGF0ZS0yNzAsDQo6cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLA0KOnJvb3QgLmZhLWZsaXAtdmVydGljYWwgew0KICBmaWx0ZXI6IG5vbmU7DQp9DQouZmEtc3RhY2sgew0KICBwb3NpdGlvbjogcmVsYXRpdmU7DQogIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgd2lkdGg6IDJlbTsNCiAgaGVpZ2h0OiAyZW07DQogIGxpbmUtaGVpZ2h0OiAyZW07DQogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7DQp9DQouZmEtc3RhY2stMXgsDQouZmEtc3RhY2stMnggew0KICBwb3NpdGlvbjogYWJzb2x1dGU7DQogIGxlZnQ6IDA7DQogIHdpZHRoOiAxMDAlOw0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouZmEtc3RhY2stMXggew0KICBsaW5lLWhlaWdodDogaW5oZXJpdDsNCn0NCi5mYS1zdGFjay0yeCB7DQogIGZvbnQtc2l6ZTogMmVtOw0KfQ0KLmZhLWludmVyc2Ugew0KICBjb2xvcjogI2ZmZmZmZjsNCn0NCi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlbg0KICAgcmVhZGVycyBkbyBub3QgcmVhZCBvZmYgcmFuZG9tIGNoYXJhY3RlcnMgdGhhdCByZXByZXNlbnQgaWNvbnMgKi8NCi5mYS1nbGFzczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDAiOw0KfQ0KLmZhLW11c2ljOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwMSI7DQp9DQouZmEtc2VhcmNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwMiI7DQp9DQouZmEtZW52ZWxvcGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDMiOw0KfQ0KLmZhLWhlYXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwNCI7DQp9DQouZmEtc3RhcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDUiOw0KfQ0KLmZhLXN0YXItbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMDYiOw0KfQ0KLmZhLXVzZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDA3IjsNCn0NCi5mYS1maWxtOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwOCI7DQp9DQouZmEtdGgtbGFyZ2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDA5IjsNCn0NCi5mYS10aDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMGEiOw0KfQ0KLmZhLXRoLWxpc3Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDBiIjsNCn0NCi5mYS1jaGVjazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMGMiOw0KfQ0KLmZhLXJlbW92ZTpiZWZvcmUsDQouZmEtY2xvc2U6YmVmb3JlLA0KLmZhLXRpbWVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAwZCI7DQp9DQouZmEtc2VhcmNoLXBsdXM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDBlIjsNCn0NCi5mYS1zZWFyY2gtbWludXM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDEwIjsNCn0NCi5mYS1wb3dlci1vZmY6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDExIjsNCn0NCi5mYS1zaWduYWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDEyIjsNCn0NCi5mYS1nZWFyOmJlZm9yZSwNCi5mYS1jb2c6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDEzIjsNCn0NCi5mYS10cmFzaC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxNCI7DQp9DQouZmEtaG9tZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMTUiOw0KfQ0KLmZhLWZpbGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMTYiOw0KfQ0KLmZhLWNsb2NrLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDE3IjsNCn0NCi5mYS1yb2FkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxOCI7DQp9DQouZmEtZG93bmxvYWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDE5IjsNCn0NCi5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAxYSI7DQp9DQouZmEtYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDFiIjsNCn0NCi5mYS1pbmJveDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMWMiOw0KfQ0KLmZhLXBsYXktY2lyY2xlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDFkIjsNCn0NCi5mYS1yb3RhdGUtcmlnaHQ6YmVmb3JlLA0KLmZhLXJlcGVhdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMWUiOw0KfQ0KLmZhLXJlZnJlc2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDIxIjsNCn0NCi5mYS1saXN0LWFsdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMjIiOw0KfQ0KLmZhLWxvY2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDIzIjsNCn0NCi5mYS1mbGFnOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyNCI7DQp9DQouZmEtaGVhZHBob25lczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMjUiOw0KfQ0KLmZhLXZvbHVtZS1vZmY6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDI2IjsNCn0NCi5mYS12b2x1bWUtZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMjciOw0KfQ0KLmZhLXZvbHVtZS11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMjgiOw0KfQ0KLmZhLXFyY29kZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMjkiOw0KfQ0KLmZhLWJhcmNvZGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDJhIjsNCn0NCi5mYS10YWc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDJiIjsNCn0NCi5mYS10YWdzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyYyI7DQp9DQouZmEtYm9vazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMmQiOw0KfQ0KLmZhLWJvb2ttYXJrOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAyZSI7DQp9DQouZmEtcHJpbnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDJmIjsNCn0NCi5mYS1jYW1lcmE6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDMwIjsNCn0NCi5mYS1mb250OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzMSI7DQp9DQouZmEtYm9sZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMzIiOw0KfQ0KLmZhLWl0YWxpYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMzMiOw0KfQ0KLmZhLXRleHQtaGVpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzNCI7DQp9DQouZmEtdGV4dC13aWR0aDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMzUiOw0KfQ0KLmZhLWFsaWduLWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDM2IjsNCn0NCi5mYS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDM3IjsNCn0NCi5mYS1hbGlnbi1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwMzgiOw0KfQ0KLmZhLWFsaWduLWp1c3RpZnk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDM5IjsNCn0NCi5mYS1saXN0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzYSI7DQp9DQouZmEtZGVkZW50OmJlZm9yZSwNCi5mYS1vdXRkZW50OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzYiI7DQp9DQouZmEtaW5kZW50OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzYyI7DQp9DQouZmEtdmlkZW8tY2FtZXJhOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjAzZCI7DQp9DQouZmEtcGhvdG86YmVmb3JlLA0KLmZhLWltYWdlOmJlZm9yZSwNCi5mYS1waWN0dXJlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDNlIjsNCn0NCi5mYS1wZW5jaWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDQwIjsNCn0NCi5mYS1tYXAtbWFya2VyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0MSI7DQp9DQouZmEtYWRqdXN0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0MiI7DQp9DQouZmEtdGludDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDMiOw0KfQ0KLmZhLWVkaXQ6YmVmb3JlLA0KLmZhLXBlbmNpbC1zcXVhcmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDQiOw0KfQ0KLmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0NSI7DQp9DQouZmEtY2hlY2stc3F1YXJlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDQ2IjsNCn0NCi5mYS1hcnJvd3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDQ3IjsNCn0NCi5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0OCI7DQp9DQouZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNDkiOw0KfQ0KLmZhLWJhY2t3YXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0YSI7DQp9DQouZmEtcGxheTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNGIiOw0KfQ0KLmZhLXBhdXNlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA0YyI7DQp9DQouZmEtc3RvcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNGQiOw0KfQ0KLmZhLWZvcndhcmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDRlIjsNCn0NCi5mYS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDUwIjsNCn0NCi5mYS1zdGVwLWZvcndhcmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDUxIjsNCn0NCi5mYS1lamVjdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNTIiOw0KfQ0KLmZhLWNoZXZyb24tbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNTMiOw0KfQ0KLmZhLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDU0IjsNCn0NCi5mYS1wbHVzLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNTUiOw0KfQ0KLmZhLW1pbnVzLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNTYiOw0KfQ0KLmZhLXRpbWVzLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNTciOw0KfQ0KLmZhLWNoZWNrLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNTgiOw0KfQ0KLmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNTkiOw0KfQ0KLmZhLWluZm8tY2lyY2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA1YSI7DQp9DQouZmEtY3Jvc3NoYWlyczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNWIiOw0KfQ0KLmZhLXRpbWVzLWNpcmNsZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA1YyI7DQp9DQouZmEtY2hlY2stY2lyY2xlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDVkIjsNCn0NCi5mYS1iYW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDVlIjsNCn0NCi5mYS1hcnJvdy1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2MCI7DQp9DQouZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDYxIjsNCn0NCi5mYS1hcnJvdy11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjIiOw0KfQ0KLmZhLWFycm93LWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDYzIjsNCn0NCi5mYS1tYWlsLWZvcndhcmQ6YmVmb3JlLA0KLmZhLXNoYXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2NCI7DQp9DQouZmEtZXhwYW5kOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2NSI7DQp9DQouZmEtY29tcHJlc3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDY2IjsNCn0NCi5mYS1wbHVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2NyI7DQp9DQouZmEtbWludXM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDY4IjsNCn0NCi5mYS1hc3RlcmlzazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNjkiOw0KfQ0KLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNmEiOw0KfQ0KLmZhLWdpZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDZiIjsNCn0NCi5mYS1sZWFmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA2YyI7DQp9DQouZmEtZmlyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNmQiOw0KfQ0KLmZhLWV5ZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNmUiOw0KfQ0KLmZhLWV5ZS1zbGFzaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzAiOw0KfQ0KLmZhLXdhcm5pbmc6YmVmb3JlLA0KLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3MSI7DQp9DQouZmEtcGxhbmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDcyIjsNCn0NCi5mYS1jYWxlbmRhcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzMiOw0KfQ0KLmZhLXJhbmRvbTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzQiOw0KfQ0KLmZhLWNvbW1lbnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDc1IjsNCn0NCi5mYS1tYWduZXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDc2IjsNCn0NCi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3NyI7DQp9DQouZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3OCI7DQp9DQouZmEtcmV0d2VldDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwNzkiOw0KfQ0KLmZhLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDdhIjsNCn0NCi5mYS1mb2xkZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDdiIjsNCn0NCi5mYS1mb2xkZXItb3BlbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwN2MiOw0KfQ0KLmZhLWFycm93cy12OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA3ZCI7DQp9DQouZmEtYXJyb3dzLWg6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDdlIjsNCn0NCi5mYS1iYXItY2hhcnQtbzpiZWZvcmUsDQouZmEtYmFyLWNoYXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4MCI7DQp9DQouZmEtdHdpdHRlci1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDgxIjsNCn0NCi5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDgyIjsNCn0NCi5mYS1jYW1lcmEtcmV0cm86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDgzIjsNCn0NCi5mYS1rZXk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDg0IjsNCn0NCi5mYS1nZWFyczpiZWZvcmUsDQouZmEtY29nczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwODUiOw0KfQ0KLmZhLWNvbW1lbnRzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4NiI7DQp9DQouZmEtdGh1bWJzLW8tdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDg3IjsNCn0NCi5mYS10aHVtYnMtby1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4OCI7DQp9DQouZmEtc3Rhci1oYWxmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4OSI7DQp9DQouZmEtaGVhcnQtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOGEiOw0KfQ0KLmZhLXNpZ24tb3V0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4YiI7DQp9DQouZmEtbGlua2VkaW4tc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA4YyI7DQp9DQouZmEtdGh1bWItdGFjazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOGQiOw0KfQ0KLmZhLWV4dGVybmFsLWxpbms6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDhlIjsNCn0NCi5mYS1zaWduLWluOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA5MCI7DQp9DQouZmEtdHJvcGh5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA5MSI7DQp9DQouZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTIiOw0KfQ0KLmZhLXVwbG9hZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTMiOw0KfQ0KLmZhLWxlbW9uLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDk0IjsNCn0NCi5mYS1waG9uZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTUiOw0KfQ0KLmZhLXNxdWFyZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA5NiI7DQp9DQouZmEtYm9va21hcmstbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTciOw0KfQ0KLmZhLXBob25lLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOTgiOw0KfQ0KLmZhLXR3aXR0ZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMDk5IjsNCn0NCi5mYS1mYWNlYm9vay1mOmJlZm9yZSwNCi5mYS1mYWNlYm9vazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOWEiOw0KfQ0KLmZhLWdpdGh1YjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOWIiOw0KfQ0KLmZhLXVubG9jazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwOWMiOw0KfQ0KLmZhLWNyZWRpdC1jYXJkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA5ZCI7DQp9DQouZmEtcnNzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjA5ZSI7DQp9DQouZmEtaGRkLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGEwIjsNCn0NCi5mYS1idWxsaG9ybjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTEiOw0KfQ0KLmZhLWJlbGw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGYzIjsNCn0NCi5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTMiOw0KfQ0KLmZhLWhhbmQtby1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTQiOw0KfQ0KLmZhLWhhbmQtby1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBhNSI7DQp9DQouZmEtaGFuZC1vLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBhNiI7DQp9DQouZmEtaGFuZC1vLWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGE3IjsNCn0NCi5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTgiOw0KfQ0KLmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTkiOw0KfQ0KLmZhLWFycm93LWNpcmNsZS11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYWEiOw0KfQ0KLmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBhYiI7DQp9DQouZmEtZ2xvYmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGFjIjsNCn0NCi5mYS13cmVuY2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGFkIjsNCn0NCi5mYS10YXNrczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYWUiOw0KfQ0KLmZhLWZpbHRlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYjAiOw0KfQ0KLmZhLWJyaWVmY2FzZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYjEiOw0KfQ0KLmZhLWFycm93cy1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGIyIjsNCn0NCi5mYS1ncm91cDpiZWZvcmUsDQouZmEtdXNlcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGMwIjsNCn0NCi5mYS1jaGFpbjpiZWZvcmUsDQouZmEtbGluazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzEiOw0KfQ0KLmZhLWNsb3VkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjMiI7DQp9DQouZmEtZmxhc2s6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGMzIjsNCn0NCi5mYS1jdXQ6YmVmb3JlLA0KLmZhLXNjaXNzb3JzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjNCI7DQp9DQouZmEtY29weTpiZWZvcmUsDQouZmEtZmlsZXMtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzUiOw0KfQ0KLmZhLXBhcGVyY2xpcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzYiOw0KfQ0KLmZhLXNhdmU6YmVmb3JlLA0KLmZhLWZsb3BweS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjNyI7DQp9DQouZmEtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjOCI7DQp9DQouZmEtbmF2aWNvbjpiZWZvcmUsDQouZmEtcmVvcmRlcjpiZWZvcmUsDQouZmEtYmFyczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYzkiOw0KfQ0KLmZhLWxpc3QtdWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGNhIjsNCn0NCi5mYS1saXN0LW9sOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjYiI7DQp9DQouZmEtc3RyaWtldGhyb3VnaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwY2MiOw0KfQ0KLmZhLXVuZGVybGluZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwY2QiOw0KfQ0KLmZhLXRhYmxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBjZSI7DQp9DQouZmEtbWFnaWM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQwIjsNCn0NCi5mYS10cnVjazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZDEiOw0KfQ0KLmZhLXBpbnRlcmVzdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZDIiOw0KfQ0KLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQzIjsNCn0NCi5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGQ0IjsNCn0NCi5mYS1nb29nbGUtcGx1czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZDUiOw0KfQ0KLmZhLW1vbmV5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkNiI7DQp9DQouZmEtY2FyZXQtZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZDciOw0KfQ0KLmZhLWNhcmV0LXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkOCI7DQp9DQouZmEtY2FyZXQtbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZDkiOw0KfQ0KLmZhLWNhcmV0LXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkYSI7DQp9DQouZmEtY29sdW1uczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZGIiOw0KfQ0KLmZhLXVuc29ydGVkOmJlZm9yZSwNCi5mYS1zb3J0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBkYyI7DQp9DQouZmEtc29ydC1kb3duOmJlZm9yZSwNCi5mYS1zb3J0LWRlc2M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGRkIjsNCn0NCi5mYS1zb3J0LXVwOmJlZm9yZSwNCi5mYS1zb3J0LWFzYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZGUiOw0KfQ0KLmZhLWVudmVsb3BlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlMCI7DQp9DQouZmEtbGlua2VkaW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGUxIjsNCn0NCi5mYS1yb3RhdGUtbGVmdDpiZWZvcmUsDQouZmEtdW5kbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZTIiOw0KfQ0KLmZhLWxlZ2FsOmJlZm9yZSwNCi5mYS1nYXZlbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZTMiOw0KfQ0KLmZhLWRhc2hib2FyZDpiZWZvcmUsDQouZmEtdGFjaG9tZXRlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZTQiOw0KfQ0KLmZhLWNvbW1lbnQtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZTUiOw0KfQ0KLmZhLWNvbW1lbnRzLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGU2IjsNCn0NCi5mYS1mbGFzaDpiZWZvcmUsDQouZmEtYm9sdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZTciOw0KfQ0KLmZhLXNpdGVtYXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGU4IjsNCn0NCi5mYS11bWJyZWxsYTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZTkiOw0KfQ0KLmZhLXBhc3RlOmJlZm9yZSwNCi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGVhIjsNCn0NCi5mYS1saWdodGJ1bGItbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZWIiOw0KfQ0KLmZhLWV4Y2hhbmdlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBlYyI7DQp9DQouZmEtY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGVkIjsNCn0NCi5mYS1jbG91ZC11cGxvYWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGVlIjsNCn0NCi5mYS11c2VyLW1kOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmMCI7DQp9DQouZmEtc3RldGhvc2NvcGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGYxIjsNCn0NCi5mYS1zdWl0Y2FzZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZjIiOw0KfQ0KLmZhLWJlbGwtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwYTIiOw0KfQ0KLmZhLWNvZmZlZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZjQiOw0KfQ0KLmZhLWN1dGxlcnk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGY1IjsNCn0NCi5mYS1maWxlLXRleHQtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZjYiOw0KfQ0KLmZhLWJ1aWxkaW5nLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGY3IjsNCn0NCi5mYS1ob3NwaXRhbC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmOCI7DQp9DQouZmEtYW1idWxhbmNlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmOSI7DQp9DQouZmEtbWVka2l0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmYSI7DQp9DQouZmEtZmlnaHRlci1qZXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGZiIjsNCn0NCi5mYS1iZWVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjBmYyI7DQp9DQouZmEtaC1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMGZkIjsNCn0NCi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYwZmUiOw0KfQ0KLmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwMCI7DQp9DQouZmEtYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwMSI7DQp9DQouZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwMiI7DQp9DQouZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTAzIjsNCn0NCi5mYS1hbmdsZS1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwNCI7DQp9DQouZmEtYW5nbGUtcmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTA1IjsNCn0NCi5mYS1hbmdsZS11cDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMDYiOw0KfQ0KLmZhLWFuZ2xlLWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTA3IjsNCn0NCi5mYS1kZXNrdG9wOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwOCI7DQp9DQouZmEtbGFwdG9wOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwOSI7DQp9DQouZmEtdGFibGV0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEwYSI7DQp9DQouZmEtbW9iaWxlLXBob25lOmJlZm9yZSwNCi5mYS1tb2JpbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTBiIjsNCn0NCi5mYS1jaXJjbGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMGMiOw0KfQ0KLmZhLXF1b3RlLWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTBkIjsNCn0NCi5mYS1xdW90ZS1yaWdodDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMGUiOw0KfQ0KLmZhLXNwaW5uZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTEwIjsNCn0NCi5mYS1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTExIjsNCn0NCi5mYS1tYWlsLXJlcGx5OmJlZm9yZSwNCi5mYS1yZXBseTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMTIiOw0KfQ0KLmZhLWdpdGh1Yi1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTEzIjsNCn0NCi5mYS1mb2xkZXItbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMTQiOw0KfQ0KLmZhLWZvbGRlci1vcGVuLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTE1IjsNCn0NCi5mYS1zbWlsZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExOCI7DQp9DQouZmEtZnJvd24tbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMTkiOw0KfQ0KLmZhLW1laC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjExYSI7DQp9DQouZmEtZ2FtZXBhZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMWIiOw0KfQ0KLmZhLWtleWJvYXJkLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTFjIjsNCn0NCi5mYS1mbGFnLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTFkIjsNCn0NCi5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMWUiOw0KfQ0KLmZhLXRlcm1pbmFsOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEyMCI7DQp9DQouZmEtY29kZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjEiOw0KfQ0KLmZhLW1haWwtcmVwbHktYWxsOmJlZm9yZSwNCi5mYS1yZXBseS1hbGw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTIyIjsNCn0NCi5mYS1zdGFyLWhhbGYtZW1wdHk6YmVmb3JlLA0KLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSwNCi5mYS1zdGFyLWhhbGYtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjMiOw0KfQ0KLmZhLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEyNCI7DQp9DQouZmEtY3JvcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjUiOw0KfQ0KLmZhLWNvZGUtZm9yazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMjYiOw0KfQ0KLmZhLXVubGluazpiZWZvcmUsDQouZmEtY2hhaW4tYnJva2VuOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEyNyI7DQp9DQouZmEtcXVlc3Rpb246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTI4IjsNCn0NCi5mYS1pbmZvOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEyOSI7DQp9DQouZmEtZXhjbGFtYXRpb246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTJhIjsNCn0NCi5mYS1zdXBlcnNjcmlwdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMmIiOw0KfQ0KLmZhLXN1YnNjcmlwdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMmMiOw0KfQ0KLmZhLWVyYXNlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMmQiOw0KfQ0KLmZhLXB1enpsZS1waWVjZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMmUiOw0KfQ0KLmZhLW1pY3JvcGhvbmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTMwIjsNCn0NCi5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzMSI7DQp9DQouZmEtc2hpZWxkOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzMiI7DQp9DQouZmEtY2FsZW5kYXItbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzMiOw0KfQ0KLmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzNCI7DQp9DQouZmEtcm9ja2V0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzNSI7DQp9DQouZmEtbWF4Y2RuOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzNiI7DQp9DQouZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxMzciOw0KfQ0KLmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzOCI7DQp9DQouZmEtY2hldnJvbi1jaXJjbGUtdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTM5IjsNCn0NCi5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzYSI7DQp9DQouZmEtaHRtbDU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTNiIjsNCn0NCi5mYS1jc3MzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzYyI7DQp9DQouZmEtYW5jaG9yOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjEzZCI7DQp9DQouZmEtdW5sb2NrLWFsdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxM2UiOw0KfQ0KLmZhLWJ1bGxzZXllOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0MCI7DQp9DQouZmEtZWxsaXBzaXMtaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNDEiOw0KfQ0KLmZhLWVsbGlwc2lzLXY6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTQyIjsNCn0NCi5mYS1yc3Mtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0MyI7DQp9DQouZmEtcGxheS1jaXJjbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTQ0IjsNCn0NCi5mYS10aWNrZXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTQ1IjsNCn0NCi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTQ2IjsNCn0NCi5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNDciOw0KfQ0KLmZhLWxldmVsLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE0OCI7DQp9DQouZmEtbGV2ZWwtZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNDkiOw0KfQ0KLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNGEiOw0KfQ0KLmZhLXBlbmNpbC1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTRiIjsNCn0NCi5mYS1leHRlcm5hbC1saW5rLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNGMiOw0KfQ0KLmZhLXNoYXJlLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNGQiOw0KfQ0KLmZhLWNvbXBhc3M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTRlIjsNCn0NCi5mYS10b2dnbGUtZG93bjpiZWZvcmUsDQouZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNTAiOw0KfQ0KLmZhLXRvZ2dsZS11cDpiZWZvcmUsDQouZmEtY2FyZXQtc3F1YXJlLW8tdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTUxIjsNCn0NCi5mYS10b2dnbGUtcmlnaHQ6YmVmb3JlLA0KLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1MiI7DQp9DQouZmEtZXVybzpiZWZvcmUsDQouZmEtZXVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1MyI7DQp9DQouZmEtZ2JwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1NCI7DQp9DQouZmEtZG9sbGFyOmJlZm9yZSwNCi5mYS11c2Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTU1IjsNCn0NCi5mYS1ydXBlZTpiZWZvcmUsDQouZmEtaW5yOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1NiI7DQp9DQouZmEtY255OmJlZm9yZSwNCi5mYS1ybWI6YmVmb3JlLA0KLmZhLXllbjpiZWZvcmUsDQouZmEtanB5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1NyI7DQp9DQouZmEtcnVibGU6YmVmb3JlLA0KLmZhLXJvdWJsZTpiZWZvcmUsDQouZmEtcnViOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1OCI7DQp9DQouZmEtd29uOmJlZm9yZSwNCi5mYS1rcnc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTU5IjsNCn0NCi5mYS1iaXRjb2luOmJlZm9yZSwNCi5mYS1idGM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTVhIjsNCn0NCi5mYS1maWxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1YiI7DQp9DQouZmEtZmlsZS10ZXh0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE1YyI7DQp9DQouZmEtc29ydC1hbHBoYS1hc2M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTVkIjsNCn0NCi5mYS1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTVlIjsNCn0NCi5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTYwIjsNCn0NCi5mYS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2MSI7DQp9DQouZmEtc29ydC1udW1lcmljLWFzYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNjIiOw0KfQ0KLmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2MyI7DQp9DQouZmEtdGh1bWJzLXVwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2NCI7DQp9DQouZmEtdGh1bWJzLWRvd246YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTY1IjsNCn0NCi5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNjYiOw0KfQ0KLmZhLXlvdXR1YmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTY3IjsNCn0NCi5mYS14aW5nOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2OCI7DQp9DQouZmEteGluZy1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTY5IjsNCn0NCi5mYS15b3V0dWJlLXBsYXk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTZhIjsNCn0NCi5mYS1kcm9wYm94OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE2YiI7DQp9DQouZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTZjIjsNCn0NCi5mYS1pbnN0YWdyYW06YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTZkIjsNCn0NCi5mYS1mbGlja3I6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTZlIjsNCn0NCi5mYS1hZG46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTcwIjsNCn0NCi5mYS1iaXRidWNrZXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTcxIjsNCn0NCi5mYS1iaXRidWNrZXQtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3MiI7DQp9DQouZmEtdHVtYmxyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3MyI7DQp9DQouZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNzQiOw0KfQ0KLmZhLWxvbmctYXJyb3ctZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxNzUiOw0KfQ0KLmZhLWxvbmctYXJyb3ctdXA6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTc2IjsNCn0NCi5mYS1sb25nLWFycm93LWxlZnQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTc3IjsNCn0NCi5mYS1sb25nLWFycm93LXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3OCI7DQp9DQouZmEtYXBwbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTc5IjsNCn0NCi5mYS13aW5kb3dzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3YSI7DQp9DQouZmEtYW5kcm9pZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxN2IiOw0KfQ0KLmZhLWxpbnV4OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE3YyI7DQp9DQouZmEtZHJpYmJibGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTdkIjsNCn0NCi5mYS1za3lwZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxN2UiOw0KfQ0KLmZhLWZvdXJzcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTgwIjsNCn0NCi5mYS10cmVsbG86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTgxIjsNCn0NCi5mYS1mZW1hbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTgyIjsNCn0NCi5mYS1tYWxlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4MyI7DQp9DQouZmEtZ2l0dGlwOmJlZm9yZSwNCi5mYS1ncmF0aXBheTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxODQiOw0KfQ0KLmZhLXN1bi1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4NSI7DQp9DQouZmEtbW9vbi1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4NiI7DQp9DQouZmEtYXJjaGl2ZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxODciOw0KfQ0KLmZhLWJ1ZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxODgiOw0KfQ0KLmZhLXZrOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4OSI7DQp9DQouZmEtd2VpYm86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMThhIjsNCn0NCi5mYS1yZW5yZW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMThiIjsNCn0NCi5mYS1wYWdlbGluZXM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMThjIjsNCn0NCi5mYS1zdGFjay1leGNoYW5nZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOGQiOw0KfQ0KLmZhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE4ZSI7DQp9DQouZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTAiOw0KfQ0KLmZhLXRvZ2dsZS1sZWZ0OmJlZm9yZSwNCi5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE5MSI7DQp9DQouZmEtZG90LWNpcmNsZS1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE5MiI7DQp9DQouZmEtd2hlZWxjaGFpcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTMiOw0KfQ0KLmZhLXZpbWVvLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTQiOw0KfQ0KLmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUsDQouZmEtdHJ5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE5NSI7DQp9DQouZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTYiOw0KfQ0KLmZhLXNwYWNlLXNodXR0bGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMTk3IjsNCn0NCi5mYS1zbGFjazpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTgiOw0KfQ0KLmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOTkiOw0KfQ0KLmZhLXdvcmRwcmVzczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOWEiOw0KfQ0KLmZhLW9wZW5pZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOWIiOw0KfQ0KLmZhLWluc3RpdHV0aW9uOmJlZm9yZSwNCi5mYS1iYW5rOmJlZm9yZSwNCi5mYS11bml2ZXJzaXR5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE5YyI7DQp9DQouZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSwNCi5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxOWQiOw0KfQ0KLmZhLXlhaG9vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjE5ZSI7DQp9DQouZmEtZ29vZ2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhMCI7DQp9DQouZmEtcmVkZGl0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhMSI7DQp9DQouZmEtcmVkZGl0LXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTIiOw0KfQ0KLmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTMiOw0KfQ0KLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhNCI7DQp9DQouZmEtZGVsaWNpb3VzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhNSI7DQp9DQouZmEtZGlnZzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTYiOw0KfQ0KLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWE3IjsNCn0NCi5mYS1waWVkLXBpcGVyLWFsdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTgiOw0KfQ0KLmZhLWRydXBhbDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYTkiOw0KfQ0KLmZhLWpvb21sYTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYWEiOw0KfQ0KLmZhLWxhbmd1YWdlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhYiI7DQp9DQouZmEtZmF4OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFhYyI7DQp9DQouZmEtYnVpbGRpbmc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWFkIjsNCn0NCi5mYS1jaGlsZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYWUiOw0KfQ0KLmZhLXBhdzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjAiOw0KfQ0KLmZhLXNwb29uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiMSI7DQp9DQouZmEtY3ViZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjIiOw0KfQ0KLmZhLWN1YmVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiMyI7DQp9DQouZmEtYmVoYW5jZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYjQiOw0KfQ0KLmZhLWJlaGFuY2Utc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiNSI7DQp9DQouZmEtc3RlYW06YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWI2IjsNCn0NCi5mYS1zdGVhbS1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWI3IjsNCn0NCi5mYS1yZWN5Y2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiOCI7DQp9DQouZmEtYXV0b21vYmlsZTpiZWZvcmUsDQouZmEtY2FyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiOSI7DQp9DQouZmEtY2FiOmJlZm9yZSwNCi5mYS10YXhpOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiYSI7DQp9DQouZmEtdHJlZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYmIiOw0KfQ0KLmZhLXNwb3RpZnk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWJjIjsNCn0NCi5mYS1kZXZpYW50YXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFiZCI7DQp9DQouZmEtc291bmRjbG91ZDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYmUiOw0KfQ0KLmZhLWRhdGFiYXNlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjMCI7DQp9DQouZmEtZmlsZS1wZGYtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYzEiOw0KfQ0KLmZhLWZpbGUtd29yZC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjMiI7DQp9DQouZmEtZmlsZS1leGNlbC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjMyI7DQp9DQouZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWM0IjsNCn0NCi5mYS1maWxlLXBob3RvLW86YmVmb3JlLA0KLmZhLWZpbGUtcGljdHVyZS1vOmJlZm9yZSwNCi5mYS1maWxlLWltYWdlLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWM1IjsNCn0NCi5mYS1maWxlLXppcC1vOmJlZm9yZSwNCi5mYS1maWxlLWFyY2hpdmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYzYiOw0KfQ0KLmZhLWZpbGUtc291bmQtbzpiZWZvcmUsDQouZmEtZmlsZS1hdWRpby1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjNyI7DQp9DQouZmEtZmlsZS1tb3ZpZS1vOmJlZm9yZSwNCi5mYS1maWxlLXZpZGVvLW86YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWM4IjsNCn0NCi5mYS1maWxlLWNvZGUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxYzkiOw0KfQ0KLmZhLXZpbmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWNhIjsNCn0NCi5mYS1jb2RlcGVuOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjYiI7DQp9DQouZmEtanNmaWRkbGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWNjIjsNCn0NCi5mYS1saWZlLWJvdXk6YmVmb3JlLA0KLmZhLWxpZmUtYnVveTpiZWZvcmUsDQouZmEtbGlmZS1zYXZlcjpiZWZvcmUsDQouZmEtc3VwcG9ydDpiZWZvcmUsDQouZmEtbGlmZS1yaW5nOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFjZCI7DQp9DQouZmEtY2lyY2xlLW8tbm90Y2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWNlIjsNCn0NCi5mYS1yYTpiZWZvcmUsDQouZmEtcmViZWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWQwIjsNCn0NCi5mYS1nZTpiZWZvcmUsDQouZmEtZW1waXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFkMSI7DQp9DQouZmEtZ2l0LXNxdWFyZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDIiOw0KfQ0KLmZhLWdpdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDMiOw0KfQ0KLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFkNCI7DQp9DQouZmEtdGVuY2VudC13ZWlibzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDUiOw0KfQ0KLmZhLXFxOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFkNiI7DQp9DQouZmEtd2VjaGF0OmJlZm9yZSwNCi5mYS13ZWl4aW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWQ3IjsNCn0NCi5mYS1zZW5kOmJlZm9yZSwNCi5mYS1wYXBlci1wbGFuZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDgiOw0KfQ0KLmZhLXNlbmQtbzpiZWZvcmUsDQouZmEtcGFwZXItcGxhbmUtbzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZDkiOw0KfQ0KLmZhLWhpc3Rvcnk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWRhIjsNCn0NCi5mYS1nZW5kZXJsZXNzOmJlZm9yZSwNCi5mYS1jaXJjbGUtdGhpbjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZGIiOw0KfQ0KLmZhLWhlYWRlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZGMiOw0KfQ0KLmZhLXBhcmFncmFwaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZGQiOw0KfQ0KLmZhLXNsaWRlcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWRlIjsNCn0NCi5mYS1zaGFyZS1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWUwIjsNCn0NCi5mYS1zaGFyZS1hbHQtc3F1YXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlMSI7DQp9DQouZmEtYm9tYjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZTIiOw0KfQ0KLmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLA0KLmZhLWZ1dGJvbC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlMyI7DQp9DQouZmEtdHR5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlNCI7DQp9DQouZmEtYmlub2N1bGFyczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZTUiOw0KfQ0KLmZhLXBsdWc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWU2IjsNCn0NCi5mYS1zbGlkZXNoYXJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlNyI7DQp9DQouZmEtdHdpdGNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlOCI7DQp9DQouZmEteWVscDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZTkiOw0KfQ0KLmZhLW5ld3NwYXBlci1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlYSI7DQp9DQouZmEtd2lmaTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZWIiOw0KfQ0KLmZhLWNhbGN1bGF0b3I6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWVjIjsNCn0NCi5mYS1wYXlwYWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWVkIjsNCn0NCi5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFlZSI7DQp9DQouZmEtY2MtdmlzYTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZjAiOw0KfQ0KLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWYxIjsNCn0NCi5mYS1jYy1kaXNjb3ZlcjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZjIiOw0KfQ0KLmZhLWNjLWFtZXg6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWYzIjsNCn0NCi5mYS1jYy1wYXlwYWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY0IjsNCn0NCi5mYS1jYy1zdHJpcGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY1IjsNCn0NCi5mYS1iZWxsLXNsYXNoOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFmNiI7DQp9DQouZmEtYmVsbC1zbGFzaC1vOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFmNyI7DQp9DQouZmEtdHJhc2g6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY4IjsNCn0NCi5mYS1jb3B5cmlnaHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWY5IjsNCn0NCi5mYS1hdDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZmEiOw0KfQ0KLmZhLWV5ZWRyb3BwZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWZiIjsNCn0NCi5mYS1wYWludC1icnVzaDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYxZmMiOw0KfQ0KLmZhLWJpcnRoZGF5LWNha2U6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMWZkIjsNCn0NCi5mYS1hcmVhLWNoYXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjFmZSI7DQp9DQouZmEtcGllLWNoYXJ0OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIwMCI7DQp9DQouZmEtbGluZS1jaGFydDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDEiOw0KfQ0KLmZhLWxhc3RmbTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDIiOw0KfQ0KLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjAzIjsNCn0NCi5mYS10b2dnbGUtb2ZmOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIwNCI7DQp9DQouZmEtdG9nZ2xlLW9uOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIwNSI7DQp9DQouZmEtYmljeWNsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDYiOw0KfQ0KLmZhLWJ1czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMDciOw0KfQ0KLmZhLWlveGhvc3Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjA4IjsNCn0NCi5mYS1hbmdlbGxpc3Q6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjA5IjsNCn0NCi5mYS1jYzpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMGEiOw0KfQ0KLmZhLXNoZWtlbDpiZWZvcmUsDQouZmEtc2hlcWVsOmJlZm9yZSwNCi5mYS1pbHM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjBiIjsNCn0NCi5mYS1tZWFucGF0aDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMGMiOw0KfQ0KLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjBkIjsNCn0NCi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMGUiOw0KfQ0KLmZhLWRhc2hjdWJlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxMCI7DQp9DQouZmEtZm9ydW1iZWU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjExIjsNCn0NCi5mYS1sZWFucHViOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxMiI7DQp9DQouZmEtc2VsbHN5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxMyI7DQp9DQouZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxNCI7DQp9DQouZmEtc2ltcGx5YnVpbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjE1IjsNCn0NCi5mYS1za3lhdGxhczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMTYiOw0KfQ0KLmZhLWNhcnQtcGx1czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMTciOw0KfQ0KLmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMTgiOw0KfQ0KLmZhLWRpYW1vbmQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjE5IjsNCn0NCi5mYS1zaGlwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxYSI7DQp9DQouZmEtdXNlci1zZWNyZXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjFiIjsNCn0NCi5mYS1tb3RvcmN5Y2xlOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIxYyI7DQp9DQouZmEtc3RyZWV0LXZpZXc6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjFkIjsNCn0NCi5mYS1oZWFydGJlYXQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjFlIjsNCn0NCi5mYS12ZW51czpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMjEiOw0KfQ0KLmZhLW1hcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjIyIjsNCn0NCi5mYS1tZXJjdXJ5OmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyMyI7DQp9DQouZmEtdHJhbnNnZW5kZXI6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjI0IjsNCn0NCi5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjI1IjsNCn0NCi5mYS12ZW51cy1kb3VibGU6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjI2IjsNCn0NCi5mYS1tYXJzLWRvdWJsZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMjciOw0KfQ0KLmZhLXZlbnVzLW1hcnM6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjI4IjsNCn0NCi5mYS1tYXJzLXN0cm9rZTpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMjkiOw0KfQ0KLmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjJhIjsNCn0NCi5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyYiI7DQp9DQouZmEtbmV1dGVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIyYyI7DQp9DQouZmEtZmFjZWJvb2stb2ZmaWNpYWw6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjMwIjsNCn0NCi5mYS1waW50ZXJlc3QtcDpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMzEiOw0KfQ0KLmZhLXdoYXRzYXBwOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIzMiI7DQp9DQouZmEtc2VydmVyOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIzMyI7DQp9DQouZmEtdXNlci1wbHVzOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIzNCI7DQp9DQouZmEtdXNlci10aW1lczpiZWZvcmUgew0KICBjb250ZW50OiAiXGYyMzUiOw0KfQ0KLmZhLWhvdGVsOmJlZm9yZSwNCi5mYS1iZWQ6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjM2IjsNCn0NCi5mYS12aWFjb2luOmJlZm9yZSB7DQogIGNvbnRlbnQ6ICJcZjIzNyI7DQp9DQouZmEtdHJhaW46YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjM4IjsNCn0NCi5mYS1zdWJ3YXk6YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjM5IjsNCn0NCi5mYS1tZWRpdW06YmVmb3JlIHsNCiAgY29udGVudDogIlxmMjNhIjsNCn0NCg=="}},"time_used":63,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":61,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"goldenprofitstock.com/codes/front/images/cross-out.png","fqdn":"goldenprofitstock.com","domain":"goldenprofitstock.com","tld":"com"},"ip":{"addr":"77.37.83.238","port":443,"asn":47583,"as":"Hostinger International Limited","country":"The Netherlands","country_code":"NL"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://goldenprofitstock.com/","date":"2026-07-27T06:59:52.287Z","timestamp":1785135592287,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"goldenprofitstock.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Fri, 10 Jul 2026 20:30:47 GMT","end":"Thu, 08 Oct 2026 20:30:46 GMT"},"fingerprint":{"sha1":"94:2F:A1:DE:BA:CA:F3:16:CE:3A:91:7C:8E:5B:28:3A:A0:E1:3F:1D","sha256":"03:6D:A3:18:61:1F:62:86:BF:A7:8E:CC:0A:EB:41:14:6B:20:D1:BE:89:E0:AA:64:F4:C8:70:54:7B:67:CD:ED"}}},"request":{"raw":"GET /codes/front/images/cross-out.png HTTP/1.1\r\nHost: goldenprofitstock.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://goldenprofitstock.com/codes/front/css/owl.css\r\nCookie: PHPSESSID=b5f61d9c0f68c3fdaa7185e5584008e6\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:59:52 GMT\r\ncontent-type: image/webp\r\ncontent-length: 356\r\ncache-control: public, max-age=604800\r\nserver: hcdn\r\nalt-svc: h3=\":443\"; ma=86400\r\nx-hcdn-request-id: 127c3bdd550a6938dd349f13c577b5dc-srv-edge3\r\nx-hcdn-cache-status: MISS\r\nx-hcdn-upstream-rt: 0.016\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Hostinger CDN","description":"Hostinger Content Delivery Network (CDN).","website":"https://www.hostinger.com","common_platform_enumeration":"","icon":"Hostinger.svg","categories":["CDN"]}],"data":{"size":356,"size_decoded":697,"mime_type":"image/webp","magic":"RIFF (little-endian) data, Web/P image","md5":"8ab7276148acffdba591b550cb7c9046","sha1":"0354af049647f08fcd0e62f1c6cf293297f31658","sha256":"ae7c52cd29d271c47ffac3f8ddb81eadda86bbdf18034ef734d4fdccb49dcd13","sha512":"701cb4aaa8c04a6081dd9e4bc6b47d465563557e082fa71b25ec6a187241be28469dbc0a7ed7b7a15d66ce9184464cb589dfeb7168633f48e7e29ae158924675","ssdeep":"","tlshash":"dde07d5b1b414e00c01b7c3cad5f3b555511f8899319e297d30186253f47424fef49a4","first_seen":"2025-08-11T13:09:36.19279Z","last_seen":"2026-08-13T22:00:34.560278Z","times_seen":27,"resource_available":false,"data":"UklGRlwBAABXRUJQVlA4WAoAAAAYAAAAFwAAFwAAQUxQSE0AAAABHyAQSPF4YRwRkYFBJCly+vKhAi+IQkik4SmPhoj+xwV3Pt1PzqKiglmSpklmVVAxC9nQ+Uz8dT7ZqJjFrAqaJGkVzJpFRUPm09dzAwBWUDggJgAAANACAJ0BKhgAGAA+USSPRaOiIRQEADgFBLSAAB7R0AAA/vyoAAAARVhJRroAAABFeGlmAABJSSoACAAAAAYAEgEDAAEAAAABAAAAGgEFAAEAAABWAAAAGwEFAAEAAABeAAAAKAEDAAEAAAACAAAAEwIDAAEAAAABAAAAaYcEAAEAAABmAAAAAAAAAEgAAAABAAAASAAAAAEAAAAGAACQBwAEAAAAMDIxMAGRBwAEAAAAAQIDAACgBwAEAAAAMDEwMAGgAwABAAAA//8AAAKgBAABAAAAGAAAAAOgBAABAAAAGAAAAAAAAAA="}},"time_used":46,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":46,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
